Deep Learning Academy · Oppitunti

Jakakaa data koulutus-, validointi- ja testijoukkoihin

Miksi tarvitsette kolme joukkoa yhden sijaan

Oppitunti 1/413 vaihetta

Jakakaa data koulutus-, validointi- ja testijoukkoihin on ilmainen Deep Learning Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Deep Learning Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Yksi tietojoukko ei riitä

Jos koulutatte ja arvioitte mallia samalla datalla, opitte vain sen, että malli muisti kyseiset rivit. Jotta voitte luottaa malliin, data on jaettava eri käyttötarkoituksiin.

Tutustukaa koulutusjoukkoon

Koulutusjoukko on data, josta mallinne todella oppii. Sen painoja säädetään yhä uudelleen, jotta se sopisi juuri näihin esimerkkeihin mahdollisimman hyvin.

Tutustukaa validointijoukkoon

Validointijoukko pidetään sivussa koulutuksen aikana ja tarkistetaan sen edetessä. Se kertoo, miten malli suoriutuu datasta, jonka perusteella sen painoja ei ole koskaan päivitetty.

Tutustukaa testijoukkoon

Testijoukkoon kosketaan kerran, aivan lopussa. Se antaa rehellisen lopullisen tuloksen sen jälkeen, kun kaikki valinnat on jo tehty.

Miksi validointi pidetään erillään

Säädätte esimerkiksi oppimisnopeutta tarkkailemalla validointituloksia. Näin validointijoukko vaikuttaa huomaamatta valintoihinne, joten se ei enää voi toimia puhtaana lopullisena arvioijana.

Testijoukko pysyy suljettuna

Koska validointi ohjasi päätöksiänne, tarvitsette yhden koskemattoman joukon totuudenmukaista arviointia varten. Pitäkää testijoukko suljettuna, kunnes olette täysin valmiita.

Yleinen jako

Tyypillinen lähtökohta on noin 80/10/10: suurin osa datasta koulutukseen ja pienemmät osat validointiin ja testaukseen. Muuttakaa jakoa datan määrän mukaan.

Jaa random_splitilla

PyTorch tarjoaa random_split-toiminnon, jolla tietojoukko voidaan jakaa osiin pituuksien perusteella. Se sekoittaa näytteet puolestanne eri joukkoihin.

from torch.utils.data import random_split
train, val, test = random_split(ds, [800, 100, 100])

Aseta siemen toistettavia jakoja varten

Jako on satunnainen, joten asettakaa seed, jos haluatte samat osat jokaisella suorituskerralla. Näin kokeita voi verrata keskenään eri istunnoissa.

g = torch.Generator().manual_seed(42)
train, val, test = random_split(ds, [800, 100, 100], generator=g)

Stratifioi tasapainon säilyttämiseksi

Harvinaisten luokkien tapauksessa tavallinen satunnainen jako voi jättää joitakin luokkia pois. Stratifiointi pitää luokkajakauman kussakin joukossa lähellä alkuperäistä, jolloin tulokset pysyvät mielekkäinä.

Älä koskaan kurkista testijoukkoon

Kultainen sääntö on yksinkertainen: älkää antako testijoukon vaikuttaa yhteenkään päätökseen. Heti kun se vaikuttaa, lopullinen lukunne ei ole enää luotettava.

Pikatarkistus

Mitä joukkoa pitäisi tarkastella vain kerran, aivan lopussa?

Kertaus

Kolme joukkoa, kolme tehtävää: koulutus opettaa mallia, validointi ohjaa säätämistä ja testaus antaa rehellisen lopullisen tuloksen. Pitäkää testijoukko suljettuna loppuun asti. 🎯

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Jakakaa data koulutus-, validointi- ja testijoukkoihin” ilmainen?

Kyllä – oppitunnin ”Jakakaa data koulutus-, validointi- ja testijoukkoihin” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Deep Learning Academy-kurssin, päivitä CoddyKit PROhon. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Jakakaa data koulutus-, validointi- ja testijoukkoihin”?

Miksi tarvitsette kolme joukkoa yhden sijaan Harjoittelet Deep Learning Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Deep Learning Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Deep Learning Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Jakakaa data koulutus-, validointi- ja testijoukkoihin”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Deep Learning Academy-oppitunnilla?

Kyllä. Jokainen Deep Learning Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Jakakaa data koulutus-, validointi- ja testijoukkoihin
  2. Epoch-silmukka validoinnilla
  3. Tallentaminen ja lataaminen state_dictillä
  4. Early stopping validointihäviön perusteella
← Takaisin: Deep Learning Academy