Inlärning av flera kärnor

Multipel kärninlärning hänvisar till en uppsättning maskininlärningsmetoder som använder en fördefinierad uppsättning kärnor och lär sig en optimal linjär eller icke-linjär kombination av kärnor som en del av algoritmen. Anledningar till att använda multipelkärninlärning inkluderar a) möjligheten att välja för en optimal kärna och parametrar från en större uppsättning kärnor, minska bias på grund av kärnval samtidigt som det möjliggör mer automatiserade maskininlärningsmetoder, och b) kombinera data från olika källor ( t.ex. ljud och bilder från en video) som har olika föreställningar om likhet och därför kräver olika kärnor. Istället för att skapa en ny kärna kan flera kärnalgoritmer användas för att kombinera kärnor som redan är etablerade för varje enskild datakälla.

Flera kärnlärande tillvägagångssätt har använts i många applikationer, såsom händelseidentifiering i video, objektigenkänning i bilder och biomedicinsk datafusion.

Algoritmer

Flera kärninlärningsalgoritmer har utvecklats för övervakad, semiövervakad och oövervakad inlärning. Det mesta arbetet har gjorts på det övervakade inlärningsfallet med linjära kombinationer av kärnor, men många algoritmer har utvecklats. Grundidén bakom multipla kärninlärningsalgoritmer är att lägga till en extra parameter till inlärningsalgoritmens minimeringsproblem. Som ett exempel, betrakta fallet med övervakad inlärning av en linjär kombination av en uppsättning av kärnor . Vi introducerar en ny kärna där är en vektor av koefficienter för varje kärna. Eftersom kärnorna är additiv (på grund av egenskaperna för att reproducera kärnan Hilbert spaces ), är denna nya funktion fortfarande en kärna. För en uppsättning data med etiketter kan minimeringsproblemet sedan skrivas som

där är en felfunktion och är en regulariseringsterm. är typiskt fyrkantsförlustfunktionen ( Tikhonov regularization ) eller gångjärnsförlustfunktionen (för SVM -algoritmer), och är vanligtvis en norm eller någon kombination av normerna (dvs elastisk nettoreglering ) . Detta optimeringsproblem kan sedan lösas med vanliga optimeringsmetoder. Anpassningar av befintliga tekniker såsom Sequential Minimal Optimization har också utvecklats för flera kärna SVM-baserade metoder.

Övervakat lärande

För övervakat lärande finns det många andra algoritmer som använder olika metoder för att lära sig kärnans form. Följande kategorisering har föreslagits av Gonen och Alpaydın (2011)

Fasta regler närmar sig

Fasta reglermetoder som den linjära kombinationsalgoritmen som beskrivs ovan använder regler för att ställa in kombinationen av kärnorna. Dessa kräver inte parametrering och använder regler som summering och multiplikation för att kombinera kärnorna. Viktningen lärs in i algoritmen. Andra exempel på fasta regler inkluderar parvisa kärnor, som är av formen

.

Dessa parvisa tillvägagångssätt har använts för att förutsäga protein-protein-interaktioner.

Heuristiska tillvägagångssätt

Dessa algoritmer använder en kombinationsfunktion som är parametriserad. Parametrarna är generellt definierade för varje enskild kärna baserat på prestanda med en kärna eller någon beräkning från kärnmatrisen. Exempel på dessa inkluderar kärnan från Tenabe et al. (2008). Låta vara den noggrannhet som erhålls med endast och låta vara ett tröskelvärde som är mindre än minimum av enkel- kärnnoggrannhet kan vi definiera

Andra tillvägagångssätt använder en definition av kärnlikhet, som t.ex

Med detta mått använde Qui och Lane (2009) följande heuristik för att definiera

Optimering närmar sig

Dessa tillvägagångssätt löser ett optimeringsproblem för att bestämma parametrar för kärnkombinationsfunktionen. Detta har gjorts med likhetsmått och strukturell riskminimering. För likhetsmått som det som definierats ovan kan problemet formuleras på följande sätt:

där är kärnan i träningsuppsättningen.

för strukturell riskminimering som har använts inkluderar linjära tillvägagångssätt, såsom de som används av Lanckriet et al. (2002). Vi kan definiera osannolikheten för en kärna för att vara värdet av objektivfunktionen efter att ha löst ett kanoniskt SVM-problem. Vi kan då lösa följande minimeringsproblem:

där är en positiv konstant. Många andra varianter finns på samma idé, med olika metoder för att förfina och lösa problemet, t.ex. med icke-negativa vikter för enskilda kärnor och användande av icke-linjära kombinationer av kärnor.

Bayesian närmar sig

Bayesiska tillvägagångssätt sätter priors på kärnparametrarna och lär sig parametervärdena från priors och basalgoritmen. Till exempel kan beslutsfunktionen skrivas som

kan modelleras med en Dirichlet prior och kan modelleras med en noll-medelvärde för Gauss och en invers gammavarians prior. Denna modell optimeras sedan med hjälp av en anpassad multinomial probit- metod med en Gibbs-sampler .

Dessa metoder har använts framgångsrikt i tillämpningar såsom proteinvecksigenkänning och proteinhomologiproblem

Boostande tillvägagångssätt

Ökningsmetoder lägger till nya kärnor iterativt tills några stoppkriterier som är en funktion av prestanda uppnås. Ett exempel på detta är MARK-modellen utvecklad av Bennett et al. (2002)

Parametrarna och lärs in genom gradientnedstigning på koordinatbasis. På detta sätt identifierar varje iteration av nedstigningsalgoritmen den bästa kärnkolumnen att välja vid varje särskild iteration och lägger till den till den kombinerade kärnan. Modellen körs sedan om för att generera de optimala vikterna och .

Halvövervakat lärande

Halvövervakade inlärningsmetoder för inlärning av flera kärnor liknar andra förlängningar av tillvägagångssätt för övervakat lärande. En induktiv procedur har utvecklats som använder en log-sannolikhet empirisk förlust och grupp LASSO-regularisering med villkorad förväntanskonsensus om omärkta data för bildkategorisering. Vi kan definiera problemet på följande sätt. Låt vara märkta data, och låt vara uppsättningen omärkta data. Sedan kan vi skriva beslutsfunktionen enligt följande.

Problemet kan skrivas som

där är förlustfunktionen (viktad negativ log-sannolikhet i detta fall), är regulariseringsparametern ( grupp LASSO i detta fall), och är villkorlig förväntad konsensus (CEC) straff för omärkta data. CEC-straffet definieras enligt följande. Låt den marginella kärndensiteten för all data vara

där mellan märkta data och alla märkta och omärkta data) och är en icke-negativ slumpmässig vektor med en 2-norm på 1. Värdet på är antalet gånger varje kärna projiceras. Förväntningsregularisering utförs sedan på MKD, vilket resulterar i en referensförväntning och modellförväntningar . Sedan definierar vi

där är Kullback-Leibler-divergensen . Det kombinerade minimeringsproblemet optimeras med hjälp av en modifierad blockgradientnedstigningsalgoritm. För mer information, se Wang et al.

Oövervakat lärande

Oövervakade inlärningsalgoritmer för flera kärnor har också föreslagits av Zhuang et al. Problemet definieras enligt följande. Låt vara en uppsättning omärkta data. Kärndefinitionen är den linjära kombinerade kärnan . I det här problemet måste data "klustras" i grupper baserat på kärnavstånden. Låt vara en grupp eller ett kluster där är en medlem. Vi definierar förlustfunktionen som . Dessutom minimerar vi distorsionen genom att minimera . Slutligen lägger vi till en regleringsterm för att undvika överanpassning. Genom att kombinera dessa termer kan vi skriva minimeringsproblemet enligt följande.

var . En formulering av detta definieras enligt följande. Låt vara en matris så att betyder att och är grannar. Sedan, . Observera att dessa grupper också måste läras in. Zhuang et al. lös detta problem med en alternerande minimeringsmetod för och grupperna . För mer information, se Zhuang et al.

Bibliotek

Tillgängliga MKL-bibliotek inkluderar

  • SPG-GMKL : Ett skalbart C++ MKL SVM-bibliotek som kan hantera en miljon kärnor.
  • GMKL : Generalized Multiple Kernel Learning-kod i MATLAB , gör och regularisering för övervakat lärande.
  • (En annan) GMKL : En annan MATLAB MKL-kod som också kan utföra elastisk nettoreglering
  • SMO-MKL : C++-källkod för en MKL-algoritm för sekventiell minimal optimering. Gör -n orm regularisering.
  • SimpleMKL : En MATLAB-kod baserad på SimpleMKL-algoritmen för MKL SVM.
  • MKLPy : Ett Python-ramverk för MKL och kärnmaskiner som är scikit-kompatibelt med olika algoritmer, t.ex. EasyMKL och andra.