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 recht anspruchsvoll sein, insbesondere wenn diese von Grund auf erstellt werden. Anstatt Algorithmen und Formeln manuell zu programmieren, können vorgefertigte Werkzeuge wie die Bibliothek sklearn verwendet werden.

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 die versteckten Schichten. Bei binärer Klassifikation entspricht die Ausgabeschicht im Wesentlichen der von Ihnen implementierten.

Beispielsweise kann mit einer einzigen 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 anhand der Trainingsdaten. Daher ist keine manuelle Festlegung erforderlich.

Wie bei unserer 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

Das Ziel ist es, einen Perzeptron mit derselben Struktur wie zuvor implementiert zu erstellen, zu trainieren und auszuwerten, diesmal jedoch mit 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

close

Awesome!

Completion rate improved to 4

bookNeuronales Netzwerk mit Scikit-Learn

Swipe um das Menü anzuzeigen

Die Arbeit mit neuronalen Netzen kann recht anspruchsvoll sein, insbesondere wenn diese von Grund auf erstellt werden. Anstatt Algorithmen und Formeln manuell zu programmieren, können vorgefertigte Werkzeuge wie die Bibliothek sklearn verwendet werden.

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 die versteckten Schichten. Bei binärer Klassifikation entspricht die Ausgabeschicht im Wesentlichen der von Ihnen implementierten.

Beispielsweise kann mit einer einzigen 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 anhand der Trainingsdaten. Daher ist keine manuelle Festlegung erforderlich.

Wie bei unserer 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

Das Ziel ist es, einen Perzeptron mit derselben Struktur wie zuvor implementiert zu erstellen, zu trainieren und auszuwerten, diesmal jedoch mit 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