KDnuggets (Svenska)

posted in: Articles | 0
Med Sebastian Raschka, Michigan State University.

Med tanke på en godtycklig datauppsättning vet du vanligtvis inte vilken kärna som kan fungera bäst. Jag rekommenderar att du börjar med den enklaste hypotesen utrymme först-med tanke på att du inte vet mycket om dina data-och arbeta dig upp mot de mer komplexa hypotesen utrymmen. Så, den linjära kärnan fungerar bra om din datauppsättning om linjärt separerbar; men om din datauppsättning inte är linjärt separerbar, kommer en linjär kärna inte att skära den (nästan i bokstavlig mening ;)).,

för enkelhet (och visualiseringsändamål), låt oss anta att vår datauppsättning endast består av 2 dimensioner. Nedan ritade jag beslutsregionerna i en linjär SVM på 2 funktioner i iris dataset:

detta fungerar perfekt. Och här kommer RBF-kärnan SVM:

nu ser det ut som att både linjär och RBF-kärna SVM skulle fungera lika bra på denna dataset. Så, varför föredra den enklare, linjära hypotesen? Tänk på Occams rakhyvel i det här fallet., Linjär SVM är en parametrisk modell, en RBF-kärna SVM är inte, och komplexiteten hos den senare växer med träningsuppsättningens storlek. Inte bara är det dyrare att träna en RBF-kärna SVM, men du måste också hålla kärnmatrisen runt, och projektionen i detta ”oändliga” högre dimensionella utrymme där data blir linjärt separerbara är dyrare också under förutsägelse. Dessutom har du fler hyperparametrar att ställa in, så modellval är dyrare också! Och slutligen är det mycket lättare att överfitta en komplex modell!,

Okej, vad jag har sagt ovan låter alla mycket negativa när det gäller kärnmetoder, men det beror verkligen på datauppsättningen. Till exempel, om dina data inte är linjärt separerbara, är det inte meningsfullt att använda en linjär klassificerare:

i det här fallet skulle en RBF-kärna göra så mycket mer meningsfullt:

i vilket fall som helst skulle jag inte bry mig för mycket om den polynomiala kärnan. I praktiken är det mindre användbart för effektivitet (beräkningsmässiga såväl som prediktiva) prestationsskäl., Så är tumregeln: använd linjär SVMs (eller logistisk regression) för linjära problem och icke-linjära kärnor som den radiella Grundfunktionskärnan för icke-linjära problem.

RBF kernel SVM decision region är faktiskt också en linjär beslutsregion., Vad RBF kernel SVM faktiskt gör är att skapa icke-linjära kombinationer av dina funktioner för att lyfta upp dina prover på ett högre dimensionellt funktionsutrymme där du kan använda en linjär beslutsgräns för att skilja dina klasser:

okej, ovan gick jag dig genom ett intuitivt exempel där vi kan visualisera våra data i 2 dimensioner … men vad gör vi i ett verkligt problem, dvs en datauppsättning med mer än 2 dimensioner? Här vill vi hålla ett öga på vår objektiva funktion: minimera gångjärnsförlusten., Vi skulle ställa in en hyperparameter sökning (gridsökning, till exempel) och jämföra olika kärnor med varandra. Baserat på förlustfunktionen (eller ett resultatmått som noggrannhet, F1, MCC, Roc auc, etc.) vi kunde bestämma vilken kärna som är ”lämplig” för den givna uppgiften.

Bio: Sebastian Raschka är en ”Dataforskare” och Maskininlärningsentusiast med en stor passion för Python & öppen källkod. Författare till ”Python maskininlärning”. Michigan State University.

i Original. Reposted med tillstånd.,

relaterat:

  • När fungerar djupt lärande bättre än SVMs eller slumpmässiga skogar?
  • utvecklingen av klassificering som en Inlärningsmaskin
  • Varför implementera maskininlärningsalgoritmer från början?

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *