Algoritmusok kiválasztása az Azure Machine Tanulás
Gyakori kérdés, hogy melyik gépi tanulási algoritmust érdemes használni? A kiválasztott algoritmus elsősorban az adatelemzési forgatókönyv két különböző aspektusától függ:
Mit szeretne tenni az adataival? Konkrétan mi az az üzleti kérdés, amelyre a múltbeli adatokból tanulva szeretne válaszolni?
Mik az adatelemzési forgatókönyv követelményei? Pontosabban mi a pontosság, a betanítási idő, a linearitás, a paraméterek száma és a megoldás által támogatott funkciók száma?
Megjegyzés:
Tervező kétféle összetevőt támogat, a klasszikus előre összeállított összetevőket (v1) és az egyéni összetevőket (v2). Ez a két összetevőtípus NEM kompatibilis.
A klasszikus előre összeállított összetevők elsősorban az adatfeldolgozáshoz és a hagyományos gépi tanulási feladatokhoz, például a regresszióhoz és a besoroláshoz biztosítanak előre összeállított összetevőket. Ez az összetevőtípus továbbra is támogatott marad, de nem lesznek új összetevők hozzáadva.
Az egyéni összetevők lehetővé teszik, hogy a saját kódját összetevőként csomagolja. Támogatja az összetevők munkaterületek közötti megosztását és a közvetlen létrehozást a Studio, a CLI v2 és az SDK v2 felületeken.
Új projektek esetén javasoljuk, hogy egyéni összetevőt használjon, amely kompatibilis az AzureML V2-vel, és folyamatosan új frissítéseket fog kapni.
Ez a cikk a klasszikus előre összeállított összetevőkre vonatkozik, és nem kompatibilis a CLI v2-vel és az SDK v2-vel.
Üzleti forgatókönyvek és a gépi Tanulás algoritmus csalilapja
Az Azure Machine Tanulás Algoritmus csalási lapja segít az első szempontban: Mit szeretne tenni az adataival? A Machine Tanulás Algorithm Cheat Sheet lapon keresse meg a kívánt feladatot, majd keressen egy Azure Machine Tanulás tervezői algoritmust a prediktív elemzési megoldáshoz.
A gépi Tanulás tervező olyan algoritmusok átfogó portfólióját biztosítja, mint a többosztályos döntési erdő, a javaslati rendszerek, a neurális hálózati regresszió, a többosztályos neurális hálózat és a K-Means fürtözés. Mindegyik algoritmus más típusú gépi tanulási probléma megoldására lett kialakítva. A teljes listát a Machine Tanulás tervezői algoritmusával és összetevő-referenciájával, valamint az egyes algoritmusok működésével és az algoritmus optimalizálásához szükséges paraméterek finomhangolásával kapcsolatos dokumentációban találja.
Megjegyzés:
Töltse le a cheat sheet itt: Machine Tanulás Algorithm Cheat Sheet (11x17 in.)
Az Azure Machine Tanulás Algorithm Cheat Sheet útmutatója mellett tartsa szem előtt a megoldáshoz tartozó gépi tanulási algoritmus kiválasztásának egyéb követelményeit is. Az alábbiakban további szempontokat kell figyelembe venni, például a pontosságot, a betanítási időt, a linearitást, a paraméterek számát és a funkciók számát.
Gépi tanulási algoritmusok összehasonlítása
Egyes tanulási algoritmusok konkrét feltételezéseket tesznek az adatok szerkezetéről vagy a kívánt eredményekről. Ha megtalálja az igényeinek megfelelőt, az hasznosabb eredményeket, pontosabb előrejelzéseket vagy gyorsabb betanítási időt biztosíthat.
Az alábbi táblázat összefoglalja az algoritmusok legfontosabb jellemzőit a besorolási, regressziós és fürtözési családokból:
Algoritmus | Pontosság | Betanítási idő | Linearitás | Paraméterek | Megjegyzések |
---|---|---|---|---|---|
Besorolási család | |||||
Kétosztályos logisztikai regresszió | Jó | Gyors | Igen | 4 | |
Kétosztályos döntési erdő | Kiváló | Mérsékelt | Nem | 5 | Lassabb pontozási időket jelenít meg. Javasoljuk, hogy ne működj együtt a többosztályos osztályokkal, mert a fa előrejelzéseinek halmozásakor a futófelület zárolása által okozott lassabb pontozási idő miatt |
Kétosztályos emelt szintű döntési fa | Kiváló | Mérsékelt | Nem | 6 | Nagy memóriaigény |
Kétosztályos neurális hálózat | Jó | Mérsékelt | Nem | 8 | |
Kétosztályos átlagolt perceptron | Jó | Mérsékelt | Igen | 4 | |
Kétosztályos támogatási vektorgép | Jó | Gyors | Igen | 5 | Nagy funkciókészletekhez használható |
Többosztályos logisztikai regresszió | Jó | Gyors | Igen | 4 | |
Többosztályos döntési erdő | Kiváló | Mérsékelt | Nem | 5 | Lassabb pontozási idők megjelenítése |
Többosztályos emelt döntési fa | Kiváló | Mérsékelt | Nem | 6 | A pontosság javítása a kisebb lefedettség kis kockázatával |
Többosztályos neurális hálózat | Jó | Mérsékelt | Nem | 8 | |
Egy és mindenhez többosztályos | - | - | - | - | A kiválasztott kétosztályos metódus tulajdonságainak megtekintése |
Regressziós család | |||||
Lineáris regresszió | Jó | Gyors | Igen | 4 | |
Döntési erdő regressziója | Kiváló | Mérsékelt | Nem | 5 | |
Megnövelt döntési fa regressziója | Kiváló | Mérsékelt | Nem | 6 | Nagy memóriaigény |
Neurális hálózati regresszió | Jó | Mérsékelt | Nem | 8 | |
Fürtözési család | |||||
K-közép fürtözés | Kiváló | Mérsékelt | Igen | 8 | Fürtözési algoritmus |
Adatelemzési forgatókönyv követelményei
Ha már tudja, mit szeretne tenni az adataival, meg kell határoznia a megoldás további követelményeit.
Válasszon és esetleg kompromisszumot a következő követelményeknek megfelelően:
- Pontosság
- Betanítási idő
- Linearitás
- Paraméterek száma
- Szolgáltatások száma
Pontosság
A gépi tanulás pontossága a modell hatékonyságát méri a valós eredmények arányaként az összes esethez. A Machine Tanulás Designerben a Modell kiértékelése összetevő iparági szabvány szerinti értékelési metrikák készletét számítja ki. Ezzel az összetevővel mérheti a betanított modellek pontosságát.
A lehető legpontosabb válasz nem mindig szükséges. Előfordulhat, hogy a közelítés megfelelő, attól függően, hogy mire szeretné használni. Ha ez a helyzet, akkor lehet, hogy képes csökkenteni a feldolgozási időt jelentősen ragasztás több közelítő módszereket. A közelítő módszerek természetesen elkerülik a túlillesztést.
A Modell kiértékelése összetevő háromféleképpen használható:
- Pontszámok létrehozása a betanítási adatokon a modell kiértékeléséhez
- Hozzon létre pontszámokat a modellen, de hasonlítsa össze ezeket a pontszámokat egy fenntartott tesztelési csoportban lévő pontszámokkal
- Két különböző, de kapcsolódó modell pontszámainak összehasonlítása ugyanazzal az adatkészlettel
A gépi tanulási modellek pontosságának kiértékeléséhez használható metrikák és megközelítések teljes listájáért tekintse meg a Modell kiértékelése összetevőt.
Betanítási idő
A felügyelt tanulásban a betanítás azt jelenti, hogy az előzményadatok használatával olyan gépi tanulási modellt hoz létre, amely minimalizálja a hibákat. A modellek betanítása során szükséges percek vagy órák száma algoritmusok között nagyban eltér. A betanítási idő gyakran szorosan kötődik a pontossághoz; az egyik általában a másikat kíséri.
Emellett egyes algoritmusok jobban érzékenyek az adatpontok számára, mint másokra. Egy adott algoritmust azért választhat, mert időkorlátja van, különösen akkor, ha az adathalmaz nagy.
A Gépi Tanulás tervezőjében a gépi tanulási modell létrehozása és használata általában három lépésből áll:
Konfiguráljon egy modellt egy adott algoritmustípus kiválasztásával, majd annak paramétereinek vagy hiperparamétereinek meghatározásával.
Adjon meg egy címkézett és az algoritmussal kompatibilis adatokat tartalmazó adathalmazt. Csatlakozás az adatokat és a modellt is,Modellösszetevő betanítása.
A betanítás befejezése után használja a betanított modellt az egyik pontozó összetevővel az új adatokra vonatkozó előrejelzések készítéséhez.
Linearitás
A statisztikák és a gépi tanulás linearitása azt jelenti, hogy lineáris kapcsolat van egy változó és egy állandó között az adathalmazban. A lineáris besorolási algoritmusok például feltételezik, hogy az osztályok egyenes vonallal (vagy annak magasabb dimenziós analógjával) elválaszthatók.
Sok gépi tanulási algoritmus használja a linearitást. Az Azure Machine Tanulás tervezőjében a következők szerepelnek:
A lineáris regressziós algoritmusok feltételezik, hogy az adattrendek egyenes vonalat követnek. Ez a feltételezés bizonyos problémák esetén nem rossz, mások esetében azonban csökkenti a pontosságot. Hátrányaik ellenére a lineáris algoritmusok első stratégiaként népszerűek. Ezek általában algoritmikusan egyszerűek és gyorsan taníthatók.
Nemlineáris osztályhatár: Ha lineáris besorolási algoritmusra támaszkodik, az alacsony pontosságot eredményezne.
Nemlineáris trenddel rendelkező adatok: Lineáris regressziós módszer használata a szükségesnél sokkal nagyobb hibákat eredményezne.
Paraméterek száma
A paraméterek azok a gombok, amelyeket az adatelemzők az algoritmusok beállításakor kapnak. Ezek olyan számok, amelyek befolyásolják az algoritmus viselkedését, például a hibatűrést vagy az iterációk számát, vagy az algoritmus viselkedésének különböző változatai közötti lehetőségeket. Az algoritmus betanítási ideje és pontossága néha érzékeny lehet a megfelelő beállítások megadására. A nagy számú paraméterrel rendelkező algoritmusok általában a legtöbb próbaverziót és hibát igénylik a jó kombináció megtalálásához.
Másik lehetőségként a Gépi Tanulás tervezőjében található a Modell hiperparaméterek hangolása összetevő: Ennek az összetevőnek az a célja, hogy meghatározza a gépi tanulási modellek optimális hiperparamétereit. Az összetevő több modellt fejleszt és tesztel különböző beállítások kombinációjával. Összehasonlítja az összes modell metrikáit a beállítások kombinációinak lekéréséhez.
Bár ez nagyszerű módja annak, hogy a paraméterterületet átfogja, a modell betanításához szükséges idő exponenciálisan nő a paraméterek számával. Ennek az az előnye, hogy sok paraméter általában azt jelzi, hogy egy algoritmus nagyobb rugalmasságot biztosít. Gyakran nagyon jó pontosságot érhet el, feltéve, hogy megtalálja a paraméterbeállítások megfelelő kombinációját.
Szolgáltatások száma
A gépi tanulásban a funkció az elemezni kívánt jelenség számszerűsíthető változója. Bizonyos adattípusok esetében a funkciók száma nagyon nagy lehet az adatpontok számához képest. Ez gyakran előfordul a genetika vagy szöveges adatok esetében.
Számos funkció leállíthat néhány tanulási algoritmust, így a betanítási idő elérhetetlenül hosszú. A támogatási vektorgépek különösen jól alkalmazhatók a sok funkcióval rendelkező forgatókönyvekhez. Emiatt számos alkalmazásban használták őket az információlekéréstől a szöveg- és képbesorolásig. A támogatási vektorgépek a besorolási és regressziós feladatokhoz is használhatók.
A funkcióválasztás a statisztikai tesztek bemenetekre való alkalmazásának folyamatát jelenti egy megadott kimenet alapján. A cél annak meghatározása, hogy mely oszlopok prediktívabbak a kimenetben. A Machine Tanulás Designer szűrőalapú funkciókijelölési összetevője több funkcióválasztási algoritmus közül választhat. Az összetevő olyan korrelációs módszereket tartalmaz, mint a Pearson-korreláció és a khi-négyzet értékek.
A Permutation Feature Importance összetevővel is kiszámíthatja az adathalmaz funkció-fontossági pontszámainak készletét. Ezeket a pontszámokat ezután felhasználhatja a modellben használandó legjobb funkciók meghatározásához.
További lépések
- További információ az Azure Machine Tanulás tervezőjéről
- Az Azure Machine Tanulás designerben elérhető összes gépi tanulási algoritmus leírását lásd: Machine Tanulás designer algorithm and component reference
- A mélytanulás, a gépi tanulás és az AI kapcsolatának megismeréséhez tekintse meg a Mély Tanulás és a Gépi Tanulás című témakört.