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 | aldatu iturburu kodea]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 | aldatu iturburu kodea]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 | aldatu iturburu kodea]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 | aldatu iturburu kodea]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 | aldatu iturburu kodea]Kanpo estekak
[aldatu | aldatu iturburu kodea]- (Ingelesez) SVMlight, SVMrekin lan egiteko softwarea