givet et vilkårligt datasæt, ved du typisk ikke, hvilken kerne der fungerer bedst. Jeg anbefaler at starte med det enkleste hypoteserum først-i betragtning af at du ikke ved meget om dine data-og arbejde dig op mod de mere komplekse hypoteserum. Så den lineære kerne fungerer fint, hvis dit datasæt er lineært adskilleligt; men hvis dit datasæt ikke er lineært adskilleligt, vil en lineær kerne ikke skære den (næsten i bogstavelig forstand ;)).,
for enkelhed (og visualiseringsformål), lad os antage, at vores datasæt kun består af 2 dimensioner. Nedenfor plottede jeg beslutningsregionerne for en lineær SVM på 2 funktioner i iris-datasættet:
Dette fungerer helt fint. Og her kommer RBF-kernen SVM:
nu ser det ud til, at både lineær og RBF-kerne SVM ville fungere lige så godt på dette datasæt. Så hvorfor foretrækker den enklere, lineære hypotese? Tænk på Occams barbermaskine i dette særlige tilfælde., Linear SVM er en parametrisk model, en RBF-kerne SVM er ikke, og kompleksiteten af sidstnævnte vokser med størrelsen på træningssættet. Det er ikke kun dyrere at træne en RBF-kerne SVM, men du er også nødt til at holde kernematri .en rundt, og projektionen i dette “uendelige” højere dimensionelle rum, hvor dataene bliver lineært adskillelige, er også dyrere under forudsigelse. Desuden har du flere hyperparametre at tune, så modelvalg er også dyrere! Og endelig er det meget nemmere at overfede en kompleks model!,Okay, hvad jeg har sagt ovenfor lyder alt meget negativt med hensyn til kernemetoder, men det afhænger virkelig af datasættet. E. g., hvis dine data ikke kan adskilles lineært, giver det ikke mening at bruge en lineær klassificeringen:
I dette tilfælde, en RBF kerne ville gøre så meget mere mening:
under alle omstændigheder, ville jeg ikke gider for meget om polynomiet kerne. I praksis er det mindre nyttigt for effektivitet (beregningsmæssige såvel som forudsigelige) præstationsårsager., Så tommelfingerreglen er: brug lineære SVMs (eller logistisk regression) til lineære problemer og ikke-lineære kerner, såsom den radiale Basisfunktionskernen til ikke-lineære problemer.RBF-kernen SVM beslutning region er faktisk også en lineær beslutning region., Hvad RBF kerne SVM faktisk gør, er at skabe ikke-lineære kombinationer af dine funktioner til hævning dine prøver på et højere dimensioneret funktion rum, hvor du kan bruge en lineær beslutning grænsen til at adskille dine klasser:
Okay, ovenfor, gik jeg igennem en intuitiv eksempel, hvor vi kan visualisere vores data i 2 dimensioner … men hvad gør vi i et problem i den virkelige verden, dvs. et datasæt med mere end 2 dimensioner? Her ønsker vi at holde øje med vores objektive funktion: minimering af hængsletab., Vi ville setup en hyperparameter søgning (gitter søgning, for eksempel) og sammenligne forskellige kerner til hinanden. Baseret på Tab funktion (eller en ydeevne metrisk såsom nøjagtighed, F1, MCC, ROC auc, etc.) vi kunne bestemme, hvilken kerne der er” passende ” til den givne opgave.
Bio: Sebastian Raschka er en ‘Data Scientist” og Machine Learning-entusiast, med en stor passion for Python & open source. Forfatter af ‘Python Machine Learning’. Michigan State University.
Original. Reposted med tilladelse.,
relateret:
- hvornår fungerer dyb læring bedre end SVMs eller tilfældige skove?
- udviklingen af klassificering som en Læringsmaskine
- hvorfor implementere maskinlæringsalgoritmer fra bunden?
Skriv et svar