KDnuggets

geplaatst in: Articles | 0
door Sebastian Raschka, Michigan State University.

gegeven een willekeurige dataset, weet u meestal niet welke kernel het beste werkt. Ik raad aan om eerst te beginnen met de eenvoudigste hypothesruimte-gezien het feit dat je niet veel weet over je gegevens-en je een weg te banen naar de meer complexe hypothesruimten. Dus, de lineaire kernel werkt prima als je dataset lineair scheidbaar is; echter, als je dataset niet lineair scheidbaar is, zal een lineaire kernel het niet knippen (bijna letterlijk ;)).,

voor eenvoud (en visualisatie doeleinden), laten we aannemen dat onze dataset bestaat uit slechts 2 dimensies. Hieronder heb ik de beslissingsgebieden van een lineaire SVM uitgezet op 2 kenmerken van de iris-dataset:

Dit werkt prima. En hier komt de RBF kernel SVM:

nu lijkt het erop dat zowel lineaire als RBF kernel SVM op deze dataset even goed zouden werken. Dus, waarom de voorkeur geven aan de eenvoudigere, lineaire hypothese? Denk aan Occams scheermes in dit geval., Lineaire SVM is een parametrisch model, een RBF kernel SVM niet, en de complexiteit van de laatste groeit met de grootte van de training set. Niet alleen is het duurder om een RBF kernel SVM te trainen, maar je moet ook de kernelmatrix rondhouden, en de projectie in deze” oneindige ” hogere dimensionale ruimte waar de gegevens lineair scheidbaar worden is ook duurder tijdens de voorspelling. Bovendien heb je meer hyperparameters om af te stemmen, dus modelselectie is ook duurder! En tot slot is het veel gemakkelijker om een complex model over te steken!,

oke, wat ik hierboven heb gezegd klinkt allemaal erg negatief over kernel methoden, maar het hangt echt af van de dataset. Bijvoorbeeld, als uw gegevens niet lineair scheidbaar zijn, heeft het geen zin om een lineaire classifier te gebruiken:

In dit geval zou een RBF-kernel veel zinvoller zijn:

In ieder geval zou ik me niet te veel zorgen maken over de veelterm kernel.. In de praktijk is het minder nuttig voor efficiëntie (zowel computationele als voorspellende) prestaties redenen., De vuistregel is dus: gebruik lineaire SVM ‘ s (of logistieke regressie) voor lineaire problemen, en niet-lineaire kernels zoals de radiale basisfunctie kernel voor niet-lineaire problemen.

de SVM-beslissingsregio van de RBF-kernel is in feite ook een lineaire beslissingsregio., Wat RBF kernel SVM eigenlijk doet is om niet-lineaire combinaties van uw functies te creëren om uw samples op te tillen naar een hoger-dimensionale functieruimte waar u een lineaire beslissingsgrens kunt gebruiken om uw klassen te scheiden:

OK, hierboven heb ik u een intuïtief voorbeeld laten zien waarin we onze gegevens in 2 dimensies kunnen visualiseren … maar wat doen we in een reëel probleem, dat wil zeggen een dataset met meer dan 2 dimensies? Hier willen we een oogje houden op onze objectieve functie: het minimaliseren van het scharnierverlies., We zouden een hyperparameter zoeken (raster zoeken, bijvoorbeeld) instellen en verschillende kernels met elkaar vergelijken. Gebaseerd op de verliesfunctie (of een prestatiemetrie zoals nauwkeurigheid, F1, MCC, ROC auc, enz.) we zouden kunnen bepalen welke kernel “geschikt” is voor de gegeven taak.

Bio: Sebastian Raschka is een’ Data Scientist ‘ en machine Learning liefhebber met een grote passie voor Python & open source. Auteur van ‘Python Machine Learning’. Michigan State University.

origineel. Opnieuw geplaatst met toestemming.,

gerelateerd:

  • wanneer werkt Deep Learning beter dan SVMs of Random Forests?
  • de ontwikkeling van classificatie als een leermachine
  • waarom automatisch leren algoritmen vanaf nul implementeren?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *