Inleiding tot kernelmethoden

Kernels of kernelmethoden (ook wel kernelfuncties genoemd) zijn sets van verschillende soorten algoritmen die worden gebruikt voor patroonanalyse. Ze worden gebruikt om een ​​niet-lineair probleem op te lossen met behulp van een lineaire classificator. Kernels-methoden worden gebruikt in SVM (Support Vector Machines) die worden gebruikt bij classificatie- en regressieproblemen. De SVM maakt gebruik van een zogenaamde "Kernel Trick" waarbij de gegevens worden getransformeerd en een optimale grens wordt gevonden voor de mogelijke uitgangen.

De behoefte aan kernelmethode en de werking ervan

Voordat we ingaan op de werking van de kernelmethoden, is het belangrijker om ondersteunende vectormachines of de SVM's te begrijpen, omdat kernels zijn geïmplementeerd in SVM-modellen. Support Vector Machines zijn dus supervised machine learning-algoritmen die worden gebruikt bij classificatie- en regressieproblemen, zoals het classificeren van een appel naar klasse fruit en het classificeren van een leeuw naar het klasdier.

Om te demonstreren, hieronder is hoe ondersteunende vectormachines eruit zien:

Hier zien we een hypervlak dat groene stippen scheidt van de blauwe. Een hyperplane is één dimensie minder dan het omgevingsvlak. In de bovenstaande afbeelding hebben we bijvoorbeeld 2 dimensies die de omgevingsruimte vertegenwoordigen, maar de enige die de ruimte verdeelt of classificeert is een dimensie minder dan de omgevingsruimte en wordt hyperplane genoemd.

Maar wat als we zo input hebben:

Het is heel moeilijk om deze classificatie op te lossen met behulp van een lineaire classificator, omdat er geen goede lineaire lijn is die de rode en groene stippen zou moeten kunnen classificeren, omdat de punten willekeurig worden verdeeld. Hier komt het gebruik van de kernelfunctie die de punten naar hogere dimensies brengt, het probleem daar oplost en de uitvoer retourneert. Beschouw dit op deze manier, we kunnen zien dat de groene stippen zijn ingesloten in een omtrekgebied, terwijl de rode erbuiten ligt. Evenzo kunnen er andere scenario's zijn waarbij groene stippen in een trapeziumvormig gebied kunnen worden verdeeld.

Dus wat we doen, is het tweedimensionale vlak, dat eerst werd geclassificeerd door een eendimensionaal hypervlak (“of een rechte lijn”), converteren naar het driedimensionale gebied en hier zal onze classificator, dat wil zeggen hypervlak geen rechte lijn zijn maar een twee -dimensionaal vlak dat het gebied zal snijden.

Laten we, om een ​​wiskundig begrip van de kernel te krijgen, de kernelvergelijking van Lili Jiang begrijpen, die is:

K (x, y) = waar,
K is de kernelfunctie,
X en Y zijn de dimensionale ingangen,
f is de kaart van n-dimensionale naar m-dimensionale ruimte en,
is het puntproduct.

Illustratie met behulp van een voorbeeld.

Laten we zeggen dat we twee punten hebben, x = (2, 3, 4) en y = (3, 4, 5)

Zoals we hebben gezien, K (x, y) =.

Laten we eerst berekenen

f (x) = (x1x1, x1x2, x1x3, x2x1, x2x2, x2x3, x3x1, x3x2, x3x3)
f (y) = (y1y1, y1y2, y1y3, y2y1, y2y2, y2y3, y3y1, y3y2, y3y3)
zo,
f (2, 3, 4) = (4, 6, 8, 6, 9, 12, 8, 12, 16) en
f (3, 4, 5) = (9, 12, 15, 12, 16, 20, 15, 20, 25)
dus het puntproduct,
f (x). f (y) = f (2, 3, 4). f (3, 4, 5) =
(36 + 72 + 120 + 72 +144 + 240 + 120 + 240 + 400) =
1444
En,
K (x, y) = (2 * 3 + 3 * 4 + 4 * 5) 2 = (6 + 12 + 20) 2 = 38 * 38 = 1444.

Zoals we ontdekken, geven f (x) .f (y) en K (x, y) hetzelfde resultaat, maar de vorige methode vereiste veel berekeningen (vanwege het projecteren van 3 dimensies in 9 dimensies) terwijl de kernel, het was veel eenvoudiger.

Soorten kernels en methoden in SVM

Laten we eens kijken naar enkele van de kernelfuncties of de typen die worden gebruikt in SVM:

1. Liner Kernel - Laten we zeggen dat we twee vectoren hebben met de naam x1 en Y1, dan wordt de lineaire kernel gedefinieerd door het puntproduct van deze twee vectoren:

K (x1, x2) = x1. x2

2. Polynoomkernel - Een polynoompit wordt gedefinieerd door de volgende vergelijking:

K (x1, x2) = (x1. X2 + 1) d,

Waar,

d is de graad van de polynoom en x1 en x2 zijn vectoren

3. Gaussiaanse kernel - Deze kernel is een voorbeeld van een radiale basisfunctiekernel. Hieronder is de vergelijking hiervoor:

Het gegeven sigma speelt een zeer belangrijke rol in de prestaties van de Gauss-kernel en moet niet worden overschat en ook niet worden onderschat, het moet zorgvuldig worden afgestemd op het probleem.

4. Exponentiële kernel - Dit staat in nauwe relatie met de vorige kernel, dwz de Gaussiaanse kernel met het enige verschil is - het kwadraat van de norm is verwijderd.

De functie van de exponentiële functie is:


Dit is ook een radiale basis-kernelfunctie.

5. Laplaciaanse kernel - Dit type kernel is minder gevoelig voor veranderingen en is volledig gelijk aan eerder besproken exponentiële functiekernel, de vergelijking van Laplaciaanse kernel wordt gegeven als:

6. Hyperbolisch of de Sigmoïde kernel - Deze kernel wordt gebruikt in neurale netwerkgebieden van machine learning. De activeringsfunctie voor de sigmoïde kernel is de bipolaire sigmoïde functie. De vergelijking voor de hyperbolische kernelfunctie is:

Deze kernel wordt zeer veel gebruikt en is populair bij ondersteunende vectormachines.

7. Anova radiale basis kernel - Deze kernel staat erom bekend zeer goed te presteren in multidimensionale regressieproblemen, net als de Gaussiaanse en Laplaciaanse kernels. Dit valt ook onder de categorie radiale basiskernel.

De vergelijking voor Anova-kernel is:

Er zijn veel meer soorten kernelmethoden en we hebben de meest gebruikte kernels besproken. Het hangt puur af van het type probleem dat zal bepalen welke kernelfunctie moet worden gebruikt.

Conclusie

In deze sectie hebben we de definitie van de kernel gezien en hoe deze werkt. We probeerden uit te leggen met behulp van diagrammen over de werking van kernels. We hebben vervolgens geprobeerd een eenvoudige illustratie te geven met behulp van wiskunde over de kernelfunctie. In het laatste deel hebben we verschillende soorten kernelfuncties gezien die tegenwoordig op grote schaal worden gebruikt.

Aanbevolen artikelen

Dit is een handleiding voor kernelmethoden. Hier bespreken we een inleiding, behoefte, het werkt en soorten kernelmethoden met de juiste vergelijking. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Datamining-algoritmen
  2. K- betekent clusteringalgoritme
  3. Brute Force-algoritme
  4. Beslisboom algoritme
  5. Kernelmethoden in machinaal leren
  6. Beslisboom in machinaal leren

Categorie: