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?

Considerations for choosing algorithms: What do you want to know? What are the scenario requirements?

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ó 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 Mérsékelt Nem 8
Kétosztályos átlagolt perceptron Mérsékelt Igen 4
Kétosztályos támogatási vektorgép Gyors Igen 5 Nagy funkciókészletekhez használható
Többosztályos logisztikai regresszió 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 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ó 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ó 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:

  1. Konfiguráljon egy modellt egy adott algoritmustípus kiválasztásával, majd annak paramétereinek vagy hiperparamétereinek meghatározásával.

  2. 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.

  3. 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.

Nonlinear class boundary

Nemlineáris osztályhatár: Ha lineáris besorolási algoritmusra támaszkodik, az alacsony pontosságot eredményezne.

Data with a nonlinear trend

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