dat fiind un set de date arbitrar, de obicei nu știți care nucleu poate funcționa cel mai bine. Vă recomand să începeți mai întâi cu cel mai simplu spațiu de ipoteze — dat fiind că nu știți prea multe despre datele dvs. — și să vă deplasați spre spațiile de ipoteze mai complexe. Deci, nucleul liniar funcționează bine dacă setul dvs. de date este separabil liniar; cu toate acestea, dacă setul dvs. de date nu este separabil liniar, un kernel liniar nu îl va tăia (aproape într-un sens literal ;)).,pentru simplitate (și vizualizare), să presupunem că setul nostru de date este format doar din 2 dimensiuni. Mai jos, am trasat regiunile de decizie ale unui SVM liniar pe 2 caracteristici ale setului de date iris:
Acest lucru funcționează perfect. Și aici vine RBF kernel SVM:
acum, se pare că atât liniar și RBF kernel SVM ar lucra la fel de bine pe acest set de date. Deci, de ce preferați ipoteza mai simplă, liniară? Gândiți-vă la briciul lui Occam în acest caz particular., SVM liniar este un model parametric, un SVM kernel RBF nu este, iar complexitatea acestuia din urmă crește odată cu dimensiunea setului de antrenament. Nu numai că este mai scump să antrenezi un SVM de kernel RBF, dar trebuie să păstrezi matricea kernelului în jur, iar proiecția în acest spațiu dimensional „infinit”, unde datele devin separabile liniar, este mai scumpă și în timpul predicției. În plus, aveți mai multe hiperparametre pentru a regla, astfel încât selecția modelului este mai scumpă! Și, în sfârșit, este mult mai ușor să se suprapună un model complex!,bine, ceea ce am spus mai sus sună foarte negativ în ceea ce privește metodele kernel-ului, dar depinde într-adevăr de setul de date. E. g., dacă datele nu sunt liniar separabile, nu are sens de a utiliza un clasificator liniar:
În acest caz, o RBF kernel-ar face atât de mult mai mult sens:
În orice caz, eu nu m-ar deranja prea mult despre polinom kernel. În practică, este mai puțin util pentru eficiență (computațională, precum și predictivă) din motive de performanță., Deci, regula de bază este: utilizați SVM liniare (sau regresie logistică) pentru probleme liniare și nucleele neliniare, cum ar fi nucleul funcției de bază radială pentru probleme neliniare.
regiunea de decizie RBF kernel SVM este de fapt, de asemenea, o regiune de decizie liniară., Ce RBF kernel SVM fapt nu este de a crea non-linear combinații de caracteristici pentru a ridica probe pe o mai mare-dimensional caracteristică spațiu unde se poate folosi un liniar decizia limita pentru a separa clase:
Bine, mai sus, m-am plimbat printr-un exemplu intuitiv de unde putem vizualiza datele noastre în 2 dimensiuni … dar ce facem într-o problemă din lumea reală, adică un set de date cu mai mult de 2 dimensiuni? Aici, vrem să fim atenți la funcția noastră obiectivă: minimizarea pierderii balamalei., Am seta o căutare hiperparametru (căutare grilă, de exemplu) și am compara diferite nuclee între ele. Bazat pe funcția de pierdere (sau o metrică de performanță, cum ar fi precizia, F1, MCC, Roc ASC, etc.) am putea determina care nucleu este „adecvat” pentru sarcina dată.
Bio: Sebastian Raschka este un”om de știință de date”și pasionat de învățare automată, cu o mare pasiune pentru Python & open source. Autor al „Python machine Learning”. Universitatea De Stat Din Michigan.
Original. Reposted cu permisiune.,
Related:
- când învățarea profundă funcționează mai bine decât SVM-urile sau pădurile aleatorii?
- dezvoltarea clasificării ca mașină de învățare
- De ce să implementați algoritmi de învățare automată de la zero?
Lasă un răspuns