Überwachtes Lernen
Aufsichtes Lernen (SL) ist der maschinelles Lernen Aufgabe, eine Funktion zu lernen, die Karten Ein Eingang zu einem Ausgang basierend auf Beispiel-Eingabe-Output-Paaren.[1] Es färbt eine Funktion von beschriftet Trainingsdaten bestehend aus einem Satz von Trainingsbeispiele.[2] Im überwachten Lernen ist jedes Beispiel a Paar bestehend aus einem Eingabeobjekt (typischerweise einem Vektor) und einem gewünschten Ausgangswert (auch als der genannt Überwachungssignal). Ein beaufsichtigter Lernalgorithmus analysiert die Trainingsdaten und erzeugt eine abgeleitete Funktion, die zum Zuordnen neuer Beispiele verwendet werden kann. Ein optimales Szenario ermöglicht es dem Algorithmus, die Klassenbezeichnungen für unsichtbare Instanzen korrekt zu bestimmen. Dies erfordert, dass der Lernalgorithmus von den Trainingsdaten auf unsichtbare Situationen auf "vernünftige" Weise verallgemeinert wird (siehe Induktive Voreingenommenheit). Diese statistische Qualität eines Algorithmus wird durch die sogenannte gemessen Verallgemeinerungsfehler.
Die parallele Aufgabe von Mensch und Tier Psychologie wird oft als als bezeichnet als Konzeptlernen.
Schritte zum folgen
Um ein bestimmtes Problem des überwachten Lernens zu lösen, muss man die folgenden Schritte ausführen:
- Bestimmen Sie die Art der Trainingsbeispiele. Bevor Sie etwas anderes tun, sollte der Benutzer entscheiden, welche Art von Daten als Trainingssatz verwendet werden sollen. Im Falle des HandschrifftanalyseZum Beispiel könnte dies ein einzelner handgeschriebener Charakter sein, ein ganzes handgeschriebenes Wort, ein ganzer Satz der Handschrift oder vielleicht ein vollständiger Absatz der Handschrift.
- Sammeln Sie ein Trainingset. Das Trainingssatz muss repräsentativ für die reale Verwendung der Funktion sein. Somit wird ein Satz Eingabefiele gesammelt und entsprechende Ausgaben werden entweder von menschlichen Experten oder von Messungen gesammelt.
- Bestimmen Sie die Darstellung der gelernten Funktion der Eingabemerkmale. Die Genauigkeit der gelernten Funktion hängt stark davon ab, wie das Eingabefiel dargestellt wird. Normalerweise wird das Eingabefiel in a umgewandelt Feature -Vektor, die eine Reihe von Merkmalen enthält, die das Objekt beschreiben. Die Anzahl der Merkmale sollte aufgrund der nicht zu groß sein Fluch der Dimensionalität; sollte jedoch genügend Informationen enthalten, um die Ausgabe genau vorherzusagen.
- Bestimmen Sie die Struktur der gelernten Funktion und den entsprechenden Lernalgorithmus. Zum Beispiel kann der Ingenieur für die Verwendung wählen Support-Vektor-Maschinen oder Entscheidungsbäume.
- Vervollständigen Sie das Design. Führen Sie den Lernalgorithmus auf dem gesammelten Trainingssatz aus. Einige überwachte Lernalgorithmen erfordern, dass der Benutzer bestimmte Steuerparameter ermittelt. Diese Parameter können durch Optimierung der Leistung in einer Teilmenge angepasst werden (als a genannt Validierung eingestellt) des Trainingssatzes oder über via cross-validation.
- Bewerten Sie die Genauigkeit der gelehrten Funktion. Nach der Anpassung und dem Lernen der Parametern sollte die Leistung der resultierenden Funktion an einem Testsatz gemessen werden, der vom Trainingssatz getrennt ist.
Auswahl der Algorithmus
Eine breite Palette von überwachten Lernalgorithmen steht jeweils mit ihren Stärken und Schwächen zur Verfügung. Es gibt keinen einzigen Lernalgorithmus, der bei allen beaufsichtigten Lernproblemen am besten funktioniert (siehe die Kein kostenloser Mittagessen Theorem).
Es gibt vier Hauptprobleme im überwachten Lernen:
Vorspannungsvarianz-Kompromiss
Ein erstes Problem ist der Kompromiss zwischen Voreingenommenheit und Varianz.[3] Stellen Sie sich vor, wir haben mehrere verschiedene, aber ebenso gute Trainingsdatensätze zur Verfügung. Ein Lernalgorithmus ist für eine bestimmte Eingabe verzerrt Wenn, wenn es auf jeden dieser Datensätze trainiert wird, ist dies bei der Vorhersage der richtigen Ausgabe für systematisch falsch . Ein Lernalgorithmus hat eine hohe Varianz für eine bestimmte Eingabe Wenn es unterschiedliche Ausgangswerte vorhersagt, wenn es an verschiedenen Trainingssätzen trainiert wird. Der Vorhersagefehler eines gelernten Klassifikators hängt mit der Summe der Verzerrung und der Varianz des Lernalgorithmus zusammen.[4] Im Allgemeinen besteht ein Kompromiss zwischen Voreingenommenheit und Varianz. Ein Lernalgorithmus mit niedriger Verzerrung muss "flexibel" sein, damit er die Daten gut passen kann. Wenn der Lernalgorithmus jedoch zu flexibel ist, passt er für jeden Trainingsdatensatz unterschiedlich und weist daher eine hohe Varianz auf. Ein wesentlicher Aspekt vieler überwachter Lernmethoden ist, dass sie diesen Kompromiss zwischen Verzerrung und Varianz anpassen können (entweder automatisch oder durch Bereitstellung eines Vorspannungs-/Varianzparameters, den der Benutzer anpassen kann).
Funktionskomplexität und Menge an Trainingsdaten
Das zweite Problem ist die Menge an Trainingsdaten, die relativ zur Komplexität der "True" -Funktion (Klassifizierer oder Regressionsfunktion) verfügbar sind. Wenn die wahre Funktion einfach ist, kann ein "unflexibler" Lernalgorithmus mit hoher Verzerrung und niedriger Varianz aus einer kleinen Datenmenge lernen. Wenn die wahre Funktion jedoch hochkomplex ist (z. B., da sie komplexe Wechselwirkungen zwischen vielen verschiedenen Eingabefunktionen beinhaltet und sich in verschiedenen Teilen des Eingaberaums unterschiedlich verhält), kann die Funktion nur aus einer sehr großen Menge an Trainingsdaten lernen und Verwendung eines "flexiblen" Lernalgorithmus mit geringer Verzerrung und hoher Varianz. Es gibt eine klare Abgrenzung zwischen der Eingabe und der gewünschten Ausgabe.
Dimensionalität des Eingangsraums
Ein drittes Problem ist die Dimensionalität des Eingaberaums. Wenn die Eingabefunktionsvektoren eine sehr hohe Dimension haben, kann das Lernproblem schwierig sein, selbst wenn die wahre Funktion nur von einer kleinen Anzahl dieser Funktionen abhängt. Dies liegt daran, dass die vielen "zusätzlichen" Dimensionen den Lernalgorithmus verwirren und dazu führen können, dass er eine hohe Varianz aufweist. Eine hohe Eingangsdimensionen erfordert daher typischerweise das Tuning des Klassifikators, um eine geringe Varianz und eine hohe Verzerrung zu haben. Wenn der Ingenieur irrelevante Merkmale aus den Eingabedaten manuell entfernen kann, verbessert dies wahrscheinlich die Genauigkeit der gelernten Funktion. Darüber hinaus gibt es viele Algorithmen für Merkmalsauswahl die versuchen, die relevanten Merkmale zu identifizieren und die irrelevanten zu verwerfen. Dies ist ein Beispiel für die allgemeinere Strategie von Dimensionsreduzierung, mit der versucht wird, die Eingabedaten in einen niedrigerdimensionalen Raum zuzuordnen, bevor der überwachte Lernalgorithmus ausgeführt wird.
Rauschen in den Ausgangswerten
Ein viertes Problem ist der Grad des Rauschens in den gewünschten Ausgangswerten (die Aufsicht Zielvariablen). Wenn die gewünschten Ausgabewerte häufig falsch sind (aufgrund menschlicher Fehler oder Sensorfehler), sollte der Lernalgorithmus nicht versuchen, eine Funktion zu finden, die genau mit den Trainingsbeispielen übereinstimmt. Der Versuch, die Daten zu sorgfältig zu passen, führt zu sorgfältig zu Überanpassung. Sie können auch wenn es keine Messfehler (stochastisches Rauschen) gibt, wenn die Funktion, die Sie lernen möchten, für Ihr Lernmodell zu komplex ist. In einer solchen Situation wurde der Teil der Zielfunktion, der nicht "Ihre Trainingsdaten" modelliert werden kann - dieses Phänomen wurde aufgerufen deterministisches Rauschen. Wenn beide Geräuschtypen vorhanden sind, ist es besser, mit einer höheren Vorspannung, einem niedrigeren Varianzschätzer, zu gehen.
In der Praxis gibt es mehrere Ansätze zur Linderung von Rauschen in den Ausgangswerten wie z. früh aufhalten verhindern Überanpassung ebenso gut wie Erkennung und Entfernen der lauten Trainingsbeispiele vor dem Training des überwachten Lernalgorithmus. Es gibt mehrere Algorithmen, die identifizierte laute Trainingsbeispiele und das Entfernen der vermuteten, verrückten Trainingsbeispiele vor dem Training haben abgenommen Verallgemeinerungsfehler mit statistische Signifikanz.[5][6]
Andere zu berücksichtigende Faktoren
Weitere Faktoren, die bei der Auswahl und Anwendung eines Lernalgorithmus zu berücksichtigen sind, sind Folgendes:
- Heterogenität der Daten. Wenn die Feature -Vektoren Funktionen vieler verschiedener Arten enthalten (diskret, diskret geordnet, zählt, kontinuierliche Werte), sind einige Algorithmen leichter zu bewerben als andere. Viele Algorithmen, einschließlich Support-Vektor-Maschinen, lineare Regression, logistische Regression, Neuronale Netze, und Nächste NachbarmethodenErfordern, dass die Eingangsmerkmale numerisch und skaliert sind zu ähnlichen Bereichen (z. B. dem [-1,1] -Intervall). Methoden, die eine Entfernungsfunktion verwenden, wie z. Nächste Nachbarmethoden und Support-Vektor-Maschinen mit Gaußschen Kernelnsind besonders empfindlich dafür. Ein Vorteil von Entscheidungsbäume ist, dass sie leicht mit heterogenen Daten umgehen.
- Redundanz in den Daten. Wenn die Eingabefunktionen redundante Informationen (z. B. hochkorrelierte Merkmale) enthalten, einige Lernalgorithmen (z. B.,,,,, lineare Regression, logistische Regression, und Abstandsbasierte Methoden) wird aufgrund numerischer Instabilitäten schlecht abschneiden. Diese Probleme können oft gelöst werden, indem eine Form von auferlegt wird Regulierung.
- Vorhandensein von Wechselwirkungen und Nichtlinearitäten. Wenn jedes der Merkmale einen unabhängigen Beitrag zum Ausgang leistet, dann basieren Algorithmen auf der Grundlage linearer Funktionen (z. B.,, lineare Regression, logistische Regression, Support-Vektor-Maschinen, Naive Bayes) und Entfernungsfunktionen (z. B.,, Nächste Nachbarmethoden, Support-Vektor-Maschinen mit Gaußschen Kerneln) Im Allgemeinen gut abschneiden. Wenn es jedoch komplexe Wechselwirkungen zwischen den Merkmalen gibt, dann sind Algorithmen wie z. Entscheidungsbäume und Neuronale Netze Arbeiten besser, da sie speziell entwickelt wurden, um diese Interaktionen zu entdecken. Lineare Methoden können auch angewendet werden, der Ingenieur muss jedoch die Interaktionen manuell angeben, wenn sie verwendet werden.
Bei der Betrachtung einer neuen Anwendung kann der Ingenieur mehrere Lernalgorithmen vergleichen und experimentell bestimmen, welche am vorliegenden Problem am besten funktioniert (siehe Kreuzvalidierung). Die Leistung eines Lernalgorithmus kann sehr zeitaufwändig sein. Angesichts fester Ressourcen ist es oft besser, mehr Zeit damit zu verbringen, zusätzliche Trainingsdaten und informativere Merkmale zu sammeln, als zusätzliche Zeit damit zu verbringen, die Lernalgorithmen abzustimmen.
Algorithmen
Die am weitesten verbreiteten Lernalgorithmen sind:
- Support-Vektor-Maschinen
- Lineare Regression
- Logistische Regression
- Naive Bayes
- Lineare Diskriminanzanalyse
- Entscheidungsbäume
- K-Nearest Nachbaralgorithmus
- Neuronale Netze (Mehrschichtiger Perceptron)
- Ähnlichkeitslernen
Wie überwachte Lernalgorithmen funktionieren
Bei einem Satz von einem Satz von Trainingsbeispiele für die Form so dass ist der Feature -Vektor des -Th Beispiel und ist sein Etikett (d. H. Klasse), ein Lernalgorithmus sucht eine Funktion , wo ist der Eingaberaum und ist der Ausgangsraum. Die Funktion ist ein Element eines Raums möglicher Funktionen , normalerweise als das genannt Hypotheseraum. Es ist manchmal bequem zu repräsentieren Verwenden einer Bewertungsfunktion so dass ist definiert als Rückgabe der Wert, der die höchste Punktzahl ergibt: . Lassen bezeichnen den Raum der Wertungsfunktionen.
Obwohl und Kann jeder Raum der Funktionen sein, viele Lernalgorithmen sind probabilistische Modelle, wo nimmt die Form von a bedingte Wahrscheinlichkeit Modell , oder nimmt die Form von a Gelenkwahrscheinlichkeit Modell . Zum Beispiel, Naive Bayes und Lineare Diskriminanzanalyse sind gemeinsame Wahrscheinlichkeitsmodelle, während logistische Regression ist ein bedingtes Wahrscheinlichkeitsmodell.
Es gibt zwei grundlegende Ansätze zur Auswahl oder : Empirische Risikominimierung und Strukturrisikominimierung.[7] Eine empirische Risikominimierung sucht nach der Funktion, die am besten zu den Trainingsdaten passt. Die strukturelle Risikominimierung umfasst a Straffunktion Das kontrolliert den Kompromiss zwischen Voreingenommenheit und Varianz.
In beiden Fällen wird angenommen, dass das Trainingssatz aus einer Stichprobe von besteht unabhängige und identisch verteilte Paare, . Um zu messen, wie gut eine Funktion zu den Trainingsdaten passt, a verlustfunktion ist definiert. Als Trainingsbeispiel , der Verlust der Vorhersage des Wertes ist .
Das Risiko der Funktion ist definiert als der erwartete Verlust von . Dies kann aus den Trainingsdaten als geschätzt werden
- .
Empirische Risikominimierung
In der empirischen Risikominimierung sucht der überwachte Lernalgorithmus die Funktion das minimiert . Daher kann ein beaufsichtigter Lernalgorithmus durch Anwenden eines konstruiert werden Optimierungsalgorithmus finden .
Wann ist eine bedingte Wahrscheinlichkeitsverteilung Und die Verlustfunktion ist die negative Log -Wahrscheinlichkeit: , dann entspricht die empirische Risikominimierung gleich Maximum-Likelihood-Schätzung.
Wann Enthält viele Kandidatenfunktionen oder das Trainingssatz ist nicht ausreichend groß, empirische Risikominimierung führt zu einer hohen Varianz und einer schlechten Verallgemeinerung. Der Lernalgorithmus kann sich die Schulungsbeispiele ohne Verallgemeinerung auswendig machen. Das nennt man Überanpassung.
Strukturrisikominimierung
Strukturrisikominimierung versucht, eine Überanpassung zu verhindern, indem a einbezogen werden Regularisierungsstrafe in die Optimierung. Die Regularisierungsstrafe kann als Implementierung einer Form von angesehen werden Ockhams Rasiermesser Das bevorzugt einfachere Funktionen gegenüber komplexeren.
Es wurden eine Vielzahl von Strafen eingesetzt, die unterschiedlichen Definitionen der Komplexität entsprechen. Betrachten Sie beispielsweise den Fall, in dem die Funktion ist eine lineare Funktion der Form
- .
Eine beliebte Regularisierungsstrafe ist , was das Quadrat ist Euklidische Norm der Gewichte, auch bekannt als die Norm. Andere Normen sind die Norm, , und die "Norm", das ist die Anzahl von ungleich Null s. Die Strafe wird mit bezeichnet durch .
Das Problem der beaufsichtigten Lernoptimierung besteht darin, die Funktion zu finden das minimiert
Der Parameter kontrolliert den Vorspannungsvarianz-Kompromiss. Wann Dies ergibt eine empirische Risikominimierung mit geringer Verzerrung und hoher Varianz. Wann ist groß, der Lernalgorithmus hat eine hohe Verzerrung und eine geringe Varianz. Der Wert von kann empirisch durch ausgewählt werden Kreuzvalidierung.
Die Komplexitätsstrafe hat eine Bayes'sche Interpretation als negative Protokollvorgänge von Vorlieben von , , in welchem Fall ist der hintere Wahrscheinlichkeit von .
Generatives Training
Die oben beschriebenen Trainingsmethoden sind Diskriminierende Ausbildung Methoden, weil sie versuchen, eine Funktion zu finden das diskriminiert gut zwischen den verschiedenen Ausgangswerten (siehe Diskriminationsmodell). Für den Sonderfall wo ist ein Gelenkwahrscheinlichkeitsverteilung und die Verlustfunktion ist die negative Log -Wahrscheinlichkeit Ein Risikominimierungsalgorithmus soll eine Leistung erbringen Generatives Training, Weil kann als als angesehen werden Generatives Modell Das erklärt, wie die Daten generiert wurden. Generative Trainingsalgorithmen sind häufig einfacher und rechnerischer als diskriminative Trainingsalgorithmen. In einigen Fällen kann die Lösung in geschlossener Form wie in berechnet werden Naive Bayes und Lineare Diskriminanzanalyse.
Verallgemeinerungen
Es gibt verschiedene Möglichkeiten, wie das standardmäßige beaufsichtigte Lernproblem verallgemeinert werden kann:
- Semi-betriebliches Lernen: In dieser Einstellung werden die gewünschten Ausgabewerte nur für eine Teilmenge der Trainingsdaten bereitgestellt. Die verbleibenden Daten sind nicht angemeldet.
- Schwache Überwachung: In dieser Umgebung werden laut, begrenzte oder ungenaue Quellen verwendet, um das Überwachungssignal für die Kennzeichnung von Trainingsdaten bereitzustellen.
- Aktives Lernen: Anstatt davon auszugehen, dass alle Schulungsbeispiele zu Beginn angegeben werden, sammeln aktive Lernalgorithmen interaktiv neue Beispiele, normalerweise durch Abfragen an einen menschlichen Benutzer. Oft basieren die Abfragen auf nicht beliebigen Daten, was ein Szenario ist, das halbübergreifendes Lernen mit aktivem Lernen kombiniert.
- Strukturierte Vorhersage: Wenn der gewünschte Ausgangswert ein komplexes Objekt ist, z. B. ein Parsebaum oder ein beschrifteter Graphen, müssen Standardmethoden erweitert werden.
- Rang lernen: Wenn die Eingabe eine Reihe von Objekten ist und die gewünschte Ausgabe ein Ranking dieser Objekte ist, müssen die Standardmethoden erneut erweitert werden.
Ansätze und Algorithmen
- Analytisches Lernen
- Künstliche neuronale Netz
- Backpropagation
- Boosting (Meta-Algorithmus)
- Bayes'sche Statistik
- Fallbasierte Argumentation
- Entscheidungsbaumlernen
- Induktive Logikprogrammierung
- Gaußsche Prozessregression
- Genetische Programmierung
- Gruppenmethode der Datenhandhabung
- Kernelschätzer
- Automaten lernen
- Lernklassifikatorsysteme
- Quantisierung von Lernvektor
- Mindestnachrichtslänge (Entscheidungsbäume, Entscheidungsgrafiken usw.)
- Multilineares Subspace -Lernen
- Naiver Bayes -Klassifikator
- Maximaler Entropieklassifizierer
- Bedingte Zufallsfeld
- Nächster Nachbaralgorithmus
- Wahrscheinlich ungefähr korrektes Lernen (PAC) Lernen
- Ripple Down -Regeln, eine Wissenserwerbsmethodik
- Symbolische Algorithmen für maschinelles Lernen
- Subsymbolic Machine Learning Algorithmen
- Support-Vektor-Maschinen
- Mindestkomplexitätsmaschinen (MCM)
- Zufällige Wälder
- Ensembles von Klassifikatoren
- Ordinale Klassifizierung
- Datenvorverarbeitung
- Umgang mit unausgeglichenen Datensätzen
- Statistisches relationales Lernen
- Proaftn, ein Multikriteria -Klassifizierungsalgorithmus
Anwendungen
- Bioinformatik
- Cheminformatik
- Datenbank-Marketing
- Handschrifterkennung
- Informationsrückgewinnung
- Informationsextraktion
- Objekterkennung in Computer Vision
- Optische Zeichenerkennung
- Spam -Erkennung
- Mustererkennung
- Spracherkennung
- Überwachendes Lernen ist ein Sonderfall von Abwärtsursache in biologischen Systemen
- Landformklassifizierung Verwenden Satellitenbilder[8]
- Klassifizierung in Beschaffung Prozesse[9]
Allgemeine Probleme
- Computerlerntheorie
- Induktive Voreingenommenheit
- Überanpassung (maschinelles Lernen)
- (Unkalibriert) Klassenmitgliedschaftswahrscheinlichkeiten
- Unbeaufsichtigtes Lernen
- Versionsräume
Siehe auch
Verweise
- ^ Stuart J. Russell, Peter Norvig (2010) Künstliche Intelligenz: ein moderner Ansatz, Dritte Edition, Prentice Hall ISBN9780136042594.
- ^ Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar (2012) Grundlagen des maschinellen Lernens, Die MIT -Presse ISBN9780262018258.
- ^ S. Gememan, E. Bienenstock und R. Doursat (1992). Neuronale Netze und das Verzerrung/Varianzdilemma. Neuralberechnung 4, 1–58.
- ^ G. James (2003) Varianz und Verzerrung für allgemeine Verlustfunktionen, maschinelles Lernen 51, 115-135. (http://www-bcf.usc.edu/~gareth/research/bv.pdf)
- ^ C. E. Brodely und M. A. Friedl (1999). Identifizierung und Eliminierung fehlgerichteter Trainingsinstanzen, Journal of Artificial Intelligence Research 11, 131-167. (http://jair.org/media/606/live-606-1803-jair.pdf)
- ^ M. R. Smith und T. Martinez (2011). "Verbesserung der Klassifizierungsgenauigkeit durch Identifizierung und Entfernen von Instanzen, die falsch klassifiziert werden sollten". Proceedings der internationalen gemeinsamen Konferenz über neuronale Netze (IJCNN 2011). S. 2690–2697. Citeseerx 10.1.1.221.1371. doi:10.1109/ijcnn.2011.6033571.
- ^ Vapnik, V. N. Die Natur der statistischen Lerntheorie (2. Aufl.), Springer Verlag, 2000.
- ^ A. Maity (2016). "Überwachende Klassifizierung von Radarsat-2-polarimetrischen Daten für verschiedene Landmerkmale". Arxiv:1608.00501 [cs.cv].
- ^ "Schlüsseltechnologien für agile Beschaffung | SIPMM -Veröffentlichungen". publication.sipmm.edu.sg. 2020-10-09. Abgerufen 2022-06-16.