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 gépi tanulási projekteknek a (klasszikus) ML Studióból a Azure Machine Learning való áthelyezésére vonatkozó információk.
- További információ a Azure Machine Learning.
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
Adja hozzá a Kétosztályos Locally-Deep Support Vector Machine modult a kísérlethez a (klasszikus) Studióban.
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ő.
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.
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}.
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}.
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,}.
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}.
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.
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.
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.
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.
Csatlakozás egy címkézett adatkészletet és az egyik képzési modult:
Ha a Create trainer módotegyetlen paraméterre állítja, használja a Modell betanítása modult.
Ha a Create trainer módotparamétertartományra állítja, használja a Modell hiperparamétereinek finomhangolása 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.
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
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. |