Euskarri bektoredun makina

Euskarri bektoredun makinak (ingelesez, support-vector machine, SVM) sailkapenerako eta erregresiorako erabiltzen den algoritmo sorta da. Jatorriz ikasketa gainbegiratuan, sailkapen bitar eta linealerako erabiltzen den arren, beste aukera asko eskaintzen dutela frogatu izan da.

Oinarriak

H3k ez ditu bi klaseak banatzen; beste biek bai, baina H2k du marjina handiena

Ikasketa automatikoan sarritan beharrezkoa izaten da sailkapen teknikak erabiltzea. Horretarako, bektore-espazio ereduan oinarritzen dira euskarri bektoredun makinak. Sarrera moduan, n dimentsioko eredu horretan adieraz daitezkeen hainbat datu jasotzen dira, kategoria bietako batean sailkatuta daudenak. Teknika honek bilatzen duen helburua n dimentsioko eredu horretan dauden puntu hauek bananduko dituen n - 1 dimentsioko hiperplanoa bilatzea da. Honi sailkatzaile lineal deritzo. Dena dela, datuak bi eremutan banatzeko hiperplano hau ez da bakarra, aukera asko izan baititzake; euskarri bektoredun makinek, ordea, gertueneko puntuetarako distantzia (zeina marjina deitzen den) handiena duena aukeratzen dute emaitza bezala.

Azalpen formala

Marjina maximodun hiperplanoa

Eman dezagun entrenamendurako hainbat datu ditugula, tankera honetako puntu sorta:

D = { ( x i , c i ) | x i R p , c i { 1 , 1 } } i = 1 n {\displaystyle {\mathcal {D}}=\{(\mathbf {x} _{i},c_{i})|\mathbf {x} _{i}\in \mathbb {R} ^{p},c_{i}\in \{-1,1\}\}_{i=1}^{n}}

non ci horren balioa 1 edo −1 izan daitekeen, eta x i {\displaystyle \mathbf {x} _{i}} puntuari dagokion klasea adierazten duen. x i {\displaystyle \mathbf {x} _{i}} puntu bakoitza p dimentsioko bektore erreala da. Helburua c i = 1 {\displaystyle c_{i}=1} dagokien puntuak eta c i = 1 {\displaystyle c_{i}=-1} dagokienak banatuko dituen marjina maximodun hiperplanoa aurkitzea da. Edozein hiperplanoa honela defini daiteke:

w x b = 0. {\displaystyle \mathbf {w} \cdot \mathbf {x} -b=0.}

w {\displaystyle \mathbf {w} } bektore normal bat da, hiperplanoarekiko perpendikularra. b w {\displaystyle {\tfrac {b}{\|\mathbf {w} \|}}} parametroak hiperplanoak jatorriarekiko duen desplazamendua adierazten du, w {\displaystyle \mathbf {w} } bektorearen norabideari jarraiki.

Hiperplanoa eta gertueneko puntu(ar)en arteko marjina maximo egingo dituen w {\displaystyle \mathbf {w} } eta b {\displaystyle \mathbf {b} } balioak aurkitzea da helburua. Marjina definitzen duten hiperplanoa honela defini daitezke:

w x b = 1 {\displaystyle \mathbf {w} \cdot \mathbf {x} -b=1} eta
w x b = 1. {\displaystyle \mathbf {w} \cdot \mathbf {x} -b=-1.}

Kontuan izan datuak linealki bana badaitezke, marjinak definitzen dituzten bi hiperplano artean ez dela punturik egongo. Geometria baliatuz, bi hiperplano hauen arteko distantzia 2 w {\displaystyle {\tfrac {2}{\|\mathbf {w} \|}}} dela ondoriozta dezakegu, eta beraz w {\displaystyle \|\mathbf {w} \|} minimizatzea da xedea. Ez dugunez marjinan punturik erortzerik nahi, honako baldintza gehi daiteke:

i bakoitzarentzako:
w x i b 1 {\displaystyle \mathbf {w} \cdot \mathbf {x} _{i}-b\geq 1\qquad } , c i = 1 {\displaystyle c_{i}=1} den kasurako, edo
w x i b 1 {\displaystyle \mathbf {w} \cdot \mathbf {x} _{i}-b\leq -1\qquad } , c i = 1 {\displaystyle c_{i}=-1} den kasurako

Hau honela berridatz daiteke:

c i ( w x i b ) 1 , i { 1 , n } {\displaystyle c_{i}(\mathbf {w} \cdot \mathbf {x} _{i}-b)\geq 1,\quad \forall i\in \{1,n\}}

Ebazpena

Bi klaseetako puntuak bananduko dituen hiperplanoaren funtzioa honakoa da beraz:

f ( x ) = w x + b {\displaystyle f(x)=\mathbf {w} \cdot \mathbf {x} +\mathbf {b} }

Funtzio honen bitartez marjina maximoa duena ebaztea oso zaila da, konputazio koste handia suposatzen baitu. Hori konpontzeko, honako funtzio hau minimizatzearen bitartez lortzen da baliokidea[1][2]:

min 1 2 | | w | | 2 + C i = 1 l ξ i d {\displaystyle \min {\frac {1}{2}}||\mathbf {w} ||^{2}+C\sum _{i=1}^{l}\xi _{i}^{d}}

Sailkapen linealetatik haratago

Vladimir Vapnikek 1963an proposatutako algoritmoak sailkatzaile lineala definitzen du, eta ondorioz, ezin ditu arazo ez-linealak ebatzi. 1992an, ordea, Bernhard Boser, Isabelle Guyon eta Vapnik berak espazioaren egokitzapena egiten duen kernel funtzio baten erabilpena proposatu zuten. Orduz geroztik, kernel funtzioak erabiltzen dira arazo ez-linealak ebazteko. Kernel funtzio erabilienak honako hauek dira:

  • Lineala: K ( x i , x j ) = x i x j {\displaystyle K(\mathbf {x} _{i},\mathbf {x} _{j})=\mathbf {x} _{i}\cdot \mathbf {x} _{j}}
  • Polinomiala: K ( x i , x j ) = ( γ x i T x j + r ) d , γ > 0 {\displaystyle K(\mathbf {x} _{i},\mathbf {x} _{j})=(\gamma \cdot \mathbf {x} _{i}^{T}\cdot \mathbf {x} _{j}+r)^{d},\gamma >0}
  • Radial Basis Function (RBF): K ( x i , x j ) = e ( γ | | x i x j | | 2 ) {\displaystyle K(\mathbf {x} _{i},\mathbf {x} _{j})=e^{(-\gamma \cdot ||\mathbf {x} _{i}-\mathbf {x} _{j}||^{2})}}
  • Sigmoidea: K ( x i , x j ) = tanh ( γ x i T x j + r ) {\displaystyle K(\mathbf {x} _{i},\mathbf {x} _{j})=\tanh(\gamma \cdot \mathbf {x} _{i}^{T}\cdot \mathbf {x} _{j}+r)}

Erreferentziak

  1. Boser, B.E., Guyon, I., Vapnik, V.: A Training Algorithm for Optimal Margin Classifiers. In: 5th Annual Workshop on Computational Learning Theory, pp. 144-152. ACM Press, Pittsburgh, Pennsylvania, USA (1992)
  2. Cortes, C., Vapnik, V.: Support Vector Networks. Machine Learning. 273--297 (1995)

Kanpo estekak

  • (Ingelesez) SVMlight, SVMrekin lan egiteko softwarea
Autoritate kontrola
  • Wikimedia proiektuak
  • Wd Datuak: Q282453
  • Commonscat Multimedia: Support vector machine / Q282453

  • Identifikadoreak
  • BNF: 16627142b (data)
  • GND: 4505517-8
  • LCCN: sh2008009003
  • NKC: ph606738
  • Medikuntzako identifikadoreak
  • MeSH: D060388
  • Wd Datuak: Q282453
  • Commonscat Multimedia: Support vector machine / Q282453