what is support vector machine machine learning
Denne opplæringen forklarer Support Vector Machine i ML og tilknyttede begreper som Hyperplane, Support Vectors & Applications of SVM:
I Forrige veiledning , lærte vi om genetiske algoritmer og deres rolle i maskinlæring.
Vi har studert noen overvåket og uten tilsyn algoritmer i maskinlæring i våre tidligere opplæringsprogrammer. Backpropagation er en overvåket læringsalgoritme mens Kohenen er en ikke-overvåket læringsalgoritme.
I denne støttevektormaskinopplæringen vil vi lære om støttevektormaskiner. SVM er robuste matematiske maskinlæringsalgoritmer som brukes mye i klassifiseringen av treningsdatasettet.
=> Les gjennom hele serien for maskinlæring
Hva du vil lære:
- Hva er en støttevektormaskin (SVM)
- Hva er et hyperplan
- Hva er klassifisering og regresjonsalgoritmer
- Hva er støttevektorer
- Hvordan fungerer en støttevektormaskin
- Hvordan optimalisere posisjonen til hyperplanet
- Applikasjoner av SVM
- Konklusjon
- Anbefalt lesing
Hva er en støttevektormaskin (SVM)
SVM-algoritme er en overvåket læringsalgoritme kategorisert under Klassifiseringsteknikker. Det er en binær klassifiseringsteknikk som bruker treningsdatasettet til å forutsi et optimalt hyperplan i et n-dimensjonalt rom.
Dette hyperplanet brukes til å klassifisere nye datasett. Å være en binær klassifiserer, deler treningsdatasettet hyperplanet treningsdatasettet i to klasser.
SVM-algoritmene brukes til å klassifisere data i et todimensjonalt plan, så vel som et flerdimensjonalt hyperplan. Det flerdimensjonale hyperplanet bruker “Kjernene” til å kategorisere flerdimensjonale data.
Det er alltid ønsket å ha et maksimalt skille mellom de klassifiserte datapunktene. Dette betyr at de skal ha maksimal avstand, eller hyperplanet skal ha en maksimal margin mellom datapunktene.
Hva er et hyperplan
Et hyperplan er en grense som deler planet. Det er en avgjørelsesgrense som klassifiserer datapunktene i 2 forskjellige klasser. Ettersom SVM brukes til å klassifisere data i flerdimensjonalt, kan et hyperplan være en rett linje hvis det er 2 innganger eller et 2 D-plan hvis det er mer enn 2 innganger.
SVM-algoritmene kan også brukes til regresjonsanalyse, men hovedsakelig brukes de til klassifisering. La oss se noen flere detaljer om hver av disse metodene.
Hva er klassifisering og regresjonsalgoritmer
En klassifiseringsalgoritme er den som analyserer treningsdataene for å forutsi resultatet. Resultatet er en målklasse, for eksempel , Dag eller natt, Ja eller Nei, Lang eller Kort. Et eksempel på en klassifiseringsalgoritme kan være om en kunde i en supermarked som kjøper brød også vil kjøpe smør. Målklassen ville være 'Ja' eller 'Nei'.
En regresjonsalgoritme finner ut forholdet mellom de uavhengige variablene og forutsier et utfall. Lineær regresjon finner ut et lineært forhold mellom inngang og utgang. For eksempel: “A” som inngang og “b” som utgang, ville en lineær funksjon være b = k * a + c.
Hva er støttevektorer
Støttevektorer er datapunktene som hjelper oss med å optimalisere hyperplanet. Disse vektorene ligger nærmest hyperplanet og er vanskeligst å klassifisere. Posisjonen til beslutningshyperplanet avhenger av støttevektorene. Hvis disse støttevektorene fjernes, vil det også endre posisjonen til hyperplanet.
En Support Vector Machine (SVM) bruker inndatapunktene eller funksjonene som kalles støttevektorer for å maksimere beslutningsgrensene, dvs. plassen rundt hyperplanet. Inngangene og utgangene til en SVM er lik det nevrale nettverket. Det er bare en forskjell mellom SVM og NN som angitt nedenfor.
Innganger: SVM-nettverket kan inneholde n antall innganger, si x1, xto, …… .., xJeg, ...., Xn.
Utganger: Målet output t.
Vekter: Som nevrale nettverksvekter w1, ito, ……, iner assosiert med hver inngang hvis lineære kombinasjon forutsier utgangen y.
Forskjellen mellom SVM og nevrale nettverk
De synaptiske vektene i nevrale nettverk elimineres for å beregne nettets utgang y, mens ikke SV-vekter reduseres eller elimineres i SVM for å beregne den optimale beslutningsgrensen.
Med eliminering av vektene vil det redusere inngangsdata settet til noen viktige inngangsfunksjoner som vil hjelpe deg med å bestemme det separerbare hyperplanet.
Hvordan fungerer en støttevektormaskin
Som vi vet er målet med støttevektormaskiner å maksimere margen mellom de klassifiserte datapunktene. Dette vil gi mer optimale resultater for å klassifisere nye sett med utrent data. Dermed kan det oppnås ved å ha et hyperplan i en posisjon der margen er maks.
La oss se et eksempel på lineært adskilte datapunkter:
Trinn 1: Finn ut riktig hyperplan fra forskjellige muligheter: For å bestemme det beste hyperplanet, finn ut alle mulige plan som deler dataene, og velg deretter det som best klassifiserer inngangssettene. I grafen nedenfor er det tre muligheter for hyperplan. Hyperplan 3 deler datapunktene bedre.
Steg 2: Velg et hyperplan som har maksimal margin mellom de nærmeste datapunktene: Margin er definert som avstanden mellom hyperplanet og de nærmeste datapunktene. Så det er optimalt å ha en maksimal margin. Når to eller flere enn to hyperplaner klassifiserer dataene likt, så finn ut margen.
Hyperplanet med maksimal margin er valgt. I figuren nedenfor deler hyperplanet 2.1,2.2 og 2.3 datapunktene, men hyperplanet 2.2 har en maksimal margin.
Trinn 3: Når outliers er til stede: Outliers er datapunkter som er forskjellige fra et sett med datapunkter. I tilfelle av 2 sett med datapunkter, kan en outlier være til stede. SVM ignorerer slike avvik i dataene og finner deretter et hyperplan med maksimal margin.
Trinn 4: I tilfelle ikke-lineært separerte datapunkter, bruker SVM et kjernetriks. Det vil konvertere et ikke-lineært separerbart plan til en separerbar rute ved å introdusere en ny dimensjon. Kjernetriks er komplekse matematiske ligninger som gjør komplekse datatransformasjoner for å optimalisere hyperplanet.
Figuren nedenfor viser ikke-lineært separerbare datapunkter som deretter transformeres til høy dimensjonalitet med z-planet. Hyperplanet som deler de to datasettene er en sirkel.
Hvordan optimalisere posisjonen til hyperplanet
Posisjonen til hyperplanet er optimalisert ved hjelp av optimaliseringsalgoritmene.
SVM-parameter: Kjerne
Å bygge et optimalisert hyperplan i et ikke-lineært separerbart problem gjøres ved hjelp av kjerner. Kjernene er matematiske funksjoner som konverterer det komplekse problemet ved hjelp av den lineære algebraiske formen.
For en lineær kjerne er ligningen funnet som:
F (x) = b + sum (aJeg* (x, xJeg))
hvor,
x er de nye inngangsdataene
xJeger støttevektoren
b, aJeger koeffisientene. Disse koeffisientene er estimert i løpet av algoritmens læringsfase.
For et komplekst ikke-lineært skillbart problem, fungerer kjernetrikset som å konvertere det ulineære skillbare problemet til et skillbart problem. Den transformerer de komplekse dataene og finner ut hvordan du kan dele datapunktene i utganger.
Kjernefunksjonene er av mange typer som lineær, polynom, sigmoid, radial bias, ikke-lineær og mange flere.
La oss se bruken av noen av de ovennevnte kjernefunksjonene:
Kjernefunksjonene beregner det indre produktet av de to inngangene x, y i rommet.
# 1) Radiell forspenningsfunksjon: Den mest brukte kjernefunksjonen sier at for alle verdier som ligger mellom x = (-1,1), er verdien av funksjonen ellers 0. For noen avskjæringer sier xJeg, er verdien til kjernefunksjonen 1 for | (xJeg- h), (xJeg+ h) | for xJegtatt som senter og 0 ellers.
# 2) Sigmoid-funksjon: Som nevrale nettverk som bruker Sigmoid, er kjernefunksjonen for SVM-er
# 3) Hyperbolsk tangensfunksjon: Som nevrale nettverk bruker, er funksjonen
# 4) Gaussisk kjernefunksjon: Den Gaussiske kjernefunksjonen sier
# 5) Polynomfunksjon: k (xJeg, xj) = (xJeg* xj+1)to
Applikasjoner av SVM
De virkelige applikasjonene til SVM inkluderer:
# 1) Klassifisering av artikler i forskjellige kategorier: SVM skiller mellom de skrevne tekstene og plasserer den i forskjellige kategorier som underholdning, helse, skjønnlitterære artikler. Den er basert på de forhåndsinnstilte terskelverdiene beregnet mens du trener SVM.
Hvis terskelverdien krysses, blir den satt på kategorien. Hvis verdien ikke oppfylles, defineres nye kategorier for klassifisering.
gratis video converter programvare for windows
# 2) Anerkjennelse av ansiktet: Det gitte bildet er klassifisert som et ansiktsbilde eller ikke-ansiktsbilde ved å oppdage funksjonene ved hjelp av piksler. Bildet gjenkjennes som et ansikt eller et ikke-ansikt.
# 3) Helseinformasjon: SVM brukes til å klassifisere pasienter basert på gener, anerkjennelse av biologiske mønstre, etc.
# 4) Deteksjon av proteinhomologi: I beregningsmedisinsk vitenskap blir SVM-er opplært i hvordan proteinsekvenser modelleres. SVM blir deretter brukt til å oppdage proteinhomologi.
Konklusjon
I denne støttevektormaskinopplæringen lærte vi om støttevektormaskiner. SVM-algoritmer er overvåkede læringsalgoritmer som brukes til å klassifisere binære data og lineært skillbare data. Den klassifiserer datapunktene etter et hyperplan med maksimal margin.
Ikke-lineære datapunkter kan også klassifiseres av støttevektormaskiner ved hjelp av Kernel Tricks. Det er mange applikasjoner av SVM i virkeligheten, en av de vanligste applikasjonene er ansiktsgjenkjenning og håndskriftgjenkjenning.
Glad lesning !!
=> Besøk her for den eksklusive maskinlæringsserien
Anbefalt lesing
- Machine Learning Tutorial: Introduksjon til ML og dets applikasjoner
- En komplett guide til kunstig nevralt nettverk innen maskinlæring
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Typer maskinlæring: Overvåket vs Uovervåket læring
- Introduksjon til genetiske algoritmer i maskinlæring
- De 11 mest populære maskinlæringsverktøyene i 2021
- Topp 13 BESTE maskinlæringsselskaper (Oppdatert 2021-liste)
- Hva er Java Vector | Java Vector Class Tutorial med eksempler