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 aldatu

 
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 aldatu

 
Marjina maximodun hiperplanoa

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

 

non ci horren balioa 1 edo −1 izan daitekeen, eta   puntuari dagokion klasea adierazten duen.   puntu bakoitza p dimentsioko bektore erreala da. Helburua   dagokien puntuak eta   dagokienak banatuko dituen marjina maximodun hiperplanoa aurkitzea da. Edozein hiperplanoa honela defini daiteke:

 

  bektore normal bat da, hiperplanoarekiko perpendikularra.   parametroak hiperplanoak jatorriarekiko duen desplazamendua adierazten du,   bektorearen norabideari jarraiki.

Hiperplanoa eta gertueneko puntu(ar)en arteko marjina maximo egingo dituen   eta   balioak aurkitzea da helburua. Marjina definitzen duten hiperplanoa honela defini daitezke:

  eta
 

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

i bakoitzarentzako:
 ,   den kasurako, edo
 ,   den kasurako

Hau honela berridatz daiteke:

 

Ebazpena aldatu

Bi klaseetako puntuak bananduko dituen hiperplanoaren funtzioa honakoa da beraz:

 

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]:

 

Sailkapen linealetatik haratago aldatu

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:  
  • Polinomiala:  
  • Radial Basis Function (RBF):  
  • Sigmoidea:  

Erreferentziak aldatu

  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 aldatu