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

bookMallin Arviointi

Datan jakaminen

Kun neuroverkko on koulutettu, sen suorituskykyä täytyy arvioida näkemättömällä datalla. Tämä auttaa ymmärtämään, onko malli todella oppinut hyödyllisiä kaavoja vai ainoastaan ulkoa opetusaineiston. Tämän saavuttamiseksi aineisto jaetaan kahteen osaan:

  • Koulutusjoukko: tätä osaa datasta käytetään neuroverkon kouluttamiseen, jolloin se voi säätää painoja ja bias-arvoja takaisinlevityksen avulla;
  • Testijoukko: koulutuksen jälkeen mallia arvioidaan tällä erillisellä aineistolla, jotta nähdään kuinka hyvin se yleistää uusiin, näkemättömiin esimerkkeihin.

Tyypillinen jako on 80 % koulutus / 20 % testaus, mutta tämä voi vaihdella aineiston koon ja monimutkaisuuden mukaan.

Koulutus-/testijako tehdään yleensä train_test_split()-funktiolla, joka löytyy sklearn.model_selection -moduulista:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

test_size-parametri määrittää, kuinka suuri osa aineistosta käytetään testijoukkona. Esimerkiksi test_size=0.1 tarkoittaa, että 10 % datasta käytetään testaamiseen ja loput 90 % kouluttamiseen.

Jos malli suoriutuu hyvin koulutusdatalla mutta huonosti testidatalla, kyseessä voi olla ylisovittaminen (overfitting), eli malli on opetellut koulutusdatan ulkoa eikä oppinut yleistettäviä kaavoja. Tavoitteena on saavuttaa korkea testitarkkuus ja hyvä yleistyskyky.

Kun malli on koulutettu, sen suorituskyky täytyy mitata mittareilla. Mittarin valinta riippuu luokittelutehtävän luonteesta.

Luokittelumittarit

Luokitteluongelmissa mallin ennusteita voidaan arvioida useilla keskeisillä mittareilla:

  • tarkkuus;
  • tarkkuusaste (precision);
  • palautusaste (recall);
  • F1-pisteet.

Koska perceptroni suorittaa binääriluokittelua, sekaannusmatriisin (confusion matrix) laatiminen auttaa ymmärtämään näitä mittareita paremmin.

Note
Määritelmä

Sekaannusmatriisi (confusion matrix) on taulukko, joka tiivistää mallin luokittelusuorituskyvyn vertaamalla ennustettuja luokkia todellisiin luokkiin. Se antaa tietoa oikeiden ja väärien ennusteiden määrästä kummallekin luokalle (1 ja 0).

Tarkkuus mittaa oikein luokiteltujen näytteiden osuutta kaikista näytteistä. Jos malli luokittelee oikein 90 sadasta kuvasta, sen tarkkuus on 90 %.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Vaikka tarkkuus on hyödyllinen mittari, se ei aina anna kattavaa kuvaa—erityisesti epätasapainoisissa aineistoissa. Esimerkiksi aineistossa, jossa 95 % näytteistä kuuluu yhteen luokkaan, malli voi saavuttaa 95 % tarkkuuden ennustamalla aina enemmistöluokan—ilman, että se oppii mitään hyödyllistä. Tällaisissa tapauksissa tarkkuus, recall tai F1-pisteet voivat olla informatiivisempia.

Tarkkuus (precision) on oikein ennustettujen positiivisten tapausten osuus kaikista ennustetuista positiivisista. Tämä mittari on erityisen hyödyllinen, kun väärät positiiviset ovat kalliita, kuten roskapostin tai petosten tunnistuksessa.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (herkkyys) mittaa, kuinka monta todellisista positiivisista tapauksista malli tunnistaa oikein. Korkea recall on tärkeää tilanteissa, joissa vääriä negatiivisia tulee välttää, kuten lääketieteellisissä diagnooseissa.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-pisteet ovat harmoninen keskiarvo tarkkuudesta (precision) ja palautuksesta (recall), tarjoten tasapainoisen mittarin silloin, kun sekä väärät positiiviset että väärät negatiiviset ovat tärkeitä. Tämä on hyödyllistä, kun aineisto on epätasapainossa, eli toinen luokka esiintyy huomattavasti useammin kuin toinen.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?

2. Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?

question mark

Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?

Select the correct answer

question mark

Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain what a confusion matrix is and how to interpret it?

How do I choose which metric to use for my classification problem?

Can you give examples of when to prioritize precision over recall, or vice versa?

Awesome!

Completion rate improved to 4

bookMallin Arviointi

Pyyhkäise näyttääksesi valikon

Datan jakaminen

Kun neuroverkko on koulutettu, sen suorituskykyä täytyy arvioida näkemättömällä datalla. Tämä auttaa ymmärtämään, onko malli todella oppinut hyödyllisiä kaavoja vai ainoastaan ulkoa opetusaineiston. Tämän saavuttamiseksi aineisto jaetaan kahteen osaan:

  • Koulutusjoukko: tätä osaa datasta käytetään neuroverkon kouluttamiseen, jolloin se voi säätää painoja ja bias-arvoja takaisinlevityksen avulla;
  • Testijoukko: koulutuksen jälkeen mallia arvioidaan tällä erillisellä aineistolla, jotta nähdään kuinka hyvin se yleistää uusiin, näkemättömiin esimerkkeihin.

Tyypillinen jako on 80 % koulutus / 20 % testaus, mutta tämä voi vaihdella aineiston koon ja monimutkaisuuden mukaan.

Koulutus-/testijako tehdään yleensä train_test_split()-funktiolla, joka löytyy sklearn.model_selection -moduulista:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

test_size-parametri määrittää, kuinka suuri osa aineistosta käytetään testijoukkona. Esimerkiksi test_size=0.1 tarkoittaa, että 10 % datasta käytetään testaamiseen ja loput 90 % kouluttamiseen.

Jos malli suoriutuu hyvin koulutusdatalla mutta huonosti testidatalla, kyseessä voi olla ylisovittaminen (overfitting), eli malli on opetellut koulutusdatan ulkoa eikä oppinut yleistettäviä kaavoja. Tavoitteena on saavuttaa korkea testitarkkuus ja hyvä yleistyskyky.

Kun malli on koulutettu, sen suorituskyky täytyy mitata mittareilla. Mittarin valinta riippuu luokittelutehtävän luonteesta.

Luokittelumittarit

Luokitteluongelmissa mallin ennusteita voidaan arvioida useilla keskeisillä mittareilla:

  • tarkkuus;
  • tarkkuusaste (precision);
  • palautusaste (recall);
  • F1-pisteet.

Koska perceptroni suorittaa binääriluokittelua, sekaannusmatriisin (confusion matrix) laatiminen auttaa ymmärtämään näitä mittareita paremmin.

Note
Määritelmä

Sekaannusmatriisi (confusion matrix) on taulukko, joka tiivistää mallin luokittelusuorituskyvyn vertaamalla ennustettuja luokkia todellisiin luokkiin. Se antaa tietoa oikeiden ja väärien ennusteiden määrästä kummallekin luokalle (1 ja 0).

Tarkkuus mittaa oikein luokiteltujen näytteiden osuutta kaikista näytteistä. Jos malli luokittelee oikein 90 sadasta kuvasta, sen tarkkuus on 90 %.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Vaikka tarkkuus on hyödyllinen mittari, se ei aina anna kattavaa kuvaa—erityisesti epätasapainoisissa aineistoissa. Esimerkiksi aineistossa, jossa 95 % näytteistä kuuluu yhteen luokkaan, malli voi saavuttaa 95 % tarkkuuden ennustamalla aina enemmistöluokan—ilman, että se oppii mitään hyödyllistä. Tällaisissa tapauksissa tarkkuus, recall tai F1-pisteet voivat olla informatiivisempia.

Tarkkuus (precision) on oikein ennustettujen positiivisten tapausten osuus kaikista ennustetuista positiivisista. Tämä mittari on erityisen hyödyllinen, kun väärät positiiviset ovat kalliita, kuten roskapostin tai petosten tunnistuksessa.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (herkkyys) mittaa, kuinka monta todellisista positiivisista tapauksista malli tunnistaa oikein. Korkea recall on tärkeää tilanteissa, joissa vääriä negatiivisia tulee välttää, kuten lääketieteellisissä diagnooseissa.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-pisteet ovat harmoninen keskiarvo tarkkuudesta (precision) ja palautuksesta (recall), tarjoten tasapainoisen mittarin silloin, kun sekä väärät positiiviset että väärät negatiiviset ovat tärkeitä. Tämä on hyödyllistä, kun aineisto on epätasapainossa, eli toinen luokka esiintyy huomattavasti useammin kuin toinen.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?

2. Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?

question mark

Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?

Select the correct answer

question mark

Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 11
some-alt