Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Neuralt Netværk med scikit-learn | Neuralt Netværk fra Bunden
Introduktion til neurale netværk

bookNeuralt Netværk med scikit-learn

At arbejde med neurale netværk kan være ret udfordrende, især hvis du forsøger at bygge dem fra bunden. I stedet for manuelt at kode algoritmer og formler, kan du anvende færdiglavede værktøjer såsom sklearn-biblioteket.

Fordele ved at bruge sklearn

  1. Brugervenlighed: det er ikke nødvendigt at fordybe sig i detaljerne for hver algoritme. Det er muligt blot at anvende færdiglavede metoder og klasser;

  2. Optimering: sklearn-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for modellen;

  3. Omfattende dokumentation: sklearn tilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt;

  4. Kompatibilitet: sklearn integrerer godt med andre populære Python-biblioteker såsom numpy, pandas og matplotlib.

Perceptron i sklearn

For at oprette den samme model som i dette afsnit, kan du anvende MLPClassifier-klassen fra sklearn-biblioteket. Dens vigtigste parametre er følgende:

  • max_iter: definerer det maksimale antal epoker for træning;
  • hidden_layer_sizes: angiver antallet af neuroner i hvert skjult lag som en tuple;
  • learning_rate_init: angiver indlæringsraten for vægtopdateringer.
Note
Bemærk

Som standard anvender MLPClassifier ReLU-aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget i det væsentlige det samme som det, du har implementeret.

For eksempel kan du med én enkelt linje kode oprette en perceptron med to skjulte lag med 10 neuroner i hvert, hvor der maksimalt bruges 100 epoker til træning og en læringsrate på 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Bemærk

Neurale netværk i sklearn bestemmer antallet af input og output baseret på de data, de trænes på. Derfor er det ikke nødvendigt at angive dem manuelt.

Som med vores implementering indebærer træning af modellen blot at kalde fit()-metoden:

model.fit(X_train, y_train)

For at få de forudsagte etiketter (f.eks. på testdatasættet), skal du blot kalde predict()-metoden:

y_pred = model.predict(X_test)
Opgave

Swipe to start coding

Målet er at oprette, træne og evaluere en perceptron med samme struktur som den, du tidligere har implementeret, men ved brug af sklearn-biblioteket:

  1. Initialiser en perceptron med 100 træningsepochs, to skjulte lag med 6 neuroner hver og en læringsrate på 0.01 (angiv parametrene i denne rækkefølge).
  2. Træn modellen på træningsdataene.
  3. Opnå forudsigelser på testdatasættet.
  4. Beregn modellens nøjagtighed på testdatasættet.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 13
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookNeuralt Netværk med scikit-learn

Stryg for at vise menuen

At arbejde med neurale netværk kan være ret udfordrende, især hvis du forsøger at bygge dem fra bunden. I stedet for manuelt at kode algoritmer og formler, kan du anvende færdiglavede værktøjer såsom sklearn-biblioteket.

Fordele ved at bruge sklearn

  1. Brugervenlighed: det er ikke nødvendigt at fordybe sig i detaljerne for hver algoritme. Det er muligt blot at anvende færdiglavede metoder og klasser;

  2. Optimering: sklearn-biblioteket er optimeret for ydeevne, hvilket kan reducere træningstiden for modellen;

  3. Omfattende dokumentation: sklearn tilbyder omfattende dokumentation med eksempler på anvendelse, hvilket kan fremskynde læringsprocessen betydeligt;

  4. Kompatibilitet: sklearn integrerer godt med andre populære Python-biblioteker såsom numpy, pandas og matplotlib.

Perceptron i sklearn

For at oprette den samme model som i dette afsnit, kan du anvende MLPClassifier-klassen fra sklearn-biblioteket. Dens vigtigste parametre er følgende:

  • max_iter: definerer det maksimale antal epoker for træning;
  • hidden_layer_sizes: angiver antallet af neuroner i hvert skjult lag som en tuple;
  • learning_rate_init: angiver indlæringsraten for vægtopdateringer.
Note
Bemærk

Som standard anvender MLPClassifier ReLU-aktiveringsfunktionen for skjulte lag. For binær klassifikation er output-laget i det væsentlige det samme som det, du har implementeret.

For eksempel kan du med én enkelt linje kode oprette en perceptron med to skjulte lag med 10 neuroner i hvert, hvor der maksimalt bruges 100 epoker til træning og en læringsrate på 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Bemærk

Neurale netværk i sklearn bestemmer antallet af input og output baseret på de data, de trænes på. Derfor er det ikke nødvendigt at angive dem manuelt.

Som med vores implementering indebærer træning af modellen blot at kalde fit()-metoden:

model.fit(X_train, y_train)

For at få de forudsagte etiketter (f.eks. på testdatasættet), skal du blot kalde predict()-metoden:

y_pred = model.predict(X_test)
Opgave

Swipe to start coding

Målet er at oprette, træne og evaluere en perceptron med samme struktur som den, du tidligere har implementeret, men ved brug af sklearn-biblioteket:

  1. Initialiser en perceptron med 100 træningsepochs, to skjulte lag med 6 neuroner hver og en læringsrate på 0.01 (angiv parametrene i denne rækkefølge).
  2. Træn modellen på træningsdataene.
  3. Opnå forudsigelser på testdatasættet.
  4. Beregn modellens nøjagtighed på testdatasættet.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 13
single

single

some-alt