LPBoost

Linear Programming Boosting ( LPBoost ) är en övervakad klassificerare från boostningsfamiljen av klassificerare. LPBoost maximerar en marginal mellan träningsprover av olika klasser och tillhör därför också klassen av marginalmaximerande övervakade klassificeringsalgoritmer. Överväg en klassificeringsfunktion

som klassificerar sampel från ett mellanslag i en av två klasser, märkta 1 respektive -1. LPBoost är en algoritm för att lära sig en sådan klassificeringsfunktion givet en uppsättning träningsexempel med kända klassetiketter. LPBoost är en maskininlärningsteknik och speciellt lämpad för tillämpningar av gemensam klassificering och funktionsval i strukturerade domäner.

LPBoost översikt

Som i alla förstärkande klassificerare är den slutliga klassificeringsfunktionen av formen

där är icke-negativa viktningar för svaga klassificerare . Varje enskild svag klassificerare kan vara lite bättre än slumpmässig, men den resulterande linjära kombinationen av många svaga klassificerare kan fungera mycket bra.

LPBoost konstruerar genom att börja med en tom uppsättning svaga klassificerare. Iterativt väljs, läggs till en enda svag klassificerare att lägga till i uppsättningen av betraktade svaga klassificerare och alla vikter för den aktuella uppsättningen av svaga klassificerare justeras. Detta upprepas tills det inte finns några svaga klassificerare att lägga till.

Egenskapen att alla klassificerares vikter justeras i varje iteration är känd som totalkorrigerande egenskap. Tidiga boostingmetoder, som AdaBoost, har inte denna egenskap och konvergerar långsammare.

Linjärt program

Mer allmänt, låt den möjligen oändliga uppsättningen svaga klassificerare, även kallade hypoteser . Ett sätt att skriva ner problemet LPBoost löser är som ett linjärt program med oändligt många variabler.

Det primära linjära programmet för LPBoost, optimerar över den icke-negativa viktvektorn den icke-negativa vektorn för slackvariabler och marginalen är följande.

Notera effekterna av slackvariabler : deras ennorm bestraffas i objektivfunktionen med en konstant faktor som – om tillräckligt liten — leder alltid till ett primärt genomförbart linjärt program.

Här använde vi notationen av ett parameterutrymme , så att för ett val den svaga klassificeraren är unikt definierad.

När ovanstående linjära program först skrevs ned i tidiga publikationer om förstärkningsmetoder ignorerades det som svårhanterligt på grund av det stora antalet variabler . Först senare upptäcktes det att sådana linjära program verkligen kan lösas effektivt med den klassiska tekniken för kolumngenerering .

Kolumngenerering för LPBoost

I ett linjärt program motsvarar en kolumn en primalvariabel. Kolumngenerering är en teknik för att lösa stora linjära program. Det fungerar vanligtvis i ett begränsat problem, som endast hanterar en delmängd av variabler. Genom att generera primala variabler iterativt och på begäran, återställs så småningom det ursprungliga obegränsade problemet med alla variabler. Genom att smart välja kolumnerna för att generera kan problemet lösas så att samtidigt som man garanterar att den erhållna lösningen är optimal för det ursprungliga hela problemet, behöver bara en liten bråkdel av kolumner skapas.

LPBoost dubbelt problem

Kolumner i det primära linjära programmet motsvarar rader i det dubbla linjära programmet . Det motsvarande dubbla linjära programmet för LPBoost är följande linjära program.

För linjära program är det optimala värdet av det primära och det dubbla problemet lika. För ovanstående primära och dubbla problem är det optimala värdet lika med den negativa "mjuka marginalen". Den mjuka marginalen är storleken på marginalen som skiljer positiva från negativa träningstillfällen minus positiva slackvariabler som medför straff för marginalöverträdande prover. Således kan den mjuka marginalen vara positiv även om inte alla prover är linjärt separerade av klassificeringsfunktionen. Den senare kallas för "hård marginal" eller "realiserad marginal".

Konvergenskriterium

Betrakta en delmängd av de uppfyllda begränsningarna i det dubbla problemet. För vilken finit delmängd som helst kan vi lösa det linjära programmet och därmed uppfylla alla begränsningar. Om vi ​​kunde bevisa att av alla de restriktioner som vi inte lagt till det dubbla problemet inte någon enskild restriktion överträds, skulle vi ha bevisat att att lösa vårt begränsade problem är likvärdigt med att lösa det ursprungliga problemet. Mer formellt, låt vara det optimala objektivfunktionsvärdet för en begränsad instans. Sedan kan vi formulera ett sökproblem för den 'mest överträdda begränsningen' i det ursprungliga problemutrymmet, nämligen att hitta som

Det vill säga, vi söker i utrymmet efter en enda beslutsstubb maximerar den vänstra sidan av den dubbla begränsningen. Om begränsningen inte kan överträdas av något val av beslutsstubb, kan ingen av motsvarande begränsningar vara aktiv i det ursprungliga problemet och det begränsade problemet är likvärdigt.

Straffkonstant

Det positiva värdet av straffkonstanten måste hittas med hjälp av modellvalstekniker . Men om vi väljer , där är antalet träningsprov och , då har den nya parametern följande egenskaper.

  • är en övre gräns för bråkdelen av träningsfel; det vill säga om anger antalet felklassificerade träningsprov, då .
  • är en nedre gräns för andelen träningsprov utanför eller på marginalen.

Algoritm

  • Inmatning:
    • Träningsuppsättning ,
    • Träningsetiketter ,
    • Konvergenströskel
  • Utdata:
    • Klassificeringsfunktion
  1. Initialisering
    1. Vikter, enhetlig
    2. Kant
    3. Hypotesantal
  2. Iterera
    1. om
      1. bryt
      sedan
    2. lösning av LPBoost-dual
    3. Lagrangemultiplikatorer för lösning av LPBoost-dubbelproblem

Observera att om konvergenströskeln är satt till är den erhållna lösningen den globala optimala lösningen för ovanstående linjära program. I praktiken sätts

Realiserad marginal

Den faktiska marginalen som separerar träningsproverna kallas den realiserade marginalen och definieras som

Den realiserade marginalen kan och kommer vanligtvis att vara negativ i de första iterationerna. För ett hypotesutrymme som tillåter att särskilja varje enskilt prov, vilket är vanligt fallet, kommer den realiserade marginalen så småningom att konvergera till något positivt värde.

Konvergensgaranti

Även om ovanstående algoritm har visat sig konvergera, i motsats till andra förstärkande formuleringar, såsom AdaBoost och TotalBoost, finns det inga kända konvergensgränser för LPBoost. I praktiken är det dock känt att LPBoost konvergerar snabbt, ofta snabbare än andra formuleringar.

Basera elever

LPBoost är en ensembleinlärningsmetod och dikterar således inte valet av basinlärare, hypotesutrymmet . Demiriz et al. visade att under milda antaganden kan vilken basinlärare som helst användas. Om basinlärarna är särskilt enkla kallas de ofta för beslutsstubbar .

Antalet basinlärare som vanligtvis används med Boosting i litteraturen är stort. Till exempel, om , kan en basinlärare vara en linjär mjuk marginalstödvektormaskin . Eller ännu enklare, en enkel stump av formen

Ovanstående beslutsstubbar tittar bara längs en enstaka dimension av inmatningsutrymmet och trösklar helt enkelt respektive kolumn i provet med hjälp av en konstant tröskel . Sedan kan den bestämma i båda riktningarna, beroende på för en positiv eller negativ klass.

Givet vikter för träningsproverna innebär att konstruera den optimala beslutsstumpen i ovanstående form helt enkelt att söka längs alla provkolumner och bestämma och ω för att optimera förstärkningsfunktionen.