Da ich von dem AdaBoost-Klassifikator gehört habe, der bei der Arbeit wiederholt erwähnt wurde, wollte ich ein besseres Gefühl dafür bekommen, wie es funktioniert und wann man es verwenden möchte. Ich habe eine Reihe von Artikeln und Tutorials darüber gelesen, die ich bei Google gefunden habe, aber es gibt Aspekte des Klassifikators, die ich immer noch schwer verstehe:
Die meisten Tutorials, die ich gesehen habe, sprechen von AdaBoost als der besten gewichteten Kombination vieler Klassifikatoren. Das macht für mich Sinn. Was keinen Sinn ergibt, sind Implementierungen (zB MALLET), bei denen AdaBoost nur einen schwachen Lernenden zu akzeptieren scheint. Wie macht das überhaupt Sinn? Wenn AdaBoost nur einen Klassifikator zur Verfügung stellt, sollte er dann nicht denselben Klassifikator mit einer Gewichtung von 1 zurückgeben? Wie werden aus dem ersten Klassifikator neue Klassifikatoren erzeugt?
Wann möchte man eigentlich AdaBoost nutzen? Ich habe gelesen, dass es einer der besten Out-of-the-Box-Klassifikatoren sein soll, aber wenn ich versuche, einen MaxEnt-Klassifikator zu verbessern, erhalte ich f-Scores von über 70%, AdaBoost ermordet ihn und gibt mir f- Werte von etwa 15% mit sehr hohem Wiederaufruf und sehr geringer Präzision. Jetzt bin ich verwirrt. Wann würde ich jemals AdaBoost verwenden wollen? Wenn möglich, suche ich eher eine intuitive als eine rein statistische Antwort.
quelle