what is support vector machine machine learning
Acest tutorial explică mașina vectorială de asistență în ML și concepte asociate precum hiperavionul, vectorii de asistență și aplicațiile SVM:
În Tutorial anterior , am aflat despre algoritmii genetici și rolul lor în învățarea automată.
Am studiat câțiva algoritmi supravegheați și nesupravegheați în învățarea automată în tutorialele noastre anterioare. Propagarea înapoi este un algoritm de învățare supravegheat, în timp ce Kohenen este un algoritm de învățare nesupravegheat.
În acest tutorial pentru mașina vectorului de suport, vom afla despre mașinile vectoriale de suport. SVM-urile sunt algoritmi robusti de învățare automată matematică supravegheați, utilizate pe scară largă în clasificarea setului de date de instruire.
=> Citiți seria completă de formare pentru învățarea automată
Ce veți învăța:
- Ce este o mașină vectorială de asistență (SVM)
- Ce este un hiperavion
- Ce sunt algoritmii de clasificare și regresie
- Ce sunt vectorii de asistență
- Cum funcționează o mașină vectorială de sprijin
- Cum să optimizați poziția hiperavionului
- Aplicații ale SVM
- Concluzie
- Lectură recomandată
Ce este o mașină vectorială de asistență (SVM)
Algoritmul SVM este un algoritm de învățare supravegheat clasificat în cadrul tehnicilor de clasificare. Este o tehnică de clasificare binară care utilizează setul de date de antrenament pentru a prezice un hiperplan optim într-un spațiu n-dimensional.
Acest hiperplan este utilizat pentru a clasifica noi seturi de date. Fiind un clasificator binar, setul de date de antrenament hiperplanul împarte setul de date de antrenament în două clase.
Algoritmii SVM sunt utilizați pentru a clasifica datele într-un plan bidimensional, precum și într-un hiperplan multidimensional. Hiperplanul multidimensional folosește „nucleele” pentru a clasifica datele multidimensionale.
Se dorește întotdeauna să existe o distincție maximă între punctele de date clasificate. Aceasta înseamnă că acestea ar trebui să aibă distanță maximă sau hiperplanul ar trebui să aibă o marjă maximă între punctele de date.
Ce este un hiperavion
Un hiperplan este o graniță care împarte planul. Este o limită de decizie care clasifică punctele de date în 2 clase distincte. Deoarece SVM este utilizat pentru a clasifica datele în mai multe dimensiuni, un hiperplan poate fi o linie dreaptă dacă există 2 intrări sau un plan 2 D dacă există mai mult de 2 intrări.
Algoritmii SVM pot fi folosiți și pentru analiza de regresie, dar în principal sunt utilizați pentru clasificare. Să vedem câteva detalii despre fiecare dintre aceste metode.
Ce sunt algoritmii de clasificare și regresie
Un algoritm de clasificare este cel care analizează datele de instruire pentru a prezice rezultatul. Rezultatul este o clasă țintă, de exemplu , Zi sau Noapte, Da sau Nu, Lung sau Scurt. Un exemplu de algoritm de clasificare ar fi dacă un client dintr-un supermarket care cumpără pâine ar cumpăra și unt. Clasa țintă ar fi „Da” sau „Nu”.
Un algoritm de regresie află relația dintre variabilele independente și prezice un rezultat. Regresia liniară află o relație liniară între intrare și ieșire. De exemplu: „A” ca intrare și „b” ca ieșire, o funcție liniară ar fi b = k * a + c.
Ce sunt vectorii de asistență
Vectorii de asistență sunt punctele de date care ne ajută să optimizăm hiperplanul. Acești vectori se află cel mai aproape de hiperplan și sunt cel mai greu de clasificat. Poziția hiperplanului de decizie depinde de vectorii de sprijin. Dacă acești vectori de suport sunt eliminați, atunci se va schimba și poziția hiperplanului.
O mașină vectorială de suport (SVM) folosește punctele de date de intrare sau caracteristicile numite vectori de suport pentru a maximiza limitele deciziei, adică spațiul din jurul hiperplanului. Intrările și ieșirile unui SVM sunt similare rețelei neuronale. Există doar o diferență între SVM și NN așa cum se arată mai jos.
Intrări: Rețeaua SVM poate conține n număr de intrări, de exemplu x1, XDouă, …… .., Xeu,…., Xn.
Ieșiri: Ieșirea țintă t.
Greutati: La fel ca greutățile rețelei neuronale w1, înDouă, ……, înnsunt asociate cu fiecare intrare a cărei combinație liniară prezice ieșirea y.
Diferența dintre rețelele SVM și rețelele neuronale
Ponderile sinaptice din rețelele neuronale sunt eliminate pentru a calcula ieșirea y a rețelei, în timp ce în SVM ponderile diferite de zero sunt reduse sau eliminate pentru a calcula limita de decizie optimă.
Odată cu eliminarea greutăților, va reduce setul de date de intrare la câteva caracteristici importante de intrare care vor ajuta la stabilirea hiperplanului separabil.
Cum funcționează o mașină vectorială de sprijin
După cum știm, scopul mașinilor vectoriale de sprijin este de a maximiza marja dintre punctele de date clasificate. Acest lucru va aduce rezultate mai optime pentru a clasifica noi seturi de date neantrenate. Astfel, poate fi realizat având un hiperplan într-o poziție în care marja este maximă.
Să vedem un exemplu de puncte de date separate liniar:
Pasul 1: Aflați hiperplanul corect din diferite posibilități: Pentru a decide cel mai bun hiperplan, aflați toate planurile posibile care împart datele, apoi selectați din acesta cel care clasifică cel mai bine seturile de date de intrare. În graficul de mai jos există trei posibilități de hiperplan. Hiperplanul 3 împarte mai bine punctele de date.
Pasul 2: Selectați un hiperplan cu marjă maximă între cele mai apropiate puncte de date: Marja este definită ca distanța dintre hiperplan și cele mai apropiate puncte de date. Deci, este optim să aveți o marjă maximă. Când 2 sau mai mult de 2 hiperplane clasifică datele în mod egal, aflați marja.
Se alege hiperplanul cu marja maximă. În figura de mai jos, hiperplanul 2.1.2.2 și 2.3 împarte punctele de date, dar hiperplanul 2.2 are o marjă maximă.
Pasul 3: Când sunt prezente valorile aberante: valorile aberante sunt puncte de date diferite de un set de puncte de date. În cazul a 2 seturi de puncte de date, poate fi prezent un valor outlier. SVM ignoră astfel de valori anormale în date și apoi găsește un hiperplan cu marja maximă.
Pasul 4: În cazul punctelor de date neliniar separate, SVM utilizează un truc de nucleu. Acesta va converti un plan non-liniar separabil în panou separabil prin introducerea unei noi dimensiuni. Trucurile kernelului sunt ecuații matematice complexe care fac transformări complexe de date pentru a optimiza hiperplanul.
Figura de mai jos prezintă puncte de date separabile neliniar care sunt apoi transformate în dimensionalitate ridicată cu planul z. Hiperplanul care împarte cele două seturi de date este un cerc.
Cum să optimizați poziția hiperavionului
Poziția hiperplanului este optimizată utilizând algoritmii de optimizare.
Parametru SVM: Kernel
Construirea unui hiperplan optimizat într-o problemă care nu poate fi separată liniar se face folosind Kernels. Nucleele sunt funcții matematice care convertesc problema complexă utilizând forma algebră liniară.
Pentru un nucleu liniar, ecuația se găsește ca:
F (x) = b + sumă (aeu* (x, xeu)))
Unde,
x reprezintă noile date de intrare
Xeueste vectorul suport
b, aeusunt coeficienții. Acești coeficienți sunt evaluați în timpul fazei de învățare a algoritmului.
Pentru o problemă complexă neliniar separabilă, trucul nucleului funcționează ca o conversie a problemei neliniare separabile într-o problemă separabilă. Transformă datele complexe și află modalitatea de a împărți punctele de date în ieșiri.
Funcțiile Kernel sunt de multe tipuri, cum ar fi liniară, polinomială, sigmoidă, polarizată radial, neliniară și multe altele.
Să vedem utilizările unora dintre funcțiile kernel de mai sus:
Funcțiile kernelului calculează produsul interior al celor 2 intrări x, y ale spațiului.
# 1) Funcția Radial Bias: Cea mai utilizată funcție de nucleu spune că pentru toate valorile cuprinse între x = (-1,1), valoarea funcției este 1 altfel 0. Pentru unii interceptați spune xeu, valoarea funcției Kernel este 1 pentru | (xeu- h), (xeu+ h) | pentru xeuluat ca centru și 0 altfel.
# 2) Funcția Sigmoid: Ca rețele neuronale care utilizează Sigmoid, funcția kernel pentru SVM este
# 3) Funcția tangentă hiperbolică: După cum utilizează rețelele neuronale, funcția este
# 4) Funcția nucleului Gaussian: Funcția Gaussian Kernel afirmă
# 5) Funcția polinomială: k (xeu, Xj) = (xeu* Xj+1)Două
Aplicații ale SVM
Aplicațiile din viața reală ale SVM includ:
# 1) Clasificarea articolelor în diferite categorii: SVM diferențiază textele scrise și le pune în diferite categorii, cum ar fi Divertisment, Sănătate, Articole de ficțiune. Se bazează pe valorile pragului prestabilite calculate în timpul antrenării SVM.
Dacă valoarea pragului este depășită, atunci este pusă pe categorie. Dacă valoarea nu este îndeplinită, atunci sunt definite noi categorii pentru clasificare.
cea mai bună aplicație de gestionare a proiectelor pentru iPhone
# 2) Recunoașterea feței: Imaginea dată este clasificată ca imagine facială sau non-facială prin detectarea caracteristicilor folosind pixeli. Imaginea este recunoscută ca o față sau o non-față.
# 3) Informații despre sănătate: SVM-urile sunt utilizate pentru clasificarea pacienților pe baza genelor lor, recunoașterea tiparelor biologice etc.
# 4) Detectarea omologiei proteinelor: În științele medicale computaționale, SVM-urile sunt instruite cu privire la modul în care sunt modelate secvențele de proteine. SVM este apoi utilizat pentru a detecta omologia proteinelor.
Concluzie
În acest tutorial de mașini vectoriale de suport, am aflat despre mașini vectoriale de suport. Algoritmii SVM sunt algoritmi de învățare supravegheați care sunt folosiți pentru a clasifica datele binare și datele separabile liniar. Clasifică punctele de date după un hiperplan cu o marjă maximă.
Punctele de date neliniare pot fi, de asemenea, clasificate de mașinile vectoriale de sprijin care utilizează Kernel Tricks. Există multe aplicații ale SVM în viața reală, una dintre cele mai frecvente aplicații este recunoașterea feței și recunoașterea scrisului de mână.
Lectura placuta!!
=> Vizitați aici pentru seria exclusivă de învățare automată
Lectură recomandată
- Tutorial de învățare automată: Introducere în ML și aplicațiile sale
- Un ghid complet pentru rețeaua neuronală artificială în învățarea automată
- Data Mining Vs Machine Learning Vs Intelligence Artificial Vs Deep Learning
- Tipuri de învățare automată: învățare supravegheată împotriva supravegherii
- Introducere în algoritmii genetici în învățarea automată
- 11 Cele mai populare instrumente software de învățare automată în 2021
- Top 13 cele mai bune companii de învățare automată (Lista actualizată 2021)
- Ce este Java Vector | Tutorial Java Vector Class cu exemple