Tugivektor-masin

Tugivektor-masinaid (TVM) kasutatakse juhendatud masinõppes klassifikatsiooni ja regressiooni analüüsiks. Tugivektor vajab treenimiseks eelnevalt märgendatud treenimishulka ning treenitud mudel teeb oma ennustuse märgendamata andmetele olenevalt sellele, kummale poole treenitud hüpertasandit vektor jääb, kusjuures eraldava hüpertasandi kaugus lähimatest treeningandmetest võiks olla võrdne. Eristatakse kõva ja pehme äärega TVM-e: esimesel juhul eeldatakse, et treeningandmeid on võimalik lineaarselt hüpertasandiga eraldada, ja teisel juhul saab TVM-i treenida ka kattuvuse korral. Tugivektor-masinad leiutasid Vladimir N. Vapnik ja Alexey Chervonenkis 1963. Tugivektor-masinaid on modifitseeritud, et need tegeleksid ka märgendamata andmete klasteranalüüsiga ja tõenäosusjaotuste väljastamisega (Platti skaleerimine). Samuti kasutatakse kernelitrikki olukorras, kus treeningandmeid ei ole võimalik lineaarselt eraldada, kuid leidub funktsioon treeningandmeid eraldava hüpertasandi kirjeldamiseks. Antud on treeningandmed, mis koosnevad treeningolemi x i → {\displaystyle {\vec {x_{i}}}} ja sellele vastava märgendi y i {\displaystyle y_{i}} paaridest ( x → 1 , y 1 ) , … , ( x → n , y n ) {\displaystyle ({\vec {x}}_{1},y_{1}),\,\ldots ,\,({\vec {x}}_{n},y_{n})} , kus y i = ± 1 {\displaystyle y_{i}=\pm 1} vastavalt selle märgendile. Iga x → i {\displaystyle {\vec {x}}_{i}} on reaalarvuline p {\displaystyle p} -dimensionaalne vektor. TVM treenimise ülesanne on leida maksimaalse eraldatusega hüpertasand, mis eraldab punkte { x → i | y = 1 } {\displaystyle \{{\vec {x}}_{i}|y=1\}} punktidest { x → i | y = − 1 } {\displaystyle \{{\vec {x}}_{i}|y=-1\}} . Maksimaalse eraldatusega tähendab siin kohal, et hüpertasand on lähimatest vastandmärgenditega treeningolemitest võrdsel ja maksimaalsel kaugusel. Eraldav hüpertasand koosneb punktidest x → i {\displaystyle {\vec {x}}_{i}} , mis rahuldavad võrrandit w → ⋅ x → i − b = 0 {\displaystyle {\vec {w}}\cdot {\vec {x}}_{i}-b=0} , kus w → {\displaystyle {\vec {w}}} on hüpertasandi normaalvektor. Kui treeningandmed on lineaarselt eraldatavad, me võime valida kaks hüpertasandit, mis mõlemad eraldavad binaarse märgendusega andmed ning on sealjuures suurima võimaliku omavahelise kaugusega. Neid kaht hüpertasandit kirjeldavad kaks võrrandit: w → ⋅ x → − b ≥ 1 {\displaystyle {\vec {w}}\cdot {\vec {x}}-b\geq 1} (kõik treeningolemid, mis on kas hüpertasandil või sellest kõrgemal, saavad ennustuseks märgendi 1), w → ⋅ x → − b ≤ − 1 {\displaystyle {\vec {w}}\cdot {\vec {x}}-b\leq -1} (kõik treeningolemid, mis on kas hüpertasandil või sellest madalamal, saavad ennustuseks märgendi -1). Et kahe hüpertasandi kaugus peab olema maksimaalne ning seda kaugust kirjeldav võrrand on 2 ‖ w → ‖ {\displaystyle {\frac {2}{\lVert {\vec {w}}\rVert }}} , siis me peame minimeerima ‖ w → ‖ {\displaystyle \lVert {\vec {w}}\rVert } . Eelmised kaks võrratust võib ümber kirjutada kujule: ∀ i ∈ { 1 , … , n }   y i ( w → ⋅ x → i − b ) ≥ 1 {\displaystyle \forall i\in \{1,\ldots ,n\}\ y_{i}({\vec {w}}\cdot {\vec {x}}_{i}-b)\geq 1} , kus optimeerimisülesandeks jääb ‖ w → ‖ {\displaystyle \lVert {\vec {w}}\rVert } minimeerimine eelnevast võrrandist sõltuvalt. Siinkohal vajab märkimist, et tulemus w → {\displaystyle {\vec {w}}} sõltub vaid lähimatest punktidest, mida kutsutaksegi tugivektoriteks. Et saaksime kasutada TVM-e juhul, kus treeningandmed ei ole lineaarselt eraldatavad ülekattuvuse tõttu, tutvustame hinge kaotusfunktsiooni m a x ( 0 , 1 − y i ( w → ⋅ x → i − b ) ) {\displaystyle max(0,1-y_{i}({\vec {w}}\cdot {\vec {x}}_{i}-b))} , siis me peame minimeerima ‖ w → ‖ {\displaystyle \lVert {\vec {w}}\rVert } . Kaotusfunktsiooni väärtus on 0 juhtudel, kus õpitakse ennustama õige märgendiga olemit. Kui aga olem on valel pool hüpertasandit, siis funktsiooni väärtus on proportsionaalne kaugusega sellest tasandist. Me soovime minimeerida [ 1 n ∑ i = 1 n max ( 0 , 1 − y i ( w → ⋅ x → i − b ) ) ] + λ ‖ w → ‖ 2 {\displaystyle \left[{\frac {1}{n}}\sum _{i=1}^{n}\max \left(0,1-y_{i}({\vec {w}}\cdot {\vec {x}}_{i}-b)\right)\right]+\lambda \lVert {\vec {w}}\rVert ^{2}} , kus parameeter λ {\displaystyle \lambda } määrab ära, kui palju soovitakse karistada vale märgendi ennustamist ning kui tähtis on minimaalne ‖ w → ‖ {\displaystyle \lVert {\vec {w}}\rVert } . Juhul kus λ {\displaystyle \lambda } on väike, muutub minimeeritava funktsiooni teine liige tühiselt väikseks ning algoritm käitub nagu kõva äärega TVM. Cortes, Corinna; Vapnik, Vladimir N. (1995). "Support-vector networks". Machine Learning. 20 (3): 273–297. DOI:10.1007/BF00994018. SVM paper - Cortes, Corinna; Vapnik, Vladimir N. (1995). "Support-vector networks". Machine Learning. 20 (3): 273–297. doi:10.1007/BF00994018. Platt, John (1999). "Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods" (PDF). Advances in large margin classifiers. 10 (3): 61–74. "Why does the SVM margin is $\frac{2}{\-\mathbf{w}\-}$". Mathematics Stack Exchange. "A general formulation for support vector machines" (PDF). Gatsby computational neuroscience unit.