Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Neuroverkko Scikit-learnilla | Neuroverkon Rakentaminen Alusta Alkaen
Johdatus neuroverkkoihin

bookNeuroverkko Scikit-learnilla

Neuroverkkojen kanssa työskentely voi olla melko haastavaa, erityisesti jos rakennat niitä alusta asti. Sen sijaan, että koodaisit algoritmit ja kaavat itse, voit hyödyntää valmiita työkaluja kuten sklearn-kirjastoa.

sklearn-kirjaston edut

  1. Helppokäyttöisyys: sinun ei tarvitse perehtyä syvällisesti jokaisen algoritmin yksityiskohtiin. Voit käyttää valmiita metodeja ja luokkia;

  2. Optimointi: sklearn-kirjasto on optimoitu suorituskyvyn kannalta, mikä voi lyhentää mallin koulutusaikaa;

  3. Laaja dokumentaatio: sklearn tarjoaa kattavan dokumentaation esimerkkikäyttöineen, mikä voi nopeuttaa oppimisprosessia merkittävästi;

  4. Yhteensopivuus: sklearn toimii hyvin yhteen muiden suosittujen Python-kirjastojen, kuten numpy, pandas ja matplotlib, kanssa.

Perceptron sklearn-kirjastossa

Voit luoda saman mallin kuin tässä osiossa käyttämällä MLPClassifier-kirjaston sklearn-luokkaa. Sen keskeiset parametrit ovat seuraavat:

  • max_iter: määrittää koulutuksen enimmäisepookkien määrän;
  • hidden_layer_sizes: määrittää piilokerrosten neuronien määrän tuplena;
  • learning_rate_init: asettaa oppimisnopeuden painojen päivityksille.
Note
Huomio

Oletuksena MLPClassifier käyttää ReLU-aktivointifunktiota piilokerroksissa. Binääriluokittelussa tuloskerros on käytännössä sama kuin itse toteuttamassasi mallissa.

Esimerkiksi yhdellä koodirivillä voit luoda perceptronin, jossa on kaksi piilokerrosta ja kummassakin 10 neuronia, käyttäen enintään 100 epookkia koulutukseen ja oppimisnopeutena 0.5:

from sklearn.neural_network import MLPClassifier

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

Neuroverkot sklearn-kirjastossa määrittävät syötteiden ja tulosteiden määrän koulutusdatan perusteella. Näin ollen niitä ei tarvitse asettaa manuaalisesti.

Kuten omassa toteutuksessamme, mallin kouluttaminen tapahtuu yksinkertaisesti kutsumalla fit()-metodia:

model.fit(X_train, y_train)

Ennustettujen luokkien (esim. testijoukolla) saamiseksi tarvitsee vain kutsua predict()-metodia:

y_pred = model.predict(X_test)
Tehtävä

Swipe to start coding

Tavoitteena on luoda, kouluttaa ja arvioida perceptroni, jolla on sama rakenne kuin aiemmin toteuttamallasi, mutta käyttämällä sklearn-kirjastoa:

  1. Alusta perceptroni 100 koulutusepookilla, kahdella piilotetulla kerroksella, joissa kummassakin on 6 neuronia, sekä oppimisnopeudella 0.01 (aseta parametrit juuri tässä järjestyksessä).
  2. Kouluta malli opetusaineistolla.
  3. Hanki ennusteet testiaineistolle.
  4. Laske mallin tarkkuus testiaineistolla.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 13
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookNeuroverkko Scikit-learnilla

Pyyhkäise näyttääksesi valikon

Neuroverkkojen kanssa työskentely voi olla melko haastavaa, erityisesti jos rakennat niitä alusta asti. Sen sijaan, että koodaisit algoritmit ja kaavat itse, voit hyödyntää valmiita työkaluja kuten sklearn-kirjastoa.

sklearn-kirjaston edut

  1. Helppokäyttöisyys: sinun ei tarvitse perehtyä syvällisesti jokaisen algoritmin yksityiskohtiin. Voit käyttää valmiita metodeja ja luokkia;

  2. Optimointi: sklearn-kirjasto on optimoitu suorituskyvyn kannalta, mikä voi lyhentää mallin koulutusaikaa;

  3. Laaja dokumentaatio: sklearn tarjoaa kattavan dokumentaation esimerkkikäyttöineen, mikä voi nopeuttaa oppimisprosessia merkittävästi;

  4. Yhteensopivuus: sklearn toimii hyvin yhteen muiden suosittujen Python-kirjastojen, kuten numpy, pandas ja matplotlib, kanssa.

Perceptron sklearn-kirjastossa

Voit luoda saman mallin kuin tässä osiossa käyttämällä MLPClassifier-kirjaston sklearn-luokkaa. Sen keskeiset parametrit ovat seuraavat:

  • max_iter: määrittää koulutuksen enimmäisepookkien määrän;
  • hidden_layer_sizes: määrittää piilokerrosten neuronien määrän tuplena;
  • learning_rate_init: asettaa oppimisnopeuden painojen päivityksille.
Note
Huomio

Oletuksena MLPClassifier käyttää ReLU-aktivointifunktiota piilokerroksissa. Binääriluokittelussa tuloskerros on käytännössä sama kuin itse toteuttamassasi mallissa.

Esimerkiksi yhdellä koodirivillä voit luoda perceptronin, jossa on kaksi piilokerrosta ja kummassakin 10 neuronia, käyttäen enintään 100 epookkia koulutukseen ja oppimisnopeutena 0.5:

from sklearn.neural_network import MLPClassifier

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

Neuroverkot sklearn-kirjastossa määrittävät syötteiden ja tulosteiden määrän koulutusdatan perusteella. Näin ollen niitä ei tarvitse asettaa manuaalisesti.

Kuten omassa toteutuksessamme, mallin kouluttaminen tapahtuu yksinkertaisesti kutsumalla fit()-metodia:

model.fit(X_train, y_train)

Ennustettujen luokkien (esim. testijoukolla) saamiseksi tarvitsee vain kutsua predict()-metodia:

y_pred = model.predict(X_test)
Tehtävä

Swipe to start coding

Tavoitteena on luoda, kouluttaa ja arvioida perceptroni, jolla on sama rakenne kuin aiemmin toteuttamallasi, mutta käyttämällä sklearn-kirjastoa:

  1. Alusta perceptroni 100 koulutusepookilla, kahdella piilotetulla kerroksella, joissa kummassakin on 6 neuronia, sekä oppimisnopeudella 0.01 (aseta parametrit juuri tässä järjestyksessä).
  2. Kouluta malli opetusaineistolla.
  3. Hanki ennusteet testiaineistolle.
  4. Laske mallin tarkkuus testiaineistolla.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 13
single

single

some-alt