KI mit Python - Maschinelles Lernen
Lernen bedeutet den Erwerb von Wissen oder Fähigkeiten durch Studium oder Erfahrung. Auf dieser Grundlage können wir maschinelles Lernen (ML) wie folgt definieren:
Es kann als das Gebiet der Informatik definiert werden, genauer gesagt als Anwendung künstlicher Intelligenz, die Computersystemen die Fähigkeit bietet, mit Daten zu lernen und aus Erfahrungen zu verbessern, ohne explizit programmiert zu werden.
Grundsätzlich liegt das Hauptaugenmerk des maschinellen Lernens darauf, dass die Computer ohne menschliches Eingreifen automatisch lernen können. Nun stellt sich die Frage, wie ein solches Lernen begonnen und durchgeführt werden kann. Es kann mit den Beobachtungen von Daten begonnen werden. Die Daten können einige Beispiele, Anweisungen oder auch direkte Erfahrungen sein. Auf der Grundlage dieser Eingabe trifft die Maschine dann eine bessere Entscheidung, indem sie nach einigen Mustern in Daten sucht.
Arten des maschinellen Lernens (ML)
Algorithmen für maschinelles Lernen helfen dem Computersystem beim Lernen, ohne explizit programmiert zu werden. Diese Algorithmen werden in überwacht oder unbeaufsichtigt eingeteilt. Lassen Sie uns nun einige Algorithmen sehen -
Überwachte Algorithmen für maschinelles Lernen
Dies ist der am häufigsten verwendete Algorithmus für maschinelles Lernen. Es wird als überwacht bezeichnet, da der Prozess des Algorithmuslernens aus dem Trainingsdatensatz als ein Lehrer betrachtet werden kann, der den Lernprozess überwacht. Bei dieser Art von ML-Algorithmus sind die möglichen Ergebnisse bereits bekannt und die Trainingsdaten sind auch mit korrekten Antworten gekennzeichnet. Es kann wie folgt verstanden werden:
Angenommen, wir haben Eingabevariablen x und eine Ausgabevariable y und wir haben einen Algorithmus angewendet, um die Zuordnungsfunktion von der Eingabe zur Ausgabe zu lernen, wie z.
Y = f(x)
Das Hauptziel besteht nun darin, die Zuordnungsfunktion so gut zu approximieren, dass wir bei neuen Eingabedaten (x) die Ausgabevariable (Y) für diese Daten vorhersagen können.
Hauptsächlich überwachte Neigungsprobleme können in die folgenden zwei Arten von Problemen unterteilt werden:
Classification - Ein Problem wird als Klassifizierungsproblem bezeichnet, wenn wir die kategorisierten Ausgaben wie "Schwarz", "Lehren", "Nicht-Lehren" usw. haben.
Regression - Ein Problem wird als Regressionsproblem bezeichnet, wenn die tatsächliche Wertausgabe wie "Entfernung", "Kilogramm" usw. vorliegt.
Entscheidungsbaum, Zufallswald, Knn, logistische Regression sind Beispiele für überwachte Algorithmen für maschinelles Lernen.
Unüberwachte Algorithmen für maschinelles Lernen
Wie der Name schon sagt, haben diese Arten von Algorithmen für maschinelles Lernen keinen Supervisor, der irgendeine Art von Anleitung bietet. Aus diesem Grund sind unbeaufsichtigte Algorithmen für maschinelles Lernen eng mit dem verbunden, was manche als echte künstliche Intelligenz bezeichnen. Es kann wie folgt verstanden werden:
Angenommen, wir haben die Eingabevariable x, dann gibt es keine entsprechenden Ausgabevariablen wie bei überwachten Lernalgorithmen.
Mit einfachen Worten können wir sagen, dass es beim unbeaufsichtigten Lernen keine richtige Antwort und keinen Lehrer für die Anleitung gibt. Algorithmen helfen dabei, interessante Muster in Daten zu entdecken.
Unbeaufsichtigte Lernprobleme können in die folgenden zwei Arten von Problemen unterteilt werden:
Clustering- Bei Clustering-Problemen müssen wir die inhärenten Gruppierungen in den Daten ermitteln. Gruppieren Sie beispielsweise Kunden nach ihrem Kaufverhalten.
Association- Ein Problem wird als Assoziationsproblem bezeichnet, da für solche Probleme die Regeln ermittelt werden müssen, die große Teile unserer Daten beschreiben. Zum Beispiel die Kunden finden, die beide kaufenx und y.
K-Mittel für Clustering, Apriori-Algorithmus für Assoziationen sind Beispiele für unbeaufsichtigte Algorithmen für maschinelles Lernen.
Algorithmen für maschinelles Lernen zur Verstärkung
Diese Arten von Algorithmen für maschinelles Lernen werden sehr wenig verwendet. Diese Algorithmen trainieren die Systeme, um bestimmte Entscheidungen zu treffen. Grundsätzlich ist die Maschine einer Umgebung ausgesetzt, in der sie sich kontinuierlich mit der Trial-and-Error-Methode trainiert. Diese Algorithmen lernen aus früheren Erfahrungen und versuchen, das bestmögliche Wissen zu erfassen, um genaue Entscheidungen zu treffen. Der Markov-Entscheidungsprozess ist ein Beispiel für maschinelle Lernalgorithmen zur Verstärkung.
Die gängigsten Algorithmen für maschinelles Lernen
In diesem Abschnitt lernen wir die gängigsten Algorithmen für maschinelles Lernen kennen. Die Algorithmen werden unten beschrieben -
Lineare Regression
Es ist einer der bekanntesten Algorithmen für Statistik und maschinelles Lernen.
Grundkonzept - Die hauptsächlich lineare Regression ist ein lineares Modell, das eine lineare Beziehung zwischen den Eingangsvariablen x und der einzelnen Ausgangsvariablen y annimmt. Mit anderen Worten können wir sagen, dass y aus einer linearen Kombination der Eingangsvariablen x berechnet werden kann. Die Beziehung zwischen Variablen kann durch Anpassen einer besten Linie hergestellt werden.
Arten der linearen Regression
Es gibt zwei Arten der linearen Regression:
Simple linear regression - Ein linearer Regressionsalgorithmus wird als einfache lineare Regression bezeichnet, wenn er nur eine unabhängige Variable hat.
Multiple linear regression - Ein linearer Regressionsalgorithmus wird als multiple lineare Regression bezeichnet, wenn er mehr als eine unabhängige Variable enthält.
Die lineare Regression wird hauptsächlich verwendet, um die realen Werte basierend auf kontinuierlichen Variablen zu schätzen. Beispielsweise kann der Gesamtverkauf eines Geschäfts an einem Tag basierend auf realen Werten durch lineare Regression geschätzt werden.
Logistische Regression
Es ist ein Klassifizierungsalgorithmus und auch bekannt als logit Regression.
Hauptsächlich ist die logistische Regression ein Klassifizierungsalgorithmus, der verwendet wird, um die diskreten Werte wie 0 oder 1, wahr oder falsch, ja oder nein basierend auf einem gegebenen Satz unabhängiger Variablen zu schätzen. Grundsätzlich sagt es die Wahrscheinlichkeit voraus, daher liegt seine Ausgabe zwischen 0 und 1.
Entscheidungsbaum
Der Entscheidungsbaum ist ein überwachter Lernalgorithmus, der hauptsächlich für Klassifizierungsprobleme verwendet wird.
Grundsätzlich handelt es sich um einen Klassifikator, der als rekursive Partition basierend auf den unabhängigen Variablen ausgedrückt wird. Der Entscheidungsbaum hat Knoten, die den Wurzelbaum bilden. Der verwurzelte Baum ist ein gerichteter Baum mit einem Knoten namens "Wurzel". Root hat keine eingehenden Kanten und alle anderen Knoten haben eine eingehende Kante. Diese Knoten werden Blätter oder Entscheidungsknoten genannt. Betrachten Sie beispielsweise den folgenden Entscheidungsbaum, um festzustellen, ob eine Person fit ist oder nicht.
Support Vector Machine (SVM)
Es wird sowohl für Klassifizierungs- als auch für Regressionsprobleme verwendet. Aber hauptsächlich wird es für Klassifizierungsprobleme verwendet. Das Hauptkonzept von SVM besteht darin, jedes Datenelement als Punkt im n-dimensionalen Raum darzustellen, wobei der Wert jedes Merkmals der Wert einer bestimmten Koordinate ist. Hier wären n die Funktionen, die wir hätten. Es folgt eine einfache grafische Darstellung, um das Konzept von SVM zu verstehen.
Im obigen Diagramm haben wir zwei Merkmale, daher müssen wir diese beiden Variablen zuerst in einem zweidimensionalen Raum darstellen, in dem jeder Punkt zwei Koordinaten hat, die als Unterstützungsvektoren bezeichnet werden. Die Zeile teilt die Daten in zwei verschiedene klassifizierte Gruppen auf. Diese Zeile wäre der Klassifikator.
Naive Bayes
Es ist auch eine Klassifizierungstechnik. Die Logik hinter dieser Klassifikationstechnik besteht darin, den Bayes-Satz zum Erstellen von Klassifikatoren zu verwenden. Die Annahme ist, dass die Prädiktoren unabhängig sind. In einfachen Worten wird davon ausgegangen, dass das Vorhandensein eines bestimmten Merkmals in einer Klasse nicht mit dem Vorhandensein eines anderen Merkmals zusammenhängt. Unten ist die Gleichung für den Bayes-Satz -
$$ P \ left (\ frac {A} {B} \ right) = \ frac {P \ left (\ frac {B} {A} \ right) P \ left (A \ right)} {P \ left ( B \ rechts)} $$
Das Naive Bayes-Modell ist einfach zu erstellen und besonders nützlich für große Datenmengen.
K-Nächste Nachbarn (KNN)
Es wird sowohl zur Klassifizierung als auch zur Regression der Probleme verwendet. Es wird häufig zur Lösung von Klassifizierungsproblemen verwendet. Das Hauptkonzept dieses Algorithmus besteht darin, dass er alle verfügbaren Fälle speichert und neue Fälle mit der Mehrheit der Stimmen seiner k Nachbarn klassifiziert. Der Fall wird dann der Klasse zugeordnet, die unter ihren K-nächsten Nachbarn am häufigsten vorkommt, gemessen durch eine Distanzfunktion. Die Distanzfunktion kann euklidische, Minkowski- und Hamming-Distanz sein. Beachten Sie Folgendes, um KNN zu verwenden:
Computergestützte KNN sind teurer als andere Algorithmen, die für Klassifizierungsprobleme verwendet werden.
Die Normalisierung von Variablen, die ansonsten für Variablen mit höherem Bereich benötigt werden, kann sie beeinflussen.
In KNN müssen wir an einer Vorverarbeitungsstufe wie der Rauschunterdrückung arbeiten.
K-Means Clustering
Wie der Name schon sagt, wird es verwendet, um die Clustering-Probleme zu lösen. Es ist im Grunde eine Art unbeaufsichtigtes Lernen. Die Hauptlogik des K-Means-Clustering-Algorithmus besteht darin, den Datensatz durch eine Reihe von Clustern zu klassifizieren. Befolgen Sie diese Schritte, um mit K-Mitteln Cluster zu bilden -
K-means wählt k Punkte für jeden Cluster aus, der als Zentroide bezeichnet wird.
Jetzt bildet jeder Datenpunkt einen Cluster mit den nächsten Schwerpunkten, dh k Clustern.
Jetzt werden die Schwerpunkte jedes Clusters basierend auf den vorhandenen Clustermitgliedern gefunden.
Wir müssen diese Schritte wiederholen, bis Konvergenz auftritt.
Zufälliger Wald
Es ist ein überwachter Klassifizierungsalgorithmus. Der Vorteil des Random Forest-Algorithmus besteht darin, dass er sowohl für Klassifizierungs- als auch für Regressionsprobleme verwendet werden kann. Grundsätzlich ist es die Sammlung von Entscheidungsbäumen (dh Wald) oder man kann sagen, Ensemble der Entscheidungsbäume. Das Grundkonzept des zufälligen Waldes besteht darin, dass jeder Baum eine Klassifizierung gibt und der Wald die besten Klassifizierungen aus ihnen auswählt. Das Folgende sind die Vorteile des Random Forest-Algorithmus -
Der zufällige Gesamtstrukturklassifizierer kann sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet werden.
Sie können mit den fehlenden Werten umgehen.
Es passt nicht zu dem Modell, selbst wenn wir mehr Bäume im Wald haben.