tetszőleges adathalmaz alapján általában nem tudja, melyik kernel működhet a legjobban. Azt javaslom, hogy először a legegyszerűbb hipotézistérrel kezdjem – mivel nem sokat tudsz az adataidról -, és haladj felfelé a bonyolultabb hipotézis terek felé. Tehát a lineáris kernel jól működik, ha az adatkészlet lineárisan elválasztható; ha azonban az adatkészlet nem lineárisan elválasztható,akkor a lineáris kernel nem vágja le (szinte szó szerinti értelemben ;)).,
az egyszerűség kedvéért (és vizualizációs célokra) tegyük fel, hogy adatkészletünk csak 2 dimenzióból áll. Az alábbiakban egy lineáris SVM döntési régióit ábrázoltam az iris adatkészlet 2 tulajdonságán:
Ez tökéletesen működik. És itt jön az RBF kernel SVM:
most úgy tűnik, hogy mind a lineáris, mind az RBF kernel SVM egyformán jól működik ezen az adatkészleten. Tehát miért inkább az egyszerűbb, lineáris hipotézist részesíti előnyben? Gondolj Occam Borotvájára ebben az esetben., A lineáris SVM egy parametrikus modell, egy RBF kernel SVM nem, az utóbbi összetettsége pedig a képzési készlet méretével nő. Nem csak, hogy drágább, hogy a vonat egy RBF kernel SVM, de akkor is meg kell tartani a kernel mátrix körül, és a vetítés ebbe a “végtelen” magasabb dimenziós térben, ahol az adatok lineárisan elválasztható drágább, valamint a becslés során. Továbbá, több hiperparaméter van a beállításhoz, így a modellválasztás is drágább! Végül pedig sokkal könnyebb egy összetett modell túlterhelése!,
oké, amit fent mondtam, nagyon negatívnak hangzik a kernel módszereivel kapcsolatban, de ez valóban az adatkészlettől függ. Például, ha az adatok nem lineárisan elválaszthatók, nincs értelme lineáris osztályozót használni:
ebben az esetben az RBF kernelnek sokkal több értelme lenne:
sokat a polinom kernel. A gyakorlatban kevésbé hasznos a hatékonyság (számítási, valamint prediktív) teljesítmény okokból., Tehát a hüvelykujjszabály a következő: lineáris SVMs (vagy logisztikus regresszió) használata lineáris problémákhoz, nemlineáris kernelek, például a radiális Alapfüggvény kernel nemlineáris problémákhoz.
az RBF kernel SVM döntési régió valójában lineáris döntési régió is., Mi RBF kernel SVM valójában nem az, hogy hozzon létre a nem-lineáris kombinációi a funkciók, hogy felemelje a minták rá egy magasabb dimenziós funkció hely, ahol egy lineáris határozat határ, hogy a külön osztályok:
Oké, fent mentem át egy intuitív példa, ahol tudunk elképzelni az adatok 2 dimenzióban … de mit csinálunk egy valós problémában, azaz egy több mint 2 dimenzióval rendelkező adatkészletben? Itt szeretnénk szemmel tartani objektív funkciónkat: a csuklópánt veszteségének minimalizálása., Egy hiperparaméter-keresést (például rácskeresést) állítanánk be, és összehasonlítanánk a különböző magokat egymással. A veszteségfüggvény (vagy teljesítménymutató, például pontosság, F1, MCC, ROC AUC stb.) meghatározhatjuk, hogy melyik kernel “megfelelő” az adott feladathoz.
Bio: Sebastian Raschka “Adattudós” és gépi tanulás rajongó, nagy szenvedélye a Python & nyílt forráskódú. A “Python Gépi tanulás” szerzője. Michigan Állami Egyetem.
eredeti. Reposted engedélyével.,
kapcsolódó:
- mikor működik jobban a mély tanulás, mint az SVMs vagy a véletlenszerű erdők?
- a tanulási gépként történő osztályozás fejlesztése
- miért kell a gépi tanulási algoritmusokat a semmiből végrehajtani?
Vélemény, hozzászólás?