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 perceptron trouve un vecteur de poids réussi lorsque les exemples d'entraînement sont linéairement séparables, ils peuvent ne pas converger si les exemples ne sont pas séparables linéairement. "

J'ai des problèmes à comprendre ce qu'il veut dire avec "linéairement séparable"? Wikipedia me dit que "deux ensembles de points dans un espace à deux dimensions sont séparables linéairement 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 les 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!

24
demandé sur JB2 2012-12-20 20:34:12

3 réponses

Supposons que vous voulez écrire un algorithme qui décide, en fonction de deux paramètres, la taille et le prix, si une maison se vendra dans la même année, il a été mis en vente ou non. Donc, vous avez 2 entrées, la taille et le prix, et une sortie, se vendra ou ne se 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, basé sur le premier graphique si X sera un N ou S? Comment au sujet de la deuxième le 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 S et N des deux côtés de la ligne, ce qui signifie que votre algorithme aura beaucoup de possible lignes mais pas de ligne ultime et correcte pour diviser les 2 sorties (et bien sûr pour en prédire de nouvelles, ce qui est le but dès le début). C'est pourquoi linearly separable (le deuxième les ensembles de données sont beaucoup plus faciles à prévoir.

29
répondu Valentin Radu 2015-07-27 16:41:36

Cela signifie qu'il existe un hyperplan (qui divise votre espace d'entrée en deux demi-espaces) de 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, ensuite, ces points sont linéairement séparables.

entrez la description de l'image ici

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-le moi savoir (dans les commentaires) si cela pourrait aider.

35
répondu HerrKaputt 2012-12-20 17:11:58

Regardez 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 NON séparable linéairement (sans utiliser de noyau). La droite est séparable en deux parties pour A' and B ' par la ligne indiquée.

I. e. Vous ne pouvez pas dessiner un droites ligne dans l'image de gauche, de sorte que tous les X sont sur un côté, et tous les O sont sur l'autre. C'est pourquoi il est appelé "non linéairement séparable" == il n'existe pas de collecteur linéaire séparant les deux classe.

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

7
répondu Anony-Mousse 2012-12-20 17:06:00