Gépi tanulási feladatok a ML.NET

A gépi tanulási feladat az előrejelzés vagy következtetés típusa a feltett probléma vagy kérdés, valamint a rendelkezésre álló adatok alapján. A besorolási tevékenység például kategóriákhoz rendel adatokat, a fürtözési tevékenység pedig hasonlóság szerint csoportosítja az adatokat.

A gépi tanulási feladatok nem explicit módon, hanem az adatok mintáira támaszkodnak.

Ez a cikk a különböző gépi tanulási feladatokat ismerteti, amelyek közül ML.NET és néhány gyakori használati eset közül választhat.

Miután eldöntötte, hogy melyik feladat működik a forgatókönyvhöz, ki kell választania a modell betanítása legjobb algoritmusát. Az elérhető algoritmusok az egyes feladatokhoz tartozó szakaszban találhatók.

Bináris besorolás

Felügyelt gépi tanulási feladat, amellyel előre jelezhető, hogy egy adatpéldány két osztályból (kategóriából) melyikhez tartozik. A besorolási algoritmusok bemenete címkézett példák halmaza, ahol minden címke 0 vagy 1 egész szám. A bináris besorolási algoritmus kimenete egy osztályozó, amellyel előre jelezheti az új címkézetlen példányok osztályát. Bináris besorolási forgatókönyvek például a következők:

  • A Twitter-megjegyzések "pozitív" vagy "negatív" hangulatának megértése.
  • Annak diagnosztizálása, hogy egy betegnek van-e egy bizonyos betegsége, vagy sem.
  • Döntés arról, hogy egy e-mailt "levélszemétként" jelöl-e meg, vagy sem.
  • Annak meghatározása, hogy egy fénykép tartalmaz-e egy adott elemet, például kutyát vagy gyümölcsöt.

További információ: Bináris besorolási cikk a Wikipédiában.

Bináris besorolási oktatók

A bináris besorolási modelleket a következő algoritmusokkal taníthatja be:

Bináris besorolási bemenetek és kimenetek

A bináris besorolással elérhető legjobb eredmények érdekében a betanítási adatokat kiegyensúlyozottnak kell lenniük (azaz egyenlő számú pozitív és negatív betanítási adatot). A hiányzó értékeket a betanítás előtt kell kezelni.

A bemeneti címke oszlopadatainak meg kell lenniük Boolean. A bemeneti funkciók oszlopadatainak rögzített méretű vektornak kell lenniük Single.

Ezek az oktatók a következő oszlopokat kimenetelik:

Kimeneti oszlop neve Oszloptípus Leírás
Score Single A modell által kiszámított nyers pontszám
PredictedLabel Boolean Az előrejelzett címke a pontszám jele alapján. Negatív pontszámot képez le, false és pozitív pontszámot képez le true.

Többosztályos besorolás

Felügyelt gépi tanulási feladat, amely egy adatpéldány osztályának (kategóriájának) előrejelzésére szolgál. A besorolási algoritmus bemenete címkézett példák halmaza. Minden címke általában szövegként kezdődik. Ezután végigfut a TermTransformon, amely kulcs (numerikus) típussá alakítja át. A besorolási algoritmus kimenete egy osztályozó, amellyel előre jelezheti az új címkézetlen példányok osztályát. Többosztályos besorolási forgatókönyvek például a következők:

  • A járatok besorolása "korai", "időben" vagy "késés".
  • A filmértékelések "pozitív", "semleges" vagy "negatív" értelmezése.
  • A szállodai vélemények kategorizálása "hely", "ár", "tisztaság" stb.

További információkért lásd a Wikipédián található többosztályos besorolási cikket.

Feljegyzés

Az egyik vagy az összes verzió frissíti a bináris besorolási tanulókat , hogy többosztályos adathalmazokon működjenek. További információ a Wikipédiáról.

Többosztályos besorolási oktatók

Többosztályos besorolási modellt a következő betanítási algoritmusokkal taníthat be:

Többosztályos besorolás bemenetei és kimenetei

A bemeneti címke oszlopadatainak kulcstípusnak kell lenniük. A funkcióoszlopnak rögzített méretű vektornak Singlekell lennie.

Ez az oktató a következőket adja ki:

Kimeneti név Típus Leírás
Score Vektora Single Az összes osztály pontszáma. A magasabb érték nagyobb valószínűséggel esik a társított osztályba. Ha az i-edik elem a legnagyobb értékkel rendelkezik, az előrejelzett címkeindex az i. Vegye figyelembe, hogy én nulla-alapú index.
PredictedLabel kulcs típusa Az előrejelzett címke indexe. Ha az értéke i, akkor a tényleges címke a kulcsértékelt beviteli címke típusának i-edik kategóriája lenne.

Regresszió

Felügyelt gépi tanulási feladat, amely a címke értékének előrejelzésére szolgál a kapcsolódó funkciók készletéből. A címke bármilyen valós érték lehet, és nem véges értékkészletből származik, mint a besorolási feladatokban. A regressziós algoritmusok modellezhetik a címke függőségét a kapcsolódó funkciókon, hogy meghatározzák, hogyan változik a címke, mivel a funkciók értékei változnak. A regressziós algoritmus bemenete ismert értékek címkéit tartalmazó példák halmaza. A regressziós algoritmus kimenete egy függvény, amellyel előrejelezheti a címke értékét bármilyen új bemeneti funkcióhoz. Regressziós forgatókönyvek például a következők:

  • Az ingatlanárak előrejelzése a háztulajdonságok, például a hálószobák száma, a hely vagy a méret alapján.
  • A jövőbeli részvényárak előrejelzése a korábbi adatok és a jelenlegi piaci trendek alapján.
  • Egy termék értékesítésének előrejelzése a hirdetési költségvetések alapján.

Regressziós oktatók

A regressziós modellt a következő algoritmusokkal taníthatja be:

Regressziós bemenetek és kimenetek

A bemeneti címke oszlopadatainak meg kell lenniük Single.

A feladat oktatói a következőket kimenetelik:

Kimeneti név Típus Leírás
Score Single A modell által előrejelzett nyers pontszám

Fürtözés

Nem felügyelt gépi tanulási feladat, amely az adatok példányait hasonló jellemzőket tartalmazó fürtökbe csoportosítja. A fürtözés olyan adathalmazok kapcsolatainak azonosítására is használható, amelyeket böngészéssel vagy egyszerű megfigyeléssel nem lehet logikailag levezetni. A fürtözési algoritmus bemenetei és kimenetei a választott módszertantól függenek. A disztribúció, a centroid, a kapcsolat vagy a sűrűségalapú megközelítés is alkalmazható. ML.NET jelenleg a centroid alapú megközelítést támogatja a K-Means fürtözés használatával. A fürtözési forgatókönyvek például a következők:

  • A szállodai vendégek szegmenseinek megismerése a szállodai döntések szokásai és jellemzői alapján.
  • Ügyfélszegmensek és demográfiai adatok azonosítása célzott hirdetési kampányok létrehozásához.
  • Készlet kategorizálása gyártási metrikák alapján.

Fürtözési tréner

A fürtözési modellt a következő algoritmussal taníthatja be:

Bemenetek és kimenetek fürtözése

A bemeneti funkciók adatainak meg kell lenniük Single. Nincs szükség címkékre.

Ez az oktató a következőket adja ki:

Kimeneti név Típus Leírás
Score vektora Single Az adott adatpont távolsága az összes fürt centroidjaihoz
PredictedLabel kulcs típusa A modell által előrejelzett legközelebbi fürtindex.

Annak észlelődése, hogy a rendszer nem észlelt

Ez a feladat létrehoz egy anomáliadetektálási modellt a fő összetevő-elemzés (PCA) használatával. A PCA-alapú anomáliadetektálás olyan helyzetekben segít létrehozni egy modellt, ahol könnyen beszerezhetőek a betanítási adatok egy osztályból, például érvényes tranzakciókból, de nehéz elegendő mintát beszerezni a célzott anomáliákból.

A gépi tanulás egyik bevált technikáját, a PCA-t gyakran használják feltáró adatelemzésben, mivel feltárja az adatok belső szerkezetét, és elmagyarázza az adatok varianciáját. A PCA több változót tartalmazó adatok elemzésével működik. A változók közötti korrelációkat keresi, és meghatározza az eredmények közötti különbségeket legjobban rögzítő értékek kombinációját. Ezek az egyesített funkcióértékek egy tömörebb funkciótér, az úgynevezett fő összetevők létrehozására szolgálnak.

Az anomáliadetektálás számos fontos feladatot foglal magában a gépi tanulásban:

  • A potenciálisan csalárd tranzakciók azonosítása.
  • Tanulás mintákat, amelyek azt jelzik, hogy hálózati behatolás történt.
  • Rendellenes betegcsoportok keresése.
  • A rendszerbe bevitt értékek ellenőrzése.

Mivel az anomáliák definíció szerint ritka események, nehéz lehet reprezentatív adatmintát gyűjteni a modellezéshez. Az ebben a kategóriában szereplő algoritmusok kifejezetten úgy lettek kialakítva, hogy a kiegyensúlyozatlan adathalmazok használatával oldják meg a modellek létrehozásának és betanításának alapvető kihívásait.

Anomáliadetektálási tréner

Az anomáliadetektálási modellt a következő algoritmussal taníthatja be:

Anomáliadetektálási bemenetek és kimenetek

A bemeneti jellemzőknek rögzített méretű vektornak kell lenniük Single.

Ez az oktató a következőket adja ki:

Kimeneti név Típus Leírás
Score Single Az anomáliadetektálási modell által kiszámított nem negatív, kötetlen pontszám
PredictedLabel Boolean Igaz/hamis érték, amely azt jelzi, hogy a bemenet anomália (PredictedLabel=true) vagy sem (PredictedLabel=false)

Rangsorolás

A rangsorolási feladat egy rangsorolót hoz létre címkézett példákból. Ez a példakészlet olyan példánycsoportokból áll, amelyek egy adott feltétellel értékelhetők. A rangsorcímkék { 0, 1, 2, 3, 4 } az egyes példányok esetében. A rangsoroló be van tanítva az új példánycsoportok rangsorolására ismeretlen pontszámokkal az egyes példányok esetében. ML.NET tanulók rangsorolása gépi tanulás alapján történik .

Betanítási algoritmusok rangsorolása

A rangsorolási modellt a következő algoritmusokkal taníthatja be:

Bemenetek és kimenetek rangsorolása

A bemeneti címke adattípusának kulcstípusnak vagy Singlekulcstípusnak kell lennie. A címke értéke határozza meg a relevanciát, ahol a magasabb értékek nagyobb relevanciát jeleznek. Ha a címke kulcstípus, akkor a kulcsindex a relevanciaérték, ahol a legkisebb index a legkevésbé releváns. Ha a címke egy Single, a nagyobb értékek nagyobb relevanciát jeleznek.

A funkcióadatoknak rögzített méretű vektornak kell lenniük, a bemeneti sorcsoport oszlopának Single pedig kulcstípusnak kell lennie.

Ez az oktató a következőket adja ki:

Kimeneti név Típus Leírás
Score Single A modell által az előrejelzés meghatározására kiszámított kötetlen pontszám

Ajánlás

A javaslati feladat lehetővé teszi az ajánlott termékek vagy szolgáltatások listájának elkészítését. ML.NET Mátrix factorization (MF) nevű együttműködési szűrési algoritmust használ a javaslatokhoz, ha a katalógusban korábbi termékminősítési adatokkal rendelkezik. Vannak például előzményfilm-minősítési adatai a felhasználók számára, és olyan filmeket szeretne javasolni, amelyeket valószínűleg legközelebb fognak megnézni.

Javaslatok betanítási algoritmusai

Javaslatmodellt a következő algoritmussal taníthat be:

Előrejelzés

Az előrejelzési tevékenység a múltbeli idősorok adatait használva előrejelzéseket készít a jövőbeli viselkedésről. Az előrejelzésre alkalmazható forgatókönyvek közé tartozik az időjárás-előrejelzés, a szezonális értékesítési előrejelzések és a prediktív karbantartás.

Előrejelzési oktatók

Az előrejelzési modellt a következő algoritmussal taníthatja be:

ForecastBySsa

Képbesorolás

Felügyelt gépi tanulási feladat, amely a rendszerkép osztályának (kategóriájának) előrejelzésére szolgál. A bemenet címkézett példák halmaza. Minden címke általában szövegként kezdődik. Ezután végigfut a TermTransformon, amely kulcs (numerikus) típussá alakítja át. A képbesorolási algoritmus kimenete egy osztályozó, amellyel előrejelezheti az új képek osztályát. A képbesorolási feladat a többosztályos besorolás egyik típusa. Képbesorolási forgatókönyvek például a következők:

  • A kutya fajtájának meghatározása "szibériai husky", "Golden Retriever", "Poodle" stb.
  • Annak meghatározása, hogy egy gyártási termék hibás-e vagy sem.
  • Annak meghatározása, hogy milyen típusú virágok, mint "Rose", "Napraforgó", stb.

Képbesorolási oktatók

Képbesorolási modellt a következő betanítási algoritmusokkal taníthat be:

Képbesorolási bemenetek és kimenetek

A bemeneti címke oszlopadatainak kulcstípusnak kell lenniük. A funkcióoszlopnak változó méretű vektornak Bytekell lennie.

Ez az oktató a következő oszlopokat adja ki:

Kimeneti név Típus Leírás
Score Single Az összes osztály pontszáma. A magasabb érték nagyobb valószínűséggel esik a társított osztályba. Ha az i-edik elem a legnagyobb értékkel rendelkezik, az előrejelzett címkeindex az i.Ne feledje, hogy az i nulla alapú index.
PredictedLabel Kulcs típusa Az előrejelzett címke indexe. Ha az értéke i, akkor a tényleges címke a kulcsértékelt beviteli címke típusának i-edik kategóriája lenne.

Objektumészlelés

Felügyelt gépi tanulási feladat, amely a rendszerkép osztályának (kategóriájának) előrejelzésére szolgál, de határolókeretet is ad ahhoz, hogy a kategória a képen belül legyen. A kép egyetlen objektumának besorolása helyett az objektumészlelés több objektumot is képes észlelni egy képen belül. Az objektumészlelés például a következő:

  • Autók, táblák vagy személyek észlelése egy út képén.
  • Hibák észlelése a termékek képein.
  • A röntgenképek aggodalomra okot adó területeinek észlelése.

Az objektumészlelési modell betanítása jelenleg csak az Azure Machine Tanulás használatával érhető el a Model Builderben.