Euskarri bektoredun makina
| Artikulu hau hobetzeko LANEAN ari da lankidea. Hori dela eta, beharbada hutsuneren batzuk izango dira edukian edo formatuan. Mesedez, aldaketa handi bat egin baino lehen, eztabaida ezazu haren lankide orrian edo artikuluaren eztabaida orrian, erredakzioa koordinatzeko. Mila esker. |
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.
Eduki-taula |
Oinarriak [aldatu]
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]
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:

Ikasketa erdi-gainbegiratua [aldatu]
Klase anitzeko sailkapena [aldatu]
Erreferentziak [aldatu]
Kanpo loturak [aldatu]
- (Ingelesez) SVMlight, SVMrekin lan egiteko softwarea


eta
,
, 





