Osztályozókról még pár dolog Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. április 9. Csima Judit Osztályozókról még pár dolog 1 / 19
SVM (support vector machine) ez is egy osztályozó ha lineárisan szeparálható a két osztály: cél az, hogy az őket elválasztó senki földje közepén történjen a szeparálás alapfogalom a margin: legalább ekkora távolságra van minden training pont a szeparáló hipersíktól (térben sík, síkon egyenes) Csima Judit Osztályozókról még pár dolog 2 / 19
Support Vector Machines B 1 One Possible Solution Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 67 Csima Judit Osztályozókról még pár dolog 3 / 19
Support Vector Machines B 2 Another possible solution Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 68 Csima Judit Osztályozókról még pár dolog 4 / 19
Support Vector Machines B 2 Other possible solutions Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 69 Csima Judit Osztályozókról még pár dolog 5 / 19
Support Vector Machines B 1 B 2 Which one is better? B1 or B2? How do you define better? Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 70 Csima Judit Osztályozókról még pár dolog 6 / 19
Support Vector Machines B 1 B 2 b 21 b 22 margin b 11 Find hyperplane maximizes the margin => B1 is better than B2 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 71 b 12 Csima Judit Osztályozókról még pár dolog 7 / 19
Miért akarunk nagy margin-t? jobban általánosítódik az ilyen osztályozó: jobban viselkedik az új adatokon kisebb az esélye az overfittingnek: nincs túlságosan rászabva a training adatokra Csima Judit Osztályozókról még pár dolog 8 / 19
Support Vector Machines B 1 w x b 0 w x b 1 w x b 1 b 11 1 (x) 1 if w x b 1 f 2 if w x b 1 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 72 b 12 2 Margin w Csima Judit Osztályozókról még pár dolog 9 / 19
Support Vector Machines 2 We want to maximize: Margin w Which is equivalent to minimizing: 2 w L( w) 2 2 But subjected to the following constraints: f ( x i 1 ) 1 if w x if w x i i b 1 b 1 This is a constrained optimization problem Numerical approaches to solve it (e.g., quadratic programming) Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 73 Csima Judit Osztályozókról még pár dolog 10 / 19
SVM-ről még pár dolog ez csak az intuíció volt, hogy mit akarunk, részletesen nem nézzük, hogy hogyan kell megtalálni a legjobb szeparálást lineárisan nem szeparálható esetekre is van elmélet R-ben package e1071 (ugyanebben a package-ben van naív Bayes osztályozó is és még sok minden más) Csima Judit Osztályozókról még pár dolog 11 / 19
Több osztályozó használata egyszerre Eddig egy osztályozót építettünk és azzal címkéztük az új eseteket Hatékonyabb, ha több osztályozónk van és ezeket egyszerre használjuk: base classifier-eket építek ezeket egymástól függetlenül lefuttatom a többségi címkét választom Csima Judit Osztályozókról még pár dolog 12 / 19
Why does it work? Suppose there are 25 base classifiers Each classifier has error rate, = 0.35 Assume classifiers are independent Probability that the ensemble classifier makes a wrong prediction: 25 i 13 25 i (1 ) i 25 i 0.06 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 80 Csima Judit Osztályozókról még pár dolog 13 / 19
Szükséges feltételek az osztályozók függetlenek legyenek (ez nehezen teljesíthető, de ennek ellenére segít a több osztályozó használata) a base classifier-ek hibája 0.5-nél kisebb legyen (különben együtt még rosszabbak, mint külön-külön) Csima Judit Osztályozókról még pár dolog 14 / 19
Hogy lesz több osztályozónk? az input változók változtatásával ezek részhalmazait figyelembe véve építek osztályozókat pl. random forest, ha döntési fákról van szó címkék manipulásával ha sok címke van, akkor ezeket kettéosztom és minden (néhány) kettéosztáshoz készítek osztályozót új sor osztályozásánál minden osztályozó egy szavazatot generál azoknak a címkéknek, amik az általa választott részhalmazba esnek a végén a legtöbb szavazatot kapó címke nyer az osztályozót előálĺıtó algo módosításával pl. ANN-nél a hálózat topológiája vagy kezdő Θ változtatása döntési fáknál: nem a legjobb vágást veszem, hanem a legjobb k közül egyet véletlenszerűen training set darabolásával (erről mindjárt) Csima Judit Osztályozókról még pár dolog 15 / 19
General Idea D Original Training data Step 1: Create Multiple Data Sets... D 1 D 2 D t-1 D t Step 2: Build Multiple Classifiers C 1 C 2 C t -1 C t Step 3: Combine Classifiers C * Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 79 Csima Judit Osztályozókról még pár dolog 16 / 19
Egy training setből több osztályozó ha nagyon sok training adat van: szétbontás diszjunkt részekre és mindből egy osztályozó bagging: visszatevéses mintavételezés, n elemű mintákat álĺıtok elő úgy, hogy újra és újra húzok visszatevéssel az eredeti training setből egymástól függetlenül több, azonos elemszámú mintát készítek így minden mintában ugyanakkora esélye vanegy rekordnak a bekerülésre boosting: egymás után készítem a mintákat, egy minta kiválasztása függ az előző mintán felépített osztályozó teljesítményétől az egyes rekordok bekerülési valószínűségei változnak az egyes mintáknál az előző körben nem jól osztályozott rekordok nagyobb vgel kerülnek be a következő körbe Csima Judit Osztályozókról még pár dolog 17 / 19
Bagging Sampling with replacement Original Data 1 2 3 4 5 6 7 8 9 10 Bagging (Round 1) 7 8 10 8 2 5 10 10 5 9 Bagging (Round 2) 1 4 9 1 2 3 2 7 3 2 Bagging (Round 3) 1 8 5 10 5 5 9 6 3 7 Build classifier on each bootstrap sample Each sample has probability (1 1/n) n of being selected Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 82 Csima Judit Osztályozókról még pár dolog 18 / 19
Boosting Records that are wrongly classified will have their weights increased Records that are classified correctly will have their weights decreased Original Data 1 2 3 4 5 6 7 8 9 10 Boosting (Round 1) 7 3 2 8 7 9 4 10 6 3 Boosting (Round 2) 5 4 9 4 2 5 1 7 4 2 Boosting (Round 3) 4 4 8 10 4 5 4 6 3 4 Example 4 is hard to classify Its weight is increased, therefore it is more likely to be chosen again in subsequent rounds Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 84 Csima Judit Osztályozókról még pár dolog 19 / 19