Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Neuronales Netzwerk mit Scikit-Learn | Neural Network von Grund Auf
Einführung in Neuronale Netze

bookNeuronales Netzwerk mit Scikit-Learn

Die Arbeit mit neuronalen Netzen kann ziemlich anspruchsvoll sein, insbesondere wenn sie von Grund auf erstellt werden. Anstatt Algorithmen und Formeln manuell zu programmieren, können Sie fertige Werkzeuge wie die Bibliothek sklearn verwenden.

Vorteile der Verwendung von sklearn

  1. Benutzerfreundlichkeit: Es ist nicht erforderlich, sich tiefgehend mit den Details jedes Algorithmus zu beschäftigen. Vorgefertigte Methoden und Klassen können direkt genutzt werden;

  2. Optimierung: Die Bibliothek sklearn ist auf Leistung optimiert, was die Trainingszeit des Modells verkürzen kann;

  3. Umfangreiche Dokumentation: sklearn bietet eine umfassende Dokumentation mit Anwendungsbeispielen, was den Lernprozess erheblich beschleunigen kann;

  4. Kompatibilität: sklearn lässt sich gut mit anderen bekannten Python-Bibliotheken wie numpy, pandas und matplotlib integrieren.

Perzeptron in sklearn

Um das gleiche Modell wie in diesem Abschnitt zu erstellen, kann die Klasse MLPClassifier aus der Bibliothek sklearn verwendet werden. Die wichtigsten Parameter sind:

  • max_iter: Legt die maximale Anzahl an Epochen für das Training fest;
  • hidden_layer_sizes: Gibt die Anzahl der Neuronen in jeder versteckten Schicht als Tupel an;
  • learning_rate_init: Setzt die Lernrate für die Gewichtsanpassungen.
Note
Hinweis

Standardmäßig verwendet der MLPClassifier die ReLU-Aktivierungsfunktion für versteckte Schichten. Für binäre Klassifikation entspricht die Ausgabeschicht im Wesentlichen der von Ihnen implementierten.

Beispielsweise kann mit nur einer Codezeile ein Perzeptron mit zwei versteckten Schichten mit jeweils 10 Neuronen erstellt werden, wobei maximal 100 Epochen für das Training und eine Lernrate von 0.5 verwendet werden:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Hinweis

Neuronale Netze in sklearn bestimmen die Anzahl der Eingaben und Ausgaben basierend auf den Trainingsdaten. Daher ist es nicht erforderlich, diese manuell festzulegen.

Wie bei unserer eigenen Implementierung besteht das Trainieren des Modells einfach darin, die Methode fit() aufzurufen:

model.fit(X_train, y_train)

Um die vorhergesagten Labels zu erhalten (z. B. für den Testdatensatz), genügt es, die Methode predict() aufzurufen:

y_pred = model.predict(X_test)
Aufgabe

Swipe to start coding

Ziel ist es, einen Perzeptron mit derselben Struktur wie zuvor implementiert zu erstellen, zu trainieren und auszuwerten, jedoch unter Verwendung der sklearn-Bibliothek:

  1. Initialisierung eines Perzeptrons mit 100 Trainingsepochen, zwei versteckten Schichten mit jeweils 6 Neuronen und einer Lernrate von 0.01 (Parameter in genau dieser Reihenfolge setzen).
  2. Training des Modells mit den Trainingsdaten.
  3. Ermittlung der Vorhersagen auf dem Testdatensatz.
  4. Berechnung der Genauigkeit des Modells auf dem Testdatensatz.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 13
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain what the `MLPClassifier` is used for?

What do the parameters like `max_iter` and `hidden_layer_sizes` mean in practice?

How do I interpret the results from `model.predict()`?

close

Awesome!

Completion rate improved to 4

bookNeuronales Netzwerk mit Scikit-Learn

Swipe um das Menü anzuzeigen

Die Arbeit mit neuronalen Netzen kann ziemlich anspruchsvoll sein, insbesondere wenn sie von Grund auf erstellt werden. Anstatt Algorithmen und Formeln manuell zu programmieren, können Sie fertige Werkzeuge wie die Bibliothek sklearn verwenden.

Vorteile der Verwendung von sklearn

  1. Benutzerfreundlichkeit: Es ist nicht erforderlich, sich tiefgehend mit den Details jedes Algorithmus zu beschäftigen. Vorgefertigte Methoden und Klassen können direkt genutzt werden;

  2. Optimierung: Die Bibliothek sklearn ist auf Leistung optimiert, was die Trainingszeit des Modells verkürzen kann;

  3. Umfangreiche Dokumentation: sklearn bietet eine umfassende Dokumentation mit Anwendungsbeispielen, was den Lernprozess erheblich beschleunigen kann;

  4. Kompatibilität: sklearn lässt sich gut mit anderen bekannten Python-Bibliotheken wie numpy, pandas und matplotlib integrieren.

Perzeptron in sklearn

Um das gleiche Modell wie in diesem Abschnitt zu erstellen, kann die Klasse MLPClassifier aus der Bibliothek sklearn verwendet werden. Die wichtigsten Parameter sind:

  • max_iter: Legt die maximale Anzahl an Epochen für das Training fest;
  • hidden_layer_sizes: Gibt die Anzahl der Neuronen in jeder versteckten Schicht als Tupel an;
  • learning_rate_init: Setzt die Lernrate für die Gewichtsanpassungen.
Note
Hinweis

Standardmäßig verwendet der MLPClassifier die ReLU-Aktivierungsfunktion für versteckte Schichten. Für binäre Klassifikation entspricht die Ausgabeschicht im Wesentlichen der von Ihnen implementierten.

Beispielsweise kann mit nur einer Codezeile ein Perzeptron mit zwei versteckten Schichten mit jeweils 10 Neuronen erstellt werden, wobei maximal 100 Epochen für das Training und eine Lernrate von 0.5 verwendet werden:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Hinweis

Neuronale Netze in sklearn bestimmen die Anzahl der Eingaben und Ausgaben basierend auf den Trainingsdaten. Daher ist es nicht erforderlich, diese manuell festzulegen.

Wie bei unserer eigenen Implementierung besteht das Trainieren des Modells einfach darin, die Methode fit() aufzurufen:

model.fit(X_train, y_train)

Um die vorhergesagten Labels zu erhalten (z. B. für den Testdatensatz), genügt es, die Methode predict() aufzurufen:

y_pred = model.predict(X_test)
Aufgabe

Swipe to start coding

Ziel ist es, einen Perzeptron mit derselben Struktur wie zuvor implementiert zu erstellen, zu trainieren und auszuwerten, jedoch unter Verwendung der sklearn-Bibliothek:

  1. Initialisierung eines Perzeptrons mit 100 Trainingsepochen, zwei versteckten Schichten mit jeweils 6 Neuronen und einer Lernrate von 0.01 (Parameter in genau dieser Reihenfolge setzen).
  2. Training des Modells mit den Trainingsdaten.
  3. Ermittlung der Vorhersagen auf dem Testdatensatz.
  4. Berechnung der Genauigkeit des Modells auf dem Testdatensatz.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 13
single

single

some-alt