Ich studiere zurzeit Datenwissenschaft und wir lernen eine schwindelerregende Vielfalt grundlegender Regressions- / Klassifizierungstechniken (linear, logistisch, Bäume, Splines, ANN, SVM, MARS usw.) sowie eine Vielzahl von zusätzliche Werkzeuge (Bootstrapping, Boosten, Absacken, Ensemble, Ridge / Lasso, CV usw. usw.). Manchmal erhalten die Techniken einen Kontext (z. B. geeignet für kleine / große Datensätze, geeignet für eine kleine / große Anzahl von Prädiktoren usw.), aber zum größten Teil scheint es für jedes Regressions- oder Klassifizierungsproblem eine schwindelerregende Reihe von Optionen zu geben wählen von.
Wenn ich jetzt einen Job in der Datenwissenschaft angefangen hätte und ein Modellierungsproblem bekommen hätte, könnte ich es wahrscheinlich nicht besser machen, als alle mir bekannten Techniken mit Grundkonfigurationen auszuprobieren, sie mithilfe einer Kreuzvalidierung zu bewerten und die besten auszuwählen. Aber es muss noch mehr geben.
Ich stelle mir vor, ein erfahrener Datenwissenschaftler kennt den Katalog der Techniken gut und folgt einem mentalen Flussdiagramm, um zu entscheiden, welche Techniken er ausprobieren möchte, anstatt sie alle sinnlos auszuprobieren. Ich stelle mir vor, dass dieses Flussdiagramm eine Funktion von a) einer Anzahl von Prädiktoren ist; b) Variablentypen; c) Domänenwissen über mögliche Beziehungen (linear / nichtlinear); d) Größe des Datensatzes; e) Einschränkungen bezüglich der Rechenzeit und so weiter.
Gibt es ein solches vereinbartes konventionelles Flussdiagramm, um die Techniken auszuwählen? Oder läuft es wirklich darauf hinaus, "viele Dinge auszuprobieren und zu sehen, was mit der gewünschten Maßnahme am besten funktioniert, z. B. Kreuzvalidierung"?
Sagen wir so. Obwohl es zahlreiche Lernansätze gibt, ist jeder für eine bestimmte Situation nützlich. Es ist möglich, dass Sie für ein Problem mehrere Möglichkeiten haben. Jeder Lernansatz hat eine spezielle Anwendungsdomäne. Aus diesem Grund wissen die Benutzer normalerweise, wo sie Entscheidungsbäume verwenden und wo sie neuronale Netze auswählen müssen, z. B. in Situationen, in denen alle Ihre Eingaben reelle Zahlen sind. Der Versuch, Entscheidungsbäume zu verwenden, ist kein Problem weise Entscheidung. Ich versuche die wichtigsten Dinge zu erklären, die ein ML-Praktizierender normalerweise in Betracht zieht.
Anzahl der verfügbaren Funktionen
Die Anzahl der Funktionen ist wichtig, da sie bei so vielen Funktionen nicht einfach visualisiert werden können. Dies kann dazu führen, dass nicht erkannt werden kann, ob die Daten linear trennbar sind oder nicht. So viele Funktionen bedeuten nicht, dass der Datensatz nicht linear trennbar ist. Angenommen, Sie möchten neuronale Netze zur Modellierung des Problems verwenden. Sie sollten nicht mit einem komplizierten Netzwerk mit so vielen Schichten und Neuronen beginnen. Sie müssen mit einem einzelnen Neuron beginnen, das der logistischen Regression für Klassifizierungsaufgaben entspricht, um herauszufinden, ob Ihre Daten linear trennbar sind oder nicht. Wenn Sie feststellen, dass Sie keine gute Leistung erzielen, können Sie zusätzliche Neuronen und Schichten hinzufügen. Wie? Schauen Sie sich an, wie Sie die Anzahl der Neuronen und Schichten in neuronalen Netzen einstellen .
Funktionsbereich
Bei der Auswahl von ML-Ansätzen ist es einfach, die Einschränkungen jedes Algorithmus in Bezug auf den Merkmalsraum zu berücksichtigen. ZB sind Entscheidungsbäume nicht sehr gut für Probleme mit vielen Merkmalen, von denen einige numerische Merkmale sind. Sie können sehr groß werden.
SVMs
sind nicht sehr gut für nichtlineare Probleme mit so vielen Funktionen, da Sie die Kernelgröße angeben müssen. Für verschiedene Regionen im Feature-Space ist eine einzelne Kernelgröße möglicherweise nicht wertvoll. Um es zu verallgemeinern, werden Probleme mit sehr großem Eingaberaum normalerweise mithilfe neuronaler Netze behandelt. Wenn das Problem so viele Merkmale aufweist, es sich jedoch beispielsweise um binäre Merkmale oder kategoriale Merkmale mit einer kleinen Anzahl von Auswahlmöglichkeiten handelt, kann das Problem einen kleineren Merkmalsraum, Eingaberaum und andere ML-Ansätze aufweisen.Größe des Datensatzes
Abhängig von Ihrem Problem, den Feature-Typen und den Feature-Bereichen kann der Eingabebereich sehr klein oder sehr groß sein. Folglich kann die Anzahl möglicher Daten abhängig vom Eingaberaum unterschiedlich sein. Wie bereits erwähnt, sind neuronale Netze für große Eingaberäume für Zuordnungen sehr leistungsfähig.
Verteilungen und Bayes-Fehler
Für verschiedene Aufgaben, z. B. Klassifizierung, müssen Sie statistische Analysen durchführen, um Ihren verfügbaren Datensatz besser zu kennen. Sie müssen untersuchen, ob es Eingabemuster gibt, die gleich sind, deren Beschriftungen sich jedoch unterscheiden. Wenn ja warum? Ist das für Expertenfehler oder nicht. Der aktuelle Funktionsbereich ist für das Verständnis des Problems nicht gültig. Nachdem Sie diese Fragen beantwortet haben, können Sie Bayes-Fehler verwenden, um zu untersuchen, welcher Ansatz die beste Genauigkeit Ihrer Daten aufweist.
quelle