Koska mielivaltainen aineisto, olet yleensä tiedä, mikä ydin voi toimia parhaiten. Suosittelen aloittamaan yksinkertaisin hypoteesi tilaa ensin-koska et tiedä paljon tietoja-ja työskennellä tiesi kohti monimutkaisempia hypoteesi välilyöntejä. Niin, lineaarinen kernel toimii hyvin, jos datajoukon jos lineaarisesti separoituvia; kuitenkin, jos aineisto ei ole lineaarisesti separoituva, lineaarinen kernel ei aio leikata sitä (lähes kirjaimellisesti ;)).,
yksinkertaisuuden (ja visualisoinnin) vuoksi oletetaan, että datasetimme koostuu vain 2 ulottuvuudesta. Alla, suunnittelin päätös alueiden lineaarinen SVM 2 ominaisuudet iiris aineisto:
Tämä toimii täydellisesti hyvin. Ja tässä tulee RBF-kernel SVM:
Nyt, näyttää siltä, sekä lineaarinen ja RBF-kernel SVM toimisi yhtä hyvin tässä aineistossa. Joten, miksi mieluummin yksinkertaisempi, lineaarinen hypoteesi? Ajattele Occamin Partaveistä tässä jutussa., Lineaarinen SVM on parametrinen malli, RBF-kernel SVM ei ole, ja monimutkaisuus jälkimmäinen kasvaa koko koulutus asetettu. Ei vain se kalliimpi juna on RBF-kernel SVM, mutta sinun on myös pidettävä kernel matrix ympäri, ja projektio osaksi tämä ”ääretön” korkea-ulotteinen tila, jossa data muuttuu lineaarisesti separoituvia on kalliimpaa kuin hyvin aikana ennustaminen. Lisäksi sinulla on enemmän hyperparametrejä viritettävänä, joten mallivalikoimakin on kalliimpaa! Ja lopuksi, se on paljon helpompi ylittää monimutkainen malli!,
Okei, mitä olen sanonut edellä kuulostaa erittäin kielteinen kernel menetelmiä, mutta se todella riippuu aineisto. E. g., jos tietoja ei ole lineaarisesti separoituvia, se ei ole mitään järkeä käyttää lineaarinen luokitin:
tässä tapauksessa RBF-kernel tekisi paljon enemmän järkeä:
joka tapauksessa, en halua vaivata liikaa polynomi ytimen. Käytännössä se on tehottomampi tehokkuussyistä(laskennallisista sekä ennakoivista)., Joten nyrkkisääntö on: käytä lineaarisia SVMs: ää (tai logistista regressiota) lineaarisiin ongelmiin ja epälineaarisia ytimiä, kuten säteittäistä Funktioydintä ei-lineaarisiin ongelmiin.
RBF-ytimen SVM päätöksen alue on itse asiassa myös lineaarinen päätös alueen., Mitä RBF-kernel SVM todella tekee on luoda ei-lineaarisia yhdistelmiä ominaisuudet kohottaa näytteitä päälle korkea-ulotteinen ominaisuus tila, jossa voit käyttää lineaarinen päätös rajan erilliset luokat:
Okei, edellä, kävelin läpi intuitiivinen esimerkki, jossa voimme visualisoida tietoja 2 mitat … mutta mitä me teemme reaalimaailman ongelmassa, eli aineistossa, jossa on yli 2 ulottuvuutta? Täällä haluamme pitää silmällä objektiivista toimintaamme: saranahäviön minimoimista., Asetamme hyperparametrihaun (esimerkiksi ruutuhaku) ja vertaamme eri ytimiä toisiinsa. Perustuu hävikkifunktioon (tai suoritusmittariin, kuten tarkkuuteen, F1: een, MCC: hen, ROC: hen, auc: hen jne.) voisimme määrittää, mikä ydin on” sopiva ” annettuun tehtävään.
Bio: Sebastian Raschka on ’Data Scientist’ ja koneoppimisen harrastaja, jolla on suuri intohimo Python & avoimen lähdekoodin. Kirjoittaja ’Python Machine Learning’. Michiganin Osavaltionyliopisto.
Original. Korjattu luvalla.,
Related:
- When Does Deep Learning Work Better Than SVMs or Random Forests?
- Kehittäminen Luokittelu Oppimisen Kone
- Miksi Toteuttaa koneoppimisen Algoritmeja Tyhjästä?
Vastaa