Einstieg ins Thema Machine Learning



  • Hallo,

    wie habt ihr den Einstieg in den Bereich Machine Learning geschafft (oder allgemeiner: Statistik v.a. in Bezeug auf Bayes sowie darauf aufbauende Algorithmen)?

    Hab von der Hochschule durchaus eine Grundahnung über Statistik und hab mir einfach mal den Klassiker, nämlich Bishop - Pattern Recognition and Machine Learning gekauft.
    Irgendwie erschlägt mich die Komplexität allerdings. Hunderte Seiten, Formeln über Formeln...

    Bin mir nicht sicher, ob es der richtige Weg ist, jetzt Seite für Seite dort durchzulesen und zu versuchen, alle Formeln so lange nachzuvollziehen bzw. nachzurechnen bis ich es verstehe.
    Am Ende vom Tag möchte ich einerseits durchaus ein gutes mathematisches Grundverständnis bei dem Thema haben haben, allerdings möchte ich auch in der Lage sein, das gelernte praktisch anzuwenden.

    Schönen Abend!





  • Das Thema ist auch hochkomplex. M. A. n. mit Ingenieurs-Mathematik kaum noch nachvollziehbar, wenn es Richtung Support-Vektor-Maschinen oder darüber hinaus geht. Skalarprodukte im eigentlichen, mathematischen Sinne, haben nicht mehr viel mit den Skalarprodukten aus der Schule zu tun. Und Kerne, mit denen man mit unendlich vielen Dimensionen rechnen kann, sind schon fast esoterisch!
    Ein Arbeitskollege verwendet halt einfach fertige Bibliotheken und hat sich die Theorie ein bisschen angeschaut. Das reicht schon für Produkte auf dem Markt.

    An der FH müssen wir alles händisch programmieren und das ist mit unserer Mathematik wirklich nicht ohne.



  • ShadowClone schrieb:

    An der FH müssen wir alles händisch programmieren und das ist mit unserer Mathematik wirklich nicht ohne.

    Das ist ja nicht fies! Wir durften nicht alles zusammenklicken mit so einem grafischen Editor. Und Mathe hatten wir auch. Man braucht später im Leben eh Mathe. Auch muss man wirklich Ahnung von Rechnern haben, um ein guter Informatiker zu sein; für die einfachen technischen Sachen gibt es ja keine Nerds; die unwichtigen Sachen, wie man ein Maut-System nicht gewinnbringend in den Sand setzt, lernt man eh an der Hochschule.



  • Du tust mir echt leid, dass du zu den Leuten gehörst, die es nötig haben zu trollen. Musst ja ein tolles Selbstwertgefühl haben.
    Kackst mich einfach an und tragst zum Thema nichts bei...
    Unser Prof. der Physik studiert hat und beruflich mit maschinellem Lernen zu tun hatte, betont immer wieder selbst die Komplexität der Mathematik.
    Ist das hier ein Kern-Merkmal im Forum, dass man aus dem Nichts einfach angegriffen wird?! Falls ja, überlege ich es mir zwei mal, ob ich hier regelmäßig poste!



  • Ich würde nicht sagen, dass er dich "ankackt".



  • ShadowClone schrieb:

    Falls ja, überlege ich es mir zwei mal, ob ich hier regelmäßig poste!

    Das kannste doch nicht androhen! Du bist der Einzige, der in den politischen Threads, die nunmal Herz&Seele dieses Fachforums stellen, den totalen Duchblick hat. Um Dir zu zeigen, daß ich keinerlei negativen Gefühle gegenüber Dir hege, und es mir sauwichtig ist, daß Du für immer bei uns bleibst, habe ich in obigem Posting alles negiert.



  • Stör dich nicht weiter an seinen autistischen Posts, er ist nun mal - die Anzahl seiner bisherigen sozialen Kontakte lässt sicher trotz seines beachtlichen Alters sicher an einer Hand abzählen.



  • Ich weiß, dass der Bishop als _das_ Standardwerk schlechthin gilt, aber er ist IMO eine furchtbare Einführung. AIMA ist sehr vollständig, aber kein echtes ML-Buch.

    Ich habe leider auch keine guten Empfehlungen für Alternativen, ich bin damals durch den alten Müll durchgewatet und hatte dann keine Lust mehr, mir passende Einsteigerliteratur genauer anzusehen.

    Auf Hacker News gibt es regelmäßig irgendwelche Leselisten mit zwanzig dicken Büchern und dreihundert Papers, aber wenn dir das Thema wirklich neu ist, würde ich mir mal den Coursera-Kurs von Andrew Ng ansehen, der war wirklich gut.

    Irgendwann musst du dich vmtl. entscheiden, ob du Machine Learning Zeug anwenden möchtest, oder du dich wirklich sehr für die Grundlagen interessierst und in diese Richtung gerne vertiefen möchtest. Der Ng-Kurs hilft IMO dabei, mal genug zu verstehen, um sich beide Richtungen halbwegs vorstellen zu können.



  • ShadowClone: Die Mathematik dahinter ist auch nicht übler als sonstwo. Wird halt alles schnell ein bisschen unübersichtlich und messy, aber daran gewöhnt man sich. Sachen selbst implementieren zu müssen und sich durch die mathematischen Details durchzuarbeiten ist IMO die einzige Möglichkeit, die mathematischen Details auch zu verstehen. Sofern man das denn muss/möchte.



  • nman schrieb:

    Ich habe leider auch keine guten Empfehlungen für Alternativen

    Was ist mit dem da?

    The Elements of Statistical Learning | ISBN: 0387848576

    Das ist natürlich auch ein äußerst mathematiklastiges Buch. Aber so ist das Gebiet nunmal. Es scheint in dem Bereich für viele ein Problem zu sein, dass die Bücher zu viel Mathematik enthalten. ...zumindest wenn man Reviews auf Amazon überfliegt.



  • danke erstmal für Eure Antworten!
    Werd mir die Videos von Herrn Ng ansehen, gibt ja durchaus gute Vortragende bei denen einem dann auf einmal ein Licht aufgeht.

    @Gregor: hatten das Buch mal auf der Uni, kann mich dunkel erinnern dass dieses Buch sich eher auf den frequentistischen Bereich konzentriert.



  • Gregor: Inhaltsverzeichnis sieht ok aus, aber ich habe nicht das ganze Buch gelesen, sondern nur irgendein Unterkapitel mal für irgendwas. Müsste meine Bibtex-DB für Details checken.



  • Maschin schrieb:

    Werd mir die Videos von Herrn Ng ansehen, gibt ja durchaus gute Vortragende bei denen einem dann auf einmal ein Licht aufgeht.

    Am besten auch die Übungsaufgaben durcharbeiten, die sind auch sehr hilfreich und mit octave zu bewältigen.



  • Ich habe jetzt nicht soviel mit Machine Learning gemacht, nur neuronale Netze und geneatische Algorithmen. Bei beiden habe ich nicht wirklich viel Mathe gebraucht. Bei GA eigentlich nichts und bei NN nur ein bisschen für Error Backpropagation, wobei ich die Herleitung überflogen hab und mir dachte, die werden schon richtig gerechnet haben, und nur das Erbegnis für die Implementierung verwendet habe.

    Eigentlich finde ich sowas wie man die Daten so aufbereitet, damit das NN vernünftig lernen kann und der GA schon mutieren kann, viel interesanter. Da kann man schön kreativ sein.

    Ich denke da wird immer gern viel mit Mathe gelehrt, weil man Herleitungen einfacher lehren und definierter prüfen kann, als Kreatives.



  • sdfgdfghr schrieb:

    Ich habe jetzt nicht soviel mit Machine Learning gemacht, nur neuronale Netze und geneatische Algorithmen. Bei beiden habe ich nicht wirklich viel Mathe gebraucht. Bei GA eigentlich nichts und bei NN nur ein bisschen für Error Backpropagation, wobei ich die Herleitung überflogen hab und mir dachte, die werden schon richtig gerechnet haben, und nur das Erbegnis für die Implementierung verwendet habe.

    Eigentlich finde ich sowas wie man die Daten so aufbereitet, damit das NN vernünftig lernen kann und der GA schon mutieren kann, viel interesanter. Da kann man schön kreativ sein.

    Ich denke da wird immer gern viel mit Mathe gelehrt, weil man Herleitungen einfacher lehren und definierter prüfen kann, als Kreatives.

    Das ganze Gebiet des Machine Learnings bietet unglaublich viele Werkzeuge, die alle in unterschiedlichen Situationen ihre Stärken haben. Sich in dem Bereich auszukennen heißt unter anderem fähig sein, diese Situationen von einander unterscheiden zu können. Hinzu kommt dann noch die Auslegung der unterschiedlichen Werkzeuge. "Wie muss ein KNN eigentlich dimensioniert sein, damit es die Aufgabe gut erledigt?" Ich denke, wenn man sich tiefgehender mit Machine Learning auseinandersetzt, wird man auch erkennen, dass KNNs und GAs für die meisten Situationen nicht unbedingt das Nonplusultra sind. Aber in dem Zusammenhang benötigt man dann auch ein mathematisches Verständnis des Gebiets.



  • Gregor schrieb:

    Das ganze Gebiet des Machine Learnings bietet unglaublich viele Werkzeuge, die alle in unterschiedlichen Situationen ihre Stärken haben. Sich in dem Bereich auszukennen heißt unter anderem fähig sein, diese Situationen von einander unterscheiden zu können. Hinzu kommt dann noch die Auslegung der unterschiedlichen Werkzeuge. "Wie muss ein KNN eigentlich dimensioniert sein, damit es die Aufgabe gut erledigt?" Ich denke, wenn man sich tiefgehender mit Machine Learning auseinandersetzt, wird man auch erkennen, dass KNNs und GAs für die meisten Situationen nicht unbedingt das Nonplusultra sind. Aber in dem Zusammenhang benötigt man dann auch ein mathematisches Verständnis des Gebiets.

    Warum folgerst du daraus den letzten Satz?



  • sdfgdfghr schrieb:

    Gregor schrieb:

    Das ganze Gebiet des Machine Learnings bietet unglaublich viele Werkzeuge, die alle in unterschiedlichen Situationen ihre Stärken haben. Sich in dem Bereich auszukennen heißt unter anderem fähig sein, diese Situationen von einander unterscheiden zu können. Hinzu kommt dann noch die Auslegung der unterschiedlichen Werkzeuge. "Wie muss ein KNN eigentlich dimensioniert sein, damit es die Aufgabe gut erledigt?" Ich denke, wenn man sich tiefgehender mit Machine Learning auseinandersetzt, wird man auch erkennen, dass KNNs und GAs für die meisten Situationen nicht unbedingt das Nonplusultra sind. Aber in dem Zusammenhang benötigt man dann auch ein mathematisches Verständnis des Gebiets.

    Warum folgerst du daraus den letzten Satz?

    Das ist halt eine abstraktere Sichtweise, die man auf die Werkzeuge und die Anwendungen entwickeln muss. Und je abstrakter es wird, desto mathematischer wird es auch. Man muss dann Konzepte verstehen, die vielleicht nicht nur direkt an ein Werkzeug gebunden sind, das man direkt in Code umsetzen kann. Viele dieser Werkzeuge haben zum Beispiel Stärken, wenn man das Anwendungsbeispiel auf bestimmte Modelle abbilden kann, wenn es zum Beispiel irgendwelche linearen Abhängigkeiten gibt oder wenn man weiß, dass bestimmte Verteilungen der Daten vorliegen. Einige Aspekte sind auch rein abstrakt formuliert. Zum Beispiel der Fluch der Dimensionalität oder wann man Regularisierung benötigt.



  • ich bin es nochmal - der TE.
    Nach einer gewissen Zeit habe ich nun einen Weg gefunden, wie man mit dem Bishop doch voran kommt.
    Man muss sich das praktisch ansehen. Also z.B. KNN, irgendeine Beispielanwendung wählen (z.B. Bag of Visual Words). Dann am Papier mal alles aufschreiben sowie wie in Bishop gezeigt versuchen mathematisch herzuleiten. Dann implementieren (mit Matlab oder Python geht das recht flott) und an echten Daten testen.
    Der Weg ist zwar mühsam und man kommt nicht schnell voran, insgesamt ist es aber meiner Meinung nach der einzige Weg, die Dinge echt zu verstehen. Und darauf kommt es mir an.

    Parallel dazu arbeite ich noch ein Buch zu Statistik durch, das hilft, gewisse Dinge besser zu verstehen.


Log in to reply