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 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: