ML.NET algoritmus kiválasztása

Minden ML.NET feladathoz több betanítási algoritmus közül választhat. A választott megoldás a megoldandó problémától, az adatok jellemzőitől, valamint a rendelkezésre álló számítási és tárolási erőforrásoktól függ. Fontos megjegyezni, hogy a gépi tanulási modellek betanítása iteratív folyamat. Előfordulhat, hogy több algoritmust is ki kell próbálnia, hogy megtalálja azt, amelyik a legjobban működik.

Az algoritmusok funkciókon működnek. A funkciók a bemeneti adatokból kiszámított numerikus értékek. Ezek a gépi tanulási algoritmusok optimális bemenetei. A nyers bemeneti adatokat egy vagy több adatátalakítással funkciókká alakíthatja. A szöveges adatok például szószám- és szókombinációszám-készletté alakulnak át. Miután a funkciókat kinyerték egy nyers adattípusból adatátalakításokkal, ezeket featurizáltnak nevezzük. Például: featurizált szöveg vagy featurizált képadatok.

Oktató = Algoritmus + Feladat

Az algoritmus az a matematikai művelet, amely egy modell létrehozásához hajt végre. A különböző algoritmusok különböző jellemzőkkel rendelkező modelleket hoznak létre.

A ML.NET ugyanaz az algoritmus alkalmazható különböző feladatokra. A sztochasztikus kettős koordináta-felemelkedés például használható bináris besoroláshoz, többosztályos besoroláshoz és regresszióhoz. A különbség az, hogy az algoritmus kimenete hogyan lesz értelmezve a feladatnak megfelelően.

Az egyes algoritmusok/feladatkombinációk esetében ML.NET biztosít egy összetevőt, amely végrehajtja a betanítási algoritmust, és elvégzi az értelmezést. Ezeket az összetevőket oktatóknak nevezzük. Például a SdcaRegressionTrainer Regressziós feladatra alkalmazott StochasticDualCoordinatedAscent algoritmust használja.

Lineáris algoritmusok

A lineáris algoritmusok olyan modellt hoznak létre, amely a bemeneti adatok lineáris kombinációjából és egy súlycsoportból számítja ki a pontszámokat. A súlyok a betanítás során becsült modell paraméterei.

A lineáris algoritmusok jól működnek a lineárisan elválasztható funkciókhoz.

A lineáris algoritmusokkal végzett betanítás előtt normalizálni kell a funkciókat. Ez megakadályozza, hogy egy funkció nagyobb hatással legyen az eredményre, mint másokra.

A lineáris algoritmusok általában skálázhatóak, gyorsak, olcsók a betaníthatók és olcsók az előrejelzéshez. Skálázásuk a funkciók számával és körülbelül a betanítási adatkészlet méretével.

A lineáris algoritmusok több átlépést tesznek a betanítási adatokon. Ha az adathalmaz belefér a memóriába, akkor a tréner hozzáfűzése előtt gyorsítótár-ellenőrzőpontot ad hozzá a ML.NET folyamathoz, így a betanítás gyorsabban fut.

Átlagos perceptron

Legjobb szövegbesoroláshoz.

Edző Task ONNX exportálható
AveragedPerceptronTrainer Bináris besorolás Igen

Sztochasztikus kettős koordinált felemelkedés

Nincs szükség finomhangolásra a jó alapértelmezett teljesítmény érdekében.

Edző Task ONNX exportálható
SdcaLogisticRegressionBinaryTrainer Bináris besorolás Igen
SdcaNonCalibratedBinaryTrainer Bináris besorolás Igen
SdcaMaximumEntropyMulticlassTrainer Többosztályos besorolás Igen
SdcaNonCalibratedMulticlassTrainer Többosztályos besorolás Igen
SdcaRegressionTrainer Regresszió Igen

L-BFGS

Akkor használható, ha a szolgáltatások száma nagy. Logisztikai regressziós betanítási statisztikákat hoz létre, de nem skálázható úgy, mint az AveragedPerceptronTrainer.

Edző Task ONNX exportálható
LbfgsLogisticRegressionBinaryTrainer Bináris besorolás Igen
LbfgsMaximumEntropyMulticlassTrainer Többosztályos besorolás Igen
LbfgsPoissonRegressionTrainer Regresszió Igen

Szimbolikus sztochasztikus gradiens-süllyedés

A leggyorsabb és legpontosabb lineáris bináris besorolási tréner. A processzorok száma jól skálázható.

Edző Task ONNX exportálható
SymbolicSgdLogisticRegressionBinaryTrainer Bináris besorolás Igen

Online színátmenetes süllyedés

A standard (nem köteges) sztochasztikus gradiens-süllyedés megvalósítása a veszteségfüggvények választásával, valamint a súlyvektor frissítése az idő során látott vektorok átlagával.

Edző Task ONNX exportálható
OnlineGradientDescentTrainer Regresszió Igen

Döntési fa algoritmusok

A döntésifa-algoritmusok olyan modellt hoznak létre, amely döntések sorozatát tartalmazza: hatékonyan egy folyamatdiagramot az adatértékeken keresztül.

Az ilyen típusú algoritmus használatához a funkcióknak nem kell lineárisan elválaszthatóknak lenniük. A jellemzőket nem kell normalizálni, mert a funkcióvektor egyedi értékeit egymástól függetlenül használják a döntési folyamat során.

A döntési fa algoritmusok általában nagyon pontosak.

Az általánosított additív modellek (GAM-ek) kivételével a famodellek nem magyarázhatók, ha a funkciók száma nagy.

A döntési fa algoritmusok több erőforrást vesznek igénybe, és nem skáláznak, és nem skáláznak, mint a lineáris algoritmusok. Jól teljesítenek a memóriába illeszkedő adathalmazokon.

A megnövelt döntési fák olyan kis fák együttesei, ahol minden fa pontszámot ad a bemeneti adatoknak, és átadja a pontszámot a következő fára, hogy jobb pontszámot hozzon létre, és így tovább, ahol az együttes minden fája javul az előzőn.

Fényátmenetes felerősített gép

A bináris besorolási fa oktatóinak leggyorsabb és legpontosabb. Nagyon tonhalas.

Edző Task ONNX exportálható
LightGbmBinaryTrainer Bináris besorolás Igen
LightGbmMulticlassTrainer Többosztályos besorolás Igen
LightGbmRegressionTrainer Regresszió Igen
LightGbmRankingTrainer Rangsorolás Nem

Gyors fa

Featurizált képadatokhoz használható. Rugalmas a kiegyensúlyozatlan adatokkal szemben. Nagyon tonhalas.

Edző Task ONNX exportálható
FastTreeBinaryTrainer Bináris besorolás Igen
FastTreeRegressionTrainer Regresszió Igen
FastTreeTweedieTrainer Regresszió Igen
FastTreeRankingTrainer Rangsorolás Nem

Gyors erdő

Jól működik a zajos adatokkal.

Edző Task ONNX exportálható
FastForestBinaryTrainer Bináris besorolás Igen
FastForestRegressionTrainer Regresszió Igen

Általánosított additív modell (GAM)

A legjobb megoldás a faalgoritmusokkal jól teljesítő, de a magyarázhatóság szempontjából fontos problémákra.

Edző Task ONNX exportálható
GamBinaryTrainer Bináris besorolás Nem
GamRegressionTrainer Regresszió Nem

Mátrix-faktorizáció

Mátrix-faktorizáció

Együttműködésen alapuló szűréshez használható a javaslatban.

Edző Task ONNX exportálható
MatrixFactorizationTrainer Ajánlás Nem

Mezőérzékeny faktorizációs gép

A legjobb a ritkán kategorikus adatokhoz, nagy adathalmazokkal.

Edző Task ONNX exportálható
FieldAwareFactorizationMachineTrainer Bináris besorolás Nem

Meta-algoritmusok

Ezek az oktatók létrehoznak egy többosztályos trénert egy bináris trénerből. A következővel AveragedPerceptronTrainerhasználható: , LbfgsLogisticRegressionBinaryTrainer, SymbolicSgdLogisticRegressionBinaryTrainer, LightGbmBinaryTrainerFastTreeBinaryTrainer, . GamBinaryTrainerFastForestBinaryTrainer

Egy az összeshez képest

Ez a többosztályos osztályozó minden osztályhoz betanít egy bináris osztályozót, amely megkülönbözteti ezt az osztályt az összes többi osztálytól. A kategorizálandó osztályok száma skálázható.

Edző Task ONNX exportálható
OneVersusAllTrainer Többosztályos besorolás Igen

Párirányú összekapcsolás

Ez a többosztályos osztályozó egy bináris besorolási algoritmust képez le minden osztálypáron. A skálázást az osztályok száma korlátozza, mivel a két osztály minden kombinációját be kell tanítani.

Edző Task ONNX exportálható
PairwiseCouplingTrainer Többosztályos besorolás Nem

K-közép

Fürtözéshez használatos.

Edző Task ONNX exportálható
KMeansTrainer Fürtözés Igen

Fő összetevő elemzése

Anomáliadetektáláshoz használatos.

Edző Task ONNX exportálható
RandomizedPcaTrainer Annak észlelődése, hogy a rendszer nem észlelt Nem

Naiv Bayes

Ezt a többosztályos besorolási algoritmust akkor használja, ha a funkciók függetlenek, és a betanítási adatkészlet kicsi.

Edző Task ONNX exportálható
NaiveBayesMulticlassTrainer Többosztályos besorolás Igen

Korábbi edző

Ez a bináris besorolási algoritmus a többi oktató teljesítményének alapkonfigurációjára használható. A hatékonyság érdekében a többi tréner metrikáinak jobbnak kell lenniük, mint a korábbi trénernek.

Edző Task ONNX exportálható
PriorTrainer Bináris besorolás Igen

Vektorgépek támogatása

A támogató vektorgépek (SVM-ek) a felügyelt tanulási modellek rendkívül népszerű és jól kutatott osztályai, amelyek lineáris és nem lineáris besorolási feladatokhoz használhatók.

A legutóbbi kutatások arra összpontosítottak, hogyan optimalizálhatók ezek a modellek, hogy hatékonyan méretezhetőek legyenek a nagyobb betanítási csoportokra.

Lineáris SVM

Egy cél előrejelzése logikai címkével ellátott adatokon betanított lineáris bináris besorolási modell használatával. A sztochasztikus gradiens süllyedés lépései és a vetítési lépések váltakozása.

Edző Task ONNX exportálható
LinearSvmTrainer Bináris besorolás Igen

Helyi mély SVM

Egy cél előrejelzése nem lineáris bináris besorolási modell használatával. Csökkenti az előrejelzési idő költségét; az előrejelzési költség logaritmikusan növekszik a betanítási készlet méretével, nem lineárisan, a besorolási pontosság elviselhető veszteségével.

Edző Task ONNX exportálható
LdSvmTrainer Bináris besorolás Igen

Szokásos legkisebb négyzetek

A normál legkisebb négyzetek (OLS) a lineáris regresszió egyik leggyakrabban használt technikája.

A szokásos legkisebb négyzetek a veszteségfüggvényre utalnak, amely a hibát a tényleges értéktől az előrejelzett vonalig mért távolság négyzetének összegeként számítja ki, és a négyzetes hiba minimalizálásával illeszkedik a modellhez. Ez a módszer erős lineáris kapcsolatot feltételez a bemenetek és a függő változó között.

Edző Task ONNX exportálható
OlsTrainer Regresszió Igen