Was ist mit "schwacher Lernender" gemeint?

33

Kann mir jemand sagen, was mit dem Ausdruck "schwacher Lernender" gemeint ist? Soll es eine schwache Hypothese sein? Ich bin verwirrt über die Beziehung zwischen einem schwachen Lernenden und einem schwachen Klassifikator. Sind beide gleich oder gibt es einen Unterschied?

In dem Adaboost-Algorithmus T=10. Was ist damit gemeint? Warum wählen wir aus T=10?

vrushali
quelle
1
Willkommen auf der Seite, @vrushali. Ich habe das editiert, um das Englisch flüssiger zu machen. Bitte vergewissern Sie sich, dass immer noch Ihre Meinung dazu steht. Ich bin mir auch nicht sicher, ob der zweite Satz von Fragen (zu adaboost) mit dem ersten Satz von Fragen identisch ist. Es kann sinnvoller sein, sie in verschiedene Threads zu unterteilen.
gung - Wiedereinsetzung von Monica

Antworten:

34

Ein "schwacher" Lernender (Klassierer, Prädiktor usw.) ist nur einer, der relativ schlecht abschneidet - seine Genauigkeit ist über dem Zufall, aber gerade noch. Es gibt oft, aber nicht immer, die zusätzliche Implikation, dass es rechnerisch einfach ist. Schwache Lerner schlagen auch vor, dass viele Instanzen des Algorithmus zusammengefasst werden (durch Boosten, Absacken usw.), um einen "starken" Ensemble-Klassifikator zu erstellen.

Es ist in der ursprünglichen AdaBoost-Veröffentlichung von Freund & Schapire erwähnt:

Die vielleicht überraschendste dieser Anwendungen ist die Ableitung einer neuen Anwendung für "Boosten", dh die Umwandlung eines "schwachen" PAC-Lernalgorithmus, der nur geringfügig besser als das zufällige Erraten ist, in einen Algorithmus mit beliebig hoher Genauigkeit. - (Freund & Schapire, 1995)

aber ich denke, der Ausdruck ist tatsächlich älter als das - ich habe Leute gesehen, die eine Hausarbeit (?!) von Michael Kearns aus den 1980er Jahren zitierten.

Das klassische Beispiel für einen schwachen Lernenden ist ein Entscheidungsstumpf, ein einstufiger Entscheidungsbaum (1R oder OneR ist ein anderer häufig verwendeter schwacher Lernender; er ist ziemlich ähnlich). Es wäre etwas seltsam, einen SVM selbst in Situationen, in denen er schlecht abschneidet, als "schwachen Lernenden" zu bezeichnen, aber es wäre durchaus vernünftig, einen einzelnen Entscheidungsstumpf als einen schwachen Lernenden zu bezeichnen, selbst wenn er selbst überraschend gut abschneidet.


Adaboost ist ein iterativer Algorithmus und bezeichnet typischerweise die Anzahl der Iterationen oder "Runden". Der Algorithmus beginnt mit dem Training / Testen eines schwachen Lerners mit den Daten, wobei jedes Beispiel gleich gewichtet wird. Bei den falsch klassifizierten Beispielen wird das Gewicht für die nächste (n) Runde (n) erhöht, während bei den richtig klassifizierten das Gewicht verringert wird.T

Ich bin mir nicht sicher, ob etwas Magisches ist . In der Arbeit von 1995 wird T als freier Parameter angegeben (dh Sie stellen ihn selbst ein).T=10T

Matt Krause
quelle
Soweit ich weiß, unterscheidet sich ein DecisionStump von 1Rule. Ein Entscheidungsstumpf ist immer ein binärer Baum mit einer Ebene (sowohl für nominelle als auch für numerische Attribute). 1Rule kann mehr als 2 untergeordnete Elemente haben (sowohl für nominelle als auch für numerische). Bei numerischen Attributen ist der Test komplexer als bei der binären Aufteilung durch einen Wert. Außerdem gibt es in WEKA zwei verschiedene Implementierungen: DecisionStump und OneR.
Rapaio
Hmmm ... ich denke du hast recht. Das ursprüngliche 1R-Papier besagt: "Die in diesem Papier untersuchten Regeln, die als 1-Regeln bezeichnet werden, sind Regeln, die ein Objekt auf der Grundlage eines einzelnen Attributs klassifizieren (dh es handelt sich um einstufige Entscheidungsbäume." Entscheidungsbäume können dies jedoch auf viele verschiedene Arten implementiert werden. Ich werde das klar
Matt Krause
Es gibt auch eine native OneR-Implementierung: Das OneR-Paket unter CRAN: CRAN.R-project.org/package=OneR . Hier ist die Vignette: cran.r-project.org/web/packages/OneR/vignettes/OneR. html (vollständige Offenlegung: Ich bin der Autor dieses Pakets).
vonjd
7

Schwacher Lernender ist ein Lernender, der unabhängig von der Verteilung auf die Trainingsdaten immer eine bessere Leistung erzielt als der Zufall, wenn er versucht, die Daten zu kennzeichnen. Besser als der Zufall zu sein bedeutet, dass wir immer eine Fehlerrate von weniger als 1/2 haben werden.

XY.

HxY.

Dies verbessert schließlich die schwachen Lernenden und wandelt sie in starke Lernende um.

Für weitere Informationen: https://youtu.be/zUXJb1hdU0k .

Anish Singh Walia
quelle
Willkommen zum Lebenslauf. Da Sie neu hier sind, möchten Sie vielleicht an unserer Tour teilnehmen , die Informationen für neue Benutzer enthält. . Diese Antwort scheint nichts Neues zu bieten oder sich gegenüber den vorherigen Antworten zu verbessern. Glaubst du, dass in den vorherigen etwas fehlt?
TEG - Wiedereinsetzung von Monica
warum sollte es unter 1/2 sein. Wenn die Fehlerrate über 1/2 liegt, sollte es auch ein schwacher Klassifikator sein.
Code Papst
@CodePope, ich verstehe, aber tatsächlich ist ein "schwacher Lerner" in solchen Begriffen formal definiert. Ich stimme zu, dass jedes Modell, das einen Fehler von mehr als 50% aufweist, auch schlecht und schwach ist. Wenn man jedoch von formalen Definitionen spricht, wie sie von Wissenschaftlern definiert werden, ist ein schwacher Lernender einer, der einen Fehler von weniger als 1/2 oder 50% aufweist.
Anish Singh Walia
1

Schwacher Lerner ist dasselbe wie schwacher Klassifikator oder schwacher Prädiktor. Die Idee ist, dass Sie einen Klassifikator verwenden, der nicht so gut, aber zumindest besser als zufällig ist. Der Vorteil ist, dass der Klassifikator robust gegen Überanpassung ist. Natürlich benutzt du nicht nur eine, sondern eine große Menge davon, jede etwas besser als zufällig. Die genaue Art und Weise, wie Sie sie auswählen / kombinieren, hängt von der Methodik / dem Algorithmus ab, z. B. AdaBoost.

In der Praxis verwenden Sie als schwacher Klassifikator so etwas wie einen einfachen Schwellenwert für ein einzelnes Feature. Wenn das Merkmal über dem Schwellenwert liegt, sagen Sie voraus, dass es zu den Positiven gehört, andernfalls entscheiden Sie, dass es zu den Negativen gehört. Ich bin mir bei T = 10 nicht sicher, da es keinen Kontext gibt, aber ich kann davon ausgehen, dass es sich um ein Beispiel für die Schwellenwertbestimmung einer Funktion handelt.

iliasfl
quelle