Mašinsko učenje na mreži

U računarstvu, onlajn mašinsko učenje (eng. Online machine learning) jeste metod mašinskog učenja u kome podaci sekvencijalno postaju dostupni, pa se zatim koriste za ažuriranje prediktora budućih podataka na svakom koraku, nasuprot tehnika oflajn[1] mašinskog učenja koje generišu prediktore učenjem na celom skupu podataka za obuku. Onlajn učenje je uobičajena tehnika koja se koristi u oblastima mašinskog učenja gde je nemoguće pretraživanje celog skupa podataka, što stoga zahteva potrebu za izuzetno naprednim algoritmima. Takođe se koristi i u situacijama kada je neophodno da se algoritam dinamički prilagođava novim obrascima u podacima ili kada se sami podaci generišu kao funkcija vremena, npr. predviđanje cena akcija. Onlajn algoritmi učenja mogu često biti skloni greškama.

Uvodna priča uredi

U nadgledanom mašinskom učenju, zadatak je učenje (obrada) funkcije   gde je   prostor ulaza, a   prostor izlaza tj. skup vrednosti funkcije, koja dobro predviđa konkretne instanci čije je pojavljivanje dato funkcijom raspodele   na  . U praksi, učeniku nikada nije poznata raspodela vrednosti  . Umesto toga učenik obično ima pristup konkretnom skupu instanci  . U ovom slučaju, takozvana funkcija greške data sa   jeste funkcija takva da   meri razlike između predvićenih vrednosti   i pravih vrednosti  . Ključna stvar jeste izbor funkcije  , gde je   prostor funkcija koji se naziva prostor hipoteza, tako da je funkcija greške minimalizovana. U zavisnosti od statističkog modela mogu se definisati razni oblici funkcije greške, koje će kasnije voditi raznim algoritmima mašinskog učenja.

Statističko viđenje onlajn mašinskog učenja uredi

U statističkim modelima učenja, za uzorak   se pretpostavlja da je izabran iz odgovarajuće raspodele  , pa je dalje cilj minimizovati očekivani "rizik":

 

Nadalje je cilj oceniti funkciju   metodom empirijske minimizacije rizika ili regularizovane empirijske minimizacije rizika (obično metod Tikhonov-e regularizacije). Odabir funkcije greške u ovim slučajevima dovodi do nekoliko dobro poznatih algoritama kao što su metoda najmanjih kvadrata i SVM metod mašinskog učenja. Čisto onlajn metod mašinskog učenja u ovom slučaju bi svoja predviđanja zasnovao samo na osnovu novog ulaza  , trenutno najpreciznijeg prediktora   i specifičnih, do tog koraka sačuvanih, dodatnih informacija (za čuvanje ovakvih informacija obično je rezervisan fiksni memorijski prostor, nezavisan od količine dostupnih podataka). Za razne formulacije problema, na primer za nelinearni metod jezgara pravo onlajn mašinsko učenje nije moguće sprovesti. Ipak neku vrstu modifikovanog odnosno hibridnog onlajn mašinskog učenja ipak je moguće sprovesti, recimo rekurzivnim algoritmom kada   zavisi od   i svih prethodnih tačaka  . U ovom slučaju prostorni zahtevi algoritma više nisu garantovano konstantni s obzirom da je algoritmu sada neophodno da čuva vrednosti svih prethodnih tačaka, ali će takvom rešenju vrlo verovatno trebati manje vremena za izvršavanje dodavanjem novih tačaka odnosno podataka u poređenju sa gorepomenutim oflajn mašinskim učenjem primenjenim na isti problem. Česta strategija za prevazilaženje prethodno navedenih problema jeste mašinsko učenje kombinovanjem prethodnih onlajn i oflajn metoda korišćenjem mini serija, koje procesiraju male grupe od   podataka u jednom koraku. Prethodno se može smatrati kao pseudo-onlajn učenje kada je   mnogo manje od ukupnog broja tačaka tj. podataka za obradu u opštem slučaju. Tehnike mini serija mašinskog učenja se koriste kada imamo višestruki prolaz kroz podatke u procesu obrade, u cilju dobijanja optimitzovanih verzija algoritama automatskog učenja.

Primer: linearna aproksimacija (metod najmanjih kvadrata) uredi

 
Linearni metod najmanjih kvadrata (ilustracija)

Jednostavan uvodni primer linearna metoda najmanjih kvadrata koristi se da objasni širinu ideja koje se provlače kroz korene onlajn mašinskog učenja. Ova matematička ideja jeste dovoljno opšta da se primeni u raznim drugim problemima, npr. sa ostalim konveksinm funkcijama greške.

Učenje u serijama uredi

Ako u nadgledanom mašinskom učenju za funkciju greške uzmemo kvadratnu funkciju, minimizacija greške svodi se na minimizaciju kvadratne funkcije.

  gde je
 .

Neka   bude   matrica i neka je   matrica   ciljanih vrednosti nakon prvih   tačaka.

Pretpostavimo da je matrica kovarijanse[2]   inverzibilna (inače se na nju primenjuju određeni metodi regularizacije), najbolje rešenje   linearnim metodom najmanjih kvadrata dato je sa

 .

Dalje, računanje matrice kovarijanse   povlači složenost  , invertovanje matrice   povlači složenost  , dok je ostalo množenje složenosti  , dajući tako ukupnu složenost celog procesa  . Kada je   ukupan broj dostupnih tačaka i kada treba ponovo računati rešenje nakon dodavanja svake nove tačke  , izloženo rešenje će imati ukupnu složenost  . Primetimo da ako u memoriji čuvamo matricu kovarijanse  , tada njeno ažuriranje na svakom koraku zahteva samo dodavanje  , koje je složenosti  , što umanjuje ukupnu složenost na  , ali koristi dodatni prostor reda veličine   da čuvamo  .[3]

Onlajn mašinsko učenje: rekurzivna metoda najmanjih kvadrata uredi

Rekurzivni algoritam metode najmanjih kvadrata razmatra problem metode najmanjih kvadrata iz ugla onlajn mašinskog učenja. Isti se može prikazati na sledeći način. Neka je   i  . Rešenje linearnim metodom najmanjih kvadrata dato u prethodnom odeljku može biti izračunato sledećim iterativnim procesom:

 
 

Prethodni iterativni algoritam može biti dokazan metodom matematičke indukcije po  .[4]. Prethodni dokaz pokazuje da je  . Složenost u   koraka ovog algoritma jeste  , što je za red veličine efikasinje od odgovarajućeg prethodno izloženog algoritma za učenje u serijama. Prostorni zahtevi svakog  -tog koraka ovde se svode na čuvanje matrice  , što je konstanta  . U slučaju kada   nije regularna tj. inverzibilna, razmatra se funkcija greške  . Dalje je relativno jednostavo pokazati da naš algoritam radi sa početnim uslovom  , i iteracijama  .[3]

Stohastički metod gradijentnog spusta[5] uredi

Ako u prethodnom algoritmu formulu

 

zamenimo formulom

 

gde   i  , dolazimo do nečega što se naziva stohastički metod gradijentnog spusta. Ovaj algoritam ima složenost za   koraka redukovanu na  . Prostorni zahtevi ovog algoritma u svakom  -tom koraku su konstantni  .

Bilo kako bilo, veličinu koraka   treba pažljivo izabrati tako da se minimizuje očekivana greška. Izborom koraka   može se pokazati konvergencija prethodnog iterativnog niza u prosečnom broju koraka  . Ovaj problem predstavlja specijalni slučaj oblasti stohastičke optimizacije, dobro poznate podoblasti optimizacije.[3]

Postepeni stohastički metod gradijentnog spusta uredi

U praksi moguće je izvoditi višestruke stohastičke prolaze (koji se u tom slučaju nazivaju ciklusi ili epohe) kroz podatke. Ovako modifikovani algoritam se naziva postepeni stohastički metod gradijentnog spusta i odgovara sledećoj iterativnoj formuli:

 .

Osnovna razlika u odnosu na prethodno izloženi metod jeste ta što u ovom slučaju niz   se koristi da se odluči koja tačka će biti posećena u  -tom koraku. Taj niz može biti stohastički ili deterministički. Broj iteracija više nije jednak broju tačaka (svaka tačka može biti korišćena više nego jednom). Ova metoda se može iskoristiti da minimizuje funkciju rizika[6] Tehnike slične ovoj mogu biti korisne kada se uzimaju u obzir funkcije greške sastavljene od veoma velikog skupa podataka.

Kernel metode uredi

Kerneli se mogu koristiti za proširivanje gorenavedenih algoritama na neparametrarske modele (ili modele gde parametri formiraju prostor beskonačne dimenzije). Odgovarajući postupak više neće biti u punom smislu metod onlajn mašinskog učenja, i umesto toga uključiče čuvanje svih podataka, ali će i dalje biti dosta brži od metoda grube sile. Naredna diskusija je ograničena na slučaj kvadratne funkcije greške, ali se jednostavno može proširiti na bilo koji slučaj konveksne funkcije greške. Jednostavnom matematičkom indukcijom[3] moguće je pokazati da ako je   matrica podataka a   rezultat algoritma nakon  -tog koraka stohastičkog metoda gradijentnog spusta, tada:

 

gde je   i dodatno niz   je dat rekurzivnom definicijom:

 
  i
 

Primetimo da je   standardni kernel na  , i prediktor jeste oblika

 .

Dalje, ako opšti kernel označimo sa   i ako je prediktor sada oblika:

 

tada će dokaz analogan prethodnom pokazati da se prediktor koji minimizuje grešku dobija promenom gornje rekurzije na

 .

Gorenavedeni izraz zahteva čuvanje svih podataka za ažuriranje  . Ukupna vremenska složenost prethodne rekurzije kada se izračnavanja vrše za svaku  -tu tačku je  , gde he   složenost izračunavanja vrednosti kernela na paru tačaka domena.[3]. Dakle, upotreba formi omogućila je da se pođe od prostora parametara konačne dimenzije   i da se dođe do eventualno beskonačnodimenzionog prostora prezentovanog kernelom   i umesto izvođenja rekurzije na prostoru parametara  , čija je dimenzija jednaka dimenziji posmatranih podataka. Teorijski, prethodno je posledica teoreme o reprezentaciji (teorema matematičke statistike).

Progresivno učenje uredi

Progresivno učenje je efektivan model učenja koji simulira proces učenja kod ljudi. To je proces kontinuiranog učenja direktno na osnovu iskustva. Tehnika progresivnog učenja (eng. PLN) u mašinskom učenju može učiti nove klase/labele dinamično, u pokretu.[7] Iako onlajn mašinsko učenje može obrađivati nove uzorke podataka koji stižu sekvencijalno, ono ne može obrađivati nove klase podataka koje se dinamički uvode u sam model. Paradigma progresivnog učenja je nezavisna od broja ograničenja u klasama i može učiti tj. obrađivati nove klase dok istovremeno zadržava sva znanja iz prethodno obrađenih klasa. Kada god se naiđe na novu klasu podataka (klasu nepoznatu algortmu, onu koju do sada još nije susreo) klasifikator se automatski preoblikuje i parametri se obrađuju na način kojim se zadržava dosadašnje znanje. Ovakve tehnike su pogodne za aplikacije u praksi, gde je broj različitih klasa često nepoznat i potrebno je učenje u realnom vremenu.

Onlajn konveksna optimizacija uredi

U tehnikama onlajn konveksne optimizacije (eng. OSO) skup hipoteza i funkcija greške su prisiljeno konveksni da bi algoritam dobio više prostora za učenje. Modifikovan algoritam sada ima sledeći oblik: Za  

  • Algoritam dobija ulaz  
  • Algoritam računa   iz fiksnog konveksog skupa  
  • Okolina vraća konveksnu funkciju greške  .
  • Algoritam procenjuje napravnjene pogreške   i ažurira model.

Na primer, razmotrimo onlajn mašinsko učenje kroz linearnu aproksimaciju metodom najmanjih kvadrata. Ovde težinski vektori dolaze iz konveksnog skupa  , dok je konveksna funkcija greške data sa  . Primetimo uzgred da je u ovom slučaju   implicitno poslato kroz  .

Mećutim, neki problemi onlajn mašinskog učenja ne mogu se prirodno uklopiti u ovu metodu. Za primer posmatrajmo onlajn klasifikaciju kod koje domen i funkcija greške nisu konveksni. U ovakvim situacijama koriste se dve osnovne tehnike konvesksifikacije: randomizacija i zamena funkcije greške.

Neki od jednostavnih onlajn metoda konveksne optimizacije algoritama su:

Algoritam prati lidera (eng. FTL) uredi

Najjednostavniji metod učenja jeste izbor (u trenutnom koraku) hipoteze koja ima najmanje gutitaka u svim prethodnim koracima. Ovaj algoritam nosi naziv Algoritam prati lidera (eng. Follow the leader) i dat je jednostavnom formulom za korak   sa:

 .

Na ovaj metod može se gledati kao na pohlepni algoritam. U slučaju onlajn kvadratne optimizacije (gde je funkcija gubitka data sa  ), može se pokazati da granice regresije rastu sa  . Kakogod, ovaj metod se ne može primeniti na druge važne familije modela mašinskog učenja kao sto je onlajn linearna optimizacija. Da bi se to uradilo, ovaj algoritam se modifikuje tako što se izvrši takozvana regularizacija.

Modifikovani algoritam prati lidera (eng. FTRL) uredi

Modifikovani algoritam prati lidera predstavlja prirodnu modifikaciju prethodnog algoritma koja se dodaje da stabilizuje ponašanje istog, i da obezbedi bolje granice regresije. Funkcija regularizacije data je sa   i učenje je dato u koraku t kao:

 

Kao poseban primer prethodnog razmotrimo slučaj onlajn linearne optimizacije gde je funkcija gubitka data u obliku  . Takođe, imamo  . Pretpostavimo da je funkcija regularizacije   odabrana za neki pozitivan broj  . Pod ovakvim pretpostavkama, može se dokazati da iterativni proces minimizacije ima sleceći oblik:

 

Primetimo da prethodno može biti zapisano i kao  , što izgleda baš kao onlajn metoda gradijentnog spusta.

Ako je umesto toga S neki konveksan podskup od  , S bi trebalo projektovati, što dovodi do promene pravila ažuriranja

 

Ovaj algoritam poznat je i pod imenom lenja projekcija, zbog toga što vektor   akumulira gradijent. Takođe, poznat je i pod imenom dvostruki Nesterov srednji algoritam. U ovom slučaju, slučaju linearne funkcije gubitka i kvadratne regularizacije, granica regerije je u okvirima složenosti  , i stoga prosečna regresija ide ka 0 što i želimo.

Ostali algoritmi uredi

Kvadratno regularisani algoritam pratnje lidera vodi do lenje projekcije gradijentnog metoda kao što je opisano u prethodnim pasusima. Da bi se gore opisano koristilo za proizvoljne konveksne funkcije i regularizatore može se koristiti slična modifikacija. Drugi algoritam se naziva predviđanje stručnim savetima. U ovom slučaju skup hipoteza sastoji se od   funkcija. Distribucija   nad   ekspertskih funkcija se održava, i predviđanje se vrši uzimanjem uzoraka iz ove distribucije. U slušaju Euklidske regularizacije, može se pokazati da je granica regresije data sa  , sto može biti poboljšano do ganice   ako se koristi bolja funkcija regularizacije.

Interpretacije onlajn mašinskog učenja uredi

Paradigma onlajn mašinskog učenja interesantno ima različite interpretacije u zavisnosti od izbora metoda učenja, od kojih svaka ima različite implikacije u pogledu prediktivnog kvaliteta sekvence funkcija  . Za ovu diskusiju koristi se stohastički algoritam gradijentnog spusta. Kao sto je gore navedeno, njegova rekurzija data je sa

 .

Prva interpretacija razmatra metod stohastičkog algoritma gradijentnog spusta primenjenog na problem minimizacije očekivanog rizika   definisanog ranije.[8] Zaista, u slučaju beskonačnog strimovanja odnosno dotoka podataka, kao u primeru   pretpostavljeno je da isti dolaze iz raspodele  , za niz gradijenata   u prethodnim iteracijama pretpostavlja se da je uzorak stohastičkih procena gradijenata očekivanog rizika   i stoga je moguće primeniti rezultate metoda stohastičkog gradijentnog spusta za ograničenje devijacije  , gde je   minimizator za  .[9]. Ova interpretacija je takođe validna i u slučaju konačnog skupa dostupnih podataka. Iako sa višestrukim prolazom kroz podatke gradijenti više nisu nezavisni, i dalje se prethodni rezultati mogu koristiti u nekim situacijama.

Druga interpretacija se primenjuje na slučaj konačnog skupa podataka i razmatra se Stohastički gradijentni spust kao primer metode postepenog gradijentnog spusta.[6] U ovom slučaju posmatra se empirijski rizik dat sa:

 

Kako su gradijenti   u ovoj metodi takođe stohastičke procene gradijenta od  , tumačenje ovog metoda je takođe povezano sa metodom stohastičkog gradijentnog spusta, ali se primenjuje u cilju minimizovanja empirijskog rizika umesto minimizacije očekivanog rizika. Kako se ovakva interpretacija koncentriše na empirijski rizik a ne na očekivani rizik, višestruki prolasci kroz podatke su dozvoljeni i zapravo vode do strožih granica devijacije  , gde je   minimizator od  .

Implementacije onlajn mašinskog učenja uredi

  • Vowpal Wabbit: Otvoreni softver, brz onlajn sistem mašinskog učenja što je značajno za podršku brojnim redukcijama mašinskog učenja, podržavajući izbor različitih funkcija gubitaka i algoritama optimizcije. Koristi takozvani trik sa heširanjem za ograničavanje veličine skupa funkcija, nezavisno od količine podataka koji se obrađuju.
  • scikit-learn: Obezbeđuje izvanredne implementacije algoritama za
    • Klasifikaciju.
    • Regresiju
    • Klastering, itd.

Vidi još uredi

Reference uredi

  1. ^ Različiti autori koriste razne klasifikacije oblasti mašinskog učenja; Očekuje se da će terminologija vremenom iskonvergirati
  2. ^ Matrica čiji element na poziciji   predstavlja kovarijansu između i tog i j tog elementa originalnog vektora
  3. ^ a b v g d L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning
  4. ^ Yin & Kushner 2003, str. 8–12.
  5. ^ Stohastička optimizacija metoda gradijentnog spusta
  6. ^ a b Bertsekas, D. P. (2011). Incremental gradient, subgradient, and proximal methods for convex optimization: a survey. Optimization for Machine Learning, 85.
  7. ^ Venkatesan, Rajasekar; Meng Joo, Er (2016). „A novel progressive learning technique for multi-class classification”. Neurocomputing. 207: 310—321. S2CID 12510650. arXiv:1609.00085 . doi:10.1016/j.neucom.2016.05.006. 
  8. ^ Bottou, Léon (1998). „Online Algorithms and Stochastic Approximations”. Online Learning and Neural Networks. Cambridge University Press. ISBN 978-0-521-65263-6. 
  9. ^ Kushner, Harold; George Yin, G. (2003). Stochastic Approximation and Recursive Algorithms and Applications (2nd izd.). New York: Springer. ISBN 978-0-387-00894-3. 

Literatura uredi