Begrensningen er en grunnleggende komponent i optimaliseringsprosessen til Support Vector Machines (SVM), en populær og kraftig metode innen maskinlæring for klassifiseringsoppgaver. Denne begrensningen spiller en viktig rolle for å sikre at SVM-modellen korrekt klassifiserer treningsdatapunkter samtidig som marginen mellom ulike klasser maksimeres. For fullt ut å forstå betydningen av denne begrensningen, er det viktig å vurdere mekanikken til SVM-er, den geometriske tolkningen av begrensningen og dens implikasjoner for optimaliseringsproblemet.
Support Vector Machines har som mål å finne det optimale hyperplanet som skiller datapunkter fra forskjellige klasser med maksimal margin. Hyperplanet i et n-dimensjonalt rom er definert av ligningen , Hvor
er vektvektoren normal til hyperplanet,
er inngangsfunksjonsvektoren, og
er skjevhetsbegrepet. Målet er å klassifisere datapunkter slik at punkter fra en klasse ligger på den ene siden av hyperplanet, og punkter fra den andre klassen ligger på motsatt side.
Begrensningen sikrer at hvert datapunkt
er riktig klassifisert og ligger på riktig side av margen. Her,
representerer klasseetiketten til det i-te datapunktet, med
for en klasse og
for den andre klassen. Begrepet
er beslutningsfunksjonen som bestemmer posisjonen til datapunktet i forhold til hyperplanet.
For å forstå den geometriske tolkningen, vurder følgende:
1. Positiv og negativ klasseseparasjon: For et datapunkt tilhører den positive klassen (
), begrensningen
forenkler til
. Dette betyr at datapunktet
må ligge på eller utenfor marggrensen definert av
. Tilsvarende for et datapunkt
som tilhører den negative klassen (
), forenkler begrensningen til
, og sikrer at datapunktet ligger på eller utenfor marggrensen definert av
.
2. Marginalisering: Marginen er avstanden mellom hyperplanet og de nærmeste datapunktene fra hver klasse. Begrensningene sikrer at marginen maksimeres ved å skyve datapunktene så langt bort fra hyperplanet som mulig samtidig som korrekt klassifisering opprettholdes. Avstanden fra et punkt til hyperplanet er gitt av
. Ved å håndheve begrensningene
, maksimerer SVM-algoritmen effektivt denne avstanden, noe som fører til en større margin og bedre generaliseringsytelse.
3. Støtte vektorer: Datapunktene som ligger nøyaktig på margingrensene og
kalles støttevektorer. Disse punktene er avgjørende for å definere det optimale hyperplanet, siden de er de nærmeste punktene til hyperplanet og direkte påvirker dets posisjon og orientering. Begrensningene sikrer at disse støttevektorene er korrekt klassifisert og ligger på margingrensene, og spiller dermed en sentral rolle i optimaliseringsproblemet.
Optimaliseringsproblemet for SVM-er kan formuleres som et konveks optimaliseringsproblem, der målet er å minimere normen til vektvektoren (som tilsvarer å maksimere marginen) underlagt begrensningene
for alle treningsdatapunkter. Matematisk kan dette uttrykkes som:
Faktoren av er inkludert for matematisk bekvemmelighet når du tar den deriverte under optimalisering. Denne formuleringen er kjent som den primære formen for SVM-optimaliseringsproblemet.
For å løse dette optimaliseringsproblemet bruker man typisk teknikker fra konveks optimalisering, for eksempel Lagrange-multiplikatorer. Ved å introdusere Lagrange-multiplikatorer for hver begrensning kan optimaliseringsproblemet transformeres til sin doble form, som ofte er lettere å løse, spesielt når det gjelder høydimensjonale data. Den doble formen for SVM-optimaliseringsproblemet er gitt av:
hvor er antall treningsdatapunkter, og
er en regulariseringsparameter som kontrollerer avveiningen mellom å maksimere marginen og minimere klassifiseringsfeilen på treningsdataene.
Den doble formuleringen utnytter kjernetrikset, og lar SVM-er håndtere ikke-lineært separerbare data ved å kartlegge inndataene til et høyere dimensjonalt funksjonsrom hvor en lineær separasjon er mulig. Dette oppnås gjennom kjernefunksjoner, slik som polynomkjernen, radial basisfunksjon (RBF)-kjernen og sigmoid-kjernen, som implisitt beregner punktproduktet i det høyere dimensjonale rommet uten å eksplisitt utføre transformasjonen.
Ved å løse det doble optimaliseringsproblemet får man de optimale Lagrange-multiplikatorene , som kan brukes til å bestemme den optimale vektvektoren
og bias term
. Støttevektorene tilsvarer datapunktene med Lagrange-multiplikatorer som ikke er null, og beslutningsfunksjonen for å klassifisere nye datapunkter
er gitt av:
Begrensningen er dermed integrert i SVM-optimaliseringsprosessen, og sikrer at modellen oppnår en balanse mellom riktig klassifisering av treningsdata og maksimering av marginen, noe som fører til bedre generalisering på usett data.
For å illustrere betydningen av denne begrensningen med et eksempel, vurdere et enkelt binært klassifiseringsproblem med todimensjonale datapunkter. Anta at vi har følgende treningsdata:
Målet er å finne det optimale hyperplanet som skiller den positive klassen () fra den negative klassen (
). Begrensningene for dette problemet kan skrives som:
Ved å løse SVM-optimaliseringsproblemet med disse begrensningene får vi den optimale vektvektoren og bias term
som definerer hyperplanet som skiller de to klassene med maksimal margin.
Begrensningen er viktig for SVM-optimaliseringsprosessen da den sikrer korrekt klassifisering av treningsdatapunkter samtidig som marginen mellom ulike klasser maksimeres. Dette fører til bedre generaliseringsytelse og robusthet til SVM-modellen.
Andre nyere spørsmål og svar vedr EITC/AI/MLP maskinlæring med Python:
- Hvordan beregnes b-parameteren i lineær regresjon (y-skjæringspunktet til linjen som passer best)?
- Hvilken rolle spiller støttevektorer i å definere beslutningsgrensen til en SVM, og hvordan identifiseres de under opplæringsprosessen?
- I sammenheng med SVM-optimalisering, hva er betydningen av vektvektoren `w` og bias `b`, og hvordan bestemmes de?
- Hva er hensikten med `visualisere`-metoden i en SVM-implementering, og hvordan hjelper den til å forstå modellens ytelse?
- Hvordan bestemmer `forutsig`-metoden i en SVM-implementering klassifiseringen av et nytt datapunkt?
- Hva er hovedmålet med en Support Vector Machine (SVM) i sammenheng med maskinlæring?
- Hvordan kan biblioteker som scikit-learn brukes til å implementere SVM-klassifisering i Python, og hva er nøkkelfunksjonene involvert?
- Hva er målet med SVM-optimeringsproblemet og hvordan er det matematisk formulert?
- Hvordan avhenger klassifiseringen av et funksjonssett i SVM av fortegnet til beslutningsfunksjonen (tekst{tegn}(mathbf{x}_i cdot mathbf{w} + b))?
- Hva er rollen til hyperplanligningen (mathbf{x} cdot mathbf{w} + b = 0) i sammenheng med Support Vector Machines (SVM)?
Se flere spørsmål og svar i EITC/AI/MLP Machine Learning with Python