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.

sklearn-kirjaston 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ötapauksineen, mikä nopeuttaa oppimisprosessia;

  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ä voidaan luoda perceptroni, 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 uudelleen, kouluttaa ja arvioida perceptron-malli käyttämällä scikit-learn-kirjastoa, noudattaen samaa rakennetta kuin aiemmin toteutetussa omassa toteutuksessa.

Noudata näitä vaiheita huolellisesti:

  1. Alusta perceptron käyttämällä MLPClassifier-luokkaa:
  • Aseta harjoitusjaksojen määrä 100 käyttämällä max_iter=100;
  • Käytä kahta piilotettua kerrosta, joissa kummassakin on 6 neuronia (hidden_layer_sizes=(6, 6));
  • Aseta oppimisnopeudeksi 0.01 käyttämällä learning_rate_init=0.01;
  • Lisää random_state=10 tulosten toistettavuuden varmistamiseksi.
  1. Kouluta malli harjoitusaineistolla käyttämällä .fit()-metodia.
  2. Hanki ennusteet kaikille testiaineiston esimerkeille käyttämällä .predict()-metodia.
  3. Arvioi suorituskyky laskemalla mallin tarkkuus testiaineistolla accuracy_score()-funktion avulla.

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

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.

sklearn-kirjaston 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ötapauksineen, mikä nopeuttaa oppimisprosessia;

  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ä voidaan luoda perceptroni, 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 uudelleen, kouluttaa ja arvioida perceptron-malli käyttämällä scikit-learn-kirjastoa, noudattaen samaa rakennetta kuin aiemmin toteutetussa omassa toteutuksessa.

Noudata näitä vaiheita huolellisesti:

  1. Alusta perceptron käyttämällä MLPClassifier-luokkaa:
  • Aseta harjoitusjaksojen määrä 100 käyttämällä max_iter=100;
  • Käytä kahta piilotettua kerrosta, joissa kummassakin on 6 neuronia (hidden_layer_sizes=(6, 6));
  • Aseta oppimisnopeudeksi 0.01 käyttämällä learning_rate_init=0.01;
  • Lisää random_state=10 tulosten toistettavuuden varmistamiseksi.
  1. Kouluta malli harjoitusaineistolla käyttämällä .fit()-metodia.
  2. Hanki ennusteet kaikille testiaineiston esimerkeille käyttämällä .predict()-metodia.
  3. Arvioi suorituskyky laskemalla mallin tarkkuus testiaineistolla accuracy_score()-funktion avulla.

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