Ikasketa gainbegiratua

thumb|Ikasketa gainbegiratuan, entrenamendu-datuak espero diren erantzunekin etiketatuta daude; ikasketa ez.gainbegiratuan, berriz, ereduak etiketarik gabeko datuetan ereduak edo egiturak identifikatzen ditu.
**Ikasketa gainbegiratua** ikasketa automatikoaren (machine learning) baitako metodo bat da. Metodo honek ordenagailuei adibideen bidez ikasten irakasten die. Horretarako, ikasketa ez-gainbegiratuaren kasuan ez bezala, sistemari etiketatutako datuak ematen dizkio, hau da, sarrerako datuekin batera haien emaitzak ematen dizkio. Horri esker, sistemak problemak ebazteko patroiak ikas ditzake.

Bi ikasketa mota nagusi daude:

* Erregresioa: emaitza *zenbaki bat* denean (adibidez, bidaia baten iraupena aurreikustea).
* Sailkapena: emaitza *etiketa bat* denean (adibidez, mezu elektroniko bat spama den ala ez esatea).

Ikasketa gainbegiratuaren helburu nagusia da ordenagailua datu berrien aurrean ere erantzun egokiak emateko gai izan dadila, eman zaizkion abibideetatik ikasi ondoren. Horregatik, metodo honek orokortzeko gaitasuna duela esaten da. Hala ere, arrisku bat dago: gehiegizko egokitzea (overfitting). Hau gertatzen da ereduak entrenamenduko datuak oso ondo ikasi dituenean, baina datu berrien aurrean gaizki jokatzen duenean. Kasu honetan, ereduak adibideak memorizatu ditu, baina ez ditu benetan orokortu.

Arrisku hori saihesteko, datuak hiru multzotan banatzen dira normalean: entrenamendu multzoa, balidazio multzoa eta proba multzoa. Lehenengoa eredua entrenatzeko erabiltzen da, bigarren eredua datu berriekin nola funtzionatzen duen ebaluatzeko, eta hirugarrena azken emaitzak probatzeko. Banaketa hori ezinbestekoa da ereduaren kalitatea neurtzeko eta gehiegizko egokitzea ekiditeko.

## Prozedura orokorra 
Metodo honek hainbat motatako ereduak sor ditzake. Oro har, funtzio bat sortzen du, sarrera-datuak espero dugun emaitza bihurtzen dituena. 

### 1. Datu-mota zehaztea 
Edozein ekintza hasi aurretik, entrenamendu multzo gisa zein motatako datuak erabiliko diren erabaki behar da. Esate baterako, irudi batean katu bat dagoen ala ez identifikatzeko, adibideek irudi bakunak izan ditzakete; batzuek katuak erakutsiko dituzte eta beste batzuek, berriz, ez. Lagin motaren hautaketak ikasi nahi den xehetasun mailaren eta ereduaren helburuaren araberakoa izan behar du.

### 2. Entrenamendu multzoa biltzea 
Entrenamendu multzoak ereduaren erabilera errealaren isla izan behar du. Horretarako, adituen ezagutzen bidez edo sistema automatikoen bidez, sarrera datuak eta haien erantzun zuzenak biltzen dira. Datu-multzo hori zenbat eta askotarikoagoa eta osatuagoa izan, orduan eta orokortzeko gaitasun handiagoa izango du.

### 3. Sarreren irudikapena zehaztea 
Ikasitako ereduaren zehaztasuna sarrera-datuak irudikatzeko moduaren araberakoa da, neurri handi batean. Normalean, objektu bakoitza zenbakizko ezaugarri-bektore bihurtzen da, ordenagailuak modu eraginkorrean prozesaditzan. Ezaugarri kopuruak ez du handiegia izan behar, baina nahikoa informazio izan behar du irteera zehaztasunez aurreikusteko.

### 4. Ereduaren egitura eta ikasketa-algoritmoa aukeratzea 
Fase honetan zehazten dira ikasi nahi den funtzioaren egitura eta aplikatuko den ikasketa metodologia. Hautaketa honetan hainbat elementu kontuan izan behar dira, hala nola: aldagaien izaera, datu kopurua eta ereduak izan behar duen konplexutasun maila. Orokorrean, helburua da ereduak ondo ikastea, baina, aldi berean, gehiegizko konplexutasuna eta gehiegizko egokitzea saihestea.

### 5. Ikasketa-prozesua exekutatu eta parametroak doitzea 
Behin algoritmoa hautatuta, ikasketa-prozesua exekutatzen da, ereduaren parametroak doitzeko. Algoritmo batzuetarako, beharrezkoa da kontrol-parametro batzuk aukeratzea edo egokitzea. Horretarako, balidazio-multzo bat edo balidazio gurutzatua erabil daiteke. Prozesu hau behin eta berriz errepikatzen da, ereduak errendimendu egokia lortzen duen arte.

### 6. Ereduaren zehaztasuna ebaluatzea 
Ikasketa eta parametroen doikuntza amaitu ondoren, ereduaren errendimendua ebaluatu behar da. Horretarako, proba multzoa erabiltzen da. Ebaluazio honek ereduak datu berrietara orokortzeko duen gaitasuna neurtzeko eta arazoaren eskakizunak betetzen dituen ala ez zehazteko balio du.

## Algoritmoa aukeratzea 
Ikaskuntza gainbegiratuko algoritmo ugari daude eskuragarri, bakoitzak indar eta ahulguneak dituela. Ikaskuntza gainbegiratuko problema guztietan onena den algoritmo bakarra ez da existitzen (ikusi "No free lunch theorem").

Ikasketa gainbegiratuan lau arazo nagusi hartu behar dira kontuan:

### 1. Alborapena-bariantza trukea 
Lehenengo arazoa alborapena eta bariantzaren arteko trukea da. Kalitatez berdintsuak diren entrenamendu-datu multzo desberdinak daude eskuragarri.

- Alborapena ereduak errealitatea gehiegi sinplifikatzeko edo oker interpretatzeko duen joera da. Alborapen handiko ereduek ezin dituzte datuetako ereduak behar bezala ikasi (underfitting). Ikaskuntza-algoritmo batek alborapena du sarrera jakin baterako *(x)*, datu multzo bakoitzarekin entrenatzen denean sistematikoki okerra bada *x*-ren irteera zuzena aurreikusterakoan.

- Bariantza ereduak entrenamendu-datuekiko duen sentikortasuna gehiegizkoa da; hortaz,  datu-multzo batetik bestera aldatzen denean, emaitzak asko aldatzen dira. Bariantza handiko ereduek entrenamenduko zarata ikasten dute eta ez dute ondo orokortzen, gehiegizko egokitzapena (overfitting) dela eta. Ikaskuntza-algoritmo batek bariantza handia du sarrera jakin baterako *(x)*, entrenamendu-multzo bakoitzarekin entrenatutakoan aurreikuspen desberdinak sortzen baditu.

Ikasitako sailkatzaile baten aurreikuspenen errorea ikaskuntza-algoritmoaren alborapena eta bariantzaren baturarekin lotuta dago .

- Trukea (trade-off): alborapena murriztuz gero, bariantza normalean handitu egiten da, eta  alderantziz ere bai. Eredu on bat lortzeko, bien arteko oreka aurkitu behar da. Alborapen txikia duen ikaskuntza-algoritmo batek "malgua" izan behar du datuak ondo egokitzeko; hala ere, algoritmoa malguegia bada, entrenamendu-datu multzo bakoitzera modu desberdinean egokituko da, eta ondorioz, bariantza handia izango du.

Ikaskuntza gainbegiratuko metodo askoren funtsezko alderdi bat da alborapenaren eta bariantzaren arteko truke hau doitzeko gai izatea (automatikoki edo erabiltzaileak doitu dezakeen alborapena/bariantza parametro bat eskainiz).

### 2. Funtzioaren konplexutasuna eta entrenamendu-datuen kopurua 
Bigarren arazoa eskuragarri dagoen entrenamendu-datu kopuruaren eta “benetako” funtzioaren (sailkatzailea edo erregresio-funtzioa) konplexutasunaren arteko erlazioa da. Benetako funtzioa sinplea bada, alborapen handia eta bariantza txikia duen ikaskuntza-algoritmo "ez-malgu" batek datu-kopuru txiki batetik ikasi ahal izango du. Baina benetako funtzioa oso konplexua bada (adibidez, sarrera-aldagaien arteko interakzio konplexuengatik eta sarrera-espazioaren arabera portaera desberdina izateagatik), alborapena txikia eta bariantza handia duen ikaskuntza-algoritmo "malgu" batek entrenamendu-datu kopuru handi bat beharko du ikasteko.

### 3. Sarrera-espazioaren dimentsionalitatea 
Hirugarren arazoa sarrera-espazioaren dimentsionalitatea da. Sarrera-ezaugarri bektoreak dimentsio handiak baditu, funtzioa ikastea zaila izan daiteke, nahiz eta benetako funtzioak ezaugarri horien kopuru txiki baten menpe egon. Hori gertatzen da dimentsio "gehigarri" askok ikaskuntza-algoritmoa nahasten dutelako eta bariantza handia eragiten dutelako. Hori dela eta, dimentsio handiko sarrera-datuek normalean sailkatzailea doitzea eskatzen dute, bariantza txikia eta alborapen handia izan ditzan.

Praktikan, ingeniariek sarrera-datuetatik eskuz garrantzirik gabeko ezaugarriak kendu baditzakete, ziurrenik ikasitako funtzioaren zehaztasuna hobetuko da. Gainera, ezaugarri-hautaketarako algoritmo asko daude ezaugarri garrantzitsuak identifikatzeko eta garrantzirik gabeak baztertzeko. Hori dimentsioen murrizketaren estrategia orokor baten adibidea da,  sarrera-datuak dimentsio txikiagoko espazio batean mapeatzen saiatzen dena, ikaskuntza gainbegiratuko algoritmoa exekutatu aurretik.

### 4. Irteera-balioen zarata 
Irteera-balioak maiz okerrak badira (giza akats edo sentsore-akatsengatik), ikaskuntza-algoritmoak ez luke entrenamendu-adibideekin bat datorren funtzio bat zehatz-mehatz aurkitzen saiatu behar. Datuak gehiegi egokitzen saiatzeak gehiegizko egokitzapena (overfitting) eragiten du. Gehiegizko egokitzapena gerta daiteke neurketa-akatsik ez dagoenean (zarata estokastikoa), baldin eta ikasi nahi den funtzioa ikaskuntza-eredurako konplexuegia bada. Egoera horretan, modelatu ezin den helburu-funtzioaren zatiak entrenamendu-datuak "usteldu" egiten ditu (fenomeno horri zarata deterministikoa deritzo). Edozein zarata mota dagoenean, hobe da alborapen handiagoa eta bariantza txikiagoa dituen estimatzaile bat hautatzea.

Praktikan, irteera-balioen zarata arintzeko hainbat hurbilketa daude, hala nola goiz gelditzea gehiegizko egokitzapena saihesteko, baita entrenamendu-adibide zaratsuak detektatzea eta kentzea ikaskuntza gainbegiratuko algoritmoa entrenatu aurretik. Entrenamendu-adibide zaratatsuak identifikatzen dituzten hainbat algoritmo daude. Modu estatistikoki esanguratsuan, adibide susmagarri horiek entrenatu aurretik kentzeak orokorpen-errorea murrizten du. 

### Beste irizpide batzuk 
Ikaskuntza-algoritmo bat hautatu eta aplikatzerakoan kontuan hartu beharreko irizpide batzuk honako hauek dira:

* Datuen heterogeneotasuna. Ezaugarri-bektoreek mota askotako ezaugarriak badituzte (diskretuak, diskretuak ordenatuta, zenbaketak, balio jarraituak), algoritmo batzuk errazago aplikatuko dira beste batzuk baino. Algoritmo askok (besteak beste euskarri bektoredun makinak, erregresio linealak, erregresio logistikoak, sare neuronalak eta hurbileko auzokoaren metodoak), sarrera-ezaugarriak zenbakizkoak izatea eta antzeko mailetara eskalatuta egotea eskatzen dute (adibidez, [-1,1] tartera). Distantzia-funtzio zehatz bat erabiltzen duten metodoak, hala nola hurbileko auzokoaren metodoak eta  euskarri bektoredun makinak, bereziki sentiberak dira honi dagokionez. Erabaki-zuhaitzen abantaila bat da datu heterogeneoak erraz kudeatzen dituztela.
* Datuetako erredundantzia. Sarrera-ezaugarriek informazio erredundantea badute (adibidez, ezaugarri oso korrelatuak), ikaskuntza-algoritmo batzuek (adibidez, erregresio linealak, erregresio logistikoak eta distantzietan oinarritutako metodoak) emaitza txarrak emango dituzte ezegonkortasun numerikoengatik. Arazo horiek sarritan konpon daitezke erregularizazio zehatza ezarriz.
* Elkarrekintzen eta ez-linealtasunen presentzia. Ezaugarrietako bakoitzak irteerara ekarpen independentea egiten badu, funtzio linealetan oinarritutako algoritmoak (adibidez, erregresio linealak, erregresio logistikoak, euskarri bektoredun makinak, naive Bayes) eta distantzia-funtzioetan oinarritutakoak (adibidez, hurbileko auzokoaren metodoak, euskarri bektoredun makinak) oro har ondo funtzionatzen dute. Hala ere, ezaugarrien arteko elkarrekintza konplexuak badaude, orduan erabaki-zuhaitzak eta sare neuronalak bezalako algoritmoek hobeto funtzionatzen dute, elkarrekintza hauek aurkitzeko espezifikoki diseinatuta daudelako. Metodo linealak ere aplika daitezke, baina ingeniariak eskuz zehaztu behar ditu elkarrekintzak haiek erabiltzean.

Aplikazio berri bat kontuan hartzerakoan, ingeniariak hainbat ikaskuntza-algoritmo konpara ditzake eta esperimentalki zehaztu zeinek funtzionatzen duen hobekien eskuartean duen problemarako (ikusi gurutze-balidazioa). Ikaskuntza-algoritmo baten errendimendua doitzeak denbora asko har dezake. Baliabide mugatuekin, sarritan hobe da denbora gehiago ematea entrenamendu-datu eta ezaugarri gehiago biltzen ikaskuntza-algoritmoak doitzen baino.

## Erreferentziak