Inhaltsverzeichnis

Navigation: 🤖 Teil 1 - 🤖 Teil 2 - 🤖 Teil 3 - 🤖 Teil 4Loading ⌛Loading ⌛

🤖 Wie funktioniert maschinelles Lernen 2

🎯 In dieser Reihe erfährst du, wie ein Computer mithilfe von Daten lernen kann.

Inhaltsverzeichnis


Machine Learning löst ein reales Problem nicht direkt, sondern nähert zuerst das Problem, dann diese Näherung mithilfe von Daten und schliesslich deren Lösung durch Annahmen und Verfahren an. Deshalb sind Machine-Learning-Lösungen nie garantiert fehlerfrei.


1. Das Problem näherungsweise beschreiben


Abb.1: Fehlerfunktion1).

Im Teil 1 hast du gelernt, dass mit Machine Learning Probleme gelöst werden können, bei welchen eine Eingabe in eine Ausgabe überführt werden soll. Dazu muss zuerst entschieden werden, welcher Ausschnitt der Wirklichkeit überhaupt betrachtet wird: Was gilt als Eingabe $x$? Was gilt als Ausgabe $y$? Und woran soll gemessen werden, ob eine Ausgabe gut oder schlecht ist?

Beim Machine Learning wird nicht direkt die Wirklichkeit gelernt. Stattdessen wird eine Stellvertreter-Funktion $f_{ML}(x)$ verwendet, um den Zusammenhang zwischen $x$ und $y$ zu modellieren: $y=f_{ML}(x)$. Dadurch wird das Problem für den Computer zugänglich gemacht.

Die Stellvertreter-Funktion $f_{ML}(x)$ enthält verschiedene veränderbare Parameter. In diesem Kurs bezeichnen wir diese Parameter bei allen Machine-Learning-Verfahren vereinfachend als Gewichte $w$.2)

Damit der Computer beurteilen kann, ob eine Einstellung der Gewichte $w$ gut oder schlecht ist, braucht es eine Beurteilungsfunktion, welche die Qualität der Lösung in eine Zahl übersetzt. Diese Qualität kann als Fehler oder als Score angegeben werden. In diesem Kurs verwenden wir durchgehend die Fehlerfunktion $J$. Sie ordnet einer Stellvertreter-Funktion $y=f_{ML}(x)$ einen Fehler $e$ zu. Je kleiner $e$, desto besser ist die Lösung gemäss der gewählten Fehlerfunktion.

Da die Fehlerfunktion vom Machine-Learning-Verfahren und der Einstellung dessen Gewichte $w$ abhängt, wird dieser Zusammenhang als $e = J(w)$ formuliert. Dies ist in Abb.1 dargestellt. Beim Machine Learning wird eine Einstellung der Gewichte $w^{*}$ gesucht, für welche der Fehler möglichst klein wird, d. h. es wird ein $w^{*}$ gesucht, für welches $e_{min} = J(w^{*})$ gilt.

⚠️ Beim Machine Learning wird nicht das Problem selbst gelöst. Stattdessen wird stellvertretend versucht, den Fehler einer mathematischen Beschreibung des Problems mithilfe einer Fehlerfunktion zu minimieren. Dabei geht immer ein Teil der Wirklichkeit verloren, da viele Informationen weggelassen, vereinfacht oder in Zahlen übersetzt werden (z. B. kann ein Bild durch Pixelwerte, ein Text durch Zahlenfolgen oder eine Person durch ausgewählte Merkmale beschrieben werden). Nur wenn die Stellvertreter-Funktion $f_{ML}(x)$ und die Fehlerfunktion $J$ gut zum Problem passen, kann ein Minimieren des Fehlers $e_{min} = J(w^{*})$ das Problem in guter Näherung lösen. Passen sie schlecht, dann wird zwar auch ein mathematisches Problem gelöst, aber vermutlich nicht das gesuchte reale Problem.


2. Die Näherung mithilfe von Daten annähern

Im vorangehenden Abschnitt wurde zuerst das reale Problem in eine Stellvertreterfunktion $f_{ML}(x)$ und eine Fehlerfunktion $J(w)$ übersetzt. Um am Ende eine gute Gewicht-Einstellung $w^*$ finden zu können, für welche $e_{min}=J(w^*)$ gilt, müssen wir zuerst wissen, wie wir für eine beliebige Gewicht-Einstellung $\hat{w}$ den Fehler $\hat{e}= J(\hat{w})$ berechnen können.

Dabei müssen wir zwischen dem wahren Fehler und dem empirischen Fehler unterscheiden. Den wahren Fehler würden wir bekommen, wenn wir unser Machine-Learning-Verfahren mit der fixen Gewicht-Einstellung $w^*$ unendlich lange in der Praxis einsetzen würden und den Fehler $\hat{e}= J(\hat{w})$ über alle dabei gesehenen Anwendungsbeispiele mitteln würden. So würden wir alle vorkommenden Varianten mit ihren echten Häufigkeiten berücksichtigen. Das können wir jedoch nicht. Beim Machine-Learning wird dafür stellvertretend ein endlicher Datensatz verwendet. Der empirische Fehler ist derjenige Fehler $\hat{e}= J(\hat{w})$ der mithilfe der vorhandenen Daten bestimmt wird. Je besser dieser Datensatz die Realität abbildet, desto besser kann der Fehler bestimmt werden.

🫣 In der Vergangenheit wurden Gesichtserkennungsverfahren relativ unkritisch mit Bildern aus dem Internet trainiert. Da es im Internet viel mehr Bilder von hellhäutigen Männern als von dunkelhäutigen Frauen gibt, wurden in der Folge Gesichter von dunkelhäutigen Frauen deutlich schlechter erkannt – eine unbeabsichtigte, algorithmische Diskriminierung. Für eine perfekte Gesichtserkennung müsste man eigentlich alle relevanten Gesichtsvarianten, Beleuchtungen, Kamerawinkel, Altersgruppen, Hauttöne, Bildqualitäten und deren Auftretenshäufigkeiten in realen Anwendungssituationen berücksichtigen.

⚠️ Der wahre Fehler kann bei realen Problemen fast nie exakt berechnet werden. Er wird mithilfe vorhandener Daten angenähert. Je mehr geeignete Daten verfügbar sind und je besser diese Daten die reale Anwendungssituation abdecken, desto zuverlässiger kann der wahre Fehler geschätzt werden. Da $f_{ML}(x)$ und $J(w)$ bereits nur eine mathematische Näherung des realen Problems sind, berechnen wir mit den vorhandenen Daten nur eine datenbasierte Schätzung des Fehlers dieser mathematischen Näherung.


✍ Auftrag Mehr ist mehr

👉 Hier lernst du, dass mehr Daten in der Regel zu besseren Näherungen führen.

  • Mit dem Regler legst du die Anzahl Würfe mit einem 6er-Würfel fest. Dabei wird auch gleich die Anzahl Erwarteten Anzahl Sechsen angegeben (auch „Erwartungswert“ genannt). Bei 100 Würfen müssten theoretisch 1/6 aller Würfe Sechsen sein, d. h. der Erwartungswert wäre 16.66… Sechsen.
  • Bei einem Klick auf den Button Würfle! wird so oft zufällig gewürfelt, wie eingestellt. Dabei wird die tatsächlich Gewürfelte Anzahl Sechsen gezählt und ausgerechnet, wie viele Prozent diese Zahl von der Erwartete Anzahl Sechsen abweicht.
  • Würfle mehrmals mit verschiedenen Slider-Einstellungen. Wie gut wird die Erwartete Anzahl Sechsen bei wenigen Würfen getroffen? Wie gut wird die Erwartete Anzahl Sechsen bei vielen Würfen getroffen?
  • Was bedeutet das dafür, wie gut der Fehler $e=J(w)$ anhand von Daten abgeschätzt werden kann? Halte deine Überlegungen im Textfeld fest. Loading ⌛
  • Vergleiche danach deine Antwort mit der unseren am Ende dieses Auftrags.

Unsere Antwort


3. Die Näherung der Näherung mit Annahmen und Verfahren annähern

In den beiden vergangenen Abschnitten wurde das Problem durch $f_{ML}(x)$ und $J(w)$ und der wahre Fehler $\hat{e} = J(\hat{w})$ durch den empirischen Fehler ersetzt. Jetzt geht es darum, diejenige Gewichtseinstellung $w^*$ zu finden, für welche $e_{min} = J(w^*)$ gilt.

🫣 Leider lässt sich für die meisten Machine-Learning-Stellvertreter-Funktionen $f_{ML}(x)$ und Fehlerfunktionen $J$ diejenige Gewichtseinstellung $w^*$, für welche bezüglich der zur Verfügung stehenden Daten $e_{min} = J(w^*)$ gilt, nicht ohne Weiteres exakt bestimmen. Die Gründe dafür können unterschiedlich sein: Die verwendeten Gleichungen lassen sich nicht geschlossen lösen, die exakten Berechnungen wären zu aufwändig, oder das Verfahren liefert nur dann eine eindeutige Lösung, wenn zusätzliche, die Allgemeinheit einschränkende Annahmen getroffen werden. Somit wird $w^*$ in der Praxis oft nicht einfach exakt „gefunden“, sondern durch die verwendeten Verfahren geschätzt, angenähert oder erst durch einschränkende Annahmen eindeutig bestimmbar gemacht.

⚠️ Machine-Learning bedeutet in der Praxis, die Näherung (endlich viele Daten) einer Näherung (mathematisches Abbild der Realität) anzunähern (das Fehlerminimum näherungsweise oder durch Annahmen zu bestimmen). Umso erstaunlicher ist es, wie gut diese Verfahren in der Praxis funktionieren können. Aufgrund dieser Näherungen sind Machine-Learning-Verfahren prinzipiell nicht fehlerfrei. Zudem können sie statt des realen Problems nur ein mathematisches Ersatzproblem lösen. Deshalb muss stets geprüft werden, ob die resultierende Machine-Learning-Anwendung auch tatsächlich dasjenige Problem löst, für welches sie erstellt wurde.


4. Beispiele gebräuchlicher Machine-Lerning-Ansätze

Im Folgenden werden drei gängige Lösungsstrategienansätze vorgestellt: Iterative Ansätze, statistische Ansätze und stochastische Ansätze. Das ZIel dieser Ansätze besteht darin, basierend auf einer durch mehrere Gewichte $w$ anpassbaren Funktion $f_{ML}(x)$ und einer Fehlerfunktion $J$ mithilfe von endlich vielen Daten ein $w^*$ zu finden, das $e_{min} = J(w^*)$ möglichst gut erfüllt. Diese drei Ansätze sind nicht trennscharf und können miteinander kombiniert werden.

💡 Manche Fehlerfunktionen $J$ brauchen für die Berechnung des Fehlers Datenpaare $(x,d)$. Dabei ist $x$ die Eingabe und $d$ die gewünschte Ausgabe, d.h. der Desired Output. In diesem Fall spricht man von Supervised Learning (überwachtem Lernen). Unsupervised Learning (unüberwachtes Lernen) nutzt nur die Eingangswerte $x$ (und keine Desired Outputs). Diese Verfahren gehen von einer bestimmten Art von Struktur der Eingangsdaten aus (Gruppen, Gitter etc.) und passen diese Struktur an die Daten an. Die Fehlerfunktion misst dabei, wie gut die vorgegebene Struktur an die Daten angepasst werden kann. Eine dritte Variante stellt das Reinforcement Learning (verstärkendes Lernen) dar. Dabei geht ein System von einem Anfangszustand $x$ aus, durchläuft einen oder mehrere Schritte und erhält dafür Belohnungen $r$. Dabei wird versucht, möglichst hohe Belohnungen zu erzielen. Die negative, erwartete Belohnung kann dabei als Fehlerfunktion aufgefasst werden, die minimiert wird.

Alle der nachfolgenden Beispiele beziehen sich auf Supervised Learning.

4.1 Iterative Lösungsansätze

Bei iterativen Lösungsansätzen wird ausgehend von einer ersten Gewichtseinstellung $w_0$ versucht, die Gewichte in mehreren Schritten in Richtung einer möglichst guten Gewichtseinstellung $w^*$ anzupassen. Bei neuronalen Netzen wird diese erste Gewichtseinstellung häufig zufällig erzeugt.

Besonders wichtig sind sogenannte Gradientenverfahren. Sie können verwendet werden, wenn die Stellvertreter-Funktion $f_{ML}(x)$ und die Fehlerfunktion $J(w)$ bestimmte mathematische Bedingungen erfüllen3). Dann kann berechnet werden, in welche Richtung die Gewichte verändert werden sollten, damit der Fehler kleiner wird.

Neuronale Netze werden meist mit solchen iterativen Verfahren trainiert. Dabei wird als anpassbare Funktion $f_{ML}(x)$ eine neuronale Netz-Funktion verwendet. Als Fehlerfunktion $J$ wird mehrheitlich eine Funktion verwendet, welche für jeden Dateneingang $x$ den Ausgang $y$ des neuronalen Netzes mit dem desired Output $d$ vergleicht.

Neuronale Netze und Gradientenverfahren werden in den Teilen 3 und 4 dieser Reihe genauer erklärt.


✍ Auftrag neuronales Netz iterativ trainieren

👉 Hier erfährst du, wie ein iterativer Lösungsansatz arbeitet.

💡 Das folgende neuronale Netz besitzt zwei Eingänge, die x- und die y-Koordinaten der abgebildeten Kreise und Kreuze. Weiter besitzt es einen einzigen Ausgang $y$ der Werte von 0 bis 1 annehmen kann. Alle Ausgangswerte $y>0.5$ werden als Kreuze erkannt, alle Ausgangswerte $y\le0.5$ als Kreise. Als Fehlerfunktion wird der Mean Squared Error (MSE) genutzt, welcher den Mittelwert aller Differenzquadrate $(y - d)^2$ bezeichnet. Der desired Output $d$ wird dabei für einen Kreis auf $d=1$ gesetzt und für ein Kreuz auf $d=0$. Die rote Linie stellt die Ausgangswerte $y = 0.5$ dar und wird als Decision Boundary bezeichnet. Zusätzlich zum MSE wird auch die Klassifikationsrate (Prozentsatz korrekt) erhoben und die Qualität des neuronalen Netzes beschrieben. Achtung, die Klassifikationsrate wird nicht dazu verwendet, das neuronale Netz zu trainineren4).

  • Starte das neuronale Netz ein paar Mal. Das neuronale Netz wird mit den Daten links trainiert. Wie gut das trainierte neuronale Netz ist, wird mit den nicht für das Training verwendeten „Validationsdaten“ rechts geprüft. Eine Epoche bezeichnet einen Trainingsdurchgang. Beachte, wie schrittweise der MSE (in der Console) und damit auch tendenziell die Klassifikationsrate verbessert werden. Beachte auch, dass jedes Training von anderen zufällig gewählten Gewichtseinstellungen aus gestartet wird und somit zu einem anderen Trainingsverlauf führt.
  • Verändere die Trainings- und Updateparameter oben im Programmcode. Versuche, ein paar Minuten lang zu erreichen, dass die Trainings- und Validationsergebnisse am Ende möglichst gleich und möglichst gut sind. Wenn du genug hast, halte deine besten Resultate im Textfeld fest.
    • Die LERNRATE bestimmt die Lerngeschwindigkeit, wobei bei einer zu hohen Lernrate das neuronale Netz „wild hin und her springt“.
    • Die ANZAHL_HIDDEN_NEURONEN ist mit der Anzahl Gewichte verknüpft. Je höher dieser Wert, desto mehr Gewichte. Bei zu wenigen Gewichten kann nicht genügend gelernt werden, bei zu vielen Gewichten tritt „Overfitting“ auf, d. h. die Trainingsdaten werden auswendig gelernt (= gute Trainingsresultate, aber schlechte Validationsresultate).
    • Mit ANZAHL_EPOCHEN und EPOCHEN_FUER_GRAFIK_UPDATE kann eingestellt werden, wie lange trainiert und wie oft die Resultate und die Grafik aktualisiert werden soll.

Loading ⌛


4.2 Statistische Lösungsansätze


Abb.2: Illustration Naive Bayes5).

Bei den statistischen Lösungsansätzen wird ermittelt, wie die Daten wertmässig verteilt sind. Dazu wird eine Stellvertreter-Funktion $f_{ML}(x)$ verwendet, welche bestimmte Annahmen über die „Form“ der Verteilung und weitere Annahmen beinhaltet. Basierend auf den verfügbaren Daten werden die Gewichte $w$ mithilfe statistischer Formeln so berechnet, dass die Fehlerfunktion $J$ im Rahmen der getroffenen Annahmen möglichst klein wird. Diese Minimierung bleibt näherungsweise, weil sie auf endlichen Daten und vereinfachenden Annahmen beruht. (Wir verwenden auch bei statistischen Lösungsansätzen weiterhin den Begriff Fehlerfunktion $J$. Der wahre Fehler von $J$ wird dort häufig als Risiko, der empirische Fehler von $J$ als empirisches Risiko bezeichnet.)

Ein einfaches statistisches Verfahren ist der histogrammbasierte Naive-Bayes-Klassifikator, welcher verschiedene Klassen unterscheiden kann. Dabei wird für jede Klasse deren Häufigkeit ermittelt und für jede Klasse und jede Eingangsgrösse ein eigenes Histogramm aus den Daten erstellt (es wird beim histogrammbasierten Naive-Bayes-Klassifikator angenommen, dass sich die Datenverteilungen als Histogramme darstellen lassen).

Ein Beispiel ist in Abb.2 illustriert. Dabei werden mit zwei Eingangsgrössen $x_1$ und $x_2$ die beiden Klassen $A$ und $B$ unterschieden. Das Histogramm in der Abbildung oben zeigt die Eingangsgrösse $x_1$ für die Datenpunkte, welche zur Klasse $A$ gehören. Ebenso (aber hier nicht abgebildet) werden drei weitere Histogramme berechnet, eines für die Eingangsgrösse $x_2$ der Klasse $A$ sowie zwei weitere für die Eingangsgrössen $x_1$ und $x_2$ der Datenpunkte der Klasse $B$ erstellt. Die Abbildung unten zeigt, wie der Datenraum durch die Histogramme in „Zellen“ unterteilt wird. Für jede Zelle werden basierend auf den Histogrammen die Auftretenswahrscheinlichkeiten der Klassen $A$ und $B$ berechnet. Daraufhin wird jede Zelle derjenigen Klasse zugeordnet, welche den höheren Wahrscheinlichkeitswert aufweist.

Die Häufigkeit der Klassen und die Höhen der einzelnen Histogramm-Balken stellen im histogrammbasierten Naive-Bayes-Klassifikator die Gewichte $w$ dar. Durch „Zählen“ der Daten wird so direkt die Gewicht-Einstellung $w^*$ geschätzt, für welche $e_{min}=J(w^*)$ gilt. Für das Zählen genügt es, alle Trainingsdaten einmal anzusehen, d. h., es genügt eine Epoche für das Training.

Wenn du wissen willst, wie der histogrammbasierte Naive-Bayes-Klassifikator im Detail aussieht, klicke hier!


✍ Auftrag histogrammbasierter Naive-Bayes-Klassifikator

👉 Hier erfährst du, wie ein statistisches Verfahren arbeitet.

💡 Um den histogrammbasierten Naive-Bayes-Klassifikator mit dem neuronalen Netz aus Kapitel 3.1 vergleichen zu können, werden hierfür dieselben Daten wie in 3.1. versendet. D. h. zwei Eingangsgrössen (die x- und die y-Koordinaten der Kreise und Kreuze) und als Ausgang $y$ die Wahrscheinlichkeit, dass ein Datenpunkt $x$ zur Klasse der Kreuze gehört. Somit werden auch hier alle Ausgangswerte $y>0.5$ als Kreuze erkannt (und blau eingefärbt) und alle Ausgangswerte $y<0.5$ als Kreise erkannt (und grün eingefärbt).

💡 Speziell ist, dass alle Ausgangswerte mit $y = 0.5$ weiss eingefärbt werden. Hier kann sich der Klassifikator für keine der beiden Klassen entscheiden. Die Anzahl der betroffenen Kreise oder Kreuze wird im Programm mit zwei ?? gekennzeichnet und nicht für die Berechnung der Klassifikationsrate oder der Anzahl falsch klassifizierter Datenpunkte berücksichtigt.

💡 Aus Gründen der Vergleichbarkeit werden als Fehlerfunktionen das Bayes-Risiko und der MSE angegeben.

  • Starte den Naive-Bayes-Klassifikator ein paar Mal. Es wird immer dasselbe Resultat ausgegeben und das Training dauert immer nur 1 Epoche.
  • Verändere den einzigen Trainingsparameter im Programmcode und suche das Resultat, bei dem die Trainings- und Validationsergebnisse möglichst gleich und möglichst gut sind. Wie vergleicht sich der Naive-Bayes-Klassifikator für dieses Problem mit dem neuronalen Netz aus 3.1? Halte deine besten Resultate im Textfeld fest.
    • Die ANZAHL_INTERVALLE bestimmt die Feinheit der Histogramme, mit welchen die Daten statistisch ausgewertet werden. Je höher dieser Wert, desto mehr Gewichte. Bei zu wenigen Gewichten kann nicht genügend gelernt werden, bei zu vielen Gewichten tritt „Overfitting“ auf, d. h., die Trainingsdaten werden auswendig gelernt (= gute Trainingsresultate, aber schlechte Validationsresultate).

Loading ⌛


4.3 Stochastische Lösungsansätze

Bei den stochastischen Lösungsansätzen werden die Werte aller Gewichte $w$ zufällig gewürfelt (Zufallszahlen) und anschliessend der Fehler mit den verfügbaren Daten berechnet. Dies wird viele Male wiederholt und am Ende die Gewichte-Einstellung mit dem kleinsten erzielten Fehler verwendet. Somit wird die Gewichte-Einstellung $w^*$ für welche $e_{min}=J(w^*)$ gilt, durch Zufall angenähert.

Mit dieser Vorgehensweise können, im Gegensatz zu den in den Kapiteln 3.1 und 3.2 vorgestellten Lösungsansätzen, im Prinzip alle Varianten von Stellvertreter-Funktionen $f_{ML}(x)$ und Fehlerfunktionen $J$ verwendet werden. Voraussetzung ist lediglich, dass zufällige Gewichtseinstellungen erzeugt und die zugehörigen Fehlerwerte mit den verfügbaren Daten berechnet werden können.

Bekannte stochastische Verfahren sind


✍ Auftrag Monte-Carlo

👉 Hier erfährst du, wie ein stochastisches Verfahren arbeitet.

💡 Um alle Resultate mit dem neuronalen Netz aus 3.1 und dem histogrammbasierten Naive-Bayes-Klassifikator aus 3.2 vergleichen zu können, werden hier wiederum dieselben Daten verwendet. Im ersten Programm wird das Monte-Carlo-Verfahren dazu verwendet, die Gewichte im neuronalen Netz aus 3.1 zu würfeln. Im zweiten Programm werden damit die Gewichte des histogrammbasierten Naive-Bayes-Klassifikators aus 3.2 gewürfelt. In beiden Experimenten kann gewählt werden, ob die Gewicht-Einstellung mit dem kleinsten MSE oder die Gewicht-Einstellung mit der höchsten Klassifikationsrate gesucht werden soll.

  • Teste das „Monte-Carlo neuronale Netz“ und den „Monte-Carlo Naive-Bayes-Klassifikator“ und beachte dabei Folgendes.
    • Neuronales Netz und Naive Bayes: Bei der OBJEKTIVE mse wird jeweils die Gewicht-Einstellung mit dem tiefsten MSE genommen, bei korrekt dasjenige mit der höchsten Klassifikationsrate.
    • Neuronales Netz: Mit MIN_WEIGHT und MAX_WEIGHT kann eingestellt werden, im welchem Zahlenbereich die Gewichte $w$ gewürfelt werden sollen (die Default-Einstellung sollte einigermassen ok sein).
  • Probiere verschiedene Parametereinstellungen aus (beim neuronalen Netz kannst du vermutlich auch 10-Mal so viele Epochen verwenden, beim Naive Bayes gut 100-Mal so viele).
  • Wie vergleichen sich die vier Varianten: neuronales Netz aus 3.1, Naive Bayes aus 3.2, neuronales Netz und Naive Bayes aus 3.3? Halte deine Beobachtungen im Textfeld fest.
  • Lies danach am Ende dieses Auftrags unsere Meinung dazu, wie sich die vier Varianten miteinander vergleichen lassen.

Loading ⌛


Monte-Carlo neuronales Netz


Monte-Carlo Naive Bayes

Unsere Meinung

🤩 Freiwillig für Schnelle oder Interessierte

  • 🐿️ Knacknuss: Vielleicht war dir aufgefallen, dass im Monte-Carlo Naive Bayes Programm das Bayes-Risiko gar nicht berechnet wird. Kannst du dir erklären, warum das Bayes-Risiko keine Aussagekraft für dieses Programm hat? Erklärung (hier klicken)


5. Fortsetzung folgt...

Jetzt hast du schon einiges über die Funktionsweise, Umsetzungsvarianten, Möglichkeiten und Grenzen maschinellen Lernens gelernt. Im 🤖 Teil 3 erfährst du detaillierter, wie mit einem iterativen Verfahren schrittweise Gewichte so angepasst werden können, dass der Fehler im Mittel über mehrere Schritte hinweg abnimmt.


Eigene Notizen

Loading ⌛

1) , 5)
eigene Darstellung, CC0 1.0
2)
Gewicht heisst im Englischen „weight“, daher das $w$.
3)
Konkret müssen die relevanten Teile von $f_{ML}(x)$ und $J(w)$ nach den Gewichten $w$ ableitbar sein.
4)
die Klassifikationsrate lässt sich nicht wie verlangt nach den Gewichten $w$ ableiten