Tänään aloitimme kappaleen 11, joka käsittelee hahmontunnistusta. Hahmontunnistusjärjestelmän ideana on esittää järjestelmälle näytteitä ja opettaa se tuottamaan oikea ulostulo kun sille esitetään opetusjoukkoon kuulumaton uusi näyte. Yksi oppivien järjestelmien osajoukko ovat luokittelijat, jossa ulostulo kertoo luokan johon esitetty näyte kuuluu.
Suosittuja luokittelualgoritmeja ovat ainakin seuraavat (kasvavan monimutkaisuuden järjestyksessä):
- k-nearest neighbor eli KNN
- Lineaarinen luokittelija eli LDA eli Fisherin diskriminantti
- Logistinen regressio
- Tukivektorikone (support vector machine); SVM
- Hermoverkot; NN
Luentomonisteen seuraava menetelmä on Fisherin diskriminantti eli LDA. Tätä voidaan havainnollistaa alla olevalla Matlab-demolla, jossa näkyy erilaisia projektiosuoria kaksiulotteisen datan koordinaatistossa. Suoran suunta vaihtelee ja tuloksena piirretään alle näin saatavien yksiulotteisten näytteiden jakauma sekä luokitteluprosentti. Hyvillä projektiosuorilla data oli täydellisesti luokiteltavissa, mutta huonoilla joukot menivät päällekkäin projisoinnin jälkeen. Fisherin lineaarinen erottelija laskee tämän suoran automaattisesti niin että erottelu on optimaalinen. Suora ratkaistaan maksimoimalla ns. Fisherin suhde (näkyy myös kuvassa alla), joka kertoo kuinka hyvin tulosjoukot erottuvat toisistaan (isompi parempi). Oikessa tilanteessa paras suunta ratkaistaan suljetussa muodossa olevan kaavan avulla eikä kokeilemalla (mikä olisikin mahdotonta 1000-ulotteiselle datalle).
Taustoitettaessa koneoppimista vilkaistiin demoa jossa hermoverkko tunnistaa hiirellä osoitetun merkin rekisterikilvestä. Ks. myös tämä demo. Lisäksi mainittiin tamperelainen Visy Oy, joka tekee automaattista rekisterikilven tunnistusta mm. Hämpin parkissa.
Ei kommentteja:
Lähetä kommentti