Machine Learning 101: Eine Einführung mit Codebeispielen

Mar 25 2023
Da der Bereich der künstlichen Intelligenz und des maschinellen Lernens weiter wächst und sich weiterentwickelt, gibt es immer wieder neue Trends und Entwicklungen, die man im Auge behalten sollte. Zwei der derzeit aufregendsten Trends in der Branche sind Chatbots und ChatGPT.

Da der Bereich der künstlichen Intelligenz und des maschinellen Lernens weiter wächst und sich weiterentwickelt, gibt es immer wieder neue Trends und Entwicklungen, die man im Auge behalten sollte. Zwei der derzeit aufregendsten Trends in der Branche sind Chatbots und ChatGPT. Wir hören fast täglich Wörter wie KI, ML, NLP in Nachrichten, sozialen Medien usw., was Sie fragen lässt – was zum Teufel ist das für den Anfang?

Als jemand, der derzeit kurz vor seinem Abschluss im Master of Information and Data Science (MIDS)-Programm der UC Berkeley steht, verstehe ich, wie einschüchternd maschinelles Lernen und KI sein können. Aber es muss nicht sein! In diesem Artikel werde ich die Grundlagen des maschinellen Lernens, einschließlich des überwachten und nicht überwachten Lernens, mit Code- und mathematischen Beispielen aufschlüsseln, die jeder verstehen kann.

Lassen Sie uns zunächst definieren, was maschinelles Lernen ist. Einfach ausgedrückt: „ Es ist der Prozess, ein Computerprogramm darauf zu trainieren, aus Daten zu lernen, damit es auf der Grundlage dieser Daten Vorhersagen treffen oder Maßnahmen ergreifen kann“ . Es gibt zwei Haupttypen des maschinellen Lernens: überwachtes und unüberwachtes Lernen.

Überwachtes Lernen ist, wenn dem Computerprogramm gekennzeichnete Daten zum Lernen gegeben werden. Beginnen wir mit einem einfachen Beispiel aus der Praxis, bei dem Sie dem ML-Algorithmus einen Datensatz mit Immobilienpreisen geben könnten, wobei jeder Datenpunkt die Größe des Hauses und seinen Preis enthält. Der Algorithmus würde lernen, den Preis eines neuen Hauses anhand seiner Größe vorherzusagen. Mal sehen, wie das an einem Beispiel funktioniert.

Wir beginnen mit dem Import einiger Bibliotheken, die wir für dieses Beispiel benötigen: numpy und scikit-learn.

import numpy as np
from sklearn.linear_model import LinearRegression

Als Nächstes erstellen wir unser Dataset. Wir verwenden einen einfachen Datensatz von 6 Häusern, wobei die Größe des Hauses der Input (in Quadratfuß) und der Preis der Output (in Tausend Dollar) ist.

X = np.array([[1400], [1600], [1700], [1875], [1100], [1550]])
y = np.array([245, 312, 279, 308, 199, 219])

Jetzt erstellen wir unser lineares Regressionsmodell und passen es an die Daten an. Für diejenigen, die nicht wissen, was lineare Regression ist, es ist eine Art Mathematik, die uns hilft, herauszufinden, wie zwei Dinge miteinander zusammenhängen. In unserem Fall möchten wir beispielsweise wissen, wie der Preis eines Hauses mit seiner Größe zusammenhängt. Um dies herauszufinden, nehmen wir eine Reihe von Häusern, deren Größe und Preis wir kennen, und ziehen eine Linie durch sie, die am besten zu den Daten passt. Diese Linie wird als „ Linie der besten Anpassung “ bezeichnet. Sobald wir diese Linie haben, können wir sie verwenden, um Vorhersagen zu treffen. Wenn wir also ein neues Haus haben, dessen Preis wir nicht kennen, aber wir wissen, wie groß es ist, können wir die Linie verwenden, um zu schätzen, wie viel es kosten könnte.

Das ist im Grunde genommen die lineare Regression – es ist eine Möglichkeit, die Beziehung zwischen zwei Dingen zu finden und sie zu verwenden, um Vorhersagen zu treffen.

Lassen Sie uns damit mit unserem Code fortfahren. Hier erstellen wir unser lineares Regressionsmodell und passen es an die Daten an. Zuerst erstellen wir eine Instanz der LinearRegression-Klasse, die unser Modell sein wird. Dann rufen wir die Methode fit() für unser Modell auf und übergeben unsere Eingabe- und Ausgabedaten. Dadurch wird das Modell anhand unserer Daten trainiert und für Vorhersagen vorbereitet:

model = LinearRegression()
model.fit(X, y)

print(model.predict([[1500]]))

Das ist es! Mit nur wenigen Codezeilen haben wir ein einfaches lineares Regressionsmodell erstellt, das Vorhersagen basierend auf Eingabedaten treffen kann. Natürlich ist dies nur der Anfang dessen, was Sie mit maschinellem Lernen tun können.

Unüberwachtes Lernen liegt vor, wenn dem Computerprogramm unbeschriftete Daten zum Lernen gegeben werden. Beispielsweise könnten Sie dem Programm einen Datensatz von Kundeneinkäufen in einem Lebensmittelgeschäft ohne Etiketten geben. Das Programm würde lernen, ähnliche Einkäufe zu gruppieren, beispielsweise Kunden, die Milch und Brot zusammen kaufen.

Abschließend meine Gedanken, maschinelles Lernen ist ein spannendes Feld mit endlosen Möglichkeiten. Mit nur wenigen Codezeilen und etwas grundlegender Mathematik können Sie dieses Feld auf eigene Faust erkunden. Ich hoffe, dieser Artikel hat Ihnen eine gute Einführung in die Grundlagen des maschinellen Lernens gegeben und Sie inspiriert, mehr zu lernen!