Funktionsinlärning eller representationsinlärning [1] är en uppsättning tekniker som gör att systemet automatiskt kan upptäcka de representationer som behövs för att identifiera egenskaper eller klassificera originaldata (rådata). Detta ersätter den manuella konstruktionen av funktioner och gör att maskinen både kan lära sig funktionerna och använda dem för att lösa specifika problem.
Funktionsinlärning drivs av det faktum att maskininlärningsproblem som klassificering ofta kräver input som är bekvämt att bearbeta matematiskt och beräkningsmässigt. Men verkliga data som bilder, videor och sensordata är inte mottagliga för algoritmisk bestämning av specifika egenskaper. Ett alternativ är att upptäcka sådana egenskaper eller representationer genom utforskning utan att förlita sig på specifika algoritmer.
Undervisningstecken kan vara med eller utan lärare.
Övervakad funktionsinlärning är funktionsinlärning från märkta data. Dataetiketter gör att systemet kan beräkna felmarginalen, det vill säga den nivå över vilken systemet inte kan reproducera etiketten, dessutom kan felmarginalen sedan användas som en återkoppling för att korrigera inlärningsprocessen (minska/minimera felet) . Övervakat lärande hör till följande tillvägagångssätt:
Ordförrådsinlärning skapar en uppsättning (ordbok) av representativa element från indata, så att varje datapunkt kan representeras som en viktad summa av de representativa elementen. Ordbok och viktelement kan hittas genom att minimera det genomsnittliga representationsfelet (över inmatningen) tillsammans med L1- regularisering på vikterna för att säkerställa gleshet (dvs representationen av varje datapunkt har bara ett fåtal icke-nollvikter).
Övervakad ordförrådsinlärning använder både strukturen för de underliggande indata och etiketter för att optimera ordförrådsobjekt. Till exempel, den övervakade vokabulärinlärningstekniken [6] tillämpas på ordförrådsinlärning för klassificeringsproblem genom att gemensamt optimera ordförrådsobjekt, vikter för datapunkter och klassificeringsparametrar baserat på indata. Speciellt formuleras ett minimeringsproblem där objektivfunktionen inkluderar klassificeringsfelet, representationsfelet, L1- regularisering av vikter för varje punkt (för att säkerställa datagleshet) och L2 - regularisering på klassificerareparametrarna.
Neurala nätverk är en familj av inlärningsalgoritmer som använder ett "nätverk" som består av flera nivåer av internt anslutna noder. Noder betraktas som neuroner, och bågar betraktas som kopplingar mellan neuroner. En vikt tilldelas varje båge, och nätverket definierar beräkningsregler för bearbetning av indata från nätverkets ingångslager till utmatningsskiktet. Nätverksfunktionen associerad med det neurala nätverket beskriver förhållandet mellan ingångs- och utgångsskikten. Med en korrekt definition av nätverksfunktionen kan olika inlärningsproblem lösas genom att minimera kostnadsfunktionen över nätverksfunktionen (vikter)[ specificera ] .
Flerskiktiga neurala nätverk kan användas för att utföra funktionsinlärning eftersom de tränar representationer av indata på dolda nivåer, som sedan används för klassificering eller regression på utdatanivå. Den mest populära nätverksarkitekturen av denna typ är siamesiska nätverk.
Oövervakad funktionsinlärning är funktionsinlärning från omärkta data. Målet med oövervakad funktionsinlärning är ofta att upptäcka lågdimensionella egenskaper som reproducerar någon struktur av den underliggande högdimensionella ingången. När funktionsinlärning sker oövervakad är ett slags delvis övervakat lärande möjligt , där funktioner lärs från omärkta data och sedan övervakad träning med märkt data för att förbättra prestanda [7] [8] . Följande tillhör denna klass av metoder.
k-medelmetoden är en metod för vektorkvantisering. I synnerhet, givet en uppsättning av n vektorer, betyder k -betyder att gruppera dem i k kluster (dvs. delmängder) på ett sådant sätt att varje vektor tillhör klustret med det närmaste medelvärdet. Problemet är beräkningsmässigt NP-hårt , även om suboptimala giriga algoritmer har utvecklats .
Metoden k-means kan användas för att gruppera de omärkta indatauppsättningarna i k kluster och sedan använda tyngdpunkterna för dessa kluster för att extrahera funktioner. Dessa tecken kan särskiljas på flera sätt. Det enklaste sättet är att lägga till k binära egenskaper till varje dataelement, där varje egenskap j har värdet 1 om och endast om den j -:e tyngdpunkten, tränad av k -medel, är närmast det aktuella dataelementet [3] . Du kan också använda avstånden till klustren som funktioner efter att ha transformerat dem med en radiell basfunktion (en teknik som har använts för att träna RBF-nätverk [9] ). Coates och Ng märkte att vissa varianter av k -medel beter sig som glesa kodningsalgoritmer [10] .
I en jämförande utvärdering av oövervakade funktionsinlärningsmetoder fann Coates, Li och Eun att k -betyder klustring med en lämplig transformation överträffar senare utvecklade autokodare och begränsade Boltzmann-maskiner på bildklassificeringsproblem [3] . K -means förbättrar också prestandan i Natural Language Processing ( NLP), särskilt för namngivna enheter [11] . Här konkurrerar metoden med Brown clustering , såväl som distribuerad ordrepresentation (även känd som neural vektorordrepresentation) [8] .
Principal Component Method (PCA) används ofta för dimensionsreduktion. Givet en omärkt uppsättning av n indatavektorer, genererar PCA p (vilket är mycket mindre än dimensionen av indata) högra singularvektorer som motsvarar de p största singularvärdena i datamatrisen, där den k -te raden av datamatrisen är den k -: te ingångsvektorn skiftad av sampelmedelinmatningsdata (dvs subtrahera medelvärdet från datavektorn). På motsvarande sätt är dessa singulära vektorer egenvektorer som motsvarar de p största egenvärdena för samvariantmatrisen för ingångsvektorerna. Dessa p singulära vektorer är funktionsvektorer som extraheras från indata. De representerar de riktningar längs vilka data har de flesta förändringar.
Principal komponentanalys är en linjär funktionsinlärningsmetod eftersom p singularvektorerna är linjära funktioner i datamatrisen. Singular vektorer kan erhållas genom en enkel algoritm i p iterationer. Vid den i -te iterationen subtraheras projektionen av datamatrisen på den (i-1) -:e egenvektorn och den i - te singularvektorn genomsöks som den högra singularvektorn som motsvarar det största singulartalet av restdatamatrisen .
Huvudkomponentmetoden har vissa begränsningar. För det första antar metoden att riktningarna med de största avvikelserna är de mest intressanta, vilket kanske inte är sant. Huvudkomponentanalys förlitar sig endast på ortogonala transformationer av originaldata och använder endast första och andra ordningens moment , vilket kanske inte beskriver datafördelningen adekvat. Dessutom kan PCA effektivt reducera dimensionalitet endast när indatavektorerna är korrelerade (vilket resulterar i ett litet antal dominerande egenvärden).
Local Linear Embedding (LLI) är en icke-linjär inlärningsteknik för att härleda en lågdimensionell grannskapsbevarande representation från högdimensionella (otaggade) indata. Ett tillvägagångssätt föreslogs av Rowais och Saul [12] [13] . Huvudidén med lokalt linjär inbäddning är att återskapa den ursprungliga högdimensionella datan med hjälp av lågdimensionella punkter samtidigt som vissa geometriska egenskaper i närheten av den ursprungliga datamängden bibehålls.
Den lokala linjära inbäddningen består av två huvudsteg. Det första steget görs med målet att "bevara grannskapet", där varje indatapunkt Xi återskapas som en viktad summa av de K närmaste angränsande datapunkterna, och de optimala vikterna hittas genom att minimera RMS-felet för de rekonstruerade data (d.v.s. skillnaden mellan inmatningspunkten och dess rekonstruktion) förutsatt att vikterna associerade med varje punkt summerar till en. I det andra steget utförs "dimensionalitetsreduktion" genom att söka efter vektorer i det lågdimensionella utrymmet som minimerar representationsfelet med hjälp av de optimerade vikterna från det första steget. Observera att i det första steget optimeras vikterna på fast data, så att problemet kan lösas med minsta kvadratmetoden . I det andra steget optimeras det lågdimensionella rummets punkter med fasta vikter, så detta problem kan lösas med hjälp av egenvärdesexpansionen av den tillåtna matrisen.
Vikterna som erhölls i det första steget fångar de "väsentliga geometriska egenskaperna" för indataområdet [13] . Indata antas ligga på ett lågdimensionellt jämnt grenrör , och de "väsentliga geometriska egenskaperna" som fångas av vikterna ligger också på grenröret. Det är därför samma vikter används i metodens andra steg. Jämfört med PCA är LLP-metoden starkare för att upptäcka den underliggande datastrukturen.
Oberoende komponentanalys (ICA) är en teknik för att generera en representation av data med hjälp av en viktad summa av oberoende icke-Gaussiska komponenter [14] . Antagandet om icke-Gaussianitet åläggs på grund av det faktum att vikterna inte kan bestämmas unikt om alla komponenter har en Gaussisk fördelning .
Oövervakad ordförrådsinlärning använder inte datamärkning och använder den underliggande datastrukturen för att optimera ordförrådsobjekt. Ett exempel på oövervakad ordförrådsinlärning är sparsam kodning, vars mål är att lära sig basfunktioner (vokabulärelement) för att representera data från omärkta indata. Gles kodning kan användas för att träna överfulla ordböcker där antalet ordbokselement är större än dimensionen för indata [15] . Aaron et al föreslog algoritmen K - SVD ( K-Singular Value Decomposition ) för att lära sig en ordbok med element som ger en sparsam representation [16] .
Den hierarkiska arkitekturen för biologiska neurala nätverk inspirerade den djupa inlärningsarkitekturen för funktionsinlärning genom att kaskadbilda lager av träningsbara nivåer [17] . Dessa arkitekturer utvecklas ofta baserat på antagandet om distribuerad representation - experimentell data genereras av samverkan mellan många olika faktorer på flera nivåer. I en djupinlärningsarkitektur kan utdata från varje mellannivå ses som en representation av den ursprungliga ingången. Varje lager tar som indata representationen som produceras av det föregående lagret och skapar en ny representation som utdata, som sedan matas till lagret ovanför. Ingången för den lägsta nivån är rådata, och utdata från den slutliga nivån är en sista egenskap eller lågdimensionell representation.
Begränsade Boltzmann-maskiner (BMB) används ofta som byggstenar i flerskikts elevarkitekturer [3] [18] . En begränsad Boltzmann-maskin kan representeras av en oriktad tvådelad graf som består av en grupp binära dolda variabler , en grupp av synliga variabler och kanter som förbinder dolda och synliga variabler. OMB är ett specialfall av de mer allmänna Boltzmann-maskinerna , med begränsningen att det inte finns några intranodala anslutningar. Varje kant av OMB tilldelas en vikt. Vikterna, tillsammans med kopplingarna, bestämmer energifunktionen , utifrån vilken en gemensam fördelning av synliga och dolda noder kan utvecklas. Baserat på OMB:s topologi är de latenta (synliga) variablerna oberoende och betingade av de synliga (dolda) variablerna. Detta villkorade oberoende gör beräkningar lättare.
OMB kan ses som en enskiktsarkitektur för oövervakad funktionsinlärning. I synnerhet motsvarar de synliga variablerna ingångsdata och de latenta variablerna motsvarar funktionsdetektorerna. Vikter kan tränas genom att maximera sannolikheten för synliga variabler med hjälp av Hintons kontrastiva divergens (CD) algoritm [18] .
Generellt sett leder lära sig en GMB genom att lösa ett maximeringsproblem till en representation som inte är sparsam. Den glesa GMB [19] föreslogs för att ge glesa representationer. Tanken är att lägga till en regulariseringsterm till datasannolikhetsobjektivfunktionen som straffar avvikelsen för den latenta variabelvariansen från en liten konstant.
En autoencoder består av en kodare och en avkodare är paradigmet för djupinlärningsarkitekturer. Ett exempel gavs av Hinton och Salakhutdinov [18] , där kodaren använder rådata (till exempel en bild) som indata och ger en funktion eller representation som utdata, och avkodaren använder den funktion som extraheras av kodaren som indata och återställer den ursprungliga rådatan som utgång. Kodaren och avkodaren är byggda genom att kaskadkoppla begränsade Boltzmann-maskiner. Parametrar som används i arkitekturen, initialt erhållna av en girig algoritm från nivå till nivå - efter att en nivå av funktionsdetektering har tränats, presenteras funktionerna som observerbara variabler för att lära sig motsvarande OMB. För närvarande använder tillvägagångssätten vanligtvis end-to-end-inlärning med stokastiska gradientmetoder . Träningen kan upprepas tills vi når något stoppkriterium.
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|