Modellek betanítása és kiértékelése a Model Builderben
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 egyPredictionEngine
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.