machine-learning
Überwachtes Lernen
Suche…
Einstufung
Stellen Sie sich vor, ein System möchte Äpfel und Orangen in einem Obstkorb erkennen. Das System kann eine Frucht pflücken, etwas davon extrahieren (z. B. das Gewicht dieser Frucht).
Angenommen, das System hat einen Lehrer! das lehrt das System, welche Objekte Äpfel und welche Orangen sind . Dies ist ein Beispiel eines überwachten Klassifizierungsproblems . Es wird überwacht, weil wir Beispiele beschriftet haben. Es ist eine Klassifizierung, weil die Ausgabe eine Vorhersage ist, zu welcher Klasse unser Objekt gehört.
In diesem Beispiel betrachten wir 3 Merkmale (Eigenschaften / erklärende Variablen):
- ist das Gewicht der ausgewählten Frucht größer als 0,5 Gramm
- ist größer als 10 cm
- ist die Farbe rot
(0 bedeutet Nein und 1 bedeutet Ja)
Um einen Apfel / eine Orange darzustellen, haben wir eine Reihe (Vektor genannt) von 3 Eigenschaften (oft auch Merkmalsvektor genannt).
(zB [0,0,1] bedeutet, dass dieses Fruchtgewicht nicht größer als 0,5 Gramm ist und die Größe nicht größer als 10 cm ist und die Farbe rot ist.)
Also wählen wir 10 Früchte zufällig aus und messen ihre Eigenschaften. Der Lehrer (Mensch) beschriftet dann jedes Obst manuell als Apfel => [1] oder Orange => [2] .
zB) Der Lehrer wählt eine Frucht aus, die Apfel ist. Die Darstellung dieses Apfels für das System könnte etwa folgendermaßen aussehen: [1, 1, 1] => [1] . Dies bedeutet, dass diese Frucht 1. Gewicht größer als 0,5 Gramm , 2. Größe größer als 10 cm und 3 hat. Die Farbe dieser Frucht ist rot und schließlich ist es ein Apfel (=> [1])
Für alle 10 Früchte bezeichnet der Lehrer jede Frucht als Apfel [=> 1] oder Orange [=> 2] und das System hat ihre Eigenschaften gefunden. Wie Sie vermuten, haben wir eine Reihe von Vektoren (das nannte sie Matrix), um ganze 10 Früchte darzustellen.
Fruchtklassifizierung
In diesem Beispiel lernt ein Modell, Obst mit bestimmten Merkmalen zu klassifizieren, wobei die Etiketten für das Training verwendet werden.
Gewicht | Farbe | Etikette |
---|---|---|
0,5 | Grün | Apfel |
0,6 | lila | Pflaume |
3 | Grün | Wassermelone |
0,1 | rot | Kirsche |
0,5 | rot | Apfel |
Hier verwendet ein Modell Gewicht und Farbe als Merkmale, um das Label vorherzusagen. Zum Beispiel sollte [0,15, 'rot'] zu einer 'Kirsch'-Vorhersage führen.
Einführung in das überwachte Lernen
Es gibt eine Reihe von Situationen, in denen große Datenmengen zur Verfügung stehen und in denen er ein Objekt in eine von mehreren bekannten Klassen klassifizieren muss. Betrachten Sie die folgenden Situationen:
Bankwesen: Wenn eine Bank eine Anfrage von einem Kunden nach einer Bankkarte erhält, muss die Bank auf der Grundlage der Merkmale ihrer Kunden entscheiden, ob sie die Bankkarte ausstellen oder nicht ausstellen soll.
Medizin: Vielleicht interessiert es Sie, ein medizinisches System zu entwickeln, das einen Patienten unabhängig davon, ob er eine bestimmte Krankheit hat oder nicht, auf der Grundlage der beobachteten Symptome und der an diesem Patienten durchgeführten medizinischen Tests diagnostiziert.
Finanzen: Ein Finanzberatungsunternehmen möchte die Entwicklung des Aktienkurses vorhersagen, die aufgrund verschiedener technischer Merkmale, die die Kursbewegung bestimmen, in Aufwärts-, Abwärts- oder keinen Trend klassifiziert werden kann.
Genexpression : Ein Wissenschaftler, der die Genexpressionsdaten analysiert, möchte die relevantesten Gene und Risikofaktoren von Brustkrebs identifizieren, um gesunde Patienten von Brustkrebspatientinnen zu trennen.
In allen obigen Beispielen wird ein Objekt in eine von mehreren bekannten Klassen eingeteilt, basierend auf den Messungen, die anhand einer Reihe von Merkmalen vorgenommen wurden, von denen er annimmt, dass sie die Objekte verschiedener Klassen unterscheiden. Diese Variablen werden Prädiktorvariablen genannt , und die Klassenbezeichnung wird als abhängige Variable bezeichnet. Beachten Sie, dass in allen obigen Beispielen die abhängige Variable kategorial ist .
Um ein Modell für das Klassifizierungsproblem zu entwickeln, benötigen wir für jedes Objekt Daten zu einem Satz von vorgeschriebenen Merkmalen zusammen mit den Klassenbezeichnungen, zu denen die Objekte gehören. Der Datensatz ist in einem vorgegebenen Verhältnis in zwei Sätze unterteilt. Der größere dieser Datensätze wird als Trainingsdatensatz und der andere Testdatensatz bezeichnet . Der Trainingsdatensatz wird bei der Entwicklung des Modells verwendet. Da das Modell anhand von Beobachtungen entwickelt wird, deren Klassenbezeichnungen bekannt sind, werden diese Modelle als überwachte Lernmodelle bezeichnet.
Nach der Entwicklung des Modells ist das Modell anhand des Testdatensatzes auf seine Leistungsfähigkeit zu bewerten. Das Ziel eines Klassifizierungsmodells besteht darin, eine minimale Wahrscheinlichkeit einer Fehlklassifizierung bei den ungesehenen Beobachtungen zu haben. Beobachtungen, die nicht in der Modellentwicklung verwendet werden, werden als unsichtbare Beobachtungen bezeichnet.
Die Entscheidungsbauminduktion ist eine der Klassifizierungsmodellbildungstechniken. Das für die kategoriale abhängige Variable erstellte Entscheidungsbaummodell wird Klassifizierungsbaum genannt . Die abhängige Variable könnte bei bestimmten Problemen numerisch sein. Das für numerisch abhängige Variablen entwickelte Entscheidungsbaummodell wird als Regressionsbaum bezeichnet .
Lineare Regression
Überwachtes Lernen besteht aus einer Ziel- oder Ergebnisvariablen (oder abhängigen Variablen), die aus einem bestimmten Satz von Prädiktoren (unabhängigen Variablen) vorhergesagt werden soll. Mit diesen Variablen erzeugen wir eine Funktion, die Eingaben den gewünschten Ausgaben zuordnet. Der Trainingsprozess wird fortgesetzt, bis das Modell eine gewünschte Genauigkeit der Trainingsdaten erreicht.
Daher gibt es viele Beispiele für Überwachungsalgorithmen, weshalb ich mich in diesem Fall auf die lineare Regression konzentrieren möchte
Lineare Regression Wird verwendet, um die realen Werte (Kosten der Häuser, Anzahl der Anrufe, Gesamtumsatz usw.) basierend auf kontinuierlichen Variablen zu schätzen. Hier stellen wir eine Beziehung zwischen unabhängigen und abhängigen Variablen her, indem wir eine beste Linie anpassen. Diese Best-Fit-Linie ist als Regressionslinie bekannt und wird durch eine lineare Gleichung Y = a * X + b dargestellt.
Der beste Weg, die lineare Regression zu verstehen, besteht darin, diese Kindheitserfahrung erneut zu erleben. Nehmen wir an, Sie bitten ein Kind in der fünften Klasse, die Menschen in seiner Klasse durch Erhöhung der Gewichtsklasse zu ordnen, ohne sie nach ihrem Gewicht zu fragen! Was glaubst du wird das Kind machen? Er / sie würde wahrscheinlich die Höhe und den Körper von Menschen betrachten (visuell analysieren) und sie unter Verwendung einer Kombination dieser sichtbaren Parameter anordnen.
Dies ist eine lineare Regression im wirklichen Leben! Das Kind hat tatsächlich herausgefunden, dass Höhe und Körperbau durch eine Beziehung mit dem Gewicht korreliert werden, die der obigen Gleichung ähnelt.
In dieser Gleichung:
Y – Dependent Variable
a – Slope
X – Independent variable
b – Intercept
Diese Koeffizienten a und b werden basierend auf der Minimierung der Summe der quadratischen Differenz der Entfernung zwischen Datenpunkten und Regressionsgeraden abgeleitet.
Schauen Sie sich das Beispiel unten an. Hier haben wir die Best-Fit-Linie mit der linearen Gleichung y = 0,2811x + 13,9 identifiziert. Mit dieser Gleichung können wir nun das Gewicht ermitteln, indem wir die Körpergröße einer Person kennen.
Die lineare Regression umfasst hauptsächlich zwei Typen: die einfache lineare Regression und die multiple lineare Regression. Die einfache lineare Regression ist durch eine unabhängige Variable gekennzeichnet. Multiple lineare Regression (wie der Name schon sagt) ist durch mehrere (mehr als 1) unabhängige Variablen gekennzeichnet. Während Sie die beste Linie finden, können Sie eine polynomiale oder krummlinige Regression vornehmen. Und diese sind als polynomiale oder krummlinige Regression bekannt.
Nur ein Hinweis zur Implementierung der linearen Regression in Python
#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model
#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
# Create linear regression object
linear = linear_model.LinearRegression()
# Train the model using the training sets and check score
linear.fit(x_train, y_train)
linear.score(x_train, y_train)
#Equation coefficient and Intercept
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)
#Predict Output
predicted= linear.predict(x_test)
Ich habe einen Einblick in das Verständnis von Supervised Learning gegeben, das sich mit dem linearen Regressionsalgorithmus und einem kurzen Ausschnitt aus Python-Code beschäftigt.