Modellek betanítása és kiértékelése a Model Builderben

Befejeződött

Ebben a leckében megtanulhatja, hogyan taníthat be és értékelhet gépi tanulási modelleket a Model Builderben.

A betanítás során a Model Builder algoritmusokat alkalmaz az adatokra. Az adott forgatókönyvhöz tartozó kiértékelési metrikák használatával megmérheti, hogy a modell mennyire teljesít.

Betanítás a Model Builderben

Most, hogy kiválasztotta a forgatókönyvet, kiválasztotta a betanítási környezetet, és betöltötte az adatokat, ideje elkezdeni a modell betanítását. A betanítás lényege, hogy algoritmusokat alkalmaz a kiválasztott forgatókönyvhöz az adathalmazra a legjobb modell megtalálása érdekében. A kiértékelési lépésben bemutatjuk, mit jelent a "legjobb" kifejezés.

A gépi tanulási modellek a Model Builderben való betanítása során a legtöbb esetben csak annyi időt kell megadnia, amennyibe be szeretne tanítani.

Mennyi ideig kell betanulnom?

A hosszabb betanítási időszakok lehetővé teszik a Model Builder számára, hogy több modellt fedezzen fel szélesebb körű beállításokkal.

Az alábbi táblázat összefoglalja a helyi gépen található példaadatkészletek processzorhasználattal történő jó teljesítményhez szükséges átlagos idejét:

Adathalmaz mérete Átlagos betanított idő
0 MB–10 MB 10 másodperc
10 MB–100 MB 10 perc
100 MB és 500 MB között 30 perc
500 MB–1 GB 60 perc
1 GB+ 3+ óra

Ezek a számok csak útmutatók. A képzés pontos hossza a következőtől függ:

  • A modell bemeneteként használt funkciók (oszlopok) száma.
  • Az oszlopok típusa.
  • A gépi tanulási feladat.
  • A betanításhoz használt gép processzor-, GPU-, lemez- és memóriateljesítménye.

Tipp.

Több mint 100 sort használjon adathalmazként. Ennél kevesebb nem biztos, hogy eredményt ad.

Hogyan találja meg a Model Builder a legjobb modellt?

Bizonyára hallotta, hogy a gépi tanulás összetett matematikát igényel. Hogyan taníthat be a Model Builder egy gépi tanulási modellt, ha csak egy forgatókönyvet, egy adatkészletet és azt az időtartamot adta meg, amellyel a Model Builder betanított?

A Model Builder automatizált gépi tanulással (AutoML) azonosítja az átalakításokat az adatok betanításra való előkészítéséhez, egy algoritmus kiválasztásához és az algoritmus beállításainak (más néven hiperparaméterek) finomhangolásához. A kiválasztott gépi tanulási feladatra jellemző kiértékelési metrikák használatával a Model Builder meghatározhatja, hogy melyik modell teljesít a legjobban az adatokhoz.

Betanítási és használati kód

A modell betanítása után a Model Builder létrehozza a következő fájlokat, és hozzáadja őket a projekthez. Ezek a fájlok a .mbconfig fájl alá vannak ágyazva .

  • <MODEL-NAME.zip>: A gépi tanulási modell összetevője. Ez a fájl a modell szerializált verzióját tartalmazza.
  • <MODEL-NAME.training.cs>: Ez a fájl tartalmazza a modell betanítási folyamatát. A modell betanítási folyamata a gépi tanulási modell betanításához használt adatátalakításokból és algoritmusokból áll. További információ: Adatátalakítások és ML.NET algoritmus kiválasztása.
  • <MODEL-NAME.consumption.cs>: Ez a fájl tartalmazza a modell bemenetének és kimenetének sémáját meghatározó osztályokat. Emellett tartalmazza azt a metódust is, amely a Predict modell használatával hoz létre egy PredictionEngine API-t, és előrejelzéseket készít. PredictionEngine egy egyszerű API, amely lehetővé teszi az előrejelzés végrehajtását egyetlen adatpéldányon.

A modell kiértékelése

Most, hogy megtalálta az adatokhoz legmegfelelőbb modellt, ideje tesztelni, hogy milyen jól készíti az előrejelzéseket. A modell metrikáinak használatával értékelheti ki, hogy milyen jól teljesít a modell.

A kiértékelési metrikák a modell által végrehajtott gépi tanulási feladat típusára vonatkoznak. Minden tevékenységhez különböző metrikákat tekinthet meg a modell teljesítményének meghatározásához.

Ez a táblázat azokat a kiértékelési metrikákat mutatja be, amelyeket a Model Builder a legjobb modell kiválasztásához használ a forgatókönyv alapján:

Eset Értékelési metrikák Keresni
Az adatok besorolása Bináris (pontosság) / Többosztályos (MicroAccuracy) Minél közelebb van az 1,00-hoz, annál jobb
Érték előrejelzése R-négyzet Minél közelebb van az 1,00-hoz, annál jobb
Képbesorolás Pontosság Minél közelebb van az 1,00-hoz, annál jobb
Recommendation R-négyzet Minél közelebb van az 1,00-hoz, annál jobb
Objektumészlelés Pontosság Minél közelebb van az 1,00-hoz, annál jobb

A ML.NET kiértékelési metrikákkal kapcsolatos további információkért lásd: Modellértékelési metrikák.

A legmagasabb metrikákkal rendelkező modell kiválasztása

A modell tökéletes kiértékelési metrikákat ért el. Ez azt jelenti, hogy a tökéletes modellel rendelkezik? Nem pontosan. Valójában, ha a kiértékelési metrikák által meghatározott "tökéletes" modellt hoz létre, akkor szkeptikusnak kell lennie.

A gépi tanulásban létezik egy túlillesztésnek nevezett fogalom, amire érdemes odafigyelni. A túlillesztés az, amikor a modell túl jól tanulja meg a betanítási adathalmaz mintáit. Ha új adatokkal próbálja használni a modellt, az nem ad pontos eredményeket.

Az alábbi forgatókönyv segít a túlillesztés szemléltetésében. Képzelje el, hogy vizsgára készül. Valahogy van a kérdéseket a vizsga és a válaszok előre. A vizsgára való tanulás során a kérdésekre adott válaszok memorizálására összpontosít. Amikor a vizsgát, és megkapja az eredményeket, kapsz egy magas osztályzatot. A magas fokozat azt jelezheti, hogy jól ismeri a témát. Ha azonban valaki fel szeretne tenni önnek egy kérdést az egyik olyan témával kapcsolatban, amely nem volt közvetlenül a teszten, akkor tévedhet, mert nem tanulta meg a témát, csak a válaszokat jegyezte meg. A túlillesztés hasonló módon működik.

A modell fejlesztése

Ha nem elégedett a modell kiértékelési metrikáival, az alábbi módszerekkel javíthatja a modellt:

  • Reprezentatívabb adatmegfigyelések biztosítása: A tapasztalat a legjobb tanár. A koncepció a gépi tanulásra is vonatkozik. Minél több adatmegfigyelés érhető el, annál szélesebb körű mintát ismerhet fel a modell.
  • További környezet biztosítása: Ha olyan oszlopokat ad hozzá, amelyek kontextust adnak az adatokhoz, segít a modellnek azonosítani a mintákat. Tegyük fel például, hogy egy lakás árát szeretné előrejelezni, és az egyetlen adatpont a szobák száma. Ez önmagában talán nem sokat mond. Mi van azonban, ha tudta, hogy az otthon található egy külvárosi környéken kívül egy nagy nagyvárosi területen, ahol az átlagos háztartási jövedelem $ 80,000 és az iskolák a 20. percentilis? Most további információval rendelkezik, amelyek segíthetnek a modell döntésének tájékoztatásában.
  • Hasznos adatok és funkciók használata: Bár több adatminta és szolgáltatás segíthet a modell pontosságának javításában, zajt is okozhatnak, mivel nem minden adat és funkció értelmezhető. Fontos tisztában lenni azzal, hogy mely funkciók befolyásolják a leginkább az algoritmus döntéseit.
  • További algoritmusok felfedezése: Ha több időt biztosít a Model Buildernek, hogy több algoritmust és hiperparamétert tárhasson fel, javíthatja a modellt.

A következő leckében a Model Builder használatával tanít be egy gépi tanulási modellt.