Gépi tanulási módszerek febr. 9. Bevezetés Gépi tanulási módszerek febr. 9.
Gépi tanulás Hogyan építhető olyan számítógépes rendszer, amelynek a teljesítménye automatikusan javul tapasztalatok gyűjtésével?
Teljesítés szóbeli vizsga elégséges: a húzott tételhez kapcsolódó alapfogalmakat, magát a problémát érti, a megoldás alapjaival tisztában van közepes: a húzott tételt mélységében (fontosabb képletek is) érti jó: az egész anyagot átlátja, a tételen kívüli kérdésekre (összefüggések) is tud válaszolni jeles: matematikai mélységeket is ismeri (minden képlet, levezetések stb.)
Spam szűrés
arc/személy felismerés demo
Ajánló rendszerek
Robotika
Természetesnyelv-feldolgozás
még alkalmazási területek Biometrikus azonosítás Objektumok felismerése képeken Beszédfelismerés és generálás Gyógyszerkutatás Banki adatok, tőzsde elemzése Folyamatoptimalizálás Pattern Classification, Chapter 1
Big Data
Szabály-alapú rendszerek vs. gépi tanulás 11 Szabály-alapú rendszerek vs. gépi tanulás szakértőre szükség van szabályírás vagy tanítópéldák, tulajdonságok Melyik a költségesebb? szakértő tud szabályrendszert írni? tanító adatbázis költsége? mennyire specifikus a probléma?
Gépi tanulás jelen és jövő 12 Gépi tanulás jelen és jövő egyre több alkalmazásban van jelen „úszunk az adatban, miközben szomjazunk az információra” technológiai fejlettség és elterjedtség igény az egyre nagyobb fokú automatizálásra és perszonalizációra Vannak megoldott problémák, de számos nyitott kutatási kérdés is!
http://www.ml-class.org/course
Alakfelismerés Most of the materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley & Sons, 2000 with the permission of the authors and the publisher
Gépi tanulás definíciója 16 Gépi tanulás definíciója Gépi Tanulás (Mitchell): „a computer program said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”
17 Példa Osztályozzunk halakat egy szállítószalagon, optikai érzékelőt használva! tengeri sügér (see bass) Fajok lazac (salmon) Modell (fogalmak és rendszerek szerkezeti leírása): itt a vizsgált objektumok leírása (pl. lazac – rövidebb) Pattern Classification, Chapter 1
18 Osztályozás (T) Felügyelt (induktív) tanulás (supervised learning): tanító halmaz (training examples, E) alapján olyan modell tanulása ami korábban nem látott példákon is helyesen működik. Osztályozás: előre definiált kategóriákba besorolás. Pattern Classification, Chapter 1
19 Pattern Classification, Chapter 1 19
Példa - előfeldolgozás 20 Példa - előfeldolgozás Használjunk valamilyen szegmentálót a halak egymástól és a háttértől való elválasztására Az egy halról meglevő információt egy információkinyerőnek küldjük, hogy bizonyos tulajdonságok kinyerésével (feature extraction) csökkentsük az adatok mennyiségét A tulajdonságokat egy osztályozónak adjuk tovább Pattern Classification, Chapter 1
Példa - tulajdonságok tulajdonság=jellemző (feature) 21 Példa - tulajdonságok tulajdonság=jellemző (feature) néhány lehetséges tulajdonság: Hossz Világosság Szélesség Az uszonyok száma és alakja A száj elhelyezkedése, stb Pattern Classification, Chapter 1
Osztályozás alapfogalmai Jellemző (attribútum, feature) ID Hossz Fényesség Típus 1 28 0.5 Sügér 2 23 0.7 3 17 Lazac Egyed (példány, instance) Osztálycímke (class label)
23 Pattern Classification, Chapter 1
24 Példa - tulajdonságok A hossz gyenge megkülönböztetési erővel rendelkezik. Válasszuk a fényességet egy második próbálkozáshoz tulajdonságként. Pattern Classification, Chapter 1
25 Pattern Classification, Chapter 1
Döntéselméleti feladat! 26 Hibafüggvény (P) fals pozitív/fals negatív hiba A kétfajta hiba azonos költségű? Például ha csökkentjük a döntési küszöbértéket csökken azon tengeri sügérek száma, amelyeket tévesen lazacnak osztályoztunk Döntéselméleti feladat! Pattern Classification, Chapter 1
Pontosság és Fedés (P) Találati arány (accuracy): TP+TN / TP+TN+FP+FN elvárt predikált P N TP FP FN TN Találati arány (accuracy): TP+TN / TP+TN+FP+FN Pontosság (precision): TP / TP+FP Fedés (recall): TP / TP+FN F-mérték: harmónikus közép
Tulajdonságvektor A fényességet mellé vegyük a szélességét is 28 Tulajdonságvektor A fényességet mellé vegyük a szélességét is Hal xT = [x1, x2] Fényesség Szélesség Pattern Classification, Chapter 1
29 Pattern Classification, Chapter 1
30 Tulajdonságvektor További tulajdonságokat is vehetünk még hozzá. Óvatosnak kell lenni, hogy túl „zajos” (pl. mérési hiba) felesleges (pl. erősen korrelál másik tulajdonsággal) tulajdonságokkal ne rontsuk a rendszer hatékonyságát! Jól diszkrimináló tulajdonságokat keressünk! Erősen problémafüggőek lehetnek a tulajdonságok! Pattern Classification, Chapter 1
31 Pattern Classification, Chapter 1
32 Általánosítás Ez sajnos nem valószínű, hogy ideális lesz, hiszen eddig még nem látott inputokra kell jó osztályozást adnunk! Általánosítás vs. túltanulás/túlillesztés (overfitting) Pattern Classification, Chapter 1
33 Pattern Classification, Chapter 1
Reprezentáció Tulajdonságok száma? Egyszerű felület? Gyors döntés? 34 Reprezentáció Tulajdonságok száma? Egyszerű felület? Gyors döntés? A problémáról való ismeret beépítése csökkenti a komplexitást! Pattern Classification, Chapter 1
Kiértékelés Kiértékelési metrika (pl. hibaarány kiszámítása) 35 Kiértékelés Kiértékelési metrika (pl. hibaarány kiszámítása) Túltanulás elkerülésére elkülönítünk egy teszt adathalmazt szimuláljuk a „nem ismert” példákat Pattern Classification, Chapter 1
Példa - Gépi tanulás definíciója 36 Példa - Gépi tanulás definíciója Task (feladat): osztályozzunk kértdimenziós valós vektorokat két osztályba (lazac, tengeri sügér) Experience (tapasztalat): egy tanító halmaz, amelyikben ismert osztályba tartozó halaknál mért számpárok adottak Performance (hatékonyság): eddig nem látott halakhoz tartozó számpárok alapján helyes osztályozás aránya
Gépi tanulási ciklus Adatgyűjtés Tulajdonság(ok) kiválasztása 37 Gépi tanulási ciklus Adatgyűjtés Tulajdonság(ok) kiválasztása Modell választása Tanítás Kiértékelés Pattern Classification, Chapter 1
38 Adatgyűjtés Honnan tudjuk, hogy elegendően nagy és reprezentatív mintát (példát, samples) gyűjtöttünk a rendszer tanításához és teszteléséhez? Pattern Classification, Chapter 1
Modell kiválasztása és tanítás 39 Modell kiválasztása és tanítás A halak osztályozására eddig használt módszerrel elégedetlenek vagyunk, új módszer Az adatokat használjuk az osztályozó meghatározásához. Nagyon sok módszer az osztályozók tanítására és a modell választására… No free lunch! Pattern Classification, Chapter 1
Tematika Osztályozás Regresszió Klaszterezés Ajánló rendszerek 40 Tematika Osztályozás Regresszió Klaszterezés Ajánló rendszerek Rangsorolás Struktúra előrejelzés Visszacsatolásos tanulás
Aktívan kutatott területek 41 Aktívan kutatott területek Komplex kimenetek (csoportok hierarchiái, sorozatok, gráfok) Tanulás kevesebb tanuló adatból félig felügyelt tanulás, egyosztályos tanulók… (inter)aktív tanulás Domain adaptáció Gépi tanulási rendszerek „big data” data privacy
https://www.kaggle.com/competitions
Véleménydetekció
Előnyök Hátrányok Klasszikus közvélemény-kutatásnál nagyobb minta Jóval olcsóbb Dinamika/trendek monitorozhatóak Reprezentatív? Speciális témákról kevés adat Hátrányok
Kihívások Emberi nyelv/kreativitás nagyon gazdag Elgépelések Mire vonatkozik a vélemény? Különböző nyelvek Különböző források Különböző témák Sokszor a kontextus nagyon fontos
~10K tanító adatbázis gépi tanult modellek ~10M predikció naponta