Pertzeptroi

Ikasketa automatikoan, pertzeptroia (McCulloch-Pitts neurona) sailkapen bitarra egiteko ikasketa gainbegiratutako algoritmo bat da. Sailkapen bitarra funtzio bat da, zenbakien bektore batek irudikatzen duen sarrera bat mota zehatz batekoa den ala ez erabaki dezakeena. Sailkatzaile lineal mota bat da, hau da, sailkapen-algoritmo bat, bere iragarpenak funtzio lineal batean oinarrituz egiten dituena, pisu-bektore eta ezaugarri-bektore bat konbinatuz.

  Definizioa 

Pertzeptroia neurona bateko eredu matematiko sinpleena da. Sailkatzaile bitar bat da, eta datuak bi taldetan banatzen dituen ikasketa gainbegiraturiko sistema bat da. Atalase-funtzioa izeneko sailkatzaile bitar bat ikasteko algoritmo bat da: sarrera (balio errealeko bektore bat)  irteera-balioan (balio bitar bat) mapatzen duen funtzioa: 



non  aktibazio funtzioa,  pisu errealen bektorea,  alborapena eta  biderkadura eskalarra den . Batukariaren m zenbakia, pertzeptroiaren sarrera kopurua da. Alborapenak jatorritik erabaki-muga desplazatzen du, eta ez dago inolako sarrera-balioaren mende. 

Era berean,  ekuaziotik abiatuta,  alborapen-terminoa beste pisu gisa gehitu dezakegu   eta 1 koordenatua gehitu sarrera bakoitzari. Ondoren, jatorritik pasatzen den sailkatzaile lineal gisa idatz dezakegu: 

-ren balio bitarra (0 edo 1) sarrerako  bektoreko instantzia positibo edo negatibo moduan sailkatzeko erabiltzen da. Espazioari dagokionez, alborapenak erabaki mugaren posizio aldatzen du baina ez honen orientazioa. 

Geruza bakarreko pertzeptroi izenarekin ere ezaguna da, geruza anitzeko pertzeptroitik desberdintzeko. Sailkatzaile lineala denez, geruza bakarreko pertzeptroia aurreranzko neurona-sare sinpleena da.

  Ikaskuntza 
Pertzeptroian bi ikaskuntza mota daude: lehenengoak ikasketa-tasa bat erabiltzen du eta bigarrenak ez. Ikasketa-tasa horrek arindu egiten du pisuen balioen aldaketa. 

 Aldagaien definizioa 
Ikasketa-algoritmoa berdina da neurona guztientzat, eta jarraian datorren guztia neurona bakar bati aplikatzen zaio isolamenduan. Lehenengo aldagai batzuk definitzen dira:

  j. posizioan dagoen sarrerako bektoreari egiten dio erreferentzia
  j. posizioan dagoen pisu-bektoreari egiten dio erreferentzia
  neurona sarearen irteera 
  espero den irteera
  konstante bat da non 

 Ikaskuntza algoritmoa 
Bi ikaskuntza moten desberdintasuna urrats honetan dago. Lehenengo ikaskuntza motarako, ikaskuntza-tasa erabiliz, pisuak horrela eguneratuko ditugu: 



Bigarren ikaskuntza motarako, ikaskuntza-tasa erabili gabe, pisuak horrela eguneratuko ditugu: 



Beraz, iterazio bakoitzaren ondoren pisu-bektorea eguneratu egingo da  irteera  iragarpenarekin bat dator ez denean. Horrela, pausoka iragarpena fintzen joango da. Hainbat iterazio egiteko, aldagai gehiago definitu behar ditugu: 

  . iterazioaren sarrera-bektoreari egiten dio erreferentzia
  .iterazioaren pisu-bektoreari egiten dio erreferentzia
  .iterazioaren irteera balioari egiten dio erreferentzia
  m iterazioko ikaskuntza prozesuari egiten dio erreferentzia

Iterazio bakoitzean, honela eguneratzen da pisu-bektorea: 

  sarrera-irteera pare bakoitzeko,   
   hirukotea, eguneratze funtziotik pasako dugu:  

Ikaskuntza prozesuan  linealki bereizgarria dela esaten da baldin eta  balio positibo bat eta  pisu-bektore bat existitzen badira non  betetzen duten  guztientzako. 

Novikoff-ek (1962) frogatu zuen ikaskuntza-algoritmoak iterazio kopuru mugatu baten ondoren konbergitzen duela, baldin eta datuak linealki bereizgarriak badira eta errore kopurua honetara mugatuta badaude: 

Hala ere, datuak linealki bereizgarriak ez badira, aurreko algoritmo-lerroak ez du bermatzen konbergituko duenik.

 Konbergentzia 
Pertzeptroi bakarra sailkatzaile lineal bat da. Sarrera-bektore guztiak ongi sailkatuta dauden kasuan bakarrik irits daiteke egoera egonkor batera.   entrenamendu datu multzoa ez bada linealki banagarria, hau da, kasu positiboak ezin badira kasu negatiboetatik banandu hiperplano baten bidez, orduan algoritmoak ez du konbergituko ez delako soluziorik existituko.  

Banangarritasun linerrak denbora ordena honetan frogagarria da  , non  datu puntu kopurua den , eta  puntu bakoitzaren dimentsio kopurua den. 

Entrenamendu datu multzoa linealki banangarria bada, bermatuta dago pertzeptroiaren algoritmoak konbergituko duela errore kopuru finitu baten ondoren. Rosenblatt eta bestek (1989) emandako teorema:   
 Pertzeptroiaren konbergentziaren teorema:  datu multzoa edukita,  betetzen bada, linealki banangarria da  unitate bektorearen bidez,  edukita: izanda.

Asko bezala  akatsetara iristean, algoritmoa konbergitu egingo da edozein ikasketa tasarentzat, eta edozein datu multzorentzat. 

Hurrengo froga (Novikoff 1962) sendoagoa daNovikoff, Albert J. (1963). "On convergence proofs for perceptrons". Office of Naval Research.. Frogaren ideia hau da: pisu-bektorea mugatutako balio baten araberakoa izango da berarekin biderketa eskalar negatibo bat duen norabide batean. Horregatik -ren gainetik mugatuta egon daiteke, non  pisu bektorearen aldaketa kopurua den. Hala ere, -tik behera ere mugatuta egon daiteke, baliozko pisu-bektore ezezagun bat existitzen bada. Kasu horretan, aldaketa guztiek norabide ezezagun horretara mugituko dute emaitza, sarrera-bektorean oinarritutako balio positibo batean. 
 Froga

Demagun  pausuan,  pisudun bektoreak akats bat egiten duela  puntuan, eta eguneraketa hau egiten duela: .

 bada, balioa simetrikoa da, eta beraz, ez dugu kontuan hartuko.

Bestela,  bada, orduan , , eta 

Banaketa marjinak ditugu hau betezen dutena:

Horregatik,

Gainera,

eta pertzeptroiak akats  bat egin duenez, 

 edukita hasi garenez,  akats egin ondoren, 

eta gainera,

Biak konbinatuz, daukagu.

Nahiz eta bermatuta dagoen pertzeptroairen algoritmoa emaitza batera konbergituko dela edozein entrenamendu multzo banangarrirako, honek edozein soluzio har dezake eta problema askok kalitate aldakorreko soluzio asko onartu ditzakete. Arazo hau konpontzeko, pertzeptroiaren bertsio bat sortu zen egonkortasun optimoa duena. Bertsio horri lineal euskarri bektoredun makina deritzo gaur egun (Krauth eta Mezard, 1987).

 Adibidea 

OR eta AND funtzioak linealki bereizgarriak direnez, pertzeptroi bat erabili dezakegu horiek ikasteko. 

150px|AND, las salidas de valor alto se representan en verde
150px|OR, las salidas de valor alto se representan en verde

XOR funtzioa ezin da pertzeptroi bakar batekin ikasi klaseak bereizteko gutxienez bi lerro behar baitutu (0 eta 1). Geruza gehiagarri bat behar dugu pertzeptroi batekin ikaskuntza gauzatzeko.

150px|XOR, las salidas de valor alto se representan en verde
 Klase anitzeko pertzeptroia 
Sailkatzaile linealen ikasketarako beste hainbat teknika bezala, pertzeptroia klase anitzeko sailkapenerako baliozkoa da. Kasu honetan, sarrera x eta irteera y, datu multzo arbitrario batetik hartuta daude. ezaugarri errepresentazio bektoreak edozein sarrera-irteera pare mapatzen ditu dimentsio mugatuak dituen balio errealeko ezaugarri bektore batera. Aurreko kasuan bezala, ezaugarri bektorea w pisu bektorearekin biderkatzen da, baina orain, lortutako balioa hainbat irteera posibleen artean klase bat aukeratzeko erabiltzen da:

Ikasketa adibideen gainean iteratzean datza aurreko kasuan bezala, bakoitzarentzat irteera bat iragarriz. Ideia nagusia da irteera eta benetako balioa berdinak ez direnean pisuen balioak aldatzea eta ezberdinak direnean pisuak eguneratzea. Eguneraketa honako hau izango litzake: 

Klase anitzeko atzeraelikadura formulazio hau sailkapen bitarrerako pertzeptroiaren berdina izango da  balio errealeko bektore bat denean, -ren balioa  multzokoa bada eta  betetzen denean.  

Problema zehatz batzuentzat, sarrera-irteeren errepresentazioak berariazkoak izan daitezke  efizienteki aurkitua izateko nahiz eta y multzo oso handi edo ia infinitu batetik lortu behar izan.

 Erreferentziak 

 Kanpo estekak 
 Neuronak programatzen: https://zientzia.eus/artikuluak/neuronak-programatzen/

Kategoria:Ikasketa automatikoa
Kategoria:Algoritmoak
Kategoria:Neurozientzia konputazionala