Megosztás a következőn keresztül:


Two-Class helyileg mély támogatási vektorgép

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Bináris besorolási modellt hoz létre a helyileg mély támogatási vektorgép-algoritmus használatával

Kategória: Machine Learning / Modell inicializálása / Besorolás

Megjegyzés

Csak a következőre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzási modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk bemutatja, hogyan használható a kétosztályos helyi mélytámogatási vektorgép modul a Machine Learning Studióban (klasszikus), a hatékony előrejelzésre optimalizált kétosztályos, nem lineáris támogatóvektor-gépek (SVM) osztályozó létrehozásához.

A támogatóvektor-gé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 nagyobb betanítási készletekre. A Microsoft Research ezen implementációjában az adatpontok funkciótérre való leképezéséhez használt kernelfüggvény kifejezetten a betanításhoz szükséges idő csökkentésére szolgál, miközben a besorolási pontosság nagy részét megtartja.

Ez a modell egy felügyelt tanulási módszer, ezért címkézett adathalmazt igényel, amely tartalmaz egy címkeoszlopot.

A modellparaméterek definiálása után betanítsa a modellt és egy címkézett adatkészletet bemenetként a modell betanítása vagy a modell hiperparamétereinek finomhangolása gombra. A betanított modell ezután az új bemenetek értékeinek előrejelzésére használható.

Two-Class helyileg mély támogatási vektorgép konfigurálása

  1. Adja hozzá a Kétosztályos Locally-Deep Support Vector Machine modult a kísérlethez a (klasszikus) Studióban.

  2. A Modell betanításának módját az Oktatói mód létrehozása beállítással adhatja meg.

    • Egyetlen paraméter: Ha tudja, hogyan szeretné konfigurálni a modellt, argumentumként adjon meg egy adott értékkészletet.

    • Paramétertartomány: Ha nem biztos a legjobb paraméterekben, több érték megadásával és a Modell hiperparamétereinek finomhangolása modullal megtalálhatja az optimális konfigurációt. A tréner a megadott beállítások több kombinációját is iterálja, és meghatározza az értékek kombinációját, amelyek a legjobb modellt állítják elő.

  3. A fa mélységéhez adja meg a fa maximális mélységét, amelyet a helyi mély kerneltanulási SVM-modell (LD-SVM) hozhat létre.

    A betanítás költsége a fa mélységével lineárisan nő; ezért válassza ki a megfelelő mélységet attól függően, hogy mennyi időt tölthet a modell létrehozásakor.

    A betanítási időnek nagyjából meg kell duplázódnia, ahogy a mélység eggyel nő.

    Az előrejelzés pontosságának növekednie kell, el kell érnie a csúcsot, majd a mélység növelésével csökkennie kell.

  4. Lambda W esetén adja meg a regularizációs kifejezéshez megadható súlyt.

    A regularizálás korlátozza a betanított osztályozó nagy értékű összetevőit. Ha a minták száma nem elegendő a funkciók száma miatt, l2-es regularizálással elkerülheti a túlillesztést. A Lambda W nagyobb értékei azt jelentik, hogy nagyobb hangsúlyt fektetnek az osztályozó súlyainak regularizálására, és kevésbé a betanítási készlet besorolási hibájára.

    Ha az alapértelmezett érték (0.1) nem működik megfelelően, próbálja meg a következőt is: {0.0001, 0.001 és 0.01}.

  5. Lambda Theta esetén adja meg, hogy mennyi helyet kell hagyni egy régióhatár és a legközelebbi adatpont között.

    Ez a modell úgy működik, hogy régiókra particionálja az adatterületet és a jellemzőterületet. Ha a Lambda Theta úgy van minimalizálva, hogy a betanított modell régióhatárai túl közel legyenek a betanítási adatpontokhoz, a modell alacsony betanítási hibát, de túlillesztés miatti magas tesztelési hibát eredményezhet.

    Az érvényesítendő paraméterek számának csökkentése érdekében jó szabály a Lambda Theta beállítása a Lambda W-hez használt érték tizedére. A nagyobb értékek azt jelentik, hogy nagyobb hangsúlyt fektetnek a túlillesztés megelőzésére, mint a betanítási készlet besorolási hibáinak minimalizálására.

    Ha az alapértelmezett érték (0.01) nem működik megfelelően, próbálja meg a következőt is: {0.0001, 0.001 és 0.1}.

  6. Lambda Theta Prime esetén írjon be egy értéket a modell döntési határaiban megengedett görbület mennyiségének szabályozásához.

    A nagyobb értékek rugalmasságot biztosítanak a modellnek a görbe döntési határok megismeréséhez, míg a kisebb értékek a döntési határokat egy lépésenkénti lineáris mintázatra korlátozhatják.

    Ez a paraméter a Sigma paraméterrel együtt működik. Az érvényesítendő paraméterek számának csökkentése érdekében jó szabály a Lambda Theta Prime beállítása a Lambda W értékének tizedére.

    Ha az alapértelmezett érték (0.01) nem működik megfelelően, próbálja meg a következőt is: {0.0001, 0.001 és 0.1,}.

  7. A szigmoid élességéhez írja be a σ skálázási paraméterhez használandó értéket.

    A nagyobb értékek azt jelentik, hogy a helyi kernel Θ (theta) tanh értéke telített, míg egy kisebb érték lineárisabb működési tartományt jelent a tátához. A teljes optimalizálási képletet a Műszaki megjegyzések szakaszban találja.

    Ha az alapértelmezett érték (1) nem működik megfelelően, megpróbálhatja a következőt is: {0.1, 0.01, 0.001}.

  8. Az iterációk számában adja meg, hogy az algoritmus hányszor frissítse az osztályozóparamétereket a példák véletlenszerű részhalmazával.

  9. A Funkciónormalizáló esetében válassza ki a funkcióértékek normalizálásához használni kívánt módszert. A következő módszerek támogatottak:

    • Dobozoló normalizáló: A dobozoló normalizáló egyenlő méretű intervallumokat hoz létre, majd normalizálja az egyes intervallumok minden értékét, hogy el legyen osztva a dobozok teljes számával.

    • Gauss-normalizáló: A gauss normalizáló újraskálázja az egyes jellemzők értékeit, hogy azok középértéke 0 legyen, és varianciája 1 legyen. Ez az egyes jellemzők középértékének és varianciájának kiszámításával történik. Ezután minden példány esetében a középértéket kivonjuk, az eredményt pedig elosztjuk a variancia négyzetgyökével (a szórással).

    • Min-Max normalizáló: A min-max normalizáló lineárisan újraskáláz minden funkciót a [0,1] intervallumba.

      A [0,1] intervallumra való újraskálázás úgy történik, hogy az egyes jellemzők értékeit úgy toljuk el, hogy a minimális érték 0 legyen, majd elosztjuk az új maximális értékkel (ez az eredeti maximális és minimális értékek közötti különbség).

    • Ne normalizáljon: Nem történik normalizálás.

  10. A véletlenszerű számú magba írjon be egy értéket, amelyet magként szeretne használni, ha biztosítani szeretné a futtatások közötti reprodukálhatóságot.

  11. Válassza az Ismeretlen kategorikus szintek engedélyezése lehetőséget, ha csoportot szeretne létrehozni ismeretlen értékekhez a tesztelési vagy ellenőrzési készletekben.

    Ha törli a kijelölést, a modell csak a betanítási adatokban található értékeket fogadhatja el. Az előző esetben előfordulhat, hogy a modell kevésbé pontos az ismert értékekhez, de jobb előrejelzéseket adhat az új (ismeretlen) értékekhez.

  12. Csatlakozás egy címkézett adatkészletet és az egyik képzési modult:

    Megjegyzés

    Ha paramétertartományt ad át a modell betanítása gombra, az csak az első értéket használja a paramétertartományok listájában.

    Ha egyetlen paraméterérték-készletet ad át a Modell hiperparamétereinek finomhangolása modulnak, amikor az minden paraméterhez egy beállítástartományt vár, figyelmen kívül hagyja az értékeket, és az alapértelmezett értékeket használja a tanulóhoz.

    Ha a Paramétertartomány lehetőséget választja, és egyetlen értéket ad meg bármely paraméterhez, akkor a rendszer a takarítás során a megadott értéket használja, még akkor is, ha más paraméterek egy értéktartományon belül változnak.

  13. Futtassa a kísérletet.

Results (Eredmények)

A betanítás befejezése után:

  • A modell paramétereinek összegzéséhez kattintson a jobb gombbal a Modell betanítása modul vagy a Modell hiperparaméterek hangolása modul kimenetére, és válassza a Vizualizáció lehetőséget.

  • A betanított modell egy pillanatnyi mentéséhez kattintson a jobb gombbal a Betanított modell kimenetére, és válassza a Mentés betanított modellként parancsot. Ez a modell nem frissül ugyanazon kísérlet egymást követő futtatásai során.

  • Ha keresztérvényesítést szeretne végezni egy címkézett adatkészleten, csatlakoztassa a betanítatlan modellt a keresztellenőrzési modellhez.

Műszaki megjegyzések

Ez a szakasz implementálási részleteket, tippeket és válaszokat tartalmaz a gyakori kérdésekre.

Használati tippek

Ez az LD-SVM-osztályozó a következő feltételek mellett a leghasznosabb:

  • Bináris besorolási probléma merült fel, vagy a problémát bináris besorolási feladatra csökkentheti.

  • Megpróbált egy lineáris osztályozót, de nem teljesített jól.

  • Megpróbált egy nem lineáris SVM-et vagy más osztályozót, és jó besorolási pontosságot kapott, de a modell betanítása túl sokáig tartott.

  • A betanítási idő csökkentése érdekében feláldozhatja az előrejelzés pontosságát.

Az LD-SVM modellek jó választásnak bizonyulnak, ha az adatok elég bonyolultak ahhoz, hogy a lineáris modellek (például a logisztikai regresszió) rosszul teljesítsen. Az LD-SVM modellek szintén elég kicsik ahhoz, hogy mobileszközökhöz vagy más olyan forgatókönyvekhez is használhatók legyenek, ahol az összetett modellek (például a neurális hálózatok) túl nagyok ahhoz, hogy hatékonyan használják.

Ezzel szemben ez a modell nem használható, ha nem érdekli a modell mérete, vagy ha az egyszerűség vagy az előrejelzési sebesség érdekében lineáris modellre van szükség. Nincs értelme az LD-SVM-re váltani, ha a lineáris osztályozók már jó eredményeket adnak, vagy ha nagy besorolási pontosságot érhet el kis mennyiségű nem linearitás hozzáadásával.

Megvalósítás részletei

Az LD-SVM modellt a Microsoft Research fejlesztette ki a nem lineáris SVM-előrejelzés felgyorsítására irányuló folyamatos erőfeszítések részeként. Gonen és Alpaydin (2008) munkája a honosított több kerneles tanulási módszeren különösen értékes volt. A helyi kernelfüggvények használatával a modell megtanulhat tetszőleges helyi jellemzőket beágyazni, beleértve a magas dimenziós, ritka és számítási mély funkciókat, amelyek nem linearitásokat vezetnek be a modellbe.

Az LD-SVM több okból is gyorsabb, mint a legtöbb más osztályozó:

  • A modell megtanulja a helyileg lineáris döntési határokat. Ezért egy tesztpont hatékonyan besorolható úgy, hogy a helyi döntési határán teszteli azt ahelyett, hogy a teljes döntési határt teszteli a funkciótérben.

  • A modell hatékony elsődleges alapú rutinokat használ a több mint félmillió betanítási ponttal rendelkező nagy betanítási csoportokra méretezhető, faszerkezetes helyi jellemzőbeágyazások helyének optimalizálására.

  • Egy pont helyi döntési határán való tesztelésének költsége logaritmikus a betanítási pontok számában.

Az optimalizálások következtében az LD-SVM modell betanítása exponenciálisan gyorsabb, mint a hagyományos SVM-modellek betanítása.

Optimalizálási képlet

optimization formula

Kutatás

Az algoritmussal és az alapul szolgáló kutatásokkal kapcsolatos további információkért lásd a Helyi mély kernel Tanulás a hatékony nem lineáris SVM-előrejelzéshez.

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
Oktatói mód létrehozása Lista Learner paraméter lehetőség Egyetlen paraméter Speciális tanulói lehetőségek:

1. Tanuló létrehozása egyetlen paraméter használatával
2. Tanuló létrehozása paramétertartomány használatával
A fa mélysége >=1 Egész szám 3 A helyi mély SVM-fa mélysége.
Lambda W >=1,401298E-45 Float 0.1 A Lambda W osztályozóparaméter regularizálási súlya.
Lambda Theta >=1,401298E-45 Float 0,01 A Lambda Theta osztályozóparaméter regularizálási súlya.
Lambda Theta Prime >=1,401298E-45 Float 0,01 A Lambda Theta prime osztályozóparaméter regularizálási súlya.
Szigmoid élesség >=1,401298E-45 Float 1.0 A szigmoid élessége.
A fa mélysége [1;int. MaxValue] ParameterRangeSettings 1; 3; 5; 7 A helyi mély SVM-fa mélységének tartománya.
Lambda W [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 A Lambda W osztályozóparaméter regularizálási súlyának tartománya.
Lambda Theta [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 A Lambda Theta osztályozóparaméter regularizálási súlyának tartománya.
Lambda Theta Prime [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 A Lambda Theta prime osztályozóparaméter regularizálási súlyának tartománya.
Szigmoid élesség [1.401298E-45;3.40282347E+38] ParameterRangeSettings 1.0; 0.1; 0.01 A szigmoid élességének tartománya.
Funkciónormalizáló Lista Normalizáló típusa Min-Max normalizáló A tanulási példákra alkalmazandó normalizálás típusa.
Iterációk száma >=1 Egész szám 15 000 Tanulási iterációk száma.
Iterációk száma [1;int. MaxValue] ParameterRangeSettings 10000; 15000; 20000 A tanulási iterációk számának tartománya.
Véletlenszám-kezdőérték Bármelyik Egész szám A modell által használt véletlenszerű számgenerátor magja. Hagyja üresen az alapértelmezett beállításnál.
Ismeretlen kategorikus szintek engedélyezése Bármelyik Logikai Igaz Ha igaz, minden kategorikus oszlophoz létrehoz egy további szintet. A tesztadatkészlet azon szintjei, amelyek nem érhetők el a betanítási adatkészletben, erre a további szintre lesznek leképezve.

Kimenet

Név Típus Description
Nem betanított modell ILearner-felület Nem betanított bináris besorolási modell.

Lásd még

Osztályozás
A-Z modullista