Online maskininlärning

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 9 november 2021; kontroller kräver 2 redigeringar .

Online maskininlärning är en maskininlärningsteknik där data görs tillgängliga i sekventiell ordning och används för att uppdatera den bästa förutsägelsen för efterföljande data, utförd vid varje träningssteg. Metoden är motsatt till batch-träningstekniken, där den bästa förutsägelsen genereras på en gång från hela träningsdataset. Onlineinlärning är en vanlig teknik som används inom områden av maskininlärning när det inte går att träna på hela datasetet, som när det finns behov av algoritmer som fungerar med externt minne. Metoden används även i situationer där algoritmen dynamiskt måste anpassa nya mönster i datan, eller när själva datan bildas som en funktion av tiden, till exempel vid förutsägelse av kurser på aktiemarknaden . Online-inlärningsalgoritmer kan vara benägna att drabbas av katastrofala störningar , ett problem som kan lösas med en steg-för- steg-inlärningsmetod [1] .

Inledning

Under övervakade inlärningsförhållanden tränas en funktion , där den betraktas som utrymmet för indata, och är utrymmet för utdata, som förutsäger väl på elementen i den gemensamma sannolikhetsfördelningen på . I verkligheten, i träning, är den verkliga fördelningen aldrig känd. Vanligtvis, tvärtom, finns det tillgång till utbildningsuppsättningen med exempel . Under dessa förhållanden ges förlustfunktionen som , så att den mäter skillnaden mellan det förutsagda värdet och det verkliga värdet av . Det ideala målet är att välja en funktion , där är ett rymd av funktioner, kallat hypotesutrymme, så att den totala förlusten är minimal i någon mening. Beroende på typ av modell (statistisk eller kontradiktorisk) kan olika förlustbegrepp utvecklas som leder till olika inlärningsalgoritmer.

En statistisk syn på onlineinlärning

I statistiska inlärningsmodeller antas provet tas från den sanna fördelningen och målet med lärandet är att minimera den förväntade "risken"

Det allmänna paradigmet i denna situation är att utvärdera funktionen genom att minimera empiriska risker eller minimera regulariserade empiriska risker (typiskt med hjälp av Tikhonovs regularisering ). Valet av förlustfunktion här ger flera välkända inlärningsalgoritmer som regulariserade minsta kvadrater och stödvektormaskiner . En rent onlinemodell i den här kategorin skulle vara att träna endast på nya ingångar , den nuvarande bästa prediktorn och lite extra lagrad information (som vanligtvis har minneskrav oberoende av storleken på datan). För många probleminställningar, såsom icke-linjära kärnmetoder , är sann onlineinlärning inte möjlig, även om hybridformer av onlineinlärning med rekursiva algoritmer kan användas, där värdet tillåts bero på och alla tidigare datapunkter . I det här fallet kan minneskraven inte längre begränsas eftersom alla tidigare punkter måste behållas, men lösningen kan ta kortare tid att beräkna med nya datapunkter som lagts till än batchinlärningstekniker.

En vanlig strategi för att hantera detta problem är mini-batch-inlärning, där små partier av datapunkter bearbetas vid en tidpunkt, och detta kan ses som pseudo-online-inlärning för ett mycket mindre totalt antal utbildningspoäng. Minibatch-tekniken används med iterering över träningsdata för att erhålla en optimerad version av externa minnesmaskininlärningsalgoritmer, såsom stokastisk gradientnedstigning . I kombination med backpropagation är detta för närvarande den de facto träningsmetoden för artificiella neurala nätverk .

Exempel: linjära minsta kvadrater

Linjära minsta kvadrater används här för att förklara olika onlineinlärningsidéer. Idéerna är tillräckligt generella för att kunna tillämpas på andra inställningar, såsom andra konvexa förlustfunktioner .

Batchinlärning

I en övervakad miljö med en kvadratisk förlustfunktion är målet att minimera den empiriska förlusten

, var .

Låt vara en matris av data och vara en matris av målvärden efter ankomsten av de första datapunkterna. Om man antar att kovariansmatrisen är inverterbar (annars bör en procedur som liknar Tikhonovs regularisering utföras), den bästa lösningen av minsta kvadratmetoden ges av jämlikheten

.

Nu kommer beräkningen av kovariansmatrisen att ta tid, matrisinversionen tar tid och matrismultiplikationen tar tid, vilket ger den totala tiden . Om det finns totalt antal punkter i datamängden och du behöver räkna om lösningen efter att varje datapunkt anländer kommer det naturliga tillvägagångssättet att ha full komplexitet . Observera att om matrisen är lagrad, kräver uppdatering i varje steg endast tillägg , vilket tar tid, vilket minskar den totala tiden till , men kräver ytterligare lagringsutrymme [ 2] .

Onlineinlärning: rekursiva minsta kvadrater

Rekursiva minsta kvadrater överväger en online-strategi för minsta kvadrater. Det kan visas att med initiering och lösningen av den linjära minsta kvadratmetoden kan beräknas enligt följande:

Ovanstående iterativa algoritm kan bevisas genom induktion på [3] . Beviset visar också att . Man kan överväga rekursiva minsta kvadrater i samband med adaptiva filter (se Rekursiva minsta kvadrater ).

Komplexiteten i stegen i denna algoritm är , vilket är snabbare än motsvarande batchinlärningskomplexitet. Minnet som krävs för varje steg för att lagra matrisen är här en konstant . För det fall då den inte är reversibel övervägs en regulariserad version av förlustfunktionen . Då är det lätt att visa att samma algoritm fungerar med , och fortsatta iterationer ger [2] .

Stokastisk gradientnedstigningsmetod

Om jämlikhet

Ersatt av

eller på , detta blir en stokastisk gradientnedstigningsalgoritm. I det här fallet reduceras komplexiteten för stegen i denna algoritm till . Minnesbehovet vid varje steg är konstant .

Stegstorleken för att lösa det förväntade riskminimeringsproblemet bör dock väljas noggrant, som förklarats ovan. Genom att välja storleken på dämpningssteget kan konvergensen av den genomsnittliga iterationen bevisas . Dessa inställningar är ett specialfall av stokastisk optimering , ett välkänt optimeringsproblem [2] .

Inkrementell Stokastisk Gradient Descent

I praktiken är det möjligt att utföra flera stokastiska gradientpassningar över data. Den resulterande algoritmen kallas den inkrementella gradientmetoden och motsvarar iterationen

Den största skillnaden mot den stokastiska gradientmetoden är att man här väljer att bestämma vilken träningspunkt som besöks i steg . En sådan sekvens kan vara slumpmässig eller deterministisk. Antalet iterationer är alltså frikopplat från antalet punkter (varje punkt kan ses mer än en gång). Det kan visas att metoden med inkrementell gradient ger empirisk riskminimering [4] . Inkrementella tekniker kan ha fördelar när man betraktar den objektiva funktionen som summan av många element, till exempel som ett empiriskt fel i en mycket stor datamängd [2] .

Nukleära metoder

Kärnor kan användas för att utöka ovanstående algoritmer till icke-parametriska modeller (eller modeller där parametrarna bildar ett oändligt dimensionellt utrymme). Motsvarande procedur kommer inte längre att vara riktigt online och i stället lagra alla datapunkter, men metoden förblir snabbare än brute force. Denna diskussion är begränsad till fallet med kvadratförlust, även om den kan utvidgas till vilken konvex förlustfunktion som helst. Det kan visas genom direkt induktion [2] att när a är en datamatris, är a utgången efter stegen i algoritmen för slumpmässig gradientnedstigning, då

var och sekvensen uppfyller de återkommande relationerna

och

Observera att här är standardkärnan i , och den prediktiva funktionen har formen

.

Om vi ​​nu introducerar en gemensam kärna och representerar prediktionsfunktionen som

,

då visar samma bevis att minsta kvadraters minimering av förlustfunktionen erhålls genom att ersätta ovanstående rekursion med

Ovanstående uttryck kräver att man kommer ihåg all data för att uppdatera . Den totala tidskomplexiteten för rekursion, om den beräknas för den -:e datapunkten, är , där är kostnaden för att beräkna kärnan på ett par punkter [2] . Användning av kärnan tillåter sedan förflyttning från ett ändligt dimensionellt parameterutrymme till ett möjligen oändligt dimensionellt utrymme som representeras av kärnan , istället för att återkomma över parameterutrymmet , vars dimension är densamma som storleken på träningsdatauppsättningen. I allmänhet är detta tillvägagångssätt en konsekvens av representationssatsen [2] .

Progressivt lärande

Progressivt lärande är en effektiv inlärningsmodell som demonstreras av människors inlärningsprocess. Denna inlärningsprocess är kontinuerlig och kommer från direkt erfarenhet. Den progressiva inlärningstekniken inom maskininlärning kan lära sig nya klasser eller etiketter dynamiskt i farten [5] . Även om onlineutbildning kan träna nya dataprover som kommer in sekventiellt, kan de inte träna nya dataklasser . Det progressiva inlärningsparadigmet är oberoende av antalet klassbegränsningar och kan undervisa nya klasser samtidigt som kunskapen från tidigare klasser behålls. Men om en ny klass (inte naturligt förekommande) påträffas, byggs klassificeraren om automatiskt och parametrarna beräknas på ett sådant sätt att tidigare kunskaper behålls. Den här tekniken är lämplig för tillämpningar i verkliga världen där antalet klasser ofta är okänt och onlineinlärning från realtidsdata krävs.

Online konvex optimering

Online konvex optimering [6] är ett allmänt beslutsschema som använder konvex optimering för att erhålla effektiva algoritmer. Schemat är en multipel upprepning av följande åtgärder:

För

Målet är att minimera "ångrar" eller skillnaden mellan den totala förlusten och förlusten vid bästa fixpunkt i efterhand. Som ett exempel, betrakta fallet med linjär minsta kvadraters regression online. Här kommer vikten av vektorerna från en konvex mängd och naturen returnerar en konvex förlustfunktion . Observera att implicit skickas med .

Vissa onlineförutsägelseproblem kan dock inte passa in i det konvexa optimeringsschemat online. Till exempel, i onlineklassificering är prediktionsområdet och förlustfunktionerna inte konvexa. I sådana scenarier används två enkla tekniker för reduktion av konvexa fall - randomisering och surrogatförlustfunktioner.

Några enkla konvexa optimeringsalgoritmer online:

Följ ledaren

Den enklaste inlärningsregeln för ett försök är att välja (vid det aktuella steget) den hypotes som har den minsta förlusten bland alla tidigare omgångar. Denna algoritm kallas  " Följ ledaren " och ger helt enkelt en runda :

Denna metod kan då ses som en girig algoritm . För fallet med online kvadratisk optimering (där förlustfunktionen är ), kan det visas att "ångra"-gränsen växer som . Liknande gränser kan dock inte erhållas för följ-ledaren-algoritmen för andra viktiga modellfamiljer som för linjär optimering online. För att få dem läggs regularisering till i algoritmen.

Följer en reguljär ledare

Detta är en naturlig modifiering av algoritmen för att följa ledaren som används för att stabilisera de ledare som följer besluten och få bättre ångergränser. En regulariseringsfunktion väljs och träningen genomförs i omgång t enligt följande:

Som ett specialfall, överväg fallet med linjär optimering online, det vill säga när naturen returnerar förlustfunktioner i formen . Låt också . Antag att regulariseringsfunktionen väljs för något positivt tal . Då kan det visas att iterationen att minimera "ångrar" övergår i

Observera att detta kan skrivas om som , vilket ser exakt ut som metoden för gradientnedstigning online.

Om S är ett konvext delrum måste S projiceras, vilket resulterar i en modifierad uppdateringsregel

Algoritmen är känd som lat projektion eftersom vektorn ackumulerar gradienter. Detta är också känt som Nesterovs dubbelmedelvärdesalgoritm (eller subgradient dubbelmedelvärdesmetoden [7] ). I det här scenariot är linjära förlustfunktioner och kvadratisk regularisering "regret" begränsad till , och då tenderar den genomsnittliga "regret" till 0 .

Online subgradient descent

"Ånger" bunden för linjära förlustfunktioner har bevisats ovan . För att generalisera algoritmen till valfri konvex förlustfunktion används funktionen subgradient som en linjär approximation runt , vilket leder till online-subgradient descent-algoritmen:

Initierar en parameter

För

  • Vi gör en förutsägelse med hjälp av , vi får från naturen .
  • Välja
  • Om , gör en uppdatering
  • Om , projektera kumulativa gradienter till dvs

Du kan använda online-subgradient descent-algoritmen för att få "ångra"-gränserna för onlineversionen av stödvektormaskinen för klassificering, som använder en bitvis linjär förlustfunktion

Andra algoritmer

Kvadratregulerade ledarföljande algoritmer leder till lat projicerade gradientalgoritmer, som beskrivits ovan. För att använda ovanstående tillvägagångssätt för alla konvexa funktioner och regularizers, kan online spegelnedstigning användas. Optimal regularisering i en bitvis linjär funktion kan erhållas för linjära förlustfunktioner, vilket leder till AdaGrad- algoritmen . För euklidisk regularisering kan det visas att "beklagandet" är lika och kan förbättras till strikt konvexa och exp-konkava förlustfunktioner.

Tolkning av onlinelärande

Onlineinlärningsparadigmet har olika tolkningar beroende på valet av inlärningsmodell, var och en med olika kvalitet på förutsägelser om funktionssekvenser . För diskussion använder vi den stokastiska gradientnedstigningsalgoritmen. Som noterats ovan ges rekursionen av algoritmen av likheten

Den första tolkningen betraktar den stokastiska gradientnedstigningsmetoden som en tillämpning på det förväntade riskminimeringsproblemet definierat ovan [8] . Dessutom, i fallet med en oändlig dataström, eftersom instanserna antas vara samplade från en oberoende och jämnt fördelad fördelning , är gradientsekvenserna i iterationen ovan oberoende och jämnt fördelade urval av den förväntade riskstokastiska gradientuppskattningen , och därför man kan tillämpa komplexitetsresultaten för den stokastiska gradientnedstigningsmetoden för att begränsa avvikelsen , där är minimeraren [9] . Denna tolkning gäller även för ändliga träningsuppsättningar. Även om gradienterna inte längre kommer att vara oberoende när man itererar över data, kan komplexitetsresultat i speciella fall erhållas.

Den andra tolkningen tillämpas på fallet med en finit träningsuppsättning och betraktar den stokastiska gradientnedstigningsalgoritmen som en representant för inkrementell gradientnedstigning [4] . I det här fallet kan man titta på den empiriska risken:

Eftersom gradienterna i iterationer av inkrementell gradientnedstigning är stokastiska uppskattningar av gradienten , är denna tolkning relaterad till metoden för stokastisk gradientnedstigning, men tillämpas på empirisk riskminimering i motsats till förväntad risk. Eftersom denna tolkning handlar om empirisk risk snarare än förväntad risk, är flera övergångar över data helt giltiga och leder faktiskt till snäva variansgränser , där .

Implementeringar

  • Vowpal Wabbit : Ett snabbt onlineinlärningssystem med öppen källkod, externt minne med en uppsättning maskininlärningstekniker som stöds, med viktning av vikt och ett urval av olika förlustfunktioner och optimeringsalgoritmer. Systemet använder ett hashtrick för att begränsa storleken på funktionsuppsättningen oavsett storleken på träningsdata.
  • scikit-learn : Tillhandahåller en implementering av algoritmer som är slut på minnet för

Se även

Anteckningar

  1. Katastrofal störning är tendensen hos artificiella neurala nätverk att plötsligt helt glömma allt som nätverket har tränats för att göra tidigare.
  2. 1 2 3 4 5 6 7 Rosasco, Poggio, 2015 .
  3. Yin, Kushner, 2003 , sid. 8–12.
  4. 12 Bertsekas , 2011 .
  5. Venkatesan, Meng Joo, 2016 , sid. 310–321.
  6. Hazan, 2015 .
  7. Dolgopolik, 2016 .
  8. Bottou, 1998 .
  9. Kushner, Yin, 1997 .

Litteratur

  • Leon Bottou. Onlinealgoritmer och Stokastiska Approximationer // Onlineinlärning och neurala nätverk . - Cambridge University Press, 1998. - ISBN 978-0-521-65263-6 .
  • Rosasco L., Poggio T. Kapitel 7 - Onlineinlärning // Machine Learning: a Regularization Approach . MIT-9.520 föreläsningsanteckningar. - 2015. - (Manuskript).
  • Harold J. Kushner, G. George Yin. Stokastiska approximationsalgoritmer och tillämpningar. - New York: Springer-Verlag, 1997. - ISBN 0-387-94916-X .
    • Harold J. Kushner, G. George Yin. Stokastisk approximation och rekursiva algoritmer och tillämpningar. - 2:a upplagan - New York: Springer-Verlag, 2003. - ISBN 0-387-00894-2 .
  • Elad Hazan. Introduktion till konvex optimering online . — Foundations and Trends® in Optimization, 2015.
  • Rajasekar Venkatesan, Er Meng Joo. En ny progressiv inlärningsteknik för klassificering i flera klasser // Neurocomputing. - 2016. - T. 207 . - doi : 10.1016/j.neucom.2016.05.006 . - arXiv : 1609.00085 .
  • Dolgopolik MV Nesterovs metod för att minimera konvexa funktioner. — 2016.
  • Harold J. Yin, G. George Kushner. Stokastisk approximation och rekursiva algoritmer och applikationer. — För det andra. - New York: Springer, 2003. - ISBN 978-0-387-21769-7 .
  • Bertsekas DP Inkrementella gradient-, subgradient- och proximala metoder för konvex optimering: en undersökning // Optimization for Machine Learning. - 2011. - Utgåva. 85 .

Länkar