Ausdrücke zusammensetzen

Nov 19 2020

Ich habe zwei Modelle, $m_1$ und $m_2$und ich möchte sie zu einem endgültigen Modell zusammenfügen. Ich möchte in der Lage sein, das eine oder andere mehr gemäß einer Rastersuche zu gewichten. Dabei fallen mir zwei Hauptideen ein:

  • Definieren Sie eine Modellfamilie $m_1 \cdot a + m_2 \cdot (1 - a)$, wo $0 < a < 1$, finde die $a$ das gibt die beste Punktzahl.
  • Definieren Sie eine Modellfamilie $m_1^a \cdot m_2^{1 - a}$, wo $0 < a < 1$, finde die $a$ das gibt die beste Punktzahl.

In bestimmten Fällen habe ich jedoch gesehen, dass Topmodels in Kaggle-Wettbewerben ziemlich unterschiedliche Dinge taten, beispielsweise ein endgültiges Modell der Form$m_1^a + m_2^b$.

Meine Frage ist, was sind die Vor- und Nachteile jeder Lösung? Wann arbeiten sie besser und wann arbeiten sie schlechter? Wann ist die dritte Art von Ensemble geeignet und gibt es eine Heuristik zum Stimmen?$a$ und $b$?

Antworten

1 BrianSpiering Nov 21 2020 at 23:03

Das ist eine empirische Frage. Die Antwort ändert sich für verschiedene Modelle und verschiedene Datensätze.

Der beste Ansatz würde die Kreuzvalidierung verwenden, um festzustellen, welche Ensemble-Technik die beste Punktzahl für die Bewertungsmetrik für die angegebenen Daten aufweist.

1 CarlosMougan Nov 23 2020 at 21:22

Sie können mit jedem Algorithmus für maschinelles Lernen dieselbe Frage stellen, und die Antwort bleibt dennoch sehr ähnlich.

Was ist der Vorteil der linearen Regression gegenüber Entscheidungsbäumen? Um dies zu beantworten, können Sie sie mathematisch definieren. In Ihrem Fall scheint die mathematische Definition einfach zu sein: gewichteter Mittelwert oder geometrischer Mittelwert.

Wann funktioniert ein Modell besser als ein anderes Modell? Probieren Sie es bei der Kreuzvalidierung aus.

Leider wird die wissenschaftliche Methodik des maschinellen Lernens durch Versuch und Irrtum durchgeführt. Es ist nicht zuverlässig zu sagen, welchen Wert ein Hyperparameter vor dem Anpassen des Modells haben wird.

Sie "beweisen", dass ein Algorithmus in ML funktioniert, wenn Sie ihn durch eine Reihe von Datensätzen ausführen und eine bessere Leistung als die anderen erzielen.

Um auf Ihre Frage zurückzukommen: Was in Kaggle passiert, ist in der Regel die technisch fortschrittlichste Sache. Wenn es also da ist, lohnt es sich, es auszuprobieren.

DaL Nov 23 2020 at 13:15

Ich stimme Brain zu. Die Lösung, die besser funktioniert, passt besser zu Ihren Daten.

Bitte beachten Sie, dass Sie, wenn Sie nur einen Parameter haben, den optimalen Wert ableiten können, anstatt eine Rastersuche durchzuführen. Ihre Lösungsfamilie ist eingeschränkt, daher erwarte ich keinen signifikanten Gewinn, aber es gibt keinen Grund, sie nicht zu verwenden.