Tukivektorikone

testwikistä
Versio hetkellä 26. helmikuuta 2024 kello 18.43 – tehnyt 82.128.221.153 (keskustelu) (Lähteet)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun
Tukivektorikoneen yksinkertainen kaavio.

Tukivektorikone (Malline:K-en) on 1990-luvulla kehitetty lineaarinen luokitinmalli, joka soveltuu luokitteluun ja käyränsovitustehtävään. Tukivektorikone voidaan toteuttaa neuroverkolla.[1] Tukivektorikoneen yleistämiskyky on MLP-neuroverkkoon verrattuna parempi. Yleistämiskyky kuvaa luokittimen kykyä luokitella ennalta tuntemattomat näytteet oikein.

Perusteet

Päätöstaso (keskellä) ja marginaalitasot.

Tukivektorikoneen perusajatus on sovittaa kahden näytejoukon väliin sellainen taso, että sen kanssa yhdensuuntaisten marginaalitasojen välimatka on mahdollisimman suuri eikä yksikään näyte jää marginaalitasojen väliin. Marginaalitasojen välimatkaa rajoittavia näytevektoreita kutsutaan tukivektoreiksi. Luokittelun tulos riippuu ainoastaan näistä tukivektoreista.

Tukivektorikoneen tulee opetuksen jälkeen osata luokitella mielivaltainen näyte. Luokitin opetetaan opetusaineiston perusteella, ja siksi sen hyvyys osaltaan riippuu opetusaineiston hyvyydestä.

Kun opetusjoukot eivät ole separoituvia, käytetään tukivektorikonetoteutusta, jota kutsutaan joustavan marginaalin luokittimeksi. Menetelmä etsii opetusaineistosta ne näytevektorit, jotka määrittävät eri luokkien rajat.

Optimimarginaaliluokitin

Optimimarginaaliluokitin on tukivektorikoneen toteutus separoituville näytejoukoille. Optimimarginaaliluokitin määrää päätöstason 𝐰T𝐱+b=0 kahden separoituvan näytejoukon välille. Lisäksi vaaditaan että kummankin luokan päätöstasoa lähimmän pisteen ja päätöstason välinen etäisyys on mahdollisimman suuri. Tämä tarkoittaa sitä että kummankin luokan lyhin etäisyys pintaan nähden on sama, koska kokonaisuuden kannalta lyhin etäisyys määrittyy lähempänä olevan luokan perusteella.

Luokat ovat lineaarisesti separoituvia silloin kun kahden eri luokan yksikäsitteinen erottaminen yhdellä tasolla on mahdollista.

Etsitään piirreavaruuden RN tasoa (𝐰,b) siten, että näytevektorille 𝐱i pätee

{𝐰T𝐱i+b>0,kun 𝐱i kuuluu luokkaan a𝐰T𝐱i+b<0,kun 𝐱i kuuluu luokkaan b.

Sovitaan, että luokan a pisteitä vastaa y:n arvo +1 ja luokan b 1. Muodostetaan yhtälö

y(𝐰T𝐱+b)>0,

joka pätee kummankin luokan pisteille. Jos opetustieto koostuu l eri pisteestä, jotka ovat 𝐱i, kun i=1,,l, ja yi ovat niiden vastaavat luokat (joko +1 tai 1), niin vaadimme että luokat erottava taso (𝐰,b) toteuttaa ehdon

yi(𝐰T𝐱i+b)>0i=1,,l.

Näytepisteen euklidinen etäisyys tasoon (𝐰,b) on

mini=1l|𝐰T𝐱i+b|𝐰.

Päätöstason löytämiseksi on olemassa useita ratkaisutapoja. Kirjallisuudessa usein esiintyvä ratkaisutapa perustuu neliölliseen optimointiin. Toinen tapa on etsiä kummallekin luokalle konveksipeitteet, ja sen jälkeen etsiä konveksipeitteiden välinen lyhin etäisyys ja tätä vastaavat pisteet pa ja pb peitteiden pinnalla. Päätöstason normaalivektori 𝐰 on pisteiden pa ja pb erotus vektorin suuntainen, ja b on näiden pisteiden keskiarvo.

Ratkaiseminen neliöllisellä optimoinnilla

Optimimarginaaliluokitin määritetään ratkaisemalla seuraava neliöllinen optimointiongelma. Ratkaistaan päätöstaso minimoimalla lauseke 12𝐰2 tason normaalivektorin 𝐰 suhteen ehdolla

yi(𝐰T𝐱i+b)1i=1,,l.

Muuttuja b ratkaistaan ehdosta.

Päätöstason yksiselitteiseen määrittämiseen tarvitsee tuntea kaksi tasoa lähinnä olevaa pistettä 𝐱n ja 𝐱m. Pisteen i euklidinen etäisyys tasoon 𝐰 on

δi=|𝐰T𝐱i+b|𝐰,

missä 𝐰 on normalisointitermi.

Taso (𝐰,b) on yhdensuuntainen tason (c𝐰,cb) kanssa, kun c>0, josta seuraa että c voidaan valita siten, että |c𝐰T𝐱i+cb|=1 pisteille 𝐱n ja 𝐱m. Tällöin euklidisten etäisyyksien summaksi saadaan

δn+δm=|c𝐰T𝐱n+cb|c𝐰+|c𝐰T𝐱m+cb|c𝐰=2c𝐰.

Tämän seurauksena rajoittamalla reunaehdot annetun tehtävän mukaisesti ja minimoimalla 𝐰, marginaalitasoilla sijaitsevien pisteiden m ja n etäisyys maksimoituu.

Joustavan marginaalin luokitin

Joustavan marginaalin luokitin (C-SVM) optimimarginaaliluokittimen yleistys ei-separoituville näytejoukoille. Lähes kaikissa käytännön luokittelutehtävissä näytejoukot ovat ei-separoituvia. Ei-separoituvuus huomioidaan määrittämällä jokaiselle väärään luokkaan luokittuvalle näytteelle ns. slack-vakio γi, mikä on näytteen etäisyys päätöspintaan. Vakio γi=0, kun näyte luokittuu oikein.

Kahteen luokkaan luokitteleva joustavan marginaalin luokitin määritetään ratkaisemalla neliöllinen optimointiongelma

min12𝐰2+Ci=1lγi

muuttujien 𝐰, b ja γi suhteen kun reunaehdot ovat

yi(𝐰T𝐱i+b)1γi

ja

γi0

kun i=1,,l. Ongelma voidaan ratkaista ratkaisemalla Lagrangen menetelmällä konstruoitu duaaliongelma

min12i=1lj=1lαiαjK(𝐱𝐢,𝐱𝐣)Ci=1lαi

missä C on regularisointitermi ja reunaehdot ovat

αi0

ja

𝐲Tα=0

missä αi ovat Lagrangen kertoimet ja 𝐲=[y1,,yl]T.

Epälineaarinen tukivektorikone

Coverin teoreeman mukaan kaksi ei-separoituvaa näytejoukkoa separoituvat suuremmalla todennäköisyydellä, kun ne kuvataan epälineaarisesti korkeampiulotteiseen avaruuteen. Tukivektorikoneen suorituskykyä voidaan parantaa kuvaamalla piirreavaruus kernelifunktiolla K(𝐱,𝐲), joka implisiittisesti määrittelee kuvauksen.

Mercerin teorian perusteella kernelifunktiolle K on olemassa sisätuloavaruus jos matriisi M on positiivisemidefiniitti ja K on symmetrinen funktio, kun Mij=K(𝐱i,𝐱j) kaikille i,j=1,,l. Luokittelu suoritetaan sisätuloavaruudessa lineaarisesti, mutta päätöspinta kuvautuu piirreavaruuteen epälineaariseksi, kuten ympyräksi tai ellipsiksi radiaalisella kernelifunktiolla. Mercerin teoria mahdollistaa epälineaarisen luokittimen määrittämisen intuitiivisesti.

Mielivaltainen piste 𝐱 luokitellaan luokkaan +1, kun

d=i=1lαiK(𝐱i,𝐱)>0

ja muussa tapauksessa luokkaan 1.

Havaitaan, että kun αi>0, niin 𝐱i on tukivektori. Näin ollen luokittelu riippuu ainoastaan tukivektoreista.

Kernelifunktiota

Yleisimpiä kernelifunktiota ovat

  • polynominen kernelifunktio K(𝐱i,𝐱)=(𝐱T𝐱i+1)p, kun p on positiivinen kokonaisluku
  • radiaalinen kernelifunktio K(𝐱i,𝐱)=exp(12σ2𝐱𝐱i2), kun σ>0

Polynominen kernelifunktio erottelee piirteet lineaarisesti lähtöavaruudessa kun taas radiaalinen funktio erottelee piirteet lineaarisesti tietyssä korkeaulotteisessa avaruudessa. Lähtöavaruuden näkökulmasta radiaalinen kernelifunktio erottelee näytteet epälineaarisesti ja se voi näin ollen sen suorituskyky on joissain tilainteissa polynomista luokitinta parempi.

Tukivektorikonetoteutuksia

Katso myös

Lähteet

  • Haykin, Simon: Neural Networks - A comprehensive foundation 2nd edition, Prentice-Hall, 1999

Viitteet

Malline:Viitteet