Studieren von Algorithmen für maschinelles Lernen: Tiefe des Verständnisses vs. Anzahl der Algorithmen

13

Vor kurzem wurde ich in das Gebiet der Data Science eingeführt (es sind ungefähr 6 Monate vergangen), und ich begann die Reise mit einem Kurs zum maschinellen Lernen von Andrew Ng und einer Stelle, die mit der Arbeit an der Data Science-Spezialisierung von JHU begann.

In der praktischen Anwendung habe ich an der Erstellung eines Vorhersagemodells gearbeitet, das den Verschleiß vorhersagt. Bisher habe ich glm, bayesglm und rf verwendet, um diese Methoden zu erlernen und anzuwenden, aber ich finde eine große Lücke in meinem Verständnis dieser Algorithmen.

Mein grundlegendes Dilemma ist:

Ob ich mich mehr darauf konzentrieren sollte, die Feinheiten einiger Algorithmen zu lernen, oder ob ich den Ansatz wählen sollte, viele davon zu kennen, wann und so viel wie nötig?

Bitte leiten Sie mich in die richtige Richtung, indem Sie vielleicht Bücher oder Artikel vorschlagen oder etwas, von dem Sie glauben, dass es helfen würde.

Ich wäre Ihnen dankbar, wenn Sie mir die Idee geben würden, jemanden anzuleiten, der gerade seine Karriere im Bereich Data Science begonnen hat und der praktische Probleme für die Geschäftswelt lösen möchte.

Ich würde (so viele wie möglich) in diesem Beitrag vorgeschlagene Ressourcen (Bücher, Artikel) lesen und ein persönliches Feedback zu deren Vor- und Nachteilen geben, um diesen Beitrag zu einem hilfreichen Beitrag für Leute zu machen, die auf eine ähnliche Frage stoßen In Zukunft, und ich denke, es wäre großartig, wenn Leute, die diese Bücher vorschlagen, das Gleiche tun könnten.

Vinay Tiwari
quelle

Antworten:

9

Ich würde empfehlen, sich auf ein paar bewährte Algorithmen zu beschränken. Ich würde Elemente des statistischen Lernens (als erstes Buch) nicht empfehlen. Es ist zu theoretisch und richtet sich an Studenten im Aufbaustudium mit Übungen, in denen gefragt wird, wie X oder Y zu beweisen ist. Ich denke, ISL ist geeigneter, mit mehr praktischen Ratschlägen (auf jeden Fall sind beide Bücher als PDF-Downloads kostenlos).

Neben der Statistik möchte ich sicherstellen, dass Sie mit experimentellen Design- / AB-Tests und mit Business Intelligence / Visualisierung vertraut sind.

seanv507
quelle
Würde mich freuen, wenn Sie einige Algorithmen vorschlagen könnten, die man nicht VERPASSEN sollte, oder besser gesagt, die am nützlichsten sind, um praktische geschäftliche Probleme zu lösen. Wenn möglich, erwähnen Sie bitte die besten Möglichkeiten, um sie zu lernen (bestimmte Bücher, Selbsthilfeartikel oder können Versuch und Irrtum sein)
2
Ich würde so ziemlich alle Algen in ISL sagen: lineare Regression, logistische Regression, baumbasierte Methoden, SVM; Clustering und Dimensionsreduktion zB PCA. Blättern Sie durch das Buch und schauen Sie sich den entsprechenden Online-Kurs an ( online.stanford.edu/course/statistical-learning-winter-2014 - vielleicht auf youtube?).
Seanv507
Tolle Ressource, gut, ein Buch und Videos von den Autoren selbst zu haben. Vielen Dank für den Link, war mir dessen nicht bewusst.
Vinay Tiwari
Es tut mir leid, aber das ist ein schrecklicher Rat. Ein Datenwissenschaftler sollte sich niemals auf wenige Algorithmen verlassen. Sie müssen sich auf Ihre eigenen Daten- und Analysefähigkeiten verlassen, und es gibt keine zwei gleichen Datenprobleme. Einige werden mit X gelöst, andere mit Y. Es ist einfach nicht sinnvoll zu erwarten, dass das Datenuniversum mit Ihren wenigen Algorithmen kompatibel ist. Seien Sie neugierig, flexibel, sachkundig und verwenden Sie das richtige Werkzeug für den Job, nicht nur die, die Sie zufällig kennen.
I_Play_With_Data
5

Vielleicht sollte jemand, der sich selbst als Datenwissenschaftler bezeichnet, mehr über die Komplexität der von ihm verwendeten Algorithmen wissen, z Maximum-Likelihood-Lösung wird gefunden (möglicherweise, nachdem sie eine Tasse Kaffee gemacht haben). In jedem Fall ist es wichtig, die allgemeinen Konzepte von Statistik und maschinellem Lernen zu verstehen und sich mit den von Ihnen verwendeten Methoden vertraut zu machen - der Theorie dahinter, den Annahmen, die sie treffen, welche diagnostischen Überprüfungen Sie durchführen sollten und wie die Ergebnisse zu interpretieren sind. Vermeide es, diese Parodie zu sein .

Sie würden wahrscheinlich gerne Hastie et al. Lesen . (2009), Die Elemente des statistischen Lernens .

Scortchi - Setzen Sie Monica wieder ein
quelle
Ich werde es bestimmt lesen! Die letzte Zeile hat mir sehr gut gefallen ... Ich denke, der Drang und manchmal der Druck, so schnell wie möglich Ergebnisse zu erzielen, führen oft zu solchen Parodien. Und es ist ebenso wichtig, das Gegenteil davon zu vermeiden, bei dem man so tief in das Lernen eintaucht, dass es für die Probleme der realen Welt unbrauchbar wird. Während das Wachsen / Lernen manchmal wichtiger ist, zu wissen, was NICHT zu tun ist, danke ich vielmals für die Anleitung, um mehr solche Einsichten zu sehen, die mich und andere auf einer ähnlichen Reise erleuchten würden.
"Was beeinflusst die Konvergenzrate des Fisher-Scoring-Algorithmus in GLM?" - Ich vermute, Sie haben hier 99% der Data Scientists verloren.
@Momo: Nun, "Data Scientist" ist einer der schlecht markierten Begriffe, die kaum an Bedeutung gewonnen haben, bevor sie abgewertet wurden.
Scortchi
2

Nun, ich würde sagen, dass es definitiv besser ist, die Feinheiten von 1 oder 2 Algorithmen im Detail zu kennen (wie das Innenleben ihrer Parameter), als zu wissen, wie man einige von ihnen ausführt.

Ich bin seit ungefähr 11 Jahren im Bereich Analytics und seit 2,5 Jahren als Data Scientist tätig. Ich spreche aus Erfahrung. Andererseits sollten Sie sich auf jeden Fall anderer Dinge bewusst sein (neuere Algorithmen wie Deep Learning, SVM, XGboost usw.), die möglicherweise besser auf Ihr Problem zutreffen.

Ich denke, Dr. Andrew Ngs Kurs geht auf einige Details einiger Algorithmen ein und es ist ein guter Anfang. Wie andere bereits betont haben, ist http://statweb.stanford.edu/~tibs/ElemStatLearn/ ein gutes Buch, zu dem es auch Videos gibt.

Dies ist meine persönliche Meinung, die Algorithmen, die Sie nicht verpassen sollten, sind: (Kennen Sie diese im Detail):

1) Multiple lineare Regression 2) Logistische Regression 3) Gängige Techniken zur Dimensionsreduktion wie PCA 4) K-Mittel-Clustering 5) Nichtlineare Regression 6) Optimierungsmethoden: Gradientenbasierte Suchmethoden, lineare Programmierung und diskrete Optimierung 7) Konzepte und Algorithmen im Feature-Engineering 8) Einfache Zeitreihen-Prognosemethoden

Weitere esoterische Algorithmen:

1) Random Forests 2) SVM 3) Deep Learning 4) Andere Methoden zur Dimensionsreduktion wie LDA 5) Andere kernbasierte Methoden 6) Genetische Algorithmen 7) XgBoost 8) Dynamische Regression 9) GARCH / ARCH-Methoden 10) Strukturgleichungsmodellierung 11) Box-Jenkins-Methoden in der Zeitreihenvorhersage 12) Informationstheorie: Informationsgewinn, gegenseitiger Gewinn usw.

ML_Passion
quelle
0

Ich war in einer ähnlichen Situation gewesen. Ich habe hier mit jedem Algorithmus angefangen (und zwar sehr detailliert).

Bildbeschreibung hier eingeben

Ich stellte jedoch schnell fest, dass sich die Akademie für maschinelles / vertieftes Lernen sehr schnell entwickelt und immer schnellere und modernere Algorithmen entwickelt, die in vielen realen Anwendungen die traditionellen Algorithmen weit übertreffen . Es ist also immer vorzuziehen, mit den neuesten Trends aktualisiert zu werden. Ich schlage vor (wie ich es normalerweise selbst mache), ein Abonnement für einen guten Newsfeed (wie Medium) oder ein erstaunliches, hochmodernes Forschungsjournal zu erwerben und ihm zu folgen. Oftmals stammen erstaunliche Algorithmen aus Forschungsarbeiten, die sich mit einem bestimmten Problem befassen (wahrscheinlich ähnlich wie bei Ihnen).

Der Punkt ist, um ein guter Datenwissenschaftler (oder ML-Ingenieur) zu sein, muss eine Mischung aus Tiefe und Breite vorhanden sein. Ich persönlich finde es nützlich, viele Algorithmen auf ihrer Oberfläche zu kennen (einfach, was sie tun, wann sie verwendet werden, Vor- und Nachteile). Ich kehre zu ihnen zurück, wenn ich fühle ( nur fühle) ), dass sie mir helfen könnten, ein bestimmtes Problem zu lösen. Ich habe sie ausführlich gelesen und festgestellt, ob sie gut passen. Sie könnten oder sie könnten nicht sein. Das Nachdenken über die Details ist jedoch unerlässlich, um sicherzustellen, dass Sie aufgrund des Mangels an Einsicht in diesen Ansatz nicht auf eine erstaunliche Herangehensweise an Ihr Problem verzichten. Zum Beispiel, als ich an etwas arbeitete, das eine Objekterkennung erforderte (obwohl sehr einfach). Ich habe irgendwo über R-CNN, Fast-CNN, YOLO gelesen. Ich drehte mich sofort zu ihnen um zu sehen, ob sie gut passen. An diesem Tag kannte ich sie genauer.

Ob ich mich mehr darauf konzentrieren sollte, die Feinheiten einiger Algorithmen zu lernen, oder ob ich den Ansatz wählen sollte, viele davon zu kennen, wann und so viel wie nötig?

Das Erlernen der Feinheiten ist erstaunlich. Die Welt bewegt sich jedoch sehr schnell. Es könnte einen neuen Algorithmus geben, der denjenigen, den Sie gelernt haben, mit großer Genauigkeit übertrifft. Es ist daher an der Zeit, diese Verwendung auszuspülen und zu prüfen, ob die neue Ihnen mehr Gutes tut.

Lerne Dinge, wenn es nötig ist. Und wenn nötig, lernen Sie sie im Detail. Sie sollten in der Lage sein, Dinge anzuwenden, wenn Sie das Gefühl haben, dass sie möglicherweise funktionieren. Und diese Einsicht kommt vom Wissen.

Viel Glück.

Nimish Mishra
quelle