Un perceptron peut-il oublier?

16

Je voudrais créer un système d'apprentissage automatique en ligne sur le Web, où les utilisateurs peuvent continuellement ajouter des échantillons classifiés et mettre le modèle à jour en ligne. Je souhaite utiliser un perceptron ou un algorithme d'apprentissage en ligne similaire.

Mais, les utilisateurs peuvent faire des erreurs et insérer des exemples non pertinents. Dans ce cas, j'aimerais avoir la possibilité de supprimer un exemple spécifique, sans réentraîner le perceptron sur l'ensemble des exemples (qui peuvent être très volumineux).

Est-ce possible?

Erel Segal-Halevi
la source
idée très intéressante. avez-vous fait des efforts pour formaliser cela?
Strin
Compte tenu des spécificités de votre modèle de perceptron et de votre classificateur, que se passe-t-il lorsque vous réinsérez l'exemple avec une classification corrigée? Cela ne réduit-il pas le poids des mauvais neurones de la couche interne et n'augmente-t-il pas le poids des bons neurones de la couche interne?
Wandering Logic
1
La réinsertion de l'échantillon peut évidemment aider d'une certaine manière, cependant, je ne suis pas sûr que les preuves d'exactitude et de convergence du perceptron tiendront dans ce cas (c'est-à-dire que je ne suis pas sûr que les résultats seront identiques à la situation où l'échantillon erroné a pas été inséré en premier lieu).
Erel Segal-Halevi
En tant que solution naïve, vous pouvez conserver un enregistrement des poids du perceptron avant d'ajouter chaque nouvel échantillon. Ensuite, lorsque vous voulez éliminer un échantillon, (re) réglez les poids du perceptron à leurs valeurs avant l'ajout du "mauvais" exemple, et ré-entraînez le perceptron avec tous les exemples valides ajoutés après le "mauvais". Cela impliquerait une certaine formation, mais pas sur l'ensemble des exemples. Bien sûr, vous devez également conserver des enregistrements d'exemples et de leurs poids associés.
rphv

Réponses:

6

Si je comprends bien le processus , il est impossible de modifier un perceptron sans recyclage. Les ajustements de poids ne sont pas seulement relatifs à cet exemple spécifique mais également aux autres exemples d'entraînement qui ont précédé. Identifier l'instance incorrectement classée et la supprimer de l'ensemble de test avant de recycler le modèle semble être le moyen le plus efficace de corriger les pondérations.

Je pense qu'il convient de souligner qu'en comparaison avec d'autres algorithmes d'apprentissage automatique, les perceptrons sont relativement résistants au bruit et aux instances incorrectement classées dans l'ensemble de formation . Si vous rencontrez un grand nombre d'instances mal classées, il semble plus prudent d'avoir une meilleure validation au moment où vous ingérez les données avant la formation que de trouver un moyen de corriger les instances mal classées après que le perceptron a été formé. Si ce n'est pas possible et que vous êtes en mesure d'identifier les instances incorrectement classées en tant que telles, leur suppression et leur recyclage semblent être le seul moyen de supprimer efficacement l'impact des instances mal classées.

Richard D
la source