- Lernen
- Informatik & Informationswissenschaften
- Informatik
- Künstliche Intelligenz – Suche, Logik, Wahrscheinlichkeit und Lernen
- Lernen aus Daten und neuronale Netze
Lernen aus Daten und neuronale Netze
MittelEinheit 9 von 10 in Kurs: Künstliche Intelligenz – Suche, Logik, Wahrscheinlichkeit und Lernen
Was du lernst
- Beschreibe, was ein lernendes Programm erhält, was es ausgibt und wie seine Qualität gemessen wird: Beispiele mit Labels, Merkmale, Hypothesen, Verlust und Leistung auf neuen Daten.
- Beschreibe die Aufgabe beim überwachten LernenBenenne die Bestandteile eines Problems des überwachten Lernens, unterscheide Klassifikation von Regression und erkläre, warum eine gelernte Hypothese anhand ungesehener Beispiele beurteilt wird.
- Stelle Beispiele durch Merkmale dar und berechne den VerlustWandle Eingaben in Merkmalsvektoren um, berechne gewichtete Werte mit einem Skalarprodukt und miss die Fehler einer Hypothese mit einer Verlustfunktion.
- Beschreibe die Aufgabe beim überwachten Lernen
- Erstelle einen probabilistischen Klassifikator aus dem Satz von Bayes und einer Annahme bedingter Unabhängigkeit, schätze seine Wahrscheinlichkeiten durch Zählen und Glätten und wende ihn auf Texte an.
- Triff Vorhersagen mit dem Naive-Bayes-ModellBenenne die Naive-Bayes-Annahme, berechne Klassenwerte und A-posteriori-Wahrscheinlichkeiten für ein Beispiel und führe die Rechnung mit Logarithmen aus.
- Schätze die Wahrscheinlichkeiten für Naive Bayes anhand von DatenSchätze die A-priori- und bedingten Wahrscheinlichkeiten durch Zählen, erkenne, warum eine Häufigkeit von null das Modell beeinträchtigt, und behebe das Problem mit Laplace-Glättung.
- Klassifiziere Texte mit einem Bag-of-Words-ModellStelle Dokumente durch Worthäufigkeiten dar, klassifiziere sie mit dem multinomialen Naive-Bayes-Klassifikator im logarithmischen Raum und erkenne, was das Modell ignoriert.
- Triff Vorhersagen mit dem Naive-Bayes-Modell
- Trenne Klassen mit einer gewichteten Summe von Merkmalen, lerne die Gewichte mit der Perzeptron-Lernregel und wandle Werte mit logistischer Regression in Wahrscheinlichkeiten um.
- Interpretiere lineare EntscheidungsgrenzenBerechne den Wert und die Vorhersage eines linearen Klassifikators, beschreibe seine Entscheidungsgrenze und entscheide, ob ein Datensatz linear separierbar ist.
- Lerne Gewichte mit der Perzeptron-LernregelFühre die Perzeptron-Lernregel von Hand aus, erkläre, wann sie konvergiert und was geschieht, wenn sie es nicht kann, und erweitere sie auf mehrere Klassen.
- Sage Wahrscheinlichkeiten mit logistischer Regression vorausWandle mit der Sigmoidfunktion einen linearen Wert in eine Wahrscheinlichkeit um, interpretiere die Gewichte als Änderungen der logarithmierten Chancen, miss die Anpassung mit logarithmischem Verlust und erweitere das Modell mit Softmax auf viele Klassen.
- Interpretiere lineare Entscheidungsgrenzen
- Betrachte Training als Minimierung einer Verlustfunktion, berechne Gradienten, wähle eine Lernrate und trainiere Modelle mit stochastischem Gradientenabstieg und Minibatch-Gradientenabstieg.
- Minimiere eine Verlustfunktion durch Schritte entgegen der GradientenrichtungBerechne partielle Ableitungen und Gradienten, wende die Aktualisierung beim Gradientenabstieg von Hand an und erkenne, wie die Lernrate und die Form der Verlustfunktion das Ergebnis beeinflussen.
- Trainiere mit stochastischem Gradientenabstieg und Minibatch-GradientenabstiegVergleiche Batch-, stochastischen und Minibatch-Gradientenabstieg, leite die Aktualisierung für logistische Regression her, wende sie an und setze sie zur Perzeptron-Lernregel in Beziehung.
- Minimiere eine Verlustfunktion durch Schritte entgegen der Gradientenrichtung
- Berechne die Ausgabe eines vorwärtsgerichteten neuronalen Netzes, finde mit Backpropagation den Gradienten für jedes Gewicht und trainiere Netze in der Praxis.
- Berechne die Ausgabe eines vorwärtsgerichteten neuronalen NetzesBeschreibe Einheiten, Aktivierungsfunktionen und Schichten, führe einen Vorwärtsdurchlauf von Hand aus und erkläre, warum verborgene Schichten mit nichtlinearen Aktivierungen Netze ausdrucksstärker als lineare Modelle machen.
- Berechne Gradienten mit BackpropagationWende die Kettenregel auf einen Berechnungsgraphen an, um den Gradienten des Verlusts bezüglich jedes Gewichts zu finden, prüfe ihn numerisch und erkenne verschwindende Gradienten.
- Trainiere ein neuronales Netz in der PraxisRichte die Trainingsschleife ein, initialisiere Gewichte sinnvoll, wähle Hyperparameter und interpretiere Trainingskurven, um häufige Probleme zu erkennen.
- Berechne die Ausgabe eines vorwärtsgerichteten neuronalen Netzes
- Unterscheide Überanpassung und Unteranpassung anhand von Trainings- und zurückgehaltenen Ergebnissen, setze sie zur Modellkomplexität und zu den Daten in Beziehung und verringere sie mit Regularisierung, vorzeitigem Beenden und Dropout.
- Diagnostiziere Überanpassung und UnteranpassungVergleiche die Leistung auf Trainings- und zurückgehaltenen Daten, um Über- und Unteranpassung zu erkennen, und erkläre, wie Modellkomplexität und Datenmenge die Generalisierung beeinflussen.
- Verhindere Überanpassung durch RegularisierungErgänze die Verlustfunktion um L2- oder L1-Strafterme, nutze vorzeitiges Beenden und Dropout, erweitere die Daten durch Datenaugmentation und wähle die Regularisierungsstärke anhand von Validierungsdaten.
- Diagnostiziere Überanpassung und Unteranpassung
Lernen aus Daten und neuronale Netze einfach erklärt
1Formuliere ein Problem des überwachten Lernens
Lernen beginnt mit einer Vorhersageaufgabe: Was beschreibt einen Fall, welche Antwort ist gesucht und wie wird ein Fehler gemessen? Diese Entscheidungen bestimmen die Beispiele und die Familie von Regeln, die das Programm lernen kann. Wandle Eingaben in geordnete Merkmalsvektoren um, berechne gewichtete Werte und unterscheide die Anpassung an eine Trainingsstichprobe von guter Leistung auf neuen Fällen. Dieselbe grundlegende Ausgangssituation ermöglicht Wahrscheinlichkeitsmodelle, lineare Klassifikatoren und neuronale Netze.
1.1 Beschreibe die Aufgabe beim überwachten Lernen
Ein lernendes Programm erhält Beispiele für das Verhalten, das es lernen soll. Beim überwachten Lernen verbindet jedes Beispiel eine Eingabe mit ihrer korrekten Ausgabe, dem sogenannten Label. Die gelernte Regel muss auch bei Eingaben funktionieren, die im Training nicht vorkamen.
Bestimme die Aufgabe und ihre Labels
Schreibe einen Trainingsdatensatz als . Die Eingabe beschreibt einen Fall; das Label liefert die Antwort für diesen Fall. Eine unbekannte Zielfunktion beschreibt die zugrunde liegende Beziehung. Bei rauschfreien Labels gilt . Das Programm wählt eine Hypothese , um diese Beziehung zu approximieren.
Bei einem Spamfilter ist ein Fall eine E-Mail. Ihre Eingabe kann beschreiben, ob sie „gratis“ enthält, wie viele Links sie hat und ob ihr Absender ein Kontakt ist. Ihr Label ist Spam oder erwünschte E-Mail. Ein Trainingsdatensatz könnte 5.000 E-Mails mit Labels enthalten; der fertige Filter wird anhand von 1.000 anderen E-Mails mit Labels bewertet.
| Aufgabe | Ausgabe | Beispiel |
|---|---|---|
| Binäre Klassifikation | Eine von zwei Klassen | Spam oder erwünschte E-Mail |
| Mehrklassenklassifikation | Eine von mehreren Klassen | Eine Ziffer von 0 bis 9 |
| Regression | Eine numerische Größe | Regenmenge in Millimetern |
Die Ausgabe definiert die Aufgabe. „Fallen mehr als 5 mm Regen?“ fragt nach einer Klasse; „Wie viele Millimeter fallen?“ fragt nach einer Zahl. Auch eine ganzzahlige Ausgabe kann eine Klasse sein: Die Ziffer 7 bezeichnet eine Kategorie, nicht das Siebenfache der Ziffer 1.
Überwachtes Lernen verwendet Beispiele mit Labels. Unüberwachtes Lernen sucht ohne Labels nach Strukturen, etwa Kundengruppen. Bestärkendes Lernen nutzt Belohnungen, die auf die Aktionen eines Agenten folgen. Das Erstellen zuverlässiger Labels kann viel menschliche Arbeit erfordern.
Wähle eine Familie möglicher Regeln
Der Hypothesenraum ist die Familie, die das Programm durchsuchen kann, etwa lineare Klassifikatoren mit vorgegebenen Merkmalen. Gelernte Parameter, darunter Gewichte oder bedingte Wahrscheinlichkeiten, wählen ein Mitglied dieser Familie aus. Eine Zielfunktion außerhalb der Familie lässt sich auch mit unbegrenzten Daten nicht exakt darstellen.
Ein Hyperparameter steuert die Ausgangssituation des Lernens: Beispiele sind eine Lernrate oder die Anzahl verborgener Einheiten. Das Training passt Parameter an. Vergleiche auf Validierungsdaten helfen bei der Wahl der Hyperparameter. Flexiblere Familien erfassen mehr Muster, bieten aber auch mehr Möglichkeiten, sich an Rauschen anzupassen.
Beurteile Vorhersagen für neue Fälle
Der Trainingsfehler misst die Anpassung an Beispiele, die zum Lernen verwendet wurden. Eine Regel, die jede Trainings-E-Mail auswendig lernt, kann einen Trainingsfehler von null haben und bei neuen Nachrichten dennoch versagen. Nutze einen Validierungsdatensatz für Modellentscheidungen und halte einen separaten Testdatensatz für die abschließende Bewertung zurück.
Bei einem Klassifikator ist die Fehlerrate die Anzahl falscher Vorhersagen geteilt durch die Anzahl der getesteten Beispiele. Drei Fehler unter 40 E-Mails ergeben
Der Bezug zur zukünftigen Leistung hängt davon ab, wie die Stichprobe gezogen wurde. Unabhängig und identisch verteilte oder i.i.d. Beispiele sind unabhängige Ziehungen aus derselben Verteilung. Wenn zukünftiger Spam ganz andere Formulierungen verwendet, repräsentiert der alte Testdatensatz diesen zukünftigen Nachrichtenstrom nicht mehr. Gib das Ergebnis auf zurückgehaltenen Daten für die Grundgesamtheit an, die es tatsächlich repräsentiert.
Wichtige Erkenntnisse
- Überwachtes Lernen passt eine Hypothese anhand von Eingabe-Label-Paaren an.
- Klassifikation sagt eine Klasse voraus; Regression sagt eine numerische Größe voraus.
- Parameter werden gelernt; Hyperparameter steuern die Ausgangssituation des Lernens.
- Nutze Validierungsdaten für Entscheidungen und unberührte Testdaten für die abschließende Bewertung.
- Die Generalisierung auf zukünftige Fälle hängt von einer repräsentativen Stichprobe ab.
1.2 Stelle Beispiele durch Merkmale dar und berechne den Verlust
Modelle arbeiten mit einer numerischen Beschreibung jedes Falls. Die Wahl und Reihenfolge dieser Merkmale bestimmen, was ein Modell erkennen kann. Ein Verlust gibt dem Lernverfahren an, welche Kosten seine Vorhersagen verursachen.
Erstelle einen Merkmalsvektor
Ein Merkmal kann binär sein, eine Anzahl oder eine Messzahl. „Enthält gratis“ wird zu 0 oder 1, eine Linkanzahl könnte 4 sein und eine Wohnfläche 85 m². Behalte für Training und Vorhersage dieselbe Merkmalsreihenfolge bei. Ein Graustufenbild mit 28 mal 28 Pixeln liefert Pixelmerkmale.
Verwende für eine Kategorie ohne numerische Reihenfolge die One-Hot-Kodierung. Für Rot, Grün und Blau sind die Vektoren , und . Die Kodierungen 1, 2 und 3 würden diesen Farben eine künstliche Reihenfolge und künstliche Abstände auferlegen.
Kombiniere Merkmale zu einem Wert
Ein Skalarprodukt multipliziert einander entsprechende Gewichte und Merkmale und addiert dann:
Für und ist der Wert
Ein positives Gewicht erhöht den Wert, wenn sein Merkmal zunimmt; ein negatives Gewicht senkt ihn. Der Betrag des Gewichts beschreibt die Empfindlichkeit pro Merkmalseinheit. Deshalb ist beim Vergleich der Beträge unterschiedlich skalierter Merkmale Vorsicht nötig.
Der Bias verschiebt den Wert unabhängig von veränderlichen Eingaben. Füge ein konstantes erstes Merkmal hinzu und verwende als sein Gewicht. Somit enthält das Bias-Merkmal; es ist keine zusätzliche gemessene Eigenschaft. Das Modell kann dann eine Entscheidungsgrenze verschieben, ohne die anderen Gewichte zu ändern.
Miss die Kosten einer Vorhersage
Eine Verlustfunktion vergleicht eine Vorhersage mit ihrem Label. Verschiedene Verlustfunktionen drücken unterschiedliche Kosten aus:
| Verlust | Berechnung | Wirkung |
|---|---|---|
| 0/1 | 0 bei richtiger, 1 bei falscher Vorhersage | Zählt Klassifikationsfehler |
| Quadratisch | Gewichtet große Fehler stärker | |
| Absolut | Wächst direkt mit der Fehlergröße |
Bei einer tatsächlichen Temperatur von 10 °C und einer Vorhersage von 7 °C beträgt der quadratische Verlust 9 und der absolute Verlust 3. Ein Fehler von 6 hat den quadratischen Verlust 36, viermal so viel wie bei einem Fehler von 3. Der durchschnittliche 0/1-Verlust ist die Klassifikationsfehlerrate.
Der empirische Verlust ist der durchschnittliche Verlust auf der Trainingsstichprobe. Die Vorhersagen für die Labels ergeben die quadratischen Fehler 1, 0 und 4 und damit den mittleren quadratischen Fehler . Addiere die Verluste, bevor du durch die Anzahl der Beispiele dividierst.
Der Generalisierungsverlust ist der erwartete Verlust auf neuen Beispielen aus derselben Verteilung. Bei der Minimierung des empirischen Verlusts kann sich das Modell an zufällige Einzelheiten der Stichprobe anpassen. Irrelevante Merkmale bieten einem Lernverfahren mehr Möglichkeiten dazu; nahezu doppelte Merkmale können bei Naive Bayes außerdem dazu führen, dass dieselbe Evidenz zweimal gezählt wird. Ockhams Rasiermesser bevorzugt eine einfachere Hypothese, wenn Alternativen etwa gleich gut passen, weil zusätzliche Flexibilität durch Daten gestützt werden muss.
Wichtige Erkenntnisse
- Merkmalsreihenfolge und Kodierung müssen über alle Beispiele hinweg konsistent bleiben.
- Die One-Hot-Kodierung stellt ungeordnete Kategorien ohne künstliche Rangfolge dar.
- Ein Skalarprodukt addiert gewichtete Merkmalsbeiträge; das konstante Merkmal trägt den Bias.
- Quadratischer Verlust betont große Fehler stärker als absoluter Verlust.
- Empirischer Verlust ist ein Stichprobendurchschnitt; Generalisierungsverlust betrifft neue Beispiele.
- Mehr Merkmale können mehr Möglichkeiten schaffen, sich an Rauschen anzupassen.
2Klassifiziere mit Naive Bayes
Naive Bayes lernt Evidenz für Klassen durch Zählen und kombiniert diese Evidenz mithilfe des Satzes von Bayes. Gehe von einer Annahme bedingter Unabhängigkeit zu Klassenwerten über und normiere sie oder vergleiche ihre Logarithmen. Beim Zählen entsteht ein praktisches Problem: Ein unbeobachtetes Ergebnis erhält die Wahrscheinlichkeit null. Glättung behebt dieses Problem, und das Textmodell zeigt, warum Dokumenthäufigkeiten, Tokenhäufigkeiten, das Fehlen binärer Merkmale und wiederholte Wörter unterschieden werden müssen.
2.1 Triff Vorhersagen mit dem Naive-Bayes-Modell
Naive Bayes kombiniert die Ausgangswahrscheinlichkeit einer Klasse mit der Evidenz aus einer Eingabe. Seine vereinfachende Annahme macht ein großes Wahrscheinlichkeitsmodell anhand relativ kleiner Stichproben lernbar.
Faktorisiere die Evidenz nach Klassen
Das Modell nimmt an, dass Merkmale bedingt unabhängig bei gegebener Klasse sind. Für eine Klassenvariable und mehrere Merkmale gilt:
Ein bayessches Netz zeigt die Klasse als Elternknoten jedes Merkmals. Die Unabhängigkeit ist bedingt: Merkmale können insgesamt stark zusammenhängen, weil beide von der Klasse abhängen. Für 100 binäre Merkmale benötigt eine vollständige gemeinsame Merkmalstabelle freie Wahrscheinlichkeiten pro Klasse. Naive Bayes benötigt nur 100 Wahrscheinlichkeiten pro Klasse, eine für den Ja-Wert jedes Merkmals.
Der Satz von Bayes liefert einen Klassenwert
Wähle die Klasse mit dem größten Wert. Der ausgelassene Evidenznenner ist für alle Klassen gleich. Ein Klassenwert ist noch keine A-posteriori-Wahrscheinlichkeit: Um diese zu erhalten, dividiere ihn durch die Summe aller Klassenwerte.
Gehe eine Vorhersage mit binären Merkmalen durch
Angenommen, die A-priori-Wahrscheinlichkeit für Spam beträgt 0,4 und die für erwünschte E-Mails 0,6. Die Wahrscheinlichkeiten für „gratis“ sind 0,5 bei Spam und 0,05 bei erwünschten E-Mails. Für „Besprechung“ sind sie 0,1 und 0,4. Die neue E-Mail enthält „gratis“, aber nicht „Besprechung“.
- Bei Spam trägt das Fehlen von „Besprechung“ bei. Der Klassenwert ist .
- Bei erwünschten E-Mails trägt dieses Fehlen bei. Der Klassenwert ist .
- Die Klassenwerte summieren sich zu 0,198, die A-posteriori-Wahrscheinlichkeit für Spam beträgt also .
Ein fehlendes binäres Merkmal liefert Evidenz. Kommen beide Wörter vor, werden die Klassenwerte zu 0,02 und 0,012 und die A-posteriori-Wahrscheinlichkeit für Spam fällt auf 0,625. „Besprechung“ verschiebt das Ergebnis zugunsten erwünschter E-Mails, auch wenn Spam weiterhin gewinnt.
Achte auf die Richtung der Bedingung. beschreibt Spamnachrichten. Für die umgekehrte Wahrscheinlichkeit braucht man außerdem die A-priori-Klassenwahrscheinlichkeiten und die Likelihood für erwünschte E-Mails; hier beträgt sie .
Verwende logarithmische Klassenwerte, ohne den Gewinner zu ändern
Lange Produkte können in der Computerarithmetik zu null unterlaufen. Zweihundert Faktoren von 0,01 ergeben , weniger als die kleinste positive Zahl mit doppelter Genauigkeit. Vergleiche stattdessen
. Logarithmen erhalten die Reihenfolge und wandeln Multiplikation in Addition um. Hier schlägt den Wert ; unter negativen Werten ist der weniger negative Wert größer.
Naive Bayes ist generativ: Es modelliert die A-priori-Wahrscheinlichkeit und wie Merkmale innerhalb jeder Klasse entstehen. Logistische Regression ist diskriminativ: Sie modelliert die Klassenwahrscheinlichkeit direkt aus der Eingabe. Naive Bayes mit binären Merkmalen hat ebenfalls eine lineare Grenze der logarithmierten Chance. Korrelierte Merkmale wie „Hong“ und „Kong“ können seine A-posteriori-Wahrscheinlichkeit zu extrem machen, indem sie überlappende Evidenz zählen. Eine Klassenvorhersage kann richtig sein, auch wenn die zugewiesene Wahrscheinlichkeit zu extrem ist.
Wichtige Erkenntnisse
- Naive Bayes nimmt bedingte Unabhängigkeit der Merkmale bei gegebener Klasse an.
- Multipliziere die A-priori-Wahrscheinlichkeit mit jeder Likelihood eines beobachteten Merkmalswerts, einschließlich fehlender binärer Merkmale.
- Normiere Klassenwerte, um A-posteriori-Wahrscheinlichkeiten zu erhalten.
- Logarithmische Klassenwerte verhindern Unterlauf und erhalten die siegreiche Klasse.
- Korrelierte Evidenz kann zu übermäßig sicheren Wahrscheinlichkeiten führen.
2.2 Schätze die Wahrscheinlichkeiten für Naive Bayes anhand von Daten
Naive Bayes lernt durch Zählen. Entscheidend ist, welche Grundgesamtheit in einen Nenner gehört und wie stark ein bislang nicht beobachtetes Ergebnis abgesichert werden soll.
Schätze Wahrscheinlichkeiten innerhalb der richtigen Gruppe
Die Maximum-Likelihood-Schätzung (MLE) macht die beobachteten Daten am wahrscheinlichsten. Für eine A-priori-Klassenwahrscheinlichkeit dividiere die Klassenhäufigkeit durch die Gesamtzahl der Beispiele. Für eine bedingte Merkmalswahrscheinlichkeit beschränke beide Häufigkeiten auf die Klasse:
Betrachte 100 E-Mails: 40 Spam und 60 erwünschte E-Mails. „Gratis“ erscheint in 20 Spamnachrichten und 3 erwünschten Nachrichten; „Besprechung“ erscheint in 4 Spamnachrichten und 24 erwünschten Nachrichten. Die A-priori-Wahrscheinlichkeit für Spam ist somit 0,4. Die Schätzwerte für „gratis“ sind bei Spam und bei erwünschten E-Mails. Die Schätzwerte für „Besprechung“ sind und . Würde man die Häufigkeit von Merkmal und Klasse durch 100 teilen, erhielte man eine gemeinsame Wahrscheinlichkeit und nicht die gesuchte bedingte Wahrscheinlichkeit.
Behebe Nullhäufigkeiten
Angenommen, „Gewinn“ erscheint in 8 Spamnachrichten und keiner erwünschten Nachricht. Seine MLE für erwünschte E-Mails ist null. Jede neue Nachricht, die das Wort enthält, erhält den Klassenwert null für erwünschte E-Mails, unabhängig von ihren anderen Merkmalen. Aus einem in einer endlichen Stichprobe fehlenden Ergebnis ist eine Aussage über Unmöglichkeit geworden.
Die Add-k-Glättung weist jedem möglichen Merkmalswert einen Pseudozählwert von zu:
Dabei ist die Anzahl der Werte dieses Merkmals. Für ein Ja-Nein-Merkmal ist sie 2, nicht die Anzahl der modellierten Wörter. Mit Add-one-Glättung gilt:
Beide Ergebnisse erhalten einen Pseudozählwert. Bei erwünschten E-Mails hat der Wert für das Fehlen des Wortes daher die Wahrscheinlichkeit . Die beiden Wahrscheinlichkeiten ergeben zusammen 1. Würde man nur zum Zähler addieren, wäre diese Normierung verletzt.
Wähle die Glättungsstärke
Die Stärke ist ein Hyperparameter. Bei null ergibt sie die MLE. Wird sie groß, nähert sich jede Wahrscheinlichkeit dem Gleichverteilungswert und klassenspezifische Evidenz wird schwächer. Glättung tauscht einen Teil der Anpassung an die beobachteten Häufigkeiten gegen stabilere Vorhersagen für neue Fälle.
Vergleiche Einstellungen wie 0,1; 0,5; 1; 2 und 5 anhand von Validierungsdaten. Halte den Testdatensatz für die abschließende Bewertung getrennt. Ein großer Wert kann zu Unteranpassung führen; ein sehr kleiner Wert kann seltene Merkmale mit instabilen Schätzwerten zurücklassen.
Derselbe Pseudozählwert fällt weniger ins Gewicht, wenn die tatsächlichen Häufigkeiten wachsen. Unter 6.000 erwünschten E-Mails, von denen 300 „gratis“ enthalten, ist die MLE 0,05 und der Add-one-Wert . Bei vielen Beobachtungen dominieren die Daten die Pseudozählwerte. A-priori-Klassenwahrscheinlichkeiten bleiben üblicherweise ungeglättet, wenn jede Klasse gut vertreten ist. Ein einziger Durchlauf durch Beispiele mit Labels kann die Häufigkeiten erfassen, was dieses Trainingsverfahren schnell macht.
Wichtige Erkenntnisse
- Die MLE schätzt Wahrscheinlichkeiten anhand relativer Häufigkeiten in der jeweiligen Klasse.
- Eine Merkmalsfrequenz von null kann einen gesamten Klassenwert auf null setzen.
- Die Add-k-Glättung addiert k zu jeder Ergebnishäufigkeit und k mal die Anzahl der Ergebnisse zur Gesamthäufigkeit.
- Wähle die Glättungsstärke anhand von Validierungsdaten; ihr Einfluss nimmt mit wachsenden Häufigkeiten ab.
2.3 Klassifiziere Texte mit einem Bag-of-Words-Modell
Ein Bag-of-Words-Modell wandelt Text in Worthäufigkeiten um. Es liefert einem einfachen Klassifikator Evidenz über das Vokabular und verwirft dabei die Reihenfolge der Wörter.
Zähle Token, nicht nur Dokumente
„Die Katze jagt die Maus“ und „Die Maus jagt die Katze“ haben dieselbe Wortmenge: „die“ zweimal und jedes andere Wort einmal. Ein Token ist ein Vorkommen; das Vokabular ist die Menge der verschiedenen Wörter, die das Modell darstellt.
Beim multinomialen Naive-Bayes-Klassifikator ist jede Wortposition eine unabhängige Ziehung aus einer klassenspezifischen Wortverteilung. Ein dreimal vorkommendes Wort trägt drei Faktoren bei:
Der zugehörige logarithmische Klassenwert ist . Die A-priori-Wahrscheinlichkeit kommt einmal pro Dokument vor. Die Worthäufigkeit multipliziert ihre logarithmierte Wahrscheinlichkeit.
Schätze Wortwahrscheinlichkeiten aus Tokenhäufigkeiten innerhalb einer Klasse. Mit Glättung gilt:
wobei alle Trainingstoken in dieser Klasse und die Wörter des Vokabulars zählt. Angenommen, Spam enthält 200 Token, darunter „Geld“ 9-mal, und das Vokabular enthält 1.000 Wörter. Die MLE ergibt . Add-one ergibt , während den Wert ergibt. Ein großes Vokabular macht selbst einen Pseudozählwert pro Wort beträchtlich.
Klassifiziere ein kurzes Dokument
Sport und Politik haben jeweils die A-priori-Wahrscheinlichkeit 0,5. Die Wortwahrscheinlichkeiten sind:
| Wort | Sport | Politik |
|---|---|---|
| Tor | 0,05 | 0,005 |
| Wahl | 0,004 | 0,04 |
| Spiel | 0,03 | 0,006 |
Für „Tor Tor Wahl Spiel“ ist der Klassenwert für Sport
Der Klassenwert für Politik ist . Sport gewinnt um den Faktor 50 und seine normierte A-posteriori-Wahrscheinlichkeit ist . Würde das zweite „Tor“ ausgelassen, ginge ein Teil der Evidenz verloren. Verwende in der Praxis die logarithmischen Klassenwerte, etwa −15,71 und −19,62, um winzige Produkte zu vermeiden.
Halte die Textmodelle auseinander
Ein Bernoulli-Textmodell verwendet pro Wort ein Ja-Nein-Merkmal und berücksichtigt den Faktor jedes fehlenden Wortes. Das multinomiale Modell verwendet Vorkommenshäufigkeiten und hat keine separaten Faktoren für fehlende Wörter. Seine Nenner zählen Token, nicht Dokumente. Wer diese Entscheidungen vermischt, erhält keines der beiden Modelle korrekt.
Ein Wort des Vokabulars, das in einer Klasse nicht beobachtet wurde, benötigt Glättung. Für ein Wort außerhalb des Vokabulars ist keine Wahrscheinlichkeit modelliert; es wird meist übersprungen. Alternativ kann beim Training ein Token für unbekannte Wörter mit eigener klassenspezifischer Wahrscheinlichkeit reserviert werden.
Das Modell ignoriert den Kontext: „gut“ liefert in „nicht gut“ und „sehr gut“ dieselbe Evidenz. Durch zusätzliche Bigramme, also Wortpaare, lässt sich eine Wendung wie „nicht gut“ darstellen. Nahezu doppelte oder benachbarte Wörter können weiterhin zu übermäßig sicheren Wahrscheinlichkeiten führen. Das Modell bleibt als schnelle Basismethode für Themen, Spam, Stimmung oder Spracherkennung nützlich.
Wichtige Erkenntnisse
- Ein Bag-of-Words-Modell erfasst Vorkommenshäufigkeiten und ignoriert die Reihenfolge.
- Der multinomiale Naive-Bayes-Klassifikator verwendet Tokenwahrscheinlichkeiten mit einem Faktor pro Vorkommen.
- Die Tokenglättung verwendet die Gesamtzahl der Token einer Klasse plus k mal die Vokabulargröße.
- Bernoulli-Textmodelle modellieren auch fehlende Wörter; multinomiale Modelle verwenden Häufigkeiten.
- Wörter außerhalb des Vokabulars werden übersprungen, sofern kein Token für unbekannte Wörter trainiert wurde.
- Bigramme erfassen einen Teil des lokalen Kontexts, der bei einzelnen Worthäufigkeiten verloren geht.
3Trainiere lineare Klassifikatoren
Eine gewichtete Summe ergibt einen einfachen geometrischen Klassifikator: Seine Grenze beim Wert null teilt den Eingaberaum. Das Perzeptron verschiebt diese Grenze nach Fehlern, während die logistische Regression Wahrscheinlichkeiten zuweist und anhand eines glatten Verlusts lernt. Vollziehe beide Arten von Vorhersagen und Aktualisierungen nach, erkenne, warum XOR veränderte Merkmale braucht, und erweitere die Berechnung von Klassenwerten auf mehrere Klassen. Die Geometrie erklärt auch, was das Multiplizieren oder Weglassen von Gewichten verändert.
3.1 Interpretiere lineare Entscheidungsgrenzen
Ein linearer Klassifikator trifft eine Entscheidung anhand einer gewichteten Summe. Die Geometrie zeigt, welche Muster diese Summe trennen kann und warum manche Aufgaben neue Merkmale benötigen.
Interpretiere Wert und Grenze
Setze das konstante Bias-Merkmal an die erste Stelle: . Berechne und sage für oder für voraus. Ein Wert von null gehört nach dieser Konvention zur positiven Klasse.
Ist mindestens ein Merkmalsgewicht ungleich null, lautet die Entscheidungsgrenze . Bei zwei veränderlichen Merkmalen ist sie eine Gerade, bei drei eine Ebene und allgemein eine Hyperebene. Der Gewichtsvektor ohne Bias steht senkrecht auf dieser Grenze und zeigt zur positiven Seite.
Für ist der Wert und die Grenze . Der Punkt erhält den Wert 1, den Wert −1 und den Wert null. Die Vorhersagen sind positiv, negativ und positiv.
Der geometrische Abstand ist der Betrag des Wertes geteilt durch die Länge des Gewichtsvektors ohne Bias:
Für beträgt er . Multipliziert man jedes Gewicht mit einer positiven Konstante, ändert sich der Wert, aber sowohl der Abstand als auch die vorhergesagte Klasse bleiben gleich. Lässt man den Bias weg, müssen Grenzen durch den Ursprung verlaufen.
Entscheide, ob eine Gerade genügt
Daten sind linear separierbar, wenn ein Gewichtsvektor jeden Punkt korrekt klassifiziert. Verwende für UND . Nur hat einen positiven Wert; die anderen drei binären Eingaben haben negative Werte.
XOR weist und das positive, aber und das negative Label zu. Keine Gerade kann diese diagonal gegenüberliegenden Paare trennen. Der negative Ursprung verlangt . Die beiden positiven Punkte verlangen , während der negative Punkt die Bedingung verlangt. Zusammen verlangen sie , ein Widerspruch.
Die Merkmalsrepräsentation kann die Separierbarkeit ändern. Füge das Merkmal hinzu und verwende die Gewichte . Die vier XOR-Eingaben erhalten dann die Werte −0,5; 0,5; 0,5 und −0,5 in der Reihenfolge . Die Regel ist im erweiterten Merkmalsvektor linear, obwohl sie in den ursprünglichen Eingaben nichtlinear ist. Eine verborgene Schicht kann nützliche transformierte Merkmale lernen.
Erweitere die Berechnung auf mehrere Klassen
Verwalte pro Klasse einen Vektor und wähle das größte Skalarprodukt. Für ergeben die Vektoren , und die Werte 3, 2 und 2. Klasse A gewinnt. Dies sind Vergleichswerte, keine Wahrscheinlichkeiten; sie müssen weder zwischen null und eins liegen noch sich zu eins summieren.
Wichtige Erkenntnisse
- Das Vorzeichen eines Skalarprodukts wählt die binäre Klasse; ein Wert von null ist hier positiv.
- Der Bias verschiebt die Grenze vom Ursprung weg.
- Positive Skalierung der Gewichte erhält Grenze und Vorhersagen.
- XOR benötigt transformierte Merkmale oder ein nichtlineares Modell.
- Die lineare Mehrklassenvorhersage wählt den größten Klassenwert.
3.2 Lerne Gewichte mit der Perzeptron-Lernregel
Das Perzeptron lernt eine lineare Entscheidungsregel, indem es Fehler direkt korrigiert. Es ändert Gewichte unmittelbar, ohne Wahrscheinlichkeiten anzupassen oder einen glatten Verlust abzuleiten.
Aktualisiere Beispiel für Beispiel
Verwende Labels , beziehe das Bias-Merkmal ein und beginne mit Gewichten von null. Ein Wert von null sagt voraus. Sage für jedes Beispiel mit den aktuellen Gewichten eine Klasse voraus. Ist die Vorhersage richtig, lass die Gewichte unverändert; andernfalls wende an:
Ein positives Beispiel addiert seinen Merkmalsvektor. Ein negatives Beispiel subtrahiert ihn. Der Wert für dieses Beispiel ändert sich um und bewegt sich damit zum richtigen Vorzeichen hin. Das Bias-Merkmal macht die quadrierte Länge positiv. Eine Aktualisierung kann das Beispiel dennoch falsch lassen und frühere Vorhersagen beeinträchtigen.
Eine Epoche ist ein vollständiger Durchlauf durch den Trainingsdatensatz. Stoppe nach einer vollständig fehlerfreien Epoche oder einer gewählten Höchstzahl von Durchläufen.
Vollziehe zwei Durchläufe nach
Nimm die Beispiele in dieser Reihenfolge; die Bias-Koordinate ist bereits enthalten:
| Beispiel | Eingabe | Label |
|---|---|---|
| A | −1 | |
| B | +1 | |
| C | −1 | |
| D | +1 |
- A erhält den Wert null und wird fälschlich als positiv vorhergesagt. Subtrahiere A und erhalte .
- B erhält nun . Addiere B und erhalte .
- C erhält −2 und D erhält 4. Beide sind richtig, es erfolgt also keine Aktualisierung.
- Im nächsten Durchlauf erhalten A, B, C und D die Werte −4, 4, −2 und 4. Es gibt keine Fehler mehr, also stoppe.
Die gelernte Grenze ist . Vorhersagen müssen die Gewichte nach allen vorangegangenen Aktualisierungen verwenden, nicht die Gewichte zu Beginn der Epoche.
Verstehe Konvergenz und ihre Grenzen
Der Perzeptron-Konvergenzsatz garantiert endlich viele Fehler bei linear separierbaren Trainingsdaten. Haben die um das Bias-Merkmal ergänzten Eingaben höchstens die Länge und erreicht ein Trennvektor der Länge eins eine positive vorzeichenbehaftete Trennspanne , ist die Fehlerschranke . Die Garantie liefert eine Trennung; sie wählt weder die breiteste Trennspanne noch die beste Testleistung.
Nicht separierbare Daten, darunter XOR mit den ursprünglichen Merkmalen oder widersprüchliche Labels, erlauben nie einen fehlerfreien Durchlauf. Lege eine Trainingsgrenze fest und wähle Gewichte anhand der Validierungsleistung. Ein gemitteltes Perzeptron sagt mit dem Durchschnitt der Gewichte über die Trainingsschritte voraus. Eine feste positive Lernrate skaliert bei einem Start bei null lediglich jedes Gewicht und lässt daher die binäre Vorhersagefolge unverändert; eine veränderliche Rate kann dieses Verhalten ändern.
Korrigiere eine Mehrklassenvorhersage
Addiere bei einem Mehrklassenfehler die Eingabe zum Vektor der tatsächlichen Klasse und subtrahiere sie vom Vektor der vorhergesagten Klasse. Lass die übrigen unverändert. Für die Eingabe , tatsächliche Klasse B und vorhergesagte Klasse A werden die Vektoren und zu und . Ihre neuen Werte sind −2 und 7. Der unveränderte Wert von C ist 2, also gewinnt nun B. Wie das binäre Perzeptron gibt dieses Modell eine Klasse aus, keine Wahrscheinlichkeit.
Wichtige Erkenntnisse
- Aktualisiere nur nach einer falschen Vorhersage mit dem Label mal der um das Bias-Merkmal ergänzten Eingabe.
- Verwende für jedes neue Beispiel die neuesten Gewichte.
- Eine Epoche durchläuft jedes Trainingsbeispiel.
- Für separierbare Daten ist eine endliche Fehlerzahl garantiert; für nicht separierbare Daten nicht.
- Eine Mehrklassenaktualisierung erhöht den Wert der tatsächlichen Klasse und senkt den des falschen Gewinners.
- Eine Perzeptron-Vorhersage ist eine Klasse, keine Wahrscheinlichkeit.
3.3 Sage Wahrscheinlichkeiten mit logistischer Regression voraus
Logistische Regression wandelt einen linearen Wert in eine Wahrscheinlichkeit für eine binäre Klasse um. Ihre glatte Ausgabe liefert ein abgestuftes Trainingssignal, selbst wenn eine feste Klassifikation bereits richtig ist.
Wandle einen Wert in eine Wahrscheinlichkeit um
Berechne für die Labels 0 und 1 zunächst und dann
Die Sigmoidfunktion steigt von Werten nahe null zu Werten nahe eins. Es gilt , , und . Klasse 1 bei vorherzusagen entspricht der Bedingung , die Entscheidungsgrenze bleibt also linear.
Der Wert entspricht der logarithmierten Chance:
Mit den Gewichten und der Eingabe ergeben fünf Stunden den Wert null und die Wahrscheinlichkeit 0,5. Bei 7,5 Stunden ist der Wert 2 und die Wahrscheinlichkeit etwa 0,881. Jede weitere Stunde addiert 0,8 zur logarithmierten Chance und multipliziert die Chance mit . Sie addiert nicht 0,8 zur Wahrscheinlichkeit. Eine vorhergesagte Wahrscheinlichkeit von 0,7 betrifft die Klasse dieses Beispiels; sie ist keine Angabe einer Modelltrefferquote von 70 %.
Trainiere mit logarithmischem Verlust
Für ein Beispiel ist der binäre logarithmische Verlust
Nur der Term für das beobachtete Label bleibt übrig. Für verwende ; für verwende . Bei betragen diese Verluste etwa 0,105 und 2,303. Eine sichere falsche Vorhersage kostet viel mehr als eine unsichere; ergibt für beide Labels einen Verlust von etwa 0,693.
Maximum Likelihood wählt Gewichte, die den beobachteten Labels eine hohe gemeinsame Wahrscheinlichkeit zuweisen. Der negative Logarithmus wandelt ihr Wahrscheinlichkeitsprodukt in die Summe der logarithmischen Verluste um. Gradientenabstieg passt die Gewichte an, weil es keine allgemeine geschlossene Lösung gibt.
Der logarithmische Verlust der logistischen Regression ist in den Gewichten konvex, daher ist jedes lokale Minimum global. Der 0/1-Verlust ist fast überall flach und liefert keinen brauchbaren Gradienten; quadratischer Verlust nach der Sigmoidfunktion verliert diese Konvexität. Bei separierbaren Trainingsdaten kann der unregularisierte logarithmische Verlust sinken, während die Gewichte unbegrenzt wachsen, sodass keine endliche Maximum-Likelihood-Lösung existiert. Ein Strafterm für Gewichte begrenzt dieses Wachstum.
Verwende Softmax für mehr Klassen
Gib jeder Klasse einen Wert und normiere die Exponentialausdrücke:
Die Werte erzeugen Wahrscheinlichkeiten von etwa . Addiert man zu jedem Wert dieselbe Konstante, ändern sich weder die Wahrscheinlichkeiten noch die gewinnende Klasse, weil sich der gemeinsame Exponentialfaktor kürzt. Bei zwei Klassen ist Softmax eine Sigmoidfunktion der Wertedifferenz.
Logistische Regression modelliert direkt und passt Gewichte gemeinsam an. Sie setzt keine Unabhängigkeit der Merkmale voraus. Naive Bayes schätzt eine A-priori-Wahrscheinlichkeit und Merkmalsverteilungen durch Zählen; es kann bei kleinen Datensätzen besonders wirksam sein, aber korrelierte Evidenz kann seine Wahrscheinlichkeiten zu extrem machen.
Wichtige Erkenntnisse
- Die Sigmoidfunktion bildet einen linearen Wert auf eine Wahrscheinlichkeit für Klasse 1 ab.
- Gewichte ändern logarithmierte Chancen linear, nicht Wahrscheinlichkeiten.
- Logarithmischer Verlust bestraft sichere falsche Vorhersagen stark.
- Der logarithmische Verlust der logistischen Regression ist konvex, aber separierbare Daten benötigen Regularisierung für endliche angepasste Gewichte.
- Softmax normiert Klassenwerte zu Wahrscheinlichkeiten.
- Logistische Regression passt Klassenwahrscheinlichkeiten direkt an, ohne die Merkmalsunabhängigkeit von Naive Bayes vorauszusetzen.
4Optimiere Modelle durch Gradientenabstieg
Der Gradientenabstieg verbindet eine Vorhersageregel mit einem Verfahren zur Anpassung ihrer Parameter. Ableitungen zeigen, wie sich ein Verlust lokal ändert; eine Lernrate wandelt diese Information in eine Aktualisierung um. Gehe Schritte mit einem und mit zwei Parametern durch und vergleiche dann Aktualisierungen anhand aller Daten mit verrauschten Aktualisierungen anhand einzelner Beispiele und Minibatches. Die logistische Regression bietet eine konkrete Herleitung, in der sich die Kettenregel zu Vorhersagefehler mal Eingabe vereinfacht.
4.1 Minimiere eine Verlustfunktion durch Schritte entgegen der Gradientenrichtung
Training bedeutet oft, Gewichte zu finden, die einen Verlust klein machen. Der Gradientenabstieg nutzt die lokale Steigung dieses Verlusts, um die nächsten Gewichte zu wählen, und wiederholt dies bis zu einem Abbruchkriterium.
Finde die Abstiegsrichtung
Eine partielle Ableitung misst, wie sich der Verlust ändert, wenn ein Parameter variiert und die anderen fest bleiben. Der Gradient fasst alle diese Ableitungen zusammen. Für
Am Punkt ist der Gradient . Er zeigt unter dem euklidischen Abstand in Richtung des steilsten lokalen Anstiegs; sein Negatives zeigt abwärts. Ein glattes Minimum hat den Gradienten null, aber ein Gradient von null kann auch an einem Sattelpunkt oder Maximum auftreten.
Aktualisiere mit positiver Lernrate :
Berechne den gesamten Gradienten, bevor du ein Gewicht änderst. Von aus mit ist der nächste Punkt , dann . Der Verlust fällt von 7 auf 3,04 und dann auf etwa 1,72. Die zweite Koordinate ändert sich schneller, weil ihre Krümmung größer ist.
Erkenne, wie die Schrittweite die Konvergenz steuert
Für ist die Ableitung . Von null aus mit der Rate 0,1:
- Der erste Gradient ist −6, also ist das nächste Gewicht 0,6.
- Bei 0,6 ist der Gradient −4,8, also ist das nächste Gewicht 1,08.
- Die folgenden Werte sind 1,464; 1,7712 und etwa 2,017.
Jeder Schritt multipliziert den Abstand zu 3 mit . Für diese Verlustfunktion erfordert Konvergenz von einem nicht optimalen Start aus . Die Rate 1 springt zwischen 0 und 6 hin und her; die Rate 1,1 erzeugt 6,6; −1,32 und 8,184 und entfernt sich immer weiter. Eine kleinere Rate kann stabil, aber langsam sein. Dieselbe Rate eignet sich nicht für jede Verlustfunktion oder Merkmalsskala.
Leite einen Vorhersageverlust ab
Für einen linearen Prädiktor und ein Beispiel mit quadratischem Verlust gilt:
Verwende , und die Gewichte . Die Vorhersage ist 2, also ist der Gradient . Eine Rate von 0,05 ergibt die neuen Gewichte . Die nächste Vorhersage ist 3,5 und der Verlust fällt von 9 auf 2,25. Die Bias-Ableitung hat den Eingabefaktor 1, während die Ableitung nach der Steigung die gemessene Eingabe enthält.
Interpretiere die Verlustfläche
Eine konvexe Verlustfunktion hat keine schlechteren lokalen Minima: Jedes lokale Minimum ist global. Der quadratische Verlust der linearen Regression und der logarithmische Verlust der logistischen Regression sind konvex. Verlustfunktionen neuronaler Netze sind im Allgemeinen nicht konvex und haben neben Minima auch Sattelpunkte und flache Bereiche. Die Initialisierung kann das Endergebnis beeinflussen.
Auch Merkmalsskalen beeinflussen die Optimierung. Eine Fläche bis 200 m² und Zimmerzahlen bis 6 können die Verlustfläche zu einem schmalen Tal strecken. Bei der Standardisierung wird der Trainingsmittelwert jedes Merkmals abgezogen und durch seine Trainingsstandardabweichung geteilt. Besser skalierte Koordinaten verringern Zickzackbewegungen. Stoppe anhand einer gewählten Schrittzahl, kleiner Gradienten oder ausbleibender Verbesserung.
Wichtige Erkenntnisse
- Ein Gradient fasst partielle Ableitungen zusammen und zeigt in Richtung des steilsten lokalen Anstiegs.
- Subtrahiere einen mit der Lernrate skalierten Gradienten, um abwärts zu gehen.
- Berechne alle Gradienten bei denselben Gewichten, bevor du aktualisierst.
- Eine zu große Lernrate kann Oszillation oder Divergenz verursachen.
- Konvexe Verlustfunktionen haben keine schlechteren lokalen Minima; Verlustfunktionen von Netzen sind im Allgemeinen nicht konvex.
- Merkmalsskalierung kann die Optimierung stabiler und effizienter machen.
4.2 Trainiere mit stochastischem Gradientenabstieg und Minibatch-Gradientenabstieg
Einen Gradienten über alle Beispiele zu berechnen, kann aufwendig sein. Stochastische und Minibatch-Aktualisierungen tauschen eine vollständig gemittelte Richtung gegen häufigere, günstigere Schritte.
Wähle, wie viele Daten eine Aktualisierung bestimmen
| Verfahren | Gradient für eine Aktualisierung | Wichtigster Zielkonflikt |
|---|---|---|
| Batch | Durchschnitt über alle Trainingsbeispiele | Exakter Trainingsgradient, aufwendige Schritte |
| Stochastisch | Ein zufällig gewähltes Beispiel | Günstige, verrauschte Schritte |
| Minibatch | Durchschnitt über einen kleinen Minibatch | Gleicht Rauschen und effiziente parallele Arbeit aus |
Eine Epoche durchläuft den Trainingsdatensatz einmal vollständig. Bei 10.000 Beispielen und Minibatches von 100 hat eine Epoche 100 Aktualisierungsschritte. Mische die Beispiele zwischen den Epochen, damit dieselben Gruppen nicht in derselben Reihenfolge wiederkehren.
Der Gradient eines gleichverteilt zufällig gewählten Beispiels hat als Erwartungswert den vollständigen Trainingsgradienten. Einzelne Schritte können den Gesamtverlust dennoch erhöhen. Der Verlustverlauf über Epochen zeigt den Trend klarer als die Beurteilung einer einzelnen Aktualisierung. Rauschen kann helfen, sich um Sattelpunkte und flache Minima herumzubewegen, aber eine feste große Lernrate lässt Gewichte auch nahe einer Lösung weiter schwanken. Ein abnehmender Lernratenplan hilft ihnen, sich einzupendeln.
Leite die logistische Aktualisierung her
Setze , und verwende den binären logarithmischen Verlust. Seine Ableitung nach der Wahrscheinlichkeit ist
Die Multiplikation mit der Ableitung der Sigmoidfunktion ergibt . Da gilt, ist der vollständige Gradient
Seine Subtraktion ergibt die gleichwertige Aktualisierung . Für einen Minibatch mittle diese Vektoren bei denselben aktuellen Gewichten, bevor du einmal aktualisierst. Summieren statt Mitteln multipliziert die effektive Lernrate mit der Minibatchgröße.
Berechne einen stochastischen Schritt
Beginne bei mit der Eingabe , dem Zielwert 1 und der Rate 0,5. Der Wert ist null, also . Dann gilt:
Der neue Wert ist und die neue Wahrscheinlichkeit beträgt etwa 0,818. Der logarithmische Verlust dieses Beispiels fällt von etwa 0,693 auf 0,201. Diese Verbesserung betrifft dieses Beispiel; ein stochastischer Schritt muss nicht jeden Trainingsfall verbessern.
Auch das Perzeptron verwendet eine vom Label abhängige Korrektur mal Eingabe, aber es verwendet ±1 als Zielwerte und ändert Gewichte nur bei Fehlern. Logistische Regression verwendet 0/1-Zielwerte und einen glatten Wahrscheinlichkeitsfehler. Bei endlichen Gewichten kann sie auch nach einer richtigen Klassenvorhersage weiter aktualisieren.
Erkenne häufige Optimierungsvarianten
Momentum führt einen gleitenden Durchschnitt der Gradientenrichtungen mit, was die Bewegung in gleichbleibenden Richtungen unterstützt und Schwingungen verringert. Adam kombiniert dies mit adaptiven Schrittweiten pro Parameter. Beide benötigen weiterhin eine geeignete Lernrate. Vergleiche Einstellungen anhand von Validierungsergebnissen und zeichne den Validierungsverlust zusammen mit dem Trainingsverlust auf, um zu entscheiden, wann weiteres Training nicht mehr hilft.
Wichtige Erkenntnisse
- Batch-, stochastische und Minibatch-Verfahren unterscheiden sich in der Anzahl der Beispiele pro Aktualisierung.
- Eine Epoche ist ein vollständiger Datendurchlauf, keine einzelne Aktualisierung.
- Beim binären logarithmischen Verlust der logistischen Regression ist der Gradient Vorhersage minus Zielwert, multipliziert mit der Eingabe.
- Mittle Minibatch-Gradienten vor der Aktualisierung.
- Der stochastische Verlust kann schwanken; Lernratenpläne verringern die Schrittweite mit der Zeit.
- Momentum und Adam ändern, wie aus Gradienteninformationen Schritte entstehen.
5Erstelle und trainiere neuronale Netze
Verborgene Schichten bilden Merkmale, die ein einzelner linearer Wert nicht ausdrücken kann. Verfolge Werte durch ein kleines Netz, zähle seine Gewichte und Biaswerte und stimme seine letzte Aktivierung auf den Zielwert ab. Backpropagation sendet Ableitungsinformationen in die entgegengesetzte Richtung, sodass alle Parameter effizient trainiert werden können. Initialisierung, Eingabeskalen, Minibatches und Validierungskurven verbinden diese Rechnungen anschließend mit einer funktionierenden Trainingsschleife.
5.1 Berechne die Ausgabe eines vorwärtsgerichteten neuronalen Netzes
Ein neuronales Netz verbindet viele einfache Einheiten. Verborgene Schichten wandeln Eingaben in gelernte Merkmale um; nichtlineare Aktivierungen ermöglichen diesen Merkmalen, Muster darzustellen, die ein einzelner linearer Klassifikator verfehlt.
Berechne Einheiten und zähle Parameter
Eine Einheit berechnet und gibt dann aus. Die eingehenden Aktivierungen sind hier ihre Eingaben und der Bias wird separat dargestellt. Dies entspricht der Einbeziehung eines konstanten Bias-Merkmals.
| Aktivierung | Ausgaberegel oder Wertebereich | Häufige Rolle |
|---|---|---|
| Sigmoidfunktion | , zwischen 0 und 1 | Binäre Wahrscheinlichkeitsausgabe |
| tanh | Zwischen −1 und 1 | Zentrierte nichtlineare verborgene Ausgabe |
| ReLU | Günstige nichtlineare verborgene Einheit |
Ein vorwärtsgerichtetes neuronales Netz hat keine gerichteten Zyklen: Information bewegt sich von der Eingabe durch verborgene Schichten zur Ausgabe. In einer vollständig verbundenen Schicht erhält jede Einheit jede Ausgabe der vorherigen Schicht. Eine Schicht mit Eingaben und Einheiten hat Gewichte und Biaswerte. Drei Eingaben, vier verborgene Einheiten und zwei Ausgabeeinheiten ergeben daher
trainierbare Parameter. Zähle einen Bias pro empfangender Einheit, nicht einen pro Verbindung. Netze mit vielen verborgenen Schichten heißen tief.
Verfolge ein Netz, das XOR berechnet
Verwende zwei verborgene ReLU-Einheiten und eine lineare Ausgabe:
Für sind die verborgenen Werte , die Ausgabe ist also 0. Für oder sind sie , was 1 ergibt. Für sind sie , was ergibt. Die verborgene Repräsentation ermöglicht der Ausgabe, die XOR-Klassen zu unterscheiden.
Ohne nichtlineare Aktivierungen ergäbe das Stapeln von Schichten weiterhin eine einzige affine Transformation. Lässt man die Biaswerte der Übersicht halber weg, gilt . Tiefe allein würde keine nichtlineare Ausdruckskraft hinzufügen. Die durch Aktivierungen eingeführten Knicke ändern, was das Netz darstellen kann.
Stimme Ausgaben auf Zielwerte ab
Für einen numerischen Regressionszielwert sind eine lineare Ausgabe und quadratischer Verlust eine Standardwahl. Für binäre Labels verwende eine Sigmoidausgabe und binären logarithmischen Verlust. Für eine von mehreren Klassen verwende Softmax-Ausgaben und Kreuzentropie . Wahrscheinlichkeiten ergeben bei der zweiten Klasse als richtiger Klasse einen Verlust von etwa 1,41. Der Verlust verwendet die der tatsächlichen Klasse zugewiesene Wahrscheinlichkeit, auch wenn eine andere Klasse gewinnt.
Der universelle Approximationssatz besagt, dass eine hinreichend breite verborgene Schicht mit geeigneter nichtlinearer Aktivierung jede stetige Funktion auf einem abgeschlossenen, beschränkten Eingabebereich beliebig genau approximieren kann. Es ist eine Existenzaussage, keine Garantie dafür, dass das Training die Gewichte findet oder dass ein kleines Netz genügt. Tiefe kann manche Funktionen deutlich effizienter darstellen.
Verborgene Repräsentationen können sich von Bildkanten und Texturen zu Objektteilen entwickeln. Auch Architekturen bringen nützliche Struktur mit: Faltungsnetze teilen kleine Gewichtsmengen über Bildpositionen hinweg, während rekurrente Netze Gewichte über Sequenzschritte hinweg teilen.
Wichtige Erkenntnisse
- Eine Einheit wendet eine Aktivierung auf eine gewichtete Summe zuzüglich Bias an.
- Eine vollständig verbundene Schicht hat ein Gewicht pro Verbindung und einen Bias pro empfangender Einheit.
- Verborgene nichtlineare Merkmale ermöglichen Netzen, Muster wie XOR darzustellen.
- Ausgabeaktivierungen und Verlustfunktionen müssen zum Zielwerttyp passen.
- Universelle Approximation beschreibt eine Darstellungsmöglichkeit, keinen Trainingserfolg.
- Gewichtsteilung erfasst wiederholte räumliche oder sequenzielle Struktur.
5.2 Berechne Gradienten mit Backpropagation
Backpropagation berechnet, wie jeder Parameter den Verlust beeinflusst. Ein Vorwärtsdurchlauf speichert die für die Kettenregel benötigten Werte; ein Rückwärtsdurchlauf verwendet sie erneut, um dieselben Ableitungsrechnungen nicht zu wiederholen.
Durchlaufe einen Berechnungsgraphen
Ein Berechnungsgraph zerlegt Summen, Produkte und Aktivierungen in Operationen. Entlang eines Pfades über einen Zwischenwert gilt:
Wenn ein Parameter den Verlust über mehrere Pfade beeinflusst, addiere ihre Beiträge. Schreibe für Einheit : . Ihr Rückwärtssignal ist
Die Summe umfasst die Einheiten, die ihre Ausgabe erhalten. Ein Gewicht von Aktivierung zur Einheit hat den Gradienten . Der Bias-Gradient ist einfach , weil seine Eingabe 1 ist.
Berechne einen Vorwärts- und Rückwärtsdurchlauf
Seien , , und . Beginne mit , und dem Zielwert .
- Vorwärts: Die verborgene Summe ist 1, die verborgene Ausgabe 1, die Vorhersage 3 und der Verlust 4.
- An der Ausgabe gilt . Damit ist .
- Zurück durch das Ausgabegewicht ergibt sich . Die verborgene Summe ist positiv, also ist die ReLU-Ableitung 1.
- Der Gradient des ersten Gewichts ist daher .
Aktualisiere mit der Rate 0,01 beide Gewichte aus diesen gespeicherten Gradienten:
Ein neuer Vorwärtsdurchlauf ergibt die verborgene Ausgabe 0,52, die Vorhersage 1,5392 und den Verlust von etwa 0,291. Würde man im vorangehenden Rückwärtsdurchlauf 2,96 verwenden, vermischte man zwei Parameterstände und erhielte den falschen Gradienten.
Prüfe Ableitungen und erkenne schwache Signale
Eine numerische Prüfung approximiert eine Ableitung durch
Mit ist die Ableitung des ersten Gewichts oben 24. Dies benötigt zwei Vorwärtsdurchläufe pro Gewicht und eignet sich daher zur Prüfung, nicht für das Training großer Netze. Backpropagation berechnet alle Gradienten mit einem Aufwand in derselben Größenordnung wie ein Vorwärtsdurchlauf. Bibliotheken implementieren dies als automatische Differentiation im Rückwärtsmodus.
Die Sigmoidfunktion hat die Ableitung ; tanh hat die Ableitung . Die ReLU-Ableitung ist oberhalb von null 1 und unterhalb 0; bei null wird ihr üblicherweise 0 zugewiesen. Eine ReLU-Einheit, deren Voraktivierung für jede Eingabe negativ ist, ist tot und erhält durch ihre Aktivierung keinen brauchbaren Gradienten. Softmax-Kreuzentropie hat für One-Hot-Zielwerte den Gradienten bezüglich der Klassenwerte.
Wiederholte kleine Ableitungsfaktoren verursachen verschwindende Gradienten. Eine Kette aus 10 Sigmoideinheiten mit Verbindungsgewichten von 1 hat höchstens die Ableitung . Breitere Graphen hängen auch von Gewichten und summierten Pfaden ab. ReLU, geeignete Initialisierung und residuale Verbindungen verringern dieses Problem. Große Rückwärtssignale können dagegen explodieren; Gradientenbegrenzung beschränkt ihre Größe.
Wichtige Erkenntnisse
- Backpropagation multipliziert Ableitungen entlang von Pfaden und addiert Beiträge verschiedener Pfade.
- Ein Gewichtsgradient ist die eingehende Aktivierung mal das Delta der empfangenden Einheit.
- Speichere Vorwärtswerte und berechne alle Gradienten vor der Aktualisierung.
- Numerische Differenzen prüfen Gradienten, sind aber für routinemäßiges Training zu aufwendig.
- Wiederholte kleine Faktoren können verschwinden; große Faktoren können explodieren.
- Tote ReLU-Einheiten haben für alle ihre Eingaben Aktivierungsgradienten von null.
5.3 Trainiere ein neuronales Netz in der Praxis
Das Training eines Netzes braucht mehr als eine korrekte Ableitung. Anfangsgewichte, Eingabeskalen, Aktualisierungseinstellungen und zurückgehaltene Ergebnisse beeinflussen alle, ob nützliche Merkmale gelernt werden.
Brich Symmetrie und skaliere Signale
Initialisiere Gewichte zufällig, damit verborgene Einheiten unterschiedlich beginnen. Haben die Einheiten einer Schicht identische Gewichte und dieselben ausgehenden Verbindungen, berechnen sie dieselben Werte, erhalten dieselben Aktualisierungen und bleiben Kopien. Ausschließlich mit null initialisierte Netzgewichte erzeugen diese Symmetrie. Biaswerte können bei null beginnen, weil zufällige Verbindungsgewichte die Einheiten bereits unterscheiden.
Die Skala der Zufallswerte ist entscheidend. Die Glorot-Initialisierung oder Xavier-Initialisierung eignet sich für tanh- und Sigmoideinheiten; die He-Initialisierung berücksichtigt ReLU-Aktivierungen. Diese Verfahren sollen verhindern, dass Signalgrößen von Schicht zu Schicht zu stark schrumpfen oder wachsen.
Normiere auch Eingaben. Die Division von Pixelwerten durch 255 bringt sie zwischen null und eins. Bei der Standardisierung wird der Trainingsmittelwert eines Merkmals abgezogen und durch seine Trainingsstandardabweichung geteilt. Wende dieselbe berechnete Transformation auf spätere Eingaben an. Moderate Anfangssummen helfen Sigmoidfunktion und tanh, gesättigte Bereiche mit sehr kleinen Ableitungen zu vermeiden; vergleichbare Merkmalsskalen verbessern auch die Optimierung.
Führe die Trainingsschleife aus
- Initialisiere die Gewichte und wähle das Optimierungsverfahren und die Einstellungen.
- Mische zu Beginn jeder Epoche die Trainingsbeispiele.
- Führe für jeden Minibatch einen Vorwärtsdurchlauf aus und berechne den durchschnittlichen Verlust.
- Führe Backpropagation aus und aktualisiere dann alle Parameter anhand der Gradienten dieses Minibatches.
- Zeichne am Ende der Epoche Trainings- und Validierungsergebnisse auf.
Für 784 Pixeleingaben, 128 verborgene ReLU-Einheiten und 10 Softmax-Ausgaben ist die Parameterzahl
Bei 60.000 Bildern und einer Minibatchgröße von 64 gibt es 937 vollständige Minibatches und einen letzten Minibatch mit 32 Bildern: 938 Aktualisierungen pro Epoche. Auch der letzte kurze Minibatch verwendet seinen eigenen durchschnittlichen Gradienten.
Interpretiere Trainingskurven
| Beobachtetes Muster | Was zu untersuchen ist |
|---|---|
| Verlust springt oder wird NaN | Lernrate zu groß oder instabile Rechnungen |
| Verlust sinkt sehr langsam | Rate zu klein oder Gradienten zu schwach |
| Training verbessert sich, Validierung verschlechtert sich | Überanpassung und Zeitpunkt zum Beenden |
Diese Muster helfen bei der Diagnose; mehrere Ursachen können dasselbe Symptom haben. Prüfe bei einem langsam lernenden Sigmoidnetz neben der Lernrate auch die Eingabeskala und die Sättigung der Aktivierungen. Eine hohe Trainingstrefferquote zeigt nur die Anpassung an Trainingsbeispiele. Ein großes Netz kann sogar zufällige Labels auswendig lernen.
Zu den wichtigsten Hyperparametern gehören Lernrate, Minibatchgröße, Epochenzahl, Breite, Tiefe, Aktivierung und Optimierungsverfahren. Vergleiche sie anhand von Validierungsdaten. Halte den Testdatensatz für die Bewertung der gewählten Konfiguration zurück. Größere Breite ändert Parameterzahl und Kapazität; mehr Epochen geben denselben Parametern mehr Aktualisierungsschritte.
Die Verlustfunktion des Netzes ist nicht konvex. Verschiedene zufällige Starts können zu unterschiedlichen Gewichten und Trefferquoten führen. In großen Netzen bremsen Sattelpunkte und flache Bereiche den Fortschritt oft stärker als schlechte lokale Minima. Momentum und Adam helfen bei der Optimierung solcher Flächen, aber die Leistung auf zurückgehaltenen Daten entscheidet weiterhin, ob das angepasste Muster nützlich ist.
Wichtige Erkenntnisse
- Zufällige Gewichte unterscheiden verborgene Einheiten; eine Netzinitialisierung nur mit null erzeugt Symmetrie.
- Initialisierungsskala und Eingabenormierung unterstützen stabile Signale.
- Die Schleife führt abwechselnd Vorwärtsdurchlauf, Verlustberechnung, Backpropagation und Aktualisierung durch das Optimierungsverfahren aus.
- Bestimme die Anzahl der Minibatch-Schritte, indem du den Quotienten aus Beispielzahl und Minibatchgröße aufrundest.
- Nutze Trainings- und Validierungskurven gemeinsam, um Lernprobleme zu untersuchen.
6Erkenne und begrenze Überanpassung
Eine nützliche gelernte Regel muss über ihre Trainingsstichprobe hinaus bestehen. Vergleiche Trainings- und Validierungsergebnisse, um übermäßige Flexibilität oder ein zu stark eingeschränktes Modell zu diagnostizieren, und unterscheide diese Probleme von veränderten Datenbedingungen. Gewichtsstrafterme, vorzeitiges Beenden, Dropout und geeignete Datenaugmentation bieten unterschiedliche Möglichkeiten, Überanpassung zu begrenzen. Ihre Einstellungen müssen dennoch validiert werden: Stärkere Einschränkungen können zusammen mit Rauschen auch echte Signale entfernen.
6.1 Diagnostiziere Überanpassung und Unteranpassung
Ein Modell kann seine Trainingsstichprobe gut anpassen, ohne ein verlässliches Muster zu lernen. Vergleiche Trainings- und zurückgehaltene Ergebnisse, um zu verstehen, ob das Modell zu stark eingeschränkt oder zu flexibel ist oder ob es auf andere Daten trifft.
Vergleiche zwei Arten von Fehlern
Generalisierung bezeichnet die Leistung auf neuen Beispielen aus derselben Verteilung. Unteranpassung tritt auf, wenn das Modell zu stark eingeschränkt ist, um das Muster zu erfassen. Überanpassung tritt auf, wenn es sich so eng an stichprobenspezifisches Rauschen anpasst, dass Vorhersagen für neue Beispiele leiden.
| Modell | Trainingstrefferquote | Validierungstrefferquote | Interpretation |
|---|---|---|---|
| A | 99 % | 71 % | Große Lücke deutet auf Überanpassung hin |
| B | 74 % | 73 % | Unteranpassung, falls leistungsfähigere Modelle besser abschneiden können |
| C | 92 % | 90 % | Hier die beste Leistung auf zurückgehaltenen Daten |
Wähle anhand dieser Validierungsergebnisse C. Die höhere Trainingstrefferquote von A ist bei den zurückgehaltenen Fällen kein Vorteil. Die kleine Lücke bei B reicht nicht aus, um das Modell als gut einzustufen: Beide Werte sind im Verhältnis zum Erreichbaren niedrig. Schwierigkeit, Rauschen und erreichbare Leistung spielen bei der Interpretation einer kleinen Lücke eine Rolle.
Setze Kapazität und Rauschen in Beziehung
Kapazität beschreibt, wie flexibel die Hypothesenfamilie ist. Zehn verrauschte Punkte können nahe einem geradlinigen Trend liegen. Eine Gerade verwendet zwei Koeffizienten und verfehlt die Punkte leicht. Ein Polynom 9. Grades verwendet zehn Koeffizienten und kann alle zehn Punkte mit unterschiedlichen Eingabewerten interpolieren, sodass der Trainingsfehler null beträgt. Zwischen diesen Punkten und außerhalb ihres Bereichs kann das Polynom stark ausschlagen und schlecht vorhersagen.
Mit steigender Kapazität sinkt der Trainingsfehler im Allgemeinen. Der Fehler auf zurückgehaltenen Daten sinkt oft zunächst, weil echte Struktur darstellbar wird, und steigt dann, wenn Rauschen angepasst wird. Vergleiche mögliche Kapazitäten anhand zurückgehaltener Ergebnisse. Dieses vertraute Muster ist eine Orientierung für die Modellwahl und keine Garantie dafür, dass jede Kurve zur Netzgröße genau diese Form hat.
Hoher Bias bedeutet systematischen Fehler durch eine einschränkende Modellfamilie. Hohe Varianz bedeutet, dass sich die gelernte Regel zwischen gleich großen Trainingsstichproben erheblich ändert. Unteranpassung geht häufig mit hohem Bias einher, Überanpassung häufig mit hoher Varianz.
Unterscheide mehr Daten von anderen Daten
Bei fester Kapazität verringern mehr repräsentative Beispiele gewöhnlich die Überanpassung. Ein Polynom 9. Grades kann im Allgemeinen nicht 1.000 verrauschte Punkte exakt interpolieren; seine Anpassung muss daher einen Kompromiss finden. Große Netze können dennoch große Stichproben auswendig lernen, auch wenn deren Labels zufällig sind. Mehr Daten verringern das Risiko, ohne Prüfungen auf zurückgehaltenen Daten überflüssig zu machen. Falsche oder verrauschte Labels fügen zufällige Muster hinzu, die der Lernalgorithmus möglicherweise anpasst.
Verteilungsverschiebung ist ein anderes Problem. Ein Klassifikator, der auf Tageslichtfotos trainiert und getestet wurde, kann bei Nachtfotos versagen, obwohl seine Generalisierung bei Tageslicht gut ist. Die neuen Eingaben stammen aus einer anderen Verteilung. Mehr Regularisierung allein liefert keine fehlenden Nachtbedingungen.
Bewahre die Aussagekraft des abschließenden Tests
Trainiere Kandidaten auf dem Trainingsdatensatz und vergleiche ihre Einstellungen oder Kapazitäten anhand von Validierungsdaten. Sobald ein Kandidat gewählt ist, bewerte ihn auf dem unberührten Testdatensatz. Werden Testergebnisse verwendet, um die Architektur zu ändern oder eine Epoche zu wählen, wird der Testdatensatz zu einer weiteren Grundlage der Modellwahl und seine berichtete Leistung fällt optimistisch aus. Überanpassung kann Polynome, Naive Bayes, Perzeptronen und Netze betreffen; sie beschreibt eine Beziehung zwischen Lernen und Daten und ist nicht auf einen Algorithmus beschränkt.
Wichtige Erkenntnisse
- Überanpassung verbindet eine gute Anpassung an Trainingsdaten mit schwächerer Leistung auf neuen Daten.
- Unteranpassung kann ähnlich schlechte Trainings- und zurückgehaltene Ergebnisse erzeugen.
- Kapazität ermöglicht die Anpassung sowohl nützlicher Strukturen als auch zufälliger Muster.
- Mehr repräsentative Daten helfen bei fester Kapazität gewöhnlich, Auswendiglernen bleibt aber möglich.
- Verteilungsverschiebung unterscheidet sich von Überanpassung.
- Nutze Validierungsdaten für Entscheidungen und bewahre den abschließenden Testdatensatz auf.
6.2 Beuge Überanpassung durch Regularisierung vor
Regularisierung verändert das Lernen, um Vorhersagen auf neuen Daten zu verbessern. Sie kann Gewichte einschränken, die Trainingsdauer begrenzen, die Abhängigkeit von bestimmten Einheiten unterbrechen oder mehr gültige Beispiele bereitstellen.
Bestrafe große Gewichte
Eine regularisierte Zielfunktion kombiniert Datenverlust und einen Komplexitätsstrafterm:
Für L2 verwende , wobei der Bias gewöhnlich ausgeschlossen wird. Die Gewichte und ergeben den Strafterm . Die zusätzliche Ableitung ist . Beim gewöhnlichen Gradientenabstieg gilt:
Bei einer Rate von 0,1 und einer Stärke von 0,1 beträgt der Schrumpfungsfaktor 0,98; ein Gewicht von 5 trägt vor dem Schritt für den Datenverlust 4,9 bei. Das ist die Interpretation als Gewichtszerfall für dieses Optimierungsverfahren. Bei adaptiven Verfahren wie Adam sind ein L2-Strafterm und separat angewendeter Gewichtszerfall unterschiedliche Operationen.
L1 verwendet . Es begünstigt dünn besetzte Lösungen, bei denen viele Gewichte genau null sind, und wählt damit Merkmale aus. L2 verkleinert Gewichte gewöhnlich, ohne sie genau auf null zu setzen. Keiner der beiden Strafterme ist eine Regel, jedes Gewicht auf null zu setzen.
Die Stärke ist ein Hyperparameter. Null entfernt den Strafterm; eine übermäßige Stärke führt zur Unteranpassung. Vergleiche Werte über mehrere Größenordnungen hinweg anhand von Validierungsdaten. Ein positiver L2-Strafterm begrenzt auch die divergierenden Gewichte einer logistischen Regression bei separierbaren Daten.
Bewahre den besten Abbruchpunkt
Vorzeitiges Beenden überwacht den Validierungsverlust, speichert die besten Gewichte und beendet das Training nach einem Geduldsintervall ohne Verbesserung. Bei den Verlusten 0,62; 0,48; 0,41; 0,39; 0,40; 0,43 und 0,47 in den Epochen 1–7 ist Epoche 4 die beste. Eine Geduld von 3 erlaubt die Epochen 5–7, beendet dann das Training und stellt die Gewichte aus Epoche 4 wieder her. Die letzte trainierte Epoche ist nicht zwangsläufig das gespeicherte Modell.
Trainiere mit Dropout
Bei jedem Trainingsschritt setzt Dropout die Ausgaben verborgener Einheiten unabhängig voneinander mit der Wahrscheinlichkeit auf null. Die Einheiten müssen lernen, ohne sich darauf zu verlassen, dass ein bestimmter Partner immer vorhanden ist. Bei der Vorhersage ist Dropout deaktiviert und alle Einheiten wirken mit.
Beim invertierten Dropout dividiere die verbleibenden Aktivierungen während des Trainings durch . Ist , verdoppeln sich die verbleibenden Ausgaben, sodass ihr Erwartungswert der Aktivierung ohne Dropout entspricht. Diese Skalierung wird bei der Vorhersage nicht erneut angewendet.
Füge gültige Variation hinzu
Das Sammeln weiterer repräsentativer Daten und die Verwendung eines einfacheren Modells können Überanpassung verringern. Datenaugmentation fügt transformierte Trainingsbeispiele hinzu, deren Labels korrekt bleiben, etwa geeignete Verschiebungen, Zuschnitte oder Helligkeitsänderungen. Eine Transformation muss zur Aufgabe passen: Wird eine handgeschriebene 6 um 180° gedreht, kann daraus eine 9 werden. Das Label 6 beizubehalten, würde daher den falschen Zusammenhang lehren.
Laplace-Glättung ist eine weitere Regularisierung: Pseudozählwerte machen Naive Bayes weniger abhängig von spärlichen Häufigkeiten. Wähle Glättung, Strafterme, Dropout-Raten oder Abbruchzeitpunkte anhand von Validierungsdaten. Beobachte sowohl Trainings- als auch Validierungsfehler, damit der Schutz vor Überanpassung nicht zu einer übermäßigen Einschränkung wird.
Wichtige Erkenntnisse
- L2 bestraft quadrierte Gewichte; L1 begünstigt dünn besetzte Gewichte.
- Die Regularisierungsstärke gleicht Datenanpassung und Einschränkung gegeneinander ab und wird anhand von Validierungsdaten gewählt.
- Vorzeitiges Beenden stellt den besten anhand der Validierung bestimmten gespeicherten Modellstand wieder her.
- Invertiertes Dropout skaliert verbleibende Trainingsaktivierungen und wird für Vorhersagen deaktiviert.
- Augmentation muss das korrekte Label erhalten.
- Auch Glättung, einfachere Modelle und mehr repräsentative Daten helfen, Überanpassung zu begrenzen.
- L2-Schrumpfung beim Gradientenabstieg muss von Implementierungen des Gewichtszerfalls bei adaptiven Verfahren unterschieden werden.
Lernen aus Daten und neuronale Netze: Beispiele
1Richte eine überwachte Lernaufgabe ein und überprüfe sie
10 Schritte
- 1EinführungMache aus Beispielen eine Lernaufgabe
Ein überwachter Lernalgorithmus benötigt gepaarte Eingaben und Antworten. Bestimme vor der Wahl eines Algorithmus, was ein Fall bedeutet und welche Ausgabe gewünscht ist.
Verfolge einen E-Mail-Filter von seinen Labels zu einer numerischen Repräsentation und einer Verlustfunktion. Die abschließende Prüfung ist, ob seine gelernte Regel bei neuen Fällen funktioniert. Deshalb benötigen Anpassung und Bewertung getrennte Datenrollen.
- 2BeispielBestimme Fall und Label
Bei einem Spamfilter ist ein Fall eine E-Mail. Eingaben können „enthält gratis“, die Anzahl der Links und die Frage erfassen, ob der Absender ein Kontakt ist. Das Label ist Spam oder erwünschte E-Mail.
Der Lernalgorithmus passt aus 5.000 gelabelten Beispielen eine Hypothese an. Diese Hypothese nimmt die Merkmale einer neuen E-Mail entgegen und sagt deren Label voraus. Ihre gelernten Gewichte sind Parameter; Einstellungen wie die Modellgröße sind Hyperparameter.
- 3ErklärungHalte Anpassung und Bewertung getrennt
Verwende Trainingsdaten, um Parameter anzupassen, und Validierungsdaten, um Einstellungen zu vergleichen. Lass Testfälle unberührt, bis das Modell ausgewählt wurde.
Das ist auch dann wichtig, wenn eine auswendig lernende Regel jede Trainings-E-Mail richtig klassifiziert. Ihre gespeicherten Antworten sagen möglicherweise wenig über unbekannte Nachrichten aus. Die Leistung auf zurückgehaltenen Daten steht für künftige Leistung, wenn die Beispiele unabhängige Ziehungen aus derselben Verteilung sind; veränderte Spamformulierungen können diesen Zusammenhang aufbrechen.
- 4HerausforderungOrdne die Vorhersageaufgabe ein
Ein Wetterdienst möchte mit einem Modell die Regenmenge in Millimetern und mit einem anderen vorhersagen, ob mehr als 5 mm fallen. Wie unterscheiden sich ihre Aufgabentypen?
---reveal---
Die gemessene Menge ist ein Regressionszielwert. Das Ja-Nein-Ereignis ist ein Zielwert für binäre Klassifikation. Beide können gelabelte historische Wetterfälle verwenden; die Tatsache, dass beide künftiges Wetter betreffen, macht keine von ihnen zu unüberwachtem Lernen.
- 5ErklärungWähle eine numerische Repräsentation
Ein Merkmalsvektor führt Eigenschaften in fester Reihenfolge auf. Binäre Indikatoren stellen Ja-Nein-Tatsachen dar, Häufigkeiten stehen für Vorkommen und reelle Zahlen für Messungen.
Verwende für ungeordnete Farben One-Hot-Indikatoren: Rot ist und Blau ist . Die Codes 1, 2 und 3 würden eine künstliche numerische Beziehung vorgeben. Füge eine separate erste Koordinate hinzu, die auf 1 festgelegt ist, wenn das Modell einen Bias innerhalb seines Skalarprodukts verwendet.
- 6BeispielAddiere gewichtete Beiträge
Nimm die um den Bias ergänzte Eingabe und die Gewichte . Multipliziere die entsprechenden Koordinaten und addiere dann:
Die konstante erste Eingabe macht 2 zum Bias-Beitrag. Eine Erhöhung der zweiten Koordinate senkt den Wert, weil ihr Gewicht negativ ist. Diese Rechnung erzeugt einen Wert; ein Klassifikator benötigt weiterhin eine Regel, die Werte mit Klassenvorhersagen verbindet.
- 7BeispielMiss die Kosten einer Vorhersage
Für numerische Vorhersagen gegenüber den Zielwerten sind die quadrierten Fehler 1, 0 und 4.
Das Quadrieren vor dem Mitteln verhindert, dass sich vorzeichenbehaftete Fehler aufheben. Quadratischer Verlust betont große Abweichungen: Eine Verdopplung des Fehlers vervierfacht seinen Verlust. Bei Klassifikation ergibt das Mitteln von 0/1-Verlusten dagegen den Anteil falscher Vorhersagen.
- 8HerausforderungBerechne einen Wert und seinen Verlust
Ein numerischer Prädiktor hat die um den Bias ergänzte Eingabe und die Gewichte . Sein Zielwert ist 7. Welche Vorhersage und welcher quadratische Verlust ergeben sich?
---reveal---
Das Skalarprodukt ist . Der quadratische Verlust ist . Der Zielwert wird verwendet, um den Vorhersagefehler zu messen; er ist keine weitere Eingabekoordinate. Eine Berechnung mit absolutem Verlust ergäbe 2 und damit andere Kosten für dieselbe Abweichung.
- 9HerausforderungEntscheide, was das Ergebnis stützt
Ein Team fügt viele Wortmerkmale hinzu und senkt den Trainingsfehler auf null, aber der Validierungsfehler steigt. Sollte es dieses Modell wählen, weil jetzt jedes Trainingslabel richtig ist?
---reveal---
Nein. Zusätzliche Merkmale gaben dem Modell mehr Möglichkeiten, die Trainingsstichprobe anzupassen, aber der Vergleich auf zurückgehaltenen Daten wurde schlechter. Vergleiche die Kandidaten anhand der Validierungsergebnisse und bewerte das gewählte Modell anschließend auf unberührten Testfällen. Das Ziel sind nützliche Vorhersagen für neue Eingaben.
- 10ZusammenfassungHalte die Rollen beim Lernen auseinander
Beginne mit Eingabe-Label-Paaren und einer Familie möglicher Vorhersageregeln. Stelle jede Eingabe einheitlich dar, berechne die Vorhersage und miss ihre Kosten mit der gewählten Verlustfunktion.
Das Training passt Parameter an. Die Validierung leitet die Modellwahl. Der Test bewertet das ausgewählte Ergebnis. Trefferquote und Verlust beschreiben die Leistung bei bestimmten Fällen; die Übertragung dieser Ergebnisse auf künftige Eingaben hängt auch davon ab, wie die Fälle gezogen wurden.
2Sage mit Naive Bayes und Worthäufigkeiten vorher
15 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungKombiniere Klassenevidenz durch Zählen
- 2ErklärungBilde für jede Klasse einen Wert
- 3BeispielBerücksichtige ein fehlendes binäres Merkmal
- 4BeispielNormiere und vergleiche Logarithmen
- 5HerausforderungVerwende beide beobachteten Werte
- 6BeispielSchätze innerhalb jeder Klasse
- 7ErklärungSichere ein nicht beobachtetes Ergebnis ab
- 8HerausforderungGlätte ein binäres Merkmal
- 9TippLege die Glättung anhand zurückgehaltener Evidenz fest
- 10ErklärungWechsle von Indikatoren zu Tokenhäufigkeiten
- 11BeispielGlätte über ein Vokabular
- 12BeispielBerücksichtige jedes wiederholte Wort
- 13HerausforderungNutze die Evidenz wiederholter Token
- 14HerausforderungBehebe eine Unstimmigkeit im Modell
- 15ZusammenfassungStimme Evidenz und Wahrscheinlichkeitsmodell aufeinander ab
3Verschiebe Grenzen und passe Klassenwahrscheinlichkeiten an
17 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungLerne aus einem gewichteten Wert
- 2BeispielInterpretiere die Grenze
- 3KernaussageUnterscheide Wert und Abstand
- 4BeispielÄndere die Merkmale für XOR
- 5HerausforderungSage nach einer Bias-Änderung vorher
- 6ErklärungAktualisiere nur bei Fehlern
- 7BeispielVollziehe die ersten zwei Fehler nach
- 8BeispielPrüfe den nächsten vollständigen Durchlauf
- 9HerausforderungVerwende die aktuellen Gewichte weiter
- 10VerbindungErhöhe eine Klasse und senke eine andere
- 11ErklärungWandle einen Wert in eine Wahrscheinlichkeit um
- 12BeispielBewerte das beobachtete Label
- 13KernaussageKonvexität begrenzt keine Gewichte
- 14HerausforderungBerechne einen logarithmischen Verlust
- 15VerbindungNormiere mehrere Klassenwerte
- 16HerausforderungVergleiche zwei Lernsignale
- 17ZusammenfassungVerbinde Repräsentation und Lernen
4Folge Gradienten und mittle Aktualisierungen
13 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungVerbessere Gewichte mithilfe von Ableitungen
- 2ErklärungInterpretiere den Gradienten
- 3BeispielFühre einen gleichzeitigen Schritt aus
- 4BeispielPrüfe, was die Rate ändert
- 5HerausforderungDifferenziere vor dem Schritt
- 6TippStimme Skalen auf die Optimierung ab
- 7ErklärungWähle eine Gradientenstichprobe
- 8ErklärungVereinfache die logistische Ableitung
- 9BeispielFühre eine stochastische logistische Aktualisierung aus
- 10HerausforderungMittle vor der Aktualisierung
- 11VerbindungGehe mit verrauschten Richtungen um
- 12HerausforderungDiagnostiziere eine Änderung der Minibatchgröße
- 13ZusammenfassungUnterscheide Richtung, Größe und Stichprobenauswahl
5Berechne und trainiere ein kleines Netz
20 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungVerfolge Werte vorwärts und Ableitungen rückwärts
- 2ErklärungBerechne eine Einheit
- 3BeispielZähle die Parameter eines kleinen Netzes
- 4BeispielErzeuge nichtlineare Merkmale für XOR
- 5HerausforderungHalte die Ausgabeaktivierung getrennt
- 6VerbindungStimme die Ausgabe auf die Aufgabe ab
- 7ErklärungSpeichere den Vorwärtszustand
- 8BeispielBestimme den Gradienten des Ausgabegewichts
- 9BeispielTrage das Signal zum verborgenen Gewicht
- 10BeispielAktualisiere beide Gewichte gemeinsam
- 11HerausforderungDifferenziere durch eine aktive Einheit
- 12TippPrüfe eine Ableitung numerisch
- 13KernaussageErkenne abgeschwächte Rückwärtssignale
- 14ErklärungLass Einheiten unterschiedlich beginnen
- 15BeispielZähle Parameter und Minibatch-Schritte
- 16ErklärungVerarbeite einen Minibatch und überwache dann die Epoche
- 17HerausforderungWähle eine Reaktion auf die Kurven
- 18HerausforderungUnterscheide schlechtes Lernen von geringer Kapazität
- 19VerbindungRepräsentationen hängen vom Training ab
- 20ZusammenfassungKoordiniere den gesamten Trainingsschritt
6Diagnostiziere und begrenze Überanpassung
13 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungFinde die Anpassung, die bei neuen Daten Bestand hat
- 2BeispielVergleiche die Leistung auf zurückgehaltenen Daten
- 3ErklärungVerbinde Kapazität mit Stichprobenrauschen
- 4HerausforderungDiagnostiziere ein flexibleres Modell
- 5VerbindungUnterscheide veränderte Bedingungen von Rauschanpassung
- 6ErklärungFüge einen Gewichtsstrafterm hinzu
- 7BeispielLeite die L2-Schrumpfung her
- 8HerausforderungWähle eine dünn besetzte Anpassung
- 9BeispielStelle den besten Modellstand wieder her
- 10ErklärungHalte Erwartungswerte bei Dropout stabil
- 11HerausforderungPrüfe das Label einer Augmentation
- 12HerausforderungWähle die Reihenfolge der abschließenden Bewertung
- 13ZusammenfassungVerwende die richtige Maßnahme für das beobachtete Problem
Lernen aus Daten und neuronale Netze: Übungsaufgaben
Set 1: Von gelabelten Beispielen zu gelernten Vorhersagen10 Übungsfragen
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Frage 3 von 10
Antwort zeigenAntwort ausblenden
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Frage 5 von 10
Antwort zeigenAntwort ausblenden
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Frage 8 von 10
Antwort zeigenAntwort ausblenden
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Set 2: Häufigkeiten, Aktualisierungen und Trainingsverhalten10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Set 3: Kombiniere Modellberechnungen und Lernregeln10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Set 4: Diagnostiziere Modelle und erhalte gültige Vergleiche10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Set 5: Übertrage die Verfahren auf neue Lernprobleme10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe
Schlüsselbegriffe
A
A-posteriori-Wahrscheinlichkeit
A-priori-Klassenwahrscheinlichkeit
Adam
Aktivierungsfunktion
B
Backpropagation
Bag-of-Words-Modell
Batch-Gradientenabstieg
Bedingte Unabhängigkeit
Berechnungsgraph
Bernoulli-Naive-Bayes
Bias
Bigramm
D
Datenaugmentation
Dropout
E
Empirischer Verlust
Entscheidungsgrenze
Epoche
G
Gemitteltes Perzeptron
Generalisierung
Generatives Modell
Glättungsstärke
Gradient
Gradientenabstieg
Gradientenbegrenzung
H
He-Initialisierung
Hyperebene
Hyperparameter
Hypothesenraum
I
Initialisierung
K
Kettenregel
Klassifikation
Konvexe Verlustfunktion
L
L1-Regularisierung
L2-Regularisierung
Label
Laplace-Glättung
Lernrate
Lernratenplan
Lineare Separierbarkeit
Linearer Klassifikator
Logarithmierte Chancen
Logarithmischer Klassenwert
Logarithmischer Verlust
Logistische Regression
M
Maximum-Likelihood-Schätzung
Mehrklassenperzeptron
Merkmalsvektor
Minibatch
Modellbias
Modellkapazität
Momentum
Multinomialer Naive Bayes
N
Naive Bayes
Nullhäufigkeitsproblem
Numerische Gradientenprüfung
O
One-Hot-Kodierung
P
Partielle Ableitung
Perzeptron
Pseudozählwert
R
Regression
Regularisierung
ReLU
S
Sigmoidfunktion
Skalarprodukt
Softmax
Standardisierung
Stochastischer Gradientenabstieg
Symmetrieproblem
T
Testdatensatz
Token
Tote ReLU-Einheit
Trainingskurve
Trennspanne
Ü
Überanpassung
Überwachtes Lernen
U
Universelle Approximation
Unteranpassung
V
Varianz
Verborgene Schicht
Verlustfunktion
Verschwindende Gradienten
Verteilungsverschiebung
Vokabular
Vollständig verbundene Schicht
Vorwärtsgerichtetes Netz
Vorzeitiges Beenden
Über diese Einheit
Erstelle deine eigenen Lernmaterialien
Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.