what is support vector machine machine learning
Ta vadnica pojasnjuje podporni vektorski stroj v ML in povezane koncepte, kot so Hyperplane, vektorji podpore in aplikacije SVM:
V Prejšnja vadnica smo spoznali genetske algoritme in njihovo vlogo pri strojnem učenju.
V naših prejšnjih vajah smo preučevali nekatere nadzorovane in nenadzorovane algoritme strojnega učenja. Backpropagation je nadzorovan učni algoritem, Kohenen pa nenadzorovani učni algoritem.
V tej vadnici za podporne vektorje bomo spoznali podporne vektorske stroje. SVM so zanesljivi matematični nadzorovani algoritmi strojnega učenja, ki se pogosto uporabljajo pri klasifikaciji nabora podatkov o vadbi.
=> Preberite celotno serijo usposabljanja za strojno učenje
Kaj se boste naučili:
- Kaj je podporni vektorski stroj (SVM)
- Kaj je hiperplan
- Kaj so algoritmi klasifikacije in regresije
- Kaj so vektorji podpore
- Kako deluje podporni vektorski stroj
- Kako optimizirati položaj hiperplana
- Aplikacije SVM
- Zaključek
- Priporočeno branje
Kaj je podporni vektorski stroj (SVM)
Algoritem SVM je nadzorovani učni algoritem, razvrščen v razvrstitvene tehnike. To je binarna tehnika klasifikacije, ki z naborom podatkov o vadbi predvidi optimalno hiperravnino v n-dimenzionalnem prostoru.
Ta hiperravnina se uporablja za razvrščanje novih sklopov podatkov. Kot binarni klasifikator nabora podatkov o vadbi hiperravnina razdeli nabor podatkov o vadbi v dva razreda.
Algoritmi SVM se uporabljajo za razvrščanje podatkov tako v dvodimenzionalni ravnini kot tudi v večdimenzionalni hiperravni. Večdimenzionalna hiperravnina uporablja »jedra« za kategorizacijo večdimenzionalnih podatkov.
Vedno je zaželeno, da se med razvrščenimi podatkovnimi točkami kar najbolje razlikuje. To pomeni, da morajo imeti največjo razdaljo ali pa mora imeti hiperravnina največji rob med podatkovnimi točkami.
Kaj je hiperplan
Hiperravnina je meja, ki deli ravnino. To je meja odločitve, ki razvršča podatkovne točke v 2 različna razreda. Ker se SVM uporablja za razvrščanje podatkov v večdimenzionalne, je lahko hiperravnina ravna črta, če sta 2 vhoda, ali 2 D ravnina, če je več kot 2 vhoda.
Algoritme SVM lahko uporabimo tudi za regresijsko analizo, vendar se v glavnem uporabljajo za klasifikacijo. Oglejmo si še nekaj podrobnosti o vsaki od teh metod.
Kaj so algoritmi klasifikacije in regresije
Klasifikacijski algoritem je tisti, ki analizira podatke o treningu za napovedovanje izida. Rezultat je ciljni razred, na primer , Dan ali Noč, Da ali Ne, Dolgo ali Kratko. Primer klasifikacijskega algoritma bi bil, ali bi kupec supermarketa, ki kupuje kruh, kupil tudi maslo. Ciljni razred bi bil 'Da' ali 'Ne'.
Regresijski algoritem ugotovi razmerje med neodvisnimi spremenljivkami in napove izid. Linearna regresija ugotovi linearno razmerje med vhodom in izhodom. Na primer: 'A' kot vhod in 'b' kot izhod, bi bila linearna funkcija b = k * a + c.
Kaj so vektorji podpore
Podporni vektorji so podatkovne točke, ki nam pomagajo optimizirati hiperplan. Ti vektorji ležijo najbližje hiperravni in jih je najtežje razvrstiti. Položaj hiperravnine odločitve je odvisen od nosilnih vektorjev. Če odstranimo te podporne vektorje, bo to spremenilo tudi položaj hiperravnine.
Stroj za vektorske podpore (SVM) uporablja vhodne podatkovne točke ali funkcije, imenovane podporni vektorji, da poveča meje odločitve, tj. Vhodi in izhodi SVM so podobni nevronski mreži. Kot je navedeno spodaj, obstaja le ena razlika med SVM in NN.
Vhodi: Omrežje SVM lahko vsebuje n števila vhodov, na primer x1., xdva, …… .., xjaz, ..., Xn.
Izhodi: Ciljni izhod t.
Uteži: Tako kot uteži nevronske mreže w1., vdva, ……, vnso povezani z vsakim vhodom, katerega linearna kombinacija napoveduje izhod y.
Razlika med SVM in nevronskimi omrežji
Sinaptične uteži v nevronskih omrežjih se izločijo za izračun izhodne moči y omrežja, medtem ko se v SVM uteži, ki niso ničelne, zmanjšajo ali izločijo za izračun optimalne meje odločitve.
Z odpravo uteži bo nabor vhodnih podatkov zmanjšal na nekaj pomembnih vhodnih lastnosti, ki bodo pomagale pri odločanju o ločljivi hiperravni.
Kako deluje podporni vektorski stroj
Kot vemo, je cilj podpornih vektorskih naprav maksimalen razmik med tajnimi podatkovnimi točkami. To bo prineslo bolj optimalne rezultate za razvrščanje novih sklopov netreniranih podatkov. Tako ga je mogoče doseči tako, da je hiperravnina v položaju, kjer je meja največja.
Oglejmo si primer linearno ločenih podatkovnih točk:
Korak 1: Poiščite pravilno hiperravnino iz različnih možnosti: Če želite izbrati najboljšo hiperravnino, poiščite vse možne ravnine, ki delijo podatke, nato pa med njimi izberite tisto, ki najbolje razvrsti vhodne podatkovne nize. Na spodnjem grafu obstajajo tri možnosti hiperplana. Hiperplan 3 bolje deli podatkovne točke.
2. korak: Izberite hiperravnino z največjim robom med najbližjimi podatkovnimi točkami: Rob je definiran kot razdalja med hiperravnino in najbližjimi podatkovnimi točkami. Torej, optimalno je imeti največjo maržo. Ko 2 ali več kot 2 hiperravni razvrščata podatke enako, potem ugotovite rob.
Izbrana je hiperravnina z največjo mejo. Na spodnji sliki hiperravnina 2.1,2.2 in 2.3 deli podatkovne točke, vendar ima hiperravnina 2.2 največji rob.
3. korak: Kadar so prisotni izstopajoči: Izstopajoče so podatkovne točke, ki se razlikujejo od nabora podatkovnih točk. V primeru dveh nizov podatkovnih točk je lahko prisoten odmik. SVM takšne odstopanja v podatkih prezre in nato najde hiperravnino največjega roba.
4. korak: V primeru nelinearno ločenih podatkovnih točk SVM uporablja trik jedra. Z uvedbo nove dimenzije bo pretvoril nelinearno ločljivo ravnino v ločljivo podokno. Jedrski triki so zapletene matematične enačbe, ki izvajajo zapletene transformacije podatkov za optimizacijo hiperravnine.
Spodnja slika prikazuje nelinearno ločljive podatkovne točke, ki se nato z ravnino z pretvorijo v visoko dimenzionalnost. Hiperravnina, ki deli dva nabora podatkov, je krog.
Kako optimizirati položaj hiperplana
Položaj hiperravnine je optimiziran z uporabo algoritmov za optimizacijo.
Parameter SVM: jedro
Gradnja optimizirane hiperravnine v nelinearno ločljivem problemu se izvede s pomočjo jeder. Jedra so matematične funkcije, ki pretvorijo zapleteni problem z linearno algebrsko obliko.
Za linearno jedro najdemo enačbo kot:
F (x) = b + vsota (ajaz* (x, xjaz))
kje,
x so novi vhodni podatki
xjazje podporni vektor
b, ajazso koeficienti. Ti koeficienti se ocenijo v fazi učenja algoritma.
Za zapleten nelinearno ločljiv problem trik v jedru deluje kot pretvorbo nelinearnega ločljivega problema v ločljiv problem. Pretvori zapletene podatke in poišče način razdelitve podatkovnih točk na izhode.
Funkcije jedra so številnih vrst, kot so linearne, polinomne, sigmoidne, radialne pristranskosti, nelinearne in še veliko več.
Poglejmo, kako se uporabljajo nekatere od zgornjih funkcij jedra:
Funkcije jedra izračunajo notranji zmnožek 2 vhodov x, y prostora.
# 1) Funkcija radialne pristranskosti: Najbolj uporabljena funkcija jedra pravi, da je za vse vrednosti, ki ležijo med x = (-1,1), vrednost funkcije 1, sicer 0. Za nekatere prestrezke recimo xjaz, je vrednost funkcije jedra 1 za | (xjaz- h), (xjaz+ h) | za xjazvzamemo za sredino in 0 sicer.
# 2) Sigmoidna funkcija: Kot nevronska omrežja, ki uporabljajo Sigmoid, je funkcija jedra za SVM-je
# 3) Funkcija hiperboličnega tangenta: Kot uporabljajo nevronske mreže, je funkcija
# 4) Gaussova funkcija jedra: Stanja funkcije Gaussovega jedra
# 5) Polinomska funkcija: k (xjaz, xj) = (xjaz* xj+1)dva
Aplikacije SVM
Resnične aplikacije SVM vključujejo:
# 1) Razvrščanje člankov v različne kategorije: SVM razlikuje med pisanimi besedili in jih uvršča v različne kategorije, kot so zabava, zdravje, leposlovni članki. Temelji na vnaprej nastavljenih mejnih vrednostih, izračunanih med usposabljanjem SVM.
Če je mejna vrednost presežena, se uvrsti v kategorijo. Če vrednost ni dosežena, so za razvrstitev opredeljene nove kategorije.
oblika testnega primera pri testiranju programske opreme
# 2) Prepoznavanje obraza: Podano sliko razvrstimo kot podobo obraza ali podobo obraza z zaznavanjem lastnosti s pomočjo slikovnih pik. Slika je prepoznana kot obraz ali ne-obraz.
# 3) Zdravstvene informacije: SVM se uporabljajo za razvrščanje bolnikov na podlagi njihovih genov, prepoznavanja bioloških vzorcev itd.
# 4) Odkrivanje homološke beljakovine: V računskih medicinskih znanostih se SVM usposobijo za modeliranje beljakovinskih zaporedij. Nato se SVM uporablja za odkrivanje homologije beljakovin.
Zaključek
V tej vadnici za podporne vektorje smo spoznali podporne vektorske stroje. SVM algoritmi so nadzorovani učni algoritmi, ki se uporabljajo za klasifikacijo binarnih podatkov in linearno ločljivih podatkov. Podatkovne točke razvršča po hiperravnini z največjo mejo.
Nelinearne podatkovne točke lahko razvrstite tudi s podpornimi vektorskimi stroji z uporabo trikov jedra. V resničnem življenju obstaja veliko aplikacij SVM, ena najpogostejših aplikacij je prepoznavanje obrazov in prepoznavanje rokopisa.
Veselo branje !!
=> Obiščite tukaj za ekskluzivno serijo strojnega učenja
Priporočeno branje
- Vadnica za strojno učenje: Uvod v ML in njegove aplikacije
- Popoln vodnik po umetni nevronski mreži v strojnem učenju
- Data Mining Vs Machine Learning Vs Umetna inteligenca Vs Poglobljeno učenje
- Vrste strojnega učenja: nadzorovano in nenadzorovano učenje
- Uvod v genetske algoritme v strojnem učenju
- 11 Najbolj priljubljenih orodij za strojno učenje v letu 2021
- 13 najboljših podjetij za strojno učenje (posodobljen seznam 2021)
- Kaj je Java Vector | Vadnica Java Vector Class s primeri