web-dev-qa-db-fra.com

Réseaux de neurones: que signifie "linéairement séparable"?

Je lis actuellement le livre Machine Learning de Tom Mitchell. En parlant de réseaux de neurones, Mitchell déclare:

"Bien que la règle du perceptron trouve un vecteur de poids réussi lorsque les exemples d'entraînement sont linéairement séparables, il peut ne pas converger si les exemples ne sont pas linéairement séparables."

J'ai du mal à comprendre ce qu'il veut dire par "séparable linéairement"? Wikipédia me dit que "deux ensembles de points dans un espace à deux dimensions sont linéairement séparables s'ils peuvent être complètement séparés par une seule ligne."

Mais comment cela s'applique-t-il à l'ensemble de formation pour les réseaux de neurones? Comment les entrées (ou unités d'action) peuvent-elles être linéairement séparables ou non?

Je ne suis pas le meilleur en géométrie et en mathématiques - quelqu'un pourrait-il me l'expliquer comme si j'avais 5 ans? ;) Merci!

32
JB2

Supposons que vous vouliez écrire un algorithme qui décide, sur la base de deux paramètres, la taille et le prix, si une maison se vendra la même année, elle a été mise en vente ou non. Vous avez donc 2 entrées, taille et prix, et une sortie, vendra ou ne vendra pas. Maintenant, lorsque vous recevez vos ensembles d'entraînement, il peut arriver que la sortie ne soit pas accumulée pour rendre notre prédiction facile (pouvez-vous me dire, sur la base du premier graphique, si X sera un N ou un S? le deuxième graphique):

        ^
        |  N S   N
       s|  S X    N
       i|  N     N S
       z|  S  N  S  N
       e|  N S  S N
        +----------->
          price


        ^
        |  S S   N
       s|  X S    N
       i|  S     N N
       z|  S  N  N  N
       e|    N N N
        +----------->
          price

Où:

S-sold,
N-not sold

Comme vous pouvez le voir dans le premier graphique, vous ne pouvez pas vraiment séparer les deux sorties possibles (vendues/non vendues) par une ligne droite, peu importe comment vous essayez, il y aura toujours à la fois S et N des deux côtés de la ligne, ce qui signifie que votre algorithme aura beaucoup de lignes possible mais pas de ligne ultime et correcte pour diviser les 2 sorties (et bien sûr pour en prévoir de nouvelles, ce qui est l'objectif depuis le tout début). C'est pourquoi linearly separable (le deuxième graphique) les ensembles de données sont beaucoup plus faciles à prévoir.

34
Valentin Radu

Cela signifie qu'il existe un hyperplan (qui divise votre espace d'entrée en deux demi-espaces) de telle sorte que tous les points de la première classe sont dans un demi-espace et ceux de la deuxième classe sont dans l'autre demi-espace.

En deux dimensions, cela signifie qu'il y a une ligne qui sépare les points d'une classe des points de l'autre classe.

EDIT: par exemple, dans cette image, si les cercles bleus représentent des points d'une classe et les cercles rouges représentent des points de l'autre classe, alors ces points sont linéairement séparables.

enter image description here

En trois dimensions, cela signifie qu'il existe un plan qui sépare les points d'une classe des points de l'autre classe.

Dans les dimensions supérieures, c'est similaire: il doit exister un hyperplan qui sépare les deux ensembles de points.

Vous mentionnez que vous n'êtes pas bon en mathématiques, donc je n'écris pas la définition formelle, mais faites-moi savoir (dans les commentaires) si cela pourrait aider.

38
HerrKaputt

Examinez les deux ensembles de données suivants:

^                         ^
|   X    O                |  AA    /
|                         |  A    /
|                         |      /   B
|   O    X                |  A  /   BB
|                         |    /   B
+----------->             +----------->

L'ensemble de données de gauche est pas séparable linéairement (sans utiliser de noyau). Celui de droite est séparable en deux parties pour A' andB` par la ligne indiquée.

C'est à dire. Vous ne pouvez pas dessiner une ligne droite dans l'image de gauche, de sorte que tous les X soient activés d'un côté, et tous les O sont de l'autre. C'est pourquoi il est appelé "non séparable linéairement" == il n'existe pas de variété linéaire séparant les deux classes.

Maintenant, le fameux astuce du noya (qui sera certainement discuté dans le livre suivant) permet en fait d'utiliser de nombreuses méthodes linéaires pour les problèmes non linéaires en ajoutant virtuellement des dimensions supplémentaires pour rendre un problème non linéaire séparable linéairement .

8
Anony-Mousse