Kann ein Perceptron vergessen?

16

Ich möchte ein webbasiertes Online-System für maschinelles Lernen aufbauen, in dem Benutzer kontinuierlich klassifizierte Stichproben hinzufügen und das Modell online aktualisieren können. Ich möchte ein Perzeptron oder einen ähnlichen Online-Lernalgorithmus verwenden.

Benutzer können jedoch Fehler machen und irrelevante Beispiele einfügen. In diesem Fall möchte ich die Option haben, ein bestimmtes Beispiel zu löschen, ohne das Perzeptron für die gesamte Menge von Beispielen (die sehr groß sein kann) neu zu trainieren.

Ist das möglich?

Erel Segal-Halevi
quelle
sehr interessante idee. Haben Sie sich bemüht, dies zu formalisieren?
Strin
Was passiert angesichts der Besonderheiten Ihres Perceptron-Modells und Ihres Klassifikators, wenn Sie das Beispiel mit einer korrigierten Klassifizierung erneut einfügen? Verringert dies nicht das Gewicht der falschen Neuronen der inneren Schicht und erhöht es das Gewicht der richtigen Neuronen der inneren Schicht?
Wandering Logic
1
Das erneute Einsetzen der Probe kann offensichtlich in gewisser Weise hilfreich sein. Ich bin jedoch nicht sicher, ob die Korrektheits- und Konvergenznachweise des Perzeptrons in diesem Fall zutreffen (dh ich bin nicht sicher, ob die Ergebnisse mit denen der fehlerhaften Probe identisch sind) nicht an erster Stelle eingefügt worden).
Erel Segal-Halevi
Als naive Lösung können Sie die Gewichte des Perzeptrons protokollieren, bevor Sie eine neue Probe hinzufügen. Wenn Sie dann eine Probe entfernen möchten, setzen Sie die Gewichte des Perzeptrons (erneut) auf ihre Werte, bevor das "schlechte" Beispiel hinzugefügt wurde, und trainieren Sie das Perzeptron mit allen gültigen Beispielen, die nach dem "schlechten" Beispiel hinzugefügt wurden. Dies würde einige Umschulungen erfordern, jedoch nicht alle Beispiele. Natürlich müssen Sie auch Aufzeichnungen über Beispiele und die damit verbundenen Gewichte führen.
rphv

Antworten:

6

Nach meinem Verständnis ist es unmöglich, ein Perzeptron ohne Umschulung zu verändern. Die Gewichtsanpassungen beziehen sich nicht nur auf dieses spezielle Beispiel, sondern auch auf die anderen Trainingsbeispiele, die zuvor ausgeführt wurden. Das Erkennen der falsch klassifizierten Instanz und das Entfernen dieser Instanz aus dem Testset vor dem erneuten Trainieren des Modells scheint die effektivste Methode zur Korrektur der Gewichte zu sein.

Ich denke, es ist erwähnenswert, dass Perceptrons im Vergleich zu anderen Algorithmen für maschinelles Lernen relativ rauschresistent sind und falsch klassifizierte Instanzen im Trainingssatz aufweisen . Wenn Sie auf eine große Anzahl von falsch klassifizierten Instanzen stoßen, ist es ratsamer, eine bessere Validierung an dem Punkt vorzunehmen, an dem Sie die Daten vor dem Training erfassen, als nach dem Training des Perceptrons eine Möglichkeit zur Korrektur von falsch klassifizierten Instanzen zu finden. Wenn dies nicht möglich ist und Sie in der Lage sind, die falsch klassifizierten Instanzen als solche zu identifizieren, kann die Auswirkung der falsch klassifizierten Instanzen nur durch Entfernen und erneutes Trainieren effektiv beseitigt werden.

Richard D
quelle