what is support vector machine machine learning
Tento tutoriál vysvetľuje podporu vektorového stroja v ML a súvisiacich konceptoch ako Hyperplane, podporné vektory a aplikácie SVM:
V Predchádzajúci návod , dozvedeli sme sa o genetických algoritmoch a ich úlohe v strojovom učení.
V našich predchádzajúcich tutoriáloch sme študovali niektoré supervidované a nekontrolované algoritmy strojového učenia. Backpropagation je algoritmus učenia pod dohľadom, zatiaľ čo Kohenen je algoritmus učenia bez dozoru.
V tomto tutoriáli podpory vektorových strojov sa dozvieme o podporných vektorových strojoch. SVM sú robustné matematické algoritmy strojového učenia pod dohľadom, ktoré sa vo veľkej miere používajú pri klasifikácii súboru tréningových údajov.
=> Prečítajte si celú sériu školení o strojovom učení
Čo sa dozviete:
- Čo je podporný vektorový stroj (SVM)
- Čo je to hyperplán
- Čo sú to klasifikačné a regresné algoritmy
- Čo sú podporné vektory
- Ako funguje podporný vektorový stroj
- Ako optimalizovať polohu hyperplánu
- Aplikácie SVM
- Záver
- Odporúčané čítanie
Čo je podporný vektorový stroj (SVM)
Algoritmus SVM je supervizovaný učebný algoritmus kategorizovaný podľa klasifikačných techník. Jedná sa o techniku binárnej klasifikácie, ktorá využíva súbor tréningových údajov na predpovedanie optimálnej nadroviny v n-dimenzionálnom priestore.
Táto nadrovina sa používa na klasifikáciu nových súborov údajov. Keďže je to binárny klasifikátor, súprava tréningových údajov nadrovina rozdeľuje množinu tréningových údajov do dvoch tried.
Algoritmy SVM sa používajú na klasifikáciu údajov v dvojrozmernej rovine a viacrozmernej nadrovine. Multidimenzionálna hyperplán používa na kategorizáciu multidimenzionálnych údajov „jadrá“.
Vždy je potrebné mať maximálny rozdiel medzi klasifikovanými údajovými bodmi. To znamená, že by mali mať maximálnu vzdialenosť alebo nadrovina mala mať maximálnu rezervu medzi dátovými bodmi.
Čo je to hyperplán
Nadrovina je hranica, ktorá rozdeľuje rovinu. Jedná sa o hranicu rozhodovania, ktorá klasifikuje údajové body do 2 samostatných tried. Pretože SVM sa používa na klasifikáciu údajov do viacrozmerných údajov, nadrovinou môže byť rovná čiara, ak sú k dispozícii 2 vstupy, alebo 2D rovina, ak sú k dispozícii viac ako 2 vstupy.
Algoritmy SVM možno použiť aj na regresnú analýzu, ale hlavne sa používajú na klasifikáciu. Pozrime sa na ďalšie podrobnosti o každej z týchto metód.
Čo sú to klasifikačné a regresné algoritmy
Klasifikačný algoritmus je algoritmus, ktorý analyzuje údaje o tréningu s cieľom predpovedať výsledok. Výsledkom je cieľová trieda, napríklad , Denný alebo Nočný, Áno alebo Nie, Dlhý alebo Krátky. Príkladom klasifikačného algoritmu by bolo, či by si zákazník v supermarkete kupujúci chlieb kúpil aj maslo. Cieľová trieda by bola „Áno“ alebo „Nie“.
Regresný algoritmus zisťuje vzťah medzi nezávislými premennými a predpovedá výsledok. Lineárna regresia zisťuje lineárny vzťah medzi vstupom a výstupom. Napríklad: „A“ ako vstup a „b“ ako výstup, lineárna funkcia bude b = k * a + c.
Čo sú podporné vektory
Podporné vektory sú dátové body, ktoré nám pomáhajú optimalizovať nadrovinu. Tieto vektory ležia najbližšie k nadrovine a je ťažké ich klasifikovať. Poloha rozhodovacej nadroviny závisí od podporných vektorov. Ak sú tieto podporné vektory odstránené, zmení sa tým aj poloha nadroviny.
Podporný vektorový stroj (SVM) používa vstupné dátové body alebo funkcie nazývané podporné vektory na maximalizáciu hraníc rozhodovania, t. J. Priestoru okolo nadroviny. Vstupy a výstupy SVM sú podobné neurónovej sieti. Existuje iba jeden rozdiel medzi SVM a NN, ako je uvedené nižšie.
Vstupy: Sieť SVM môže obsahovať n počet vstupov, napríklad x1, Xdva, …… .., Xi,…., Xn.
Výstupy: Cieľový výstup t.
Hmotnosti: Ako váhy neurónovej siete w1, vdva, ……, vnsú spojené s každým vstupom, ktorého lineárna kombinácia predpovedá výstup y.
Rozdiel medzi SVM a neurónovými sieťami
Synaptické váhy v Neurónových sieťach sú eliminované kvôli výpočtu výstupu y siete, zatiaľ čo v SVM sú nenulové váhy redukované alebo eliminované kvôli výpočtu optimálnej hranice rozhodnutia.
S vylúčením váh zníži množinu vstupných údajov na niekoľko dôležitých vstupných funkcií, ktoré pomôžu pri rozhodovaní o oddeliteľnej nadrovine.
Ako funguje podporný vektorový stroj
Ako vieme, cieľom podporných vektorových strojov je maximalizovať rozpätie medzi klasifikovanými údajovými bodmi. To prinesie optimálnejšie výsledky na klasifikáciu nových súborov netrénovaných údajov. Teda to sa dá dosiahnuť tým, že je nadrovina v polohe, kde je maximálna hranica.
Pozrime sa na príklad lineárne oddelených údajových bodov:
Krok 1: Zistite z rôznych možností správnu nadrovinu: Ak chcete rozhodnúť o najlepšej nadrovine, vyhľadajte všetky možné roviny, ktoré rozdeľujú údaje, a potom vyberte tú, ktorá najlepšie klasifikuje súbory vstupných údajov. V nižšie uvedenom grafe sú tri možnosti nadroviny. Nadrovina 3 lepšie rozdeľuje údajové body.
Krok 2: Vyberte nadrovinu s maximálnym rozpätím medzi najbližšími dátovými bodmi: Okraj je definovaný ako vzdialenosť medzi nadrovinou a najbližšími dátovými bodmi. Je teda optimálne mať maximálnu rezervu. Keď 2 alebo viac ako 2 hyperplány klasifikujú údaje rovnako, potom zistite okraj.
Vyberie sa nadrovina s maximálnym okrajom. Na obrázku nižšie nadrovina 2.1.2.2 a 2.3 rozdeľuje údajové body, ale nadrovina 2.2 má maximálnu rezervu.
Krok 3: Keď sú odľahlé hodnoty: Odľahlé hodnoty sú dátové body, ktoré sa líšia od množiny dátových bodov. V prípade 2 súborov dátových bodov môže byť prítomná odľahlá hodnota. SVM ignoruje tieto extrémne hodnoty v dátach a potom nájde nadrovinu s maximálnym okrajom.
Krok 4: V prípade nelineárne oddelených údajových bodov používa SVM trik s jadrom. Konvertuje nelineárne oddeliteľnú rovinu na oddeliteľnú tabuľku zavedením novej dimenzie. Jadrové triky sú zložité matematické rovnice, ktoré robia zložité transformácie údajov na optimalizáciu nadroviny.
Obrázok nižšie zobrazuje nelineárne oddeliteľné dátové body, ktoré sa potom transformujú do vysokej dimenzionality s rovinou z. Nadrovinou rozdeľujúcou dva súbory údajov je kruh.
Ako optimalizovať polohu hyperplánu
Poloha nadroviny je optimalizovaná pomocou optimalizačných algoritmov.
Parameter SVM: jadro
Vytvorenie optimalizovanej nadroviny v nelineárne oddeliteľnom probléme sa vykonáva pomocou jadier. Jadrá sú matematické funkcie, ktoré prevádzajú komplexný problém pomocou lineárnej algebraickej formy.
Pre lineárne jadro sa rovnica nachádza ako:
F (x) = b + súčet (ai* (x, xi))
kde,
x sú nové vstupné údaje
Xije vektor podpory
b, aisú koeficienty. Tieto koeficienty sa odhadujú počas fázy učenia sa algoritmu.
Pre zložitý nelineárne oddeliteľný problém funguje trik jadra ako konverzia nelineárneho oddeliteľného problému na oddeliteľný problém. Transformuje komplexné údaje a nachádza spôsob rozdelenia údajových bodov na výstupy.
Funkcie jadra sú mnohých typov, napríklad lineárne, polynomické, sigmoidné, radiálne vychýlené, nelineárne a mnoho ďalších.
Pozrime sa na použitie niektorých z vyššie uvedených funkcií jadra:
Funkcie jadra vypočítajú vnútorný súčin 2 vstupov x, y medzery.
# 1) Funkcia radiálneho skreslenia: Najpoužívanejšia funkcia jadra hovorí, že pre všetky hodnoty ležiace medzi x = (-1,1) je hodnota funkcie 1 inak 0. Pri niektorých úsekoch povedzme xi, hodnota funkcie jadra je 1 pre | (xi- h), (xi+ h) | pre xibrané ako stred a inak 0.
# 2) Funkcia sigmoidu: Ako neurónové siete využívajúce Sigmoid je funkcia jadra pre SVMs
# 3) Hyperbolická tangenciálna funkcia: Pretože neurónové siete používajú, táto funkcia je
# 4) Funkcia gaussovského jadra: Uvádza funkcia gaussovského jadra
# 5) Polynomiálna funkcia: k (xi, Xj) = (xi* Xj+1)dva
Aplikácie SVM
Medzi reálne aplikácie SVM patria:
# 1) Rozdelenie článkov do rôznych kategórií: SVM rozlišuje medzi písanými textami a zaraďuje ich do rôznych kategórií, ako sú články o zábave, zdraví a beletrii. Je založená na vopred nastavených prahových hodnotách vypočítaných počas tréningu SVM.
Ak sa prekročí prahová hodnota, zaradí sa do kategórie. Ak hodnota nie je splnená, potom sú pre klasifikáciu definované nové kategórie.
čo je lepšia java alebo c ++
# 2) Rozpoznanie tváre: Daný obrázok sa klasifikuje ako obraz tváre alebo iný obraz tváre detekciou prvkov pomocou pixelov. Obrázok je rozpoznaný ako tvár alebo iná tvár.
# 3) Informácie o zdraví: SVM sa používajú na klasifikáciu pacientov na základe ich génov, rozpoznávania biologických vzorcov atď.
# 4) Detekcia homológie bielkovín: Vo výpočtových lekárskych vedách sa SVM trénujú v oblasti modelovania proteínových sekvencií. SVM sa potom použije na detekciu homológie proteínov.
Záver
V tomto tutoriáli podpory vektorových strojov sme sa dozvedeli o podporných vektorových strojoch. Algoritmy SVM sú dohliadané algoritmy učenia, ktoré sa používajú na klasifikáciu binárnych údajov a lineárne oddeliteľných údajov. Klasifikuje dátové body nadrovinou s maximálnou rezervou.
Nelineárne dátové body je možné klasifikovať aj pomocou podporných vektorových strojov pomocou jadrových trikov. V reálnom živote existuje veľa aplikácií SVM, jednou z najbežnejších aplikácií je rozpoznávanie tváre a rozpoznávanie rukopisu.
Príjemné čítanie !!
=> Navštívte tu exkluzívnu sériu strojového učenia
Odporúčané čítanie
- Výukový program pre strojové učenie: Úvod do ML a jeho aplikácií
- Kompletný sprievodca umelou neurónovou sieťou v strojovom učení
- Data Mining vs. Machine Learning vs. Artificial Intelligence vs. Deep Learning
- Typy strojového učenia: Supervízované vs.
- Úvod do genetických algoritmov v strojovom učení
- 11 najpopulárnejších softvérových nástrojov pre strojové učenie v roku 2021
- Top 13 NAJ spoločností v oblasti strojového učenia (aktualizovaný zoznam 2021)
- Čo je Java Vector | Výukový program Java Vector Class s príkladmi