Machine Learning verstehen: Von der Theorie bis zu den Algorithmen [449 S. kostenloses E-Book]
(cs.huji.ac.il)- "Understanding Machine Learning" von Shai Shalev-Shwartz und Shai Ben-David ist ein Buch, das 2014 bei Cambridge University Press erschienen ist
- Es behandelt die theoretischen Grundlagen und Algorithmen des Machine Learning.
- Mit Genehmigung der Cambridge University Press wurde das PDF des Manuskripts veröffentlicht und kann nur für den persönlichen Gebrauch heruntergeladen werden
- Nicht zur Weiterverbreitung bestimmt
1 Kommentare
Meinungen auf Hacker News
Wenn man Machine Learning leicht verständlich nachvollziehen möchte, empfehle ich Josh Starmers The StatQuest Illustrated Guide to Machine Learning: https://www.goodreads.com/book/show/75622146-the-statquest-i...
Ich habe bisher keinen Lehrer gesehen, der komplexe Konzepte so klar und prägnant erklärt wie Starmer; das Format wirkt fast wie ein Kinderbuch, wodurch es leicht zu lesen und zu verstehen ist.
Kürzlich hat er auch ein Buch über neuronale Netze veröffentlicht, das ebenso gut ist. Selbst wenn man bereits Experte ist, kann man daraus gute Methoden mitnehmen, um komplexe Konzepte des Machine Learning zu lehren und zu vermitteln – daher eine klare Empfehlung.
Ich habe ihn im Statistikstudium an der Uni häufig als ergänzendes Material genutzt.
Allerdings würde ich es kaum als Weg empfehlen, Machine Learning über ein oberflächliches Niveau hinaus zu lernen, und es wirkt auch etwas in die Jahre gekommen.
Ich habe es noch nicht gelesen, aber das Buch über neuronale Netze könnte diesen Punkt vielleicht ausgleichen.
Außerdem frage ich mich, ob es vernünftig ist anzunehmen, dass man mit einem Hintergrund als Web-/Entwicklungs-Software-Engineer in Rollen im Bereich Machine Learning/AI einsteigen kann, wenn man die hier empfohlenen Bücher gründlich durcharbeitet.
In meiner Arbeit nutze ich Machine Learning für ökonometrische Analysen, und die meisten Ökonomen verstehen Machine Learning nicht intuitiv.
Wenn man die Grundlagen von Machine Learning verstehen möchte, war Stanfords Probability for computer scientists eine hervorragende Ressource: https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
Die Art, wie Wahrscheinlichkeitstheorie und die theoretischen Grundlagen von Machine Learning behandelt werden, war besser als in jeder anderen Vorlesung, die ich gesehen habe; im Kern ist es allerdings eher eine Wahrscheinlichkeitstheorie-Vorlesung, die Grundlagen von Machine Learning abdeckt.
Andrew Ngs Kurs ist ebenfalls legendär, setzt aber ein gewisses Maß an mathematischer Vertrautheit mit linearer Algebra voraus.
Die PDF der CS109-Vorlesungsnotizen kann man ebenfalls herunterladen: https://chrispiech.github.io/probabilityForComputerScientist...
Wenn man ein theoretisches Verständnis von Machine-Learning-Themen möchte, war Caltechs Learning From Data ebenfalls gut: https://work.caltech.edu/telecourse
Zu dieser Caltech-Vorlesung gibt es auch ein Buch: https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
Um zu verstehen, wie man neuronale Netze von Grund auf baut, ist Neural Networks: Zero to Hero gut: https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
https://bloomberg.github.io/foml/#home Diese Vorlesung gefällt mir persönlich am besten.
Wenn es darum geht, moderne generative AI zu lernen, würde ich stattdessen https://udlbook.github.io/udlbook/ empfehlen.
Ich habe vor ein paar Jahren Teile davon gelesen. Meiner Erinnerung nach war es sehr theoretisch und enthielt viel statistische Lerntheorie; den Abschnitt über Vapniks strukturelle Risikominimierung halte ich persönlich für falsch.
Es ist stark auf Theorie ausgerichtet und enthält praktisch kaum Anwendungen. Da das Buch von 2014 ist – im AI-Bereich eine Ewigkeit her –, sind wahrscheinlich auch die Anwendungsteile inzwischen völlig veraltet.
Ich glaube nicht, dass es heute viele Leute gibt, die dieses Buch lesen wollen.
Soweit ich weiß, haben mathematische Theorien wie die statistische Lerntheorie bei der Erfindung von Transformern kaum geholfen, und sie waren auch nicht nützlich, um zu erklären, warum neuronale Netze selbst bei großer VC-Dimension nicht overfitten.
Der Titel „von der Theorie zum Machine Learning“ zeigt das Problem dieses theoriezentrierten Ansatzes sehr gut.
Leute, die sich für Mathematik interessierten, aber nicht für Software Engineering, kamen ins Machine Learning und entwickelten abstrakte Lerntheorien wie die statistische Lerntheorie, die aber weit von dem entfernt waren, was praktisch möglich war.
Ingenieure dagegen ignorierten solche Theorien, machten sich bei der tatsächlichen Implementierung neuronaler Netze die Hände schmutzig und versuchten, die Leistung zu verbessern; daraus entstanden dann Dinge wie Convolutional Neural Networks und später Transformer.
Ich erinnere mich, dass Vapnik im Vorwort seines Buches die Tendenz beklagte, schöne mathematische Theorie zu ignorieren und sich nur auf Praxis zu konzentrieren, fast so, als sei das Extremismus.
Inzwischen ist aber klar geworden, dass diese Theorien zu schwach waren, um die Komplexität der Ansätze zu erklären, die in der Praxis gut funktionieren; für mich zeigt sich damit, dass Machine Learning kein Teilgebiet der Mathematik oder der theoretischen Informatik ist, sondern ein Teilgebiet des Engineerings.
Im Titel dieses Buches steckt die falsche Hoffnung, Menschen würden zuerst abstrakte Lerntheorie lernen und dadurch inspiriert bald neue Algorithmen entwickeln.
Die statistische Lerntheorie kann gerade einmal Supervised Learning modellieren, von Reinforcement Learning oder Self-Supervised Learning ganz zu schweigen.
Sie kann nicht einmal erklären, warum neuronale Netze robust gegen Overfitting sind; fantastische Theorien wie Computational/Algorithmic Learning Theory, Solomonoff-Induktion oder Kolmogorov-Komplexität sind noch weiter von der Realität entfernt.
Ich verstehe, dass bestimmte Aspekte überraschend sind und dass Skalierungsgesetze oft gelten, wenn Größe und Vielfalt des Datensatzes passen.
Aber aus meiner Erfahrung, Modelle nicht nur feinzujustieren, sondern mit realen Datensätzen von Grund auf zu trainieren, können neuronale Netze eindeutig overfitten, wenn nicht genug Daten vorhanden sind.
Mein Bauchgefühl ist, dass die bestehenden Theorien unter bestimmten Bedingungen – etwa bestimmten Eigenschaften des Datensatzes – nicht als wahr bewiesen wurden; heutzutage scheint man aber implizit anzunehmen, dass Datensätze riesig sind, und lässt solche Einschränkungen weg.
Bei Nischenproblemen in Nicht-FAANG-Unternehmen oder in der Realität, in der öffentlich verfügbare, aber nicht kommerziell nutzbare Datensätze nicht verwendet werden können, ist das weiterhin ein echtes Problem.
Nicht jedes Problem lässt sich mit Foundation Models oder Frontier Models lösen.
Ich würde mich über Hinweise auf relevante Papers freuen; ich lerne noch.
Das ist ähnlich wie in der Physik: Um etwas wie Quantenmechanik zu verstehen, braucht man mathematische Theorie. Sonst ergibt es möglicherweise keinen Sinn.
Ich frage mich, ob es für Software Engineers, die nicht in die Forschung gehen, praktisch nützlich ist, Machine-Learning-Konzepte tief zu verstehen.
Ich habe nicht vor, in die Forschung zu wechseln, und versuche daher einzuschätzen, worauf ich mein Lernen für meine Karriere konzentrieren sollte.
Grob gesagt scheint es in Unternehmen Bedarf an AI/ML-Implementierungen zu geben, aber lohnt es sich – abgesehen von Teilen des Debuggings –, Modelle von Grund auf zu entwickeln?
Ich frage mich auch, ob es für gewöhnliche Business-Anwendungen meistens ausreicht, fertige Modelle für den jeweiligen Use Case etwas anzupassen.
Dieses Buch ist meine liebste Einführung in die Machine-Learning-Theorie, insbesondere in die statistische Lerntheorie, und deutlich zugänglicher als andere Bücher.
Das Buch ist von 2014 – ist es wirklich noch relevant?
Das Buch ist 10 Jahre alt. Ist es nicht veraltet?
Auch beim Update zum Bias-Variance-Dilemma hat sich gegenüber dem ursprünglichen Paper von Geman 1992 nicht viel geändert: https://www.dam.brown.edu/people/documents/bias-variance.pdf
Damals ging es um kleine oder unendliche Datensätze, und Double Descent funktioniert nur dann wirklich, wenn die Muster im Testset den Mustern im Trainingsset ausreichend ähnlich sind.
Bei einigen älteren Sichtweisen sollte man vorsichtig sein, aber die Grundkonzepte sind dieselben.
Auch bei Fine-Tuning oder Reinforcement Learning gelten die Probleme kleiner Datensätze/unendlicher Datensätze, bei denen die Konzeptklasse der Trainingsdaten neu sein kann, aus dem Paper von 1992 weiterhin; wenn man pauschal annimmt, dass das nicht mehr gilt, kann einem das zum Verhängnis werden.
Die meisten grundlegenden Konzepte stammen aus der Mitte des 20. Jahrhunderts.
Die Verfügbarkeit großer Datenmengen und neue Entdeckungen haben frühere Forschung nicht so sehr ungültig gemacht, sondern vielmehr die Annahmen und Werkzeuge stark verändert.
Wenn man das Paper überfliegt, sieht man, dass die großen Datenmengen und die Rechenleistung, die wir heute haben, damals schlicht als unrealistisch ausgeschlossen wurden.
Es ist gut, ein Buch zu finden, das zu einem passt, die Konzepte zu lernen und implizites Wissen aufzubauen.
Viele Ansätze versuchen, auch symbolische Methoden und andere Methoden zu integrieren.
Breite und Tiefe zugleich aufzubauen hilft, Zeit zu sparen und Chancen zu finden; dafür ist Grundlagenwissen meiner Ansicht nach entscheidend.
Grundlagen des Machine Learning wie Training/Validierung und Varianz/Bias sind gleich geblieben, und klassische Algorithmen haben weiterhin ihren Platz.
Die neueren Entwicklungen, die fehlen könnten, dürften ungefähr Forests im Stil von XGBoost sein.
Mit diesen drei Büchern braucht man buchstäblich nichts anderes, von den absoluten Grundlagen bis zu fortgeschrittenen Themen.
Wenn man einfach nur neugierig auf Machine Learning ist, ist die Wahrscheinlichkeit gering, dass die Informationen falsch sind.
Aber anders als etwa bei einem 11 Jahre alten Chemiebuch hat es wenig Bezug zu den interessantesten Problemen, mit denen Engineers heute kämpfen.
Daher ist es für Interviewvorbereitung oder den Einstieg in die Branche vermutlich nicht am nützlichsten.
Denn es konzentrierte sich hauptsächlich nicht auf modernes Deep Learning, sondern auf abstrakte mathematische Theorie von fragwürdigem Wert.
Gibt es weitere empfehlenswerte Bücher?
Ein kostenloses und leicht zugängliches Einführungsbuch von renommierten Forschern, das klassische Inhalte breit abdeckt und viele „Lab“-Abschnitte mit Code enthält.
Es gibt auch ein Kapitel zu Deep Learning, aber neuere Entwicklungen werden nicht behandelt; dafür braucht man andere Materialien.
Die Erklärungen sind solide, und es wirkt auch weniger veraltet als AIMA.