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 alkaen. Sen sijaan, että koodaisit algoritmit ja kaavat itse, voit hyödyntää valmiita työkaluja kuten sklearn-kirjastoa.

sklearnin hyödyt

  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ä nopeuttaa oppimisprosessia;

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

Perceptron sklearnissä

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ä voidaan luoda perceptron, 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. Niitä ei siis tarvitse asettaa manuaalisesti.

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

model.fit(X_train, y_train)

Ennustettujen luokkien (esim. testijoukossa) 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, jonka rakenne on sama kuin aiemmin toteuttamassasi mallissa, mutta käyttämällä sklearn-kirjastoa:

  1. Alusta perceptroni, jossa on 100 koulutusepookkia, kaksi piilokerrosta, joissa kummassakin on 6 neuronia, sekä oppimisnopeus 0.01 (aseta parametrit 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 alkaen. Sen sijaan, että koodaisit algoritmit ja kaavat itse, voit hyödyntää valmiita työkaluja kuten sklearn-kirjastoa.

sklearnin hyödyt

  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ä nopeuttaa oppimisprosessia;

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

Perceptron sklearnissä

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ä voidaan luoda perceptron, 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. Niitä ei siis tarvitse asettaa manuaalisesti.

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

model.fit(X_train, y_train)

Ennustettujen luokkien (esim. testijoukossa) 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, jonka rakenne on sama kuin aiemmin toteuttamassasi mallissa, mutta käyttämällä sklearn-kirjastoa:

  1. Alusta perceptroni, jossa on 100 koulutusepookkia, kaksi piilokerrosta, joissa kummassakin on 6 neuronia, sekä oppimisnopeus 0.01 (aseta parametrit 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