Gépi tanulási feladatok a ML.NET
A gépi tanulási feladat olyan előrejelzési vagy következtetési típus, amely mindkettőn alapul:
- A probléma vagy kérdés
- Az elérhető adatok
Például, a besorolási feladat adatokat rendel kategóriákhoz, míg a fürtözési feladat az adatokat hasonlóság szerint csoportosítja.
A gépi tanulási feladatok inkább az adatok mintáira támaszkodnak, mintsem hogy explicit módon legyenek programozva.
Ez a cikk a ML.NET elérhető különböző gépi tanulási feladatokat és néhány gyakori használati esetet ismerteti.
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.
Besorolási feladatok
Bináris besorolás
A bináris besorolás egy felügyelt gépi tanulási feladat, amely arra szolgál, hogy előre jelezze, melyik pontosan két osztályhoz (kategóriához) tartozik egy adatpéldány. 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-hozzászólások hangulatának megértése, mint pozitív vagy negatív.
- Annak diagnosztizálása, hogy egy betegnek van-e bizonyos betegsége.
- Döntés az e-mailek levélszemétként való megjelölése érdekében.
- 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án.
Bináris besorolási oktatók
A bináris besorolási modelleket a következő algoritmusokkal taníthatja be:
- AveragedPerceptronTrainer
- SdcaLogisticRegressionBinaryTrainer
- SdcaNonCalibratedBinaryTrainer
- SymbolicSgdLogisticRegressionBinaryTrainer
- LbfgsLogisticRegressionBinaryTrainer
- LightGbmBinaryTrainer
- FastTreeBinaryTrainer
- FastForestBinaryTrainer
- GamBinaryTrainer
- FieldAwareFactorizationMachineTrainer
- PriorTrainer
- LinearSvmTrainer
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 Booleankell lenniük. A bemeneti funkciók oszlopadatainak Singlerögzített méretű vektorának kell lenniük.
Ezek a modellek a következő oszlopokat adják:
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 előjelén alapul. A negatív pontszám a false -hoz, a pozitív pontszám pedig a true -hez van leképezve. |
Többosztályos besorolás
A többosztályos besorolás egy felügyelt gépi tanulási feladat, amely az adatok egy példányát három vagy több osztály (kategória) egyikébe sorolja. 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. 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ésett".
- A filmértékelések "pozitív", "semleges" vagy "negatív" értelmezése.
- A hotelértékelések kategorizálása például "hely", "ár" vagy "tisztaság".
További információ: Többosztályos besorolási cikk a Wikipédián.
Jegyzet
One-vs.-rest kiterjeszt minden bináris kategorizáló algoritmust a többosztályos adathalmazok kezelésére.
Többosztályos besorolási oktatók
Többosztályos besorolási modellt a következő betanítási algoritmusokkal taníthat be:
- TextClassificationTrainer
- LightGbmMulticlassTrainer
- SdcaMaximumEntropyMulticlassTrainer
- SdcaNonCalibratedMulticlassTrainer
- LbfgsMaximumEntropyMulticlassTrainer
- NaiveBayesMulticlassTrainer
- OneVersusAllTrainer
- PairwiseCouplingTrainer
Többosztályos besorolás bemenetei és kimenetei
A bemeneti címke oszlopadatainak kulcs típusának kell lenniük. A funkcióoszlopnak Singlerögzített méretű vektorának kell lennie.
Ez az oktató a következőket adja ki:
Kimeneti név | Típus | Leírás |
---|---|---|
Score |
Single vektor | Az összes osztály pontszáma. A magasabb érték nagyobb valószínűséggel esik a társított osztályba. Ha a i -th elem a legnagyobb értékkel rendelkezik, az előrejelzett címkeindex i lesz. Vegye figyelembe, hogy a i nulla alapú index. |
PredictedLabel |
kulcs | Az előrejelzett címke indexe. Ha az értéke i , akkor a tényleges címke a kulcs-érték alapú beviteli címke típusának a i . kategóriája. |
Szövegbesorolás
A szövegbesorolás a többosztályos besorolás alkategóriája, amely kifejezetten a nyers szöveggel foglalkozik. A szöveg érdekes kihívásokat jelent, mivel figyelembe kell vennie a szöveg kontextusát és szemantikáját. Ezért nehéz lehet kódolni a jelentést és a kontextust.
mélytanulási modellek ígéretes módszerként jelentek meg a természetes nyelvi problémák megoldásához. Pontosabban a transzformátor néven ismert neurális hálózat vált a természetes nyelvi problémák, például a szövegbesorolás, a fordítás, az összegzés és a kérdések megválaszolásának elsődleges módjává. Néhány népszerű transzformátorarchitektúra a természetes nyelvi feladatokhoz:
- Kétirányú kódoló-ábrázolások transzformátorokból (BERT)
- Robusztusan optimalizált BERT előtanítási megközelítés (RoBERTa)
- Generatív előre betanított transzformátor (GPT)
A ML.NET szövegbesorolási API-t TorchSharpműködteti. A TorchSharp egy .NET-kódtár, amely hozzáférést biztosít a PyTorch-t hatalmi kódtárhoz. A TorchSharp a neurális hálózatok .NET-ben való betanításának építőelemeit tartalmazza. A ML.NET a TorchSharp összetettségének egy részét a forgatókönyv szintjére absztrahálja. A NAS-BERT modell előre betanított verzióját használja, és finomhangolja a saját adataival.
Szövegbesorolási példa: A szövegbesorolási APIhasználatának első lépései.
Képbesorolás
A képbesorolás egy 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. 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 kulcs típusának kell lenniük. A funkcióoszlopnak Byteváltozó méretű vektorának kell 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 a i -th elem a legnagyobb értékkel rendelkezik, az előrejelzett címkeindex i lesz. (i nulláról induló 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ék alapú beviteli címke típusának a i . kategóriája. |
Regresszió
A regresszió egy 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.
- Kapcsolódó cikkek keresése egy kiadványban (mondatok hasonlósága).
Regressziós oktatók
A regressziós modellt a következő algoritmusokkal taníthatja be:
- SentenceSimilarityTrainer
- LbfgsPoissonRegressionTrainer
- LightGbmRegressionTrainer
- SdcaRegressionTrainer
- OlsTrainer
- OnlineGradientDescentTrainer
- FastTreeRegressionTrainer
- FastTreeTweedieTrainer
- FastForestRegressionTrainer
- GamRegressionTrainer
Regressziós bemenetek és kimenetek
A bemeneti címke oszlopadatainak Singlekell lenniük.
A feladatra felkészítő trénerek a következőket produkálják:
Kimeneti név | Típus | Leírás |
---|---|---|
Score |
Single | A modell által előrejelzett nyers pontszám |
Fürtözés
A fürtözés egy nem felügyelt gépi tanulási feladat, amely adatpéldányok hasonló jellemzőket tartalmazó fürtökbe való csoportosítására szolgál. 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ódszertő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 szcenáriók 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.
Klaszterezé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 Singlekell lenniük. 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 |
Single vektor | Az adott adatpont távolságai az összes fürt centroidjaihoz. |
PredictedLabel |
kulcs típusa | A modell által előrejelzett legközelebbi fürtindex. |
Anomáliadetektálás
Az anomáliadetektálási feladat létrehoz egy anomáliadetektálási modellt az elsődleges ö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.
- Olyan tanulási minták, 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 Singlerögzített méretű vektorának kell lenniük.
Ez az oktató a következőket adja ki:
Kimeneti név | Típus | Leírás |
---|---|---|
Score |
Single | Az anomáliadetektáló modell által kiszámított nem negatív, korlátozás nélküli pontszám. |
PredictedLabel |
Boolean |
true , hogy a bemenet rendellenes-e, vagy false , ha nem. |
Rangú
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, hogy új példánycsoportokat rangsoroljon, amikor az egyes példányok pontszámai ismeretlenek. ML.NET rangsorolási algoritmusok gépi tanulással létrehozott rangsorolási alapulnak.
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 kulcs típusának vagy Singlekell 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 egy kulcs tí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 Single rögzített méretű vektorának kell lenniük, a bemeneti sorcsoport oszlopának pedig kulcs típusúnak 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ához kiszámított korlátlan 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 faktorizációt (MF), egy együttműködéses szűrő algoritmust használ a katalógus korábbi termékminősítési adataival kapcsolatos javaslatokhoz. 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:
Objektumészlelés
Az objektumészlelés egy felügyelt gépi tanulási feladat, amely egy kép osztályának (kategóriájának) előrejelzésére szolgál, de határolókeretet is ad ahhoz, hogy az adott 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ái a következők:
- 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 Model Builder érhető el az Azure Machine Learning használatával.