Lineáris gép osztályozók

A korábban megismert döntési fa osztályozó kis elemszámú, elsősorban diszkrét jellemzőtér esetén igazán jó gépi tanulási megközelítés. Nem célszerű alkalmazni például a szöveges dokumentumosztályozási feladat esetén, ahol a jellemzőtér (szótár mérete) sok tízezer vagy akár több százezer (ha n-grammokat is használunk) méretű is lehet, és csak folytonos jellemzőket tartalmaz. Az ilyen helyzetekben olyan modellt szeretnénk, ahol minden jellemző, valamilyen mértékben, hozzá tud járulni az osztályozási döntés meghozatalához, hiszen például egy dokumentum témájának beazonosításában minden egy szónak lehet szerepe.
Pontosan ezt biztosítják az ún. lineáris gépek. Egy lineáris gép a döntését az egyedet leíró jellemzők értékeinek és a minden jellemzőhöz rendelt súlyok lineáris kombinációja alapján számolja ki. Legyen \(d\) jellemzőnk. a vizsgált egyed \(i\). folytonos jellemzőjének értékét jelölje \(x_i\). Bináris osztályozás esetén a lineáris gép modellje minden jellemzőhöz rendel egy \(w_i\) súlyt és van egy konstanst \(w_0\) eltolás értéke. Predikciós időben kiszámolja a jellemzővektor és a modell súlyvektorának lineáris kombinációját (\(g()\)-t diszkriminancia függvénynek hívjuk): \[g(\vec{x})=\sum\limits_{i = 1}^d {w_i x_i} + w_0\]

Ha \(g(\vec{x})>0\) akkor az első osztályt, egyénként a második osztályt fogja predikálni a lineáris gép.

 

Több osztályos esetben minden osztályhoz tartozik egy \(d+1\) hosszú súlyvektor a lineáris gép modelljében. Minden osztályra kiszámolja a diszkriminancia függvény értékét és azt az osztályt fogja predikálni, amelyiknek a legnagyobb a diszkriminancia értéke.

Vegyük észre, hogy a lineáris gépek "megversenyeztetik" az egyes osztályokat, igazából a céljuk, hogy jól el tudják különíteni az egyes osztályokat egymástól (az ilyen típusú gépi tanuló módszereket diszkriminatívnak hívjuk). Ez ellentétes a döntési fák céljaival, ahol a logikai kifejezésekkel megpróbáljuk az egyes osztályokat leírni/modellezni (az ilyen típusú gépi tanuló módszereket generatívnak hívjuk).

Lineáris gép bináris osztályozási feladaton, két jellemző, \(x_1\) és \(x_2\) esetén. Forrás: [Alpaydin 2010]
A lineáris gépek diszkriminatív tulajdonsága még jobban látszódik ha a döntést vizalizáljuk. Legyen két folytonos jellemzőnk (\(d=2\)) \(x_1\) és \(x_2\). A fenti ábrán a körök és négyzetek egy tanító adatbázis egyedei, amiken két koordinátája a két jellemző. A körök az első \(C_1\) osztályba, míg a négyzetek a második \(C_2\) osztályba tartoznak. A lineáris gép 2 dimenzióban egy (lineáris) egyenes. Predikciós időben ha az egyenes "alá" (a döntési felület irányába) érkezik akkor \(C_1\)-et, egyébként \(C_2\)-t fog dönteni ez a gép.

Lineáris gépek a gyakorlatban

Számtalan lineáris gép létezik, a leggyakrabban használtak a sztochasztikus gradiens perceptron (stochastic gradient descend (SGD) classifier), Support Vector Machines (SVM), Naive Bayes, Logisztikus Regresszió osztályozó (Logistic Regression) vagy más néven Maximum Entrópia (MaxEnt) osztályozó. Ezeknél a modell mindig ugyanaz (lineáris gép), de abban teljesen különböznek, hogy hogyan tanulják meg a modellt - azaz, hogyan állítjákbe a súlyvektorokat - egy tanító adatbázis alapján. Annyit érdemes még megjegyeznünk, hogy a Naive Bayes és Logisztikus Regresszió diszkrét jellemzőkészleten, míg az SGD és SVM módszerek folytonos jellemzőkészletre lettek tervezve, ezért ott érdemes őket használni.

Lineáris gépek előnyei:

  • Minden jellemző hozzájárul a döntés meghozatalához.
  • Sok (akár milliós) jellemzőtér esetén is gyorsan tud tanulni.
  • Folytonos jellemzők kezelésére lettek kidolgozva, ott nagyon előnyösek.
  • Lineáris gépek hátrányai:

    • A gépi tanult modell nem értlemezhető (interpretálható). Esetleg a legfontosabb jellemzők kilistázhatóak, de az nagyon kis részét magyarázza a döntésnek.
    • Abból a feltevésből indul ki, hogy a folytonos jellemzők lineáris viszonyban vannak egymással és a célváltozóval, a nem-lineáris összefüggéseket nem képes modellezni (kivéve az SVM).
    A lineáris gépeket tehát akkor érdemes választani ha nagyon sok, elsősorban folytonos jellemzőnk van és feltételzzük, hogy a jellemzők lineáris függvénye elégséges a modellezéshez.

    Ellenörző kérdések

    1. Mitől lineárisak a lineáris gépek?
    2. Csak folytonos változók esetén használhatjuk a lineáris gépeket?

    További ajánlott irodalom

    • Ha meg akarjuk érteni, hogy mi a külöbség a Logisztikus és a Lineáris Regresszió között: írás
    • A "KÖSZI" kurzuson tanult gradiens módszer az alapja a legtöbb lineáris gép tanuló algoritmusának.