Învățarea automată online este o tehnică de învățare automată în care datele sunt puse la dispoziție în ordine secvențială și sunt utilizate pentru a actualiza cea mai bună predicție pentru datele ulterioare, efectuate la fiecare pas de antrenament. Metoda este opusă tehnicii de antrenament în lot, în care cea mai bună predicție este generată dintr-o singură mișcare din setul complet de date de antrenament. Învățarea online este o tehnică comună utilizată în domeniile învățării automate atunci când nu este posibil să se antreneze pe întregul set de date, cum ar fi atunci când este nevoie de algoritmi care funcționează cu memorie externă. Metoda este folosită și în situațiile în care algoritmul trebuie să adapteze dinamic noi modele în date, sau când datele în sine sunt formate în funcție de timp, de exemplu, atunci când prezice prețurile la bursă . Algoritmii de învățare online pot fi predispuși la interferențe catastrofale , o problemă care poate fi rezolvată printr-o abordare de învățare pas cu pas [1] .
În condiții de învățare supravegheată , se antrenează o funcție , unde este considerată spațiul datelor de intrare și este spațiul datelor de ieșire, care prezice bine asupra elementelor distribuției comune de probabilitate pe . În realitate, la antrenament, adevărata distribuție nu se cunoaște niciodată. De obicei, dimpotrivă, există acces la setul de exemple de instruire . În aceste condiții , funcția de pierdere este dată ca , astfel încât să măsoare diferența dintre valoarea prezisă și valoarea reală a . Scopul ideal este de a alege o funcție , unde este un spațiu al funcțiilor, numit spațiu al ipotezelor, astfel încât pierderea totală să fie minimă într-un anumit sens. În funcție de tipul de model (statistic sau contradictoriu), pot fi dezvoltate diferite concepte de pierdere care conduc la diferiți algoritmi de învățare.
În modelele de învățare statistică, se presupune că eșantionul de testare este extras din distribuția adevărată, iar scopul învățării este de a minimiza „riscul” așteptat.
Paradigma generală în această situație este de a evalua funcția prin minimizarea riscului empiric sau minimizarea riscului empiric regularizat (de obicei folosind regularizarea lui Tihonov ). Alegerea funcției de pierdere aici generează câțiva algoritmi de învățare bine-cunoscuți, cum ar fi cele mai mici pătrate regularizate și mașini vectori suport . Un model pur online din această categorie ar fi antrenamentul numai pe intrări noi , cel mai bun predictor actual și unele informații suplimentare stocate (care de obicei au cerințe de memorie independente de dimensiunea datelor). Pentru multe setări ale problemelor, cum ar fi metodele neliniare ale nucleului , învățarea online reală nu este posibilă, deși pot fi utilizate forme hibride de învățare online cu algoritmi recursivi, unde valoarea poate depinde de toate punctele de date anterioare . În acest caz, cerințele de memorie nu mai pot fi limitate, deoarece toate punctele anterioare trebuie păstrate, dar soluția poate dura mai puțin timp pentru a calcula cu noi puncte de date adăugate decât tehnicile de învățare în lot.
O strategie comună pentru a face față acestei probleme este învățarea în mini-loturi, în care loturi mici de puncte de date sunt procesate la un moment dat, iar aceasta poate fi văzută ca învățare pseudo-online pentru un număr total mult mai mic de puncte de antrenament. Tehnica minibatch este utilizată cu iterarea peste datele de antrenament pentru a obține o versiune optimizată a algoritmilor de învățare automată a memoriei externe, cum ar fi coborârea gradientului stocastic . Atunci când este combinată cu propagarea inversă, aceasta este în prezent metoda de antrenament de facto pentru rețelele neuronale artificiale .
Cele mai mici pătrate liniare sunt folosite aici pentru a explica diverse idei de învățare online. Ideile sunt suficient de generale pentru a fi aplicabile altor setări, cum ar fi alte funcții de pierdere convexe.
Într-un cadru supravegheat cu o funcție de pierdere pătratică , scopul este de a minimiza pierderea empirică
, Unde .Fie o matrice de date și să fie o matrice de valori țintă după sosirea primelor puncte de date. Presupunând că matricea de covarianță este inversabilă (în caz contrar, ar trebui efectuată o procedură similară cu regularizarea lui Tikhonov), cea mai bună soluție a metodei celor mai mici pătrate este dată de egalitatea
.Acum calculul matricei de covarianță va dura timp, inversarea matricei va dura timp, iar înmulțirea matricei va dura timp, ceea ce dă timpul total . Dacă există un total de puncte în setul de date și trebuie să recalculați soluția după ce sosește fiecare punct de date , abordarea naturală va avea o complexitate totală . Rețineți că, dacă matricea este stocată, actualizarea la fiecare pas necesită doar adăugarea , ceea ce necesită timp, ceea ce reduce timpul total la , dar necesită spațiu de stocare suplimentar [ 2] .
Cele mai mici pătrate recursive ia în considerare o abordare online a celor mai mici pătrate. Se poate arăta că prin inițializare și soluția metodei celor mai mici pătrate liniare se poate calcula după cum urmează:
Algoritmul iterativ de mai sus poate fi demonstrat prin inducere pe [3] . Dovada mai arată că . Se pot lua în considerare cele mai mici pătrate recursive în contextul filtrelor adaptive (vezi Cele mai mici pătrate recursive ).
Complexitatea pașilor acestui algoritm este , care este mai rapidă decât complexitatea de învățare în lot corespunzătoare. Memoria necesară pentru fiecare pas pentru stocarea matricei este aici o constantă . Pentru cazul în care nu este reversibilă, se consideră o versiune regularizată a funcției de pierdere . Atunci este ușor să arăți că același algoritm funcționează cu , iar iterațiile continue dă [2] .
Dacă egalitatea
Inlocuit de
sau pe , acesta devine un algoritm de coborâre a gradientului stocastic. În acest caz, complexitatea pașilor acestui algoritm este redusă la . Necesarul de memorie la fiecare pas este o constantă .
Cu toate acestea, dimensiunea pasului pentru rezolvarea problemei așteptate de minimizare a riscului ar trebui aleasă cu atenție, așa cum sa explicat mai sus. Prin alegerea mărimii treptei de amortizare se poate dovedi convergenţa iteraţiei medii . Aceste setări sunt un caz special de optimizare stocastică , o problemă de optimizare bine-cunoscută [2] .
În practică, este posibil să se efectueze mai multe treceri de gradient stocastic peste date. Algoritmul rezultat se numește metoda gradientului incremental și corespunde iterației
Principala diferență cu metoda gradientului stocastic este că aici se alege să se decidă ce punct de antrenament este vizitat în pas . O astfel de secvență poate fi aleatorie sau deterministă. Numărul de iterații este astfel decuplat de numărul de puncte (fiecare punct poate fi vizualizat de mai multe ori). Se poate demonstra că metoda gradientului incremental asigură minimizarea riscului empiric [4] . Tehnicile incrementale pot avea avantaje atunci când se consideră funcția obiectiv ca sumă a mai multor elemente, de exemplu, ca o eroare empirică a unui set de date foarte mare [2] .
Kernel-urile pot fi folosite pentru a extinde algoritmii de mai sus la modele neparametrice (sau modele în care parametrii formează un spațiu infinit-dimensional). Procedura corespunzătoare nu va mai fi cu adevărat online și va stoca în schimb toate punctele de date, dar metoda rămâne mai rapidă decât forța brută. Această discuție se limitează la cazul pierderii pătrate, deși poate fi extinsă la orice funcție de pierdere convexă. Se poate demonstra prin inducție directă [2] că atunci când a este o matrice de date, a este rezultatul după pașii algoritmului de coborâre aleatoare a gradientului, atunci
unde şi succesiunea satisface relaţiile recurente
șiRețineți că aici este nucleul standard în , iar funcția predictivă are forma
.Acum, dacă introducem un nucleu comun și reprezentăm funcția de predicție ca
,atunci aceeași dovadă arată că minimizarea cu cele mai mici pătrate a funcției de pierdere se obține prin înlocuirea recursiei de mai sus cu
Expresia de mai sus necesită amintirea tuturor datelor de actualizat . Complexitatea de timp totală pentru recursivitate, dacă este calculată pentru al-lea punct de date, este , unde este costul calculării nucleului pe o pereche de puncte [2] . Apoi, folosirea nucleului permite deplasarea de la un spațiu de parametri cu dimensiuni finite la un spațiu posibil cu dimensiuni infinite reprezentat de nucleu , în loc să recurgă peste spațiul de parametri , a cărui dimensiune este aceeași cu dimensiunea setului de date de antrenament. În general, această abordare este o consecință a teoremei reprezentării [2] .
Învățarea progresivă este un model eficient de învățare care este demonstrat de procesul de învățare al oamenilor. Acest proces de învățare este continuu, venit din experiență directă. Tehnica de învățare progresivă în învățarea automată poate învăța noi clase sau etichete în mod dinamic din mers [5] . Deși instruirea online poate antrena noi eșantioane de date care vin secvenţial, acestea nu pot antrena noi clase de date . Paradigma de învățare progresivă este independentă de numărul de constrângeri de clasă și poate preda clase noi, păstrând în același timp cunoștințele claselor anterioare. Cu toate acestea, dacă se întâlnește o nouă clasă (care nu apare în mod natural), clasificatorul este reconstruit automat și parametrii sunt calculați în așa fel încât cunoștințele anterioare să fie păstrate. Această tehnică este potrivită pentru aplicațiile din lumea reală în care numărul de clase este adesea necunoscut și este necesară învățarea online din date în timp real.
Optimizarea convexă online [6] este o schemă de decizie generală care utilizează optimizarea convexă pentru a obține algoritmi eficienți. Schema este o repetare multiplă a următoarelor acțiuni:
Pentru
Scopul este de a minimiza „regretul” sau diferența dintre pierderea totală și pierderea la cel mai bun punct fix retrospectiv. Ca exemplu, luați în considerare cazul regresiei online lineare cu cele mai mici pătrate. Aici greutatea vectorilor provine dintr-o mulțime convexă și natura returnează o funcție de pierdere convexă . Rețineți că implicit trimis cu .
Cu toate acestea, unele probleme de predicție online nu se pot încadra în schema de optimizare convexă online. De exemplu, în clasificarea online, aria de predicție și funcțiile de pierdere nu sunt convexe. În astfel de scenarii, sunt utilizate două tehnici simple de reducere a cazurilor convexe - randomizare și funcții de pierdere surogat.
Câțiva algoritmi simpli de optimizare convexă online:
Urmăriți liderulCea mai simplă regulă de învățare pentru o încercare este să alegeți (la pasul curent) ipoteza care are cea mai mică pierdere dintre toate rundele anterioare. Acest algoritm se numește „ Urmăriți liderul ” și oferă pur și simplu o rundă :
Această metodă poate fi considerată apoi ca un algoritm lacom . Pentru cazul optimizării pătratice online (unde funcția de pierdere este ), se poate demonstra că limita „regret” crește ca . Cu toate acestea, limite similare nu pot fi obținute pentru algoritmul follow-the-leader pentru alte familii importante de modele ca și pentru optimizarea liniară online. Pentru a le obține, la algoritm se adaugă regularizarea.
În urma unui lider regularizatAceasta este o modificare naturală a algoritmului de urmărire a liderului, care este utilizată pentru a stabiliza deciziile de urmărire a liderului și pentru a obține limite mai bune de regret. Se alege o funcție de regularizare și antrenamentul se efectuează în runda t după cum urmează:
Ca un caz special, luați în considerare cazul optimizării liniare online, adică atunci când natura returnează funcții de pierdere de forma . De asemenea, lasă . Să presupunem că funcția de regularizare este aleasă pentru un număr pozitiv . Apoi se poate arăta că iterația minimizării „regretului” se transformă în
Rețineți că aceasta poate fi rescrisă ca , care arată exact ca metoda de coborâre a gradientului online.
Dacă S este un subspațiu convex , S trebuie proiectat, rezultând o regulă de actualizare modificată
Algoritmul este cunoscut sub numele de proiecție leneșă deoarece vectorul acumulează gradienți. Acesta este, de asemenea, cunoscut ca algoritmul de mediere dublă Nesterov (sau metoda de mediere dublă subgradient [7] ). În acest scenariu, funcțiile de pierdere liniară și regularizarea pătratică „regret” este limitată la , iar apoi „regretul” mediu tinde la 0 .
Limita de „regret” pentru funcțiile de pierdere liniare a fost demonstrată mai sus . Pentru a generaliza algoritmul la orice funcție de pierdere convexă, funcția subgradient este utilizată ca o aproximare liniară în jurul valorii de , ceea ce duce la algoritmul de coborâre subgradient online:
Initierea unui parametru
Pentru
Puteți utiliza algoritmul de coborâre subgradient online pentru a obține limitele de „regret” pentru versiunea online a mașinii vector de suport pentru clasificare, care utilizează o funcție de pierdere liniară pe bucăți
Algoritmii de urmărire a liderului regulați în pătrat conduc la algoritmi de gradient proiectați leneș, așa cum este descris mai sus. Pentru a utiliza abordarea de mai sus pentru orice funcții convexe și regularizatoare, poate fi utilizată coborârea oglinzii online. Regularizarea optimă într-o funcție liniară pe bucăți poate fi obținută pentru funcțiile de pierdere liniară, conducând la algoritmul AdaGrad . Pentru regularizarea euclidiană se poate demonstra că limita „regret” este egală și poate fi îmbunătățită pentru funcțiile de pierdere strict convexe și exp-concave.
Paradigma de învățare online are interpretări diferite în funcție de alegerea modelului de învățare, fiecare cu o calitate diferită a predicțiilor secvenței de caracteristici . Pentru discuții, folosim algoritmul de coborâre a gradientului stocastic. După cum sa menționat mai sus, recursiunea algoritmului este dată de egalitate
Prima interpretare consideră metoda de coborâre a gradientului stocastic ca o aplicație la problema de minimizare a riscului așteptată definită mai sus [8] . Mai mult, în cazul unui flux de date infinit, deoarece se presupune că instanțele sunt eșantionate dintr-o distribuție independentă și distribuită egal , secvențele de gradient din iterația de mai sus sunt eșantioane independente și distribuite egal ale estimării gradientului stocastic de risc așteptat și, prin urmare, se pot aplica rezultatele complexității pentru metoda de coborâre a gradientului stocastic pentru a constrânge abaterea , unde este minimizatorul [9] . Această interpretare este valabilă și pentru seturile de antrenament finite. Deși gradienții nu vor mai fi independenți la iterarea datelor, se pot obține rezultate de complexitate în cazuri speciale.
A doua interpretare este aplicată în cazul unui set de antrenament finit și consideră algoritmul de coborâre a gradientului stocastic ca un reprezentant al coborârii gradientului incremental [4] . În acest caz, se poate analiza riscul empiric:
Deoarece gradienții în iterațiile de coborâre a gradientului incremental sunt estimări stocastice ale gradientului , această interpretare este legată de metoda de coborâre a gradientului stocastic, dar aplicată la minimizarea riscului empiric spre deosebire de riscul așteptat. Deoarece această interpretare se referă mai degrabă la riscul empiric decât la riscul așteptat, trecerile multiple peste date sunt perfect valide și, de fapt, conduc la limite de varianță strânse , unde .
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|