Łączenie indukcji reguł i uczenia z przykładów dla niezrównoważonych klas Krystyna Napierała Jerzy Stefanowski
Plan prezentacji Źródła trudności w uczeniu z danych niezrównoważonych (przypomnienie) Indukcja reguł z danych niezrównoważonych Problemy standardowych algorytmów uczących Przegląd istniejących rozwiązań BRACID Bottom-up induction of Rules And Cases from Imbalanced Data
Dane niezrównoważone
Źródła trudności Samo niezrównoważenie nie jest źródłem trudności Problem separowalny Nakładanie się klas Łatwy mimo małej liczby przykładów Trudniejsze niż w klasach w klasie mniejszościowej zrównoważonych
Źródła trudności Szum Strefa brzegowa Small disjuncts
Dane niezrównoważone Wizualizacja przy pomocy PCA Newthyroid Haberm an
Klasyfikatory a dane niezrównoważone Różna wrażliwość na dane niezrównoważone: ML P C5. 0 SVM N. Japkowicz and S. Stephen. 2002. The class imbalance problem: A systematic study. Intell. Data Anal. 6, 5 (2002) J. Van Hulse J et al., 2007 Experimental perspectives on learning from imbalanced data. In: Proc. of the 24th
Reguły a dane niezrównoważone Klasyfikatory regułowe są wrażliwe na nierówny rozkład: Data Modlem C4.5 Acl 0.805 0.855 Breast 0.319 0.387 Bupa 0.520 0.491 Cleveland 0.085 0.237 Ecoli 0.400 0.580 Haberman 0.240 0.410 Hepatitis 0.383 0.432 New-thyr. 0.812 0.922 Pima 0.485 0.601 J.Stefanowski, Sz.Wilk. Selective pre-processing of imbalanced data for improving classification performance. DAWAK 2007
Klasyfikatory regułowe Źródła trudności: Greedy sequential covering powoduje fragmentację danych Usunięcie pokrytych przykładów
Klasyfikatory regułowe Źródła trudności: Greedy sequential covering powoduje fragmentację danych Techniki niezachłanne
Klasyfikatory regułowe Źródła trudności: Budowanie reguł top-down i miary oceny reguł reprezentują Maximum Generality Bias i utrudniają znalezienie reguł dla small disjuncts I F THE N I F & THE N I F & & THE N
Klasyfikatory regułowe Źródła trudności: Strategie klasyfikacyjne oparte o głosowanie reguł ważonych według wsparcia (support) dyskryminuje klasę mniejszościową
Przegląd rozwiązań reguły + niezrównoważenie Podejścia mniej zachłanne : RLSD [J. Zhang, E. Bloedorn, L. Rosen, and D. Venese 2004] BRUTE [P. Riddle, R. Segal and O. Etzioni 1994] Modyfikacja EXPLORE [J.Stefanowski, Sz.Wilk 2004] Zmiana w fazie upraszczania reguł Przycinanie tylko w klasie mniejszościowej [A. An, N. Cercone and X. Huang 2001] IDL [C.H. Nguyen, T.B. Ho 2005] Zmiana strategii klasyfikacyjnej Mnożnik dla siły reguł mniejszościowych [J. Grzymala-Busse, L. Goodwin, W. Grzymala-Busse, X.Zheng 2000] ABMODLEM [K.Napierała, J.Stefanowski 2009]
Przegląd rozwiązań reguły + niezrównoważenie Zmiana maximum generality bias w CN2 dla small disjuncts [R. C. Holte, L. E. Acker, and B. W. Porter 1989] PN-Rule: niezależna optymalizacja precision i recall w dwóch fazach [M. Joshi, R. Agarwal, V. Kumar 2001] SHRINK: etykietowanie mieszanych obszarów jako mniejszościowych [M. Kubat, R. Holte, S. Matwin 1997] Fuzzy Rough Set Approximations [Y. Liu, B. Feng and G. Bai 2008] Tworzenie klasyfikatorów złożonych [J. Blaszczynski, M. Deckert, J. Stefanowski, S. Wilk 2010] Ewoluowanie genetyczne zbioru reguł [A. Orriols-Puig, F. Bernad-Mansilla 2007][C. Milar, G. Batista, A. Carvalho 2011]
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Założenia i motywacje: Integracja uczenia reguł i przypadków: Instance-based Learning: Maximum Specificity Bias złożone granice klas z małej liczby przykładów Lokalność: mniejsza wrażliwość na niezrównoważenie klas Rule-based Learning: Maximum Generality Bias generalizacja spójnych obszarów (large disjucts) czytelna reprezentacja wiedzy
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Założenia i motywacje: Wykorzystanie uczenia bottom-up Odejście od schematu greedy sequential covering Strategia klasyfikacyjna nearest rules Inspirowany algorytmem RISE [P.Domingos 1996] Wykorzystuje do indukcji informację o lokalnym sąsiedztwie (naturze przykładów) Do wyboru sąsiadów stosuje miarę odległości HVDM Wykorzystanie miar oceny ukierunkowanych na klasę mniejszościową (F-miara)
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Bottom-up Non-sequential covering Globalna ocena reguł za pomocą F-miary BRACID(Examples ES) 1 RS = ES 2 Ready_rules = empty_set 3 Labels = Calculate labels for minority class examples 4 Iteration=0 5 Repeat 6 For each rule R in RS not belonging to Ready_rules 7 If R s class is minority class 8 Find Ek=k nearest examples to R not already covered b and of R s 9 If Labels[R s seed]=safe 10 Improved = AddBestRule(Ek, R,RS) 11 Else 12 Improved = AddAllGoodRules(Ek,R,RS) 13 If Improved=false and not Iteration=0 14 Extend (R) 15 Add R to Ready_rules 16 Else #R s class is majority class 17 Find Ek=k nearest examples to R not already covered by and of R s 18 Improved = AddBestRule(Ek, R,RS, Label[R s seed]) 19 If Improved=false 20 If Iteration=0 #Treat as noise 21 Remove R from RS and R s seed from ES 22 Else 23 Add R to Ready_rules 24 Until any rule improved the overall classification 25 Return RS
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Bottom-up Non-sequential covering Globalna ocena reguł za pomocą F-miary BRACID(Examples ES) 1 RS = ES 2 Ready_rules = empty_set 3 Labels = Calculate labels for minority class examples 4 Iteration=0 5 Repeat 6 For each rule R in RS not belonging to Ready_rules 7 If R s class is minority class 8 Find Ek=k nearest examples to R not already covered b and of R s 9 If Labels[R s seed]=safe 10 Improved = AddBestRule(Ek, R,RS) 11 Else 12 Improved = AddAllGoodRules(Ek,R,RS) 13 If Improved=false and not Iteration=0 14 Extend (R) 15 Add R to Ready_rules 16 Else #R s class is majority class 17 Find Ek=k nearest examples to R not already covered by and of R s 18 Improved = AddBestRule(Ek, R,RS, Label[R s seed]) 19 If Improved=false 20 If Iteration=0 #Treat as noise 21 Remove R from RS and R s seed from ES 22 Else 23 Add R to Ready_rules 24 Until any rule improved the overall classification 25 Return RS
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Wykorzystanie informacji o lokalnym sąsiedztwie BRACID(Examples ES) 1 RS = ES 2 Ready_rules = empty_set 3 Labels = Calculate labels for minority class examples 4 Iteration=0 5 Repeat 6 For each rule R in RS not belonging to Ready_rules 7 If R s class is minority class 8 Find Ek=k nearest examples to R not already covered by and of R s 9 If Labels[R s seed]=safe 10 Improved = AddBestRule(Ek, R,RS) 11 Else 12 Improved = AddAllGoodRules(Ek,R,RS) 13 If Improved=false and not Iteration=0 14 Extend (R) 15 Add R to Ready_rules 16 Else #R s class is majority class 17 Find Ek=k nearest examples to R not already covered by i and of R s 18 Improved = AddBestRule(Ek, R,RS, Label[R s seed]) 19 If Improved=false 20 If Iteration=0 #Treat as noise 21 Remove R from RS and R s seed from ES 22 Else 23 Add R to Ready_rules 24 Until any rule improved the overall classification 25 Return RS
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Usuwanie szumu klasy większościowej BRACID(Examples ES) 1 RS = ES 2 Ready_rules = empty_set 3 Labels = Calculate labels for minority class examples 4 Iteration=0 5 Repeat 6 For each rule R in RS not belonging to Ready_rules 7 If R s class is minority class 8 Find Ek=k nearest examples to R not already covered by and of R s 9 If Labels[R s seed]=safe 10 Improved = AddBestRule(Ek, R,RS) 11 Else 12 Improved = AddAllGoodRules(Ek,R,RS) 13 If Improved=false and not Iteration=0 14 Extend (R) 15 Add R to Ready_rules 16 Else #R s class is majority class 17 Find Ek=k nearest examples to R not already covered by i and of R s 18 Improved = AddBestRule(Ek, R,RS, Label[R s seed]) 19 If Improved=false 20 If Iteration=0 #Treat as noise 21 Remove R from RS and R s seed from ES 22 Else 23 Add R to Ready_rules 24 Until any rule improved the overall classification 25 Return RS
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Poszerzanie granic klasy mniejszościowej BRACID(Examples ES) 1 RS = ES 2 Ready_rules = empty_set 3 Labels = Calculate labels for minority class examples 4 Iteration=0 5 Repeat 6 For each rule R in RS not belonging to Ready_rules 7 If R s class is minority class 8 Find Ek=k nearest examples to R not already covered by and of R s 9 If Labels[R s seed]=safe 10 Improved = AddBestRule(Ek, R,RS) 11 Else 12 Improved = AddAllGoodRules(Ek,R,RS) 13 If Improved=false and not Iteration=0 14 Extend (R) 15 Add R to Ready_rules 16 Else #R s class is majority class 17 Find Ek=k nearest examples to R not already covered by i and of R s 18 Improved = AddBestRule(Ek, R,RS, Label[R s seed]) 19 If Improved=false 20 If Iteration=0 #Treat as noise 21 Remove R from RS and R s seed from ES 22 Else 23 Add R to Ready_rules 24 Until any rule improved the overall classification 25 Return RS
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Strategia klasyfikacyjna: Decyduje najbliższa reguła Co gdy wiele reguł o tej samej odległości?
BRACID Bottom-up induction of Rules And Cases from Imbalanced Data Strategia klasyfikacyjna - wiele reguł o tej samej odległości:? RISE: decyduje reguła o największej liczbie wygranych przykładów uczących BRACID: decyduje koalicja o większym sumarycznym wsparciu reguł
BRACID ocena eksperymentalna Cele eksperymentów: Porównanie na zbiorach o różnej charakterystyce Porównanie ze znanymi klasyfikatorami regułowymi: CN2 MODLEM C4.5 Rules RIPPER MODLEM-C ze zmodyfikowaną strategią klasyfikacyjną Porównanie z rodzicami hybrydowego algorytmu BRACID Klasyfikatory regułowe + knn + RISE
BRACID ocena eksperymentalna Plan eksperymentów: 14 zbiorów o różnym rozmiarze, stopniu niezrównoważenia i typie atrybutów 10-fold cross-validation Środowisko: WEKA
BRACID ocena eksperymentalna Plan eksperymentów: Miary oceny: Ocena trafności w klasach: Sensitivity, Specificity Miary zbiorcze: F-miara, G-mean Średnia liczba reguł, długość i siła reguł Stosunek przykładów do reguł w klasyfikatorze BRACID
BRACID ocena eksperymentalna Charakterystyka zbiorów Zbiór Rozmiar Kl.mniejsz. St.niezrówn. [%] L. attr (num) abalone 4177 335 8,02 8 (7) breast-cancer 286 85 29,72 9 (0) car 1728 69 3,99 6 (0) cleveland 303 35 11,55 13 (6) cmc 1473 333 22,61 9 (2) credit-g 1000 300 30,00 20 (7) ecoli 336 35 10,42 7 (7) haberman 306 81 26,47 3 (3) hepatitis 155 32 20,65 19 (6) new-thyroid 215 35 16,28 5 (5) solar-flaref 1066 43 4,03 12 (0) transfusion 748 178 23,80 4 (4) vehicle 846 199 23,52 18 (18) yeast-me2 1484 51 3,44 8 (8)
BRACID ocena eksperymentalna Porównanie klasyfikatorów - sensitivity Zbiór BRACID RISE knn C45.rules CN2 PART RIPPER Modlem Modlem-C abalone 0,47 0,13 0,14 0,34 0,16 0,19 0,18 0,25 0,27 b-cancer 0,57 0,36 0,26 0,33 0,28 0,41 0,29 0,32 0,41 car 0,78 0,60 0,03 0,75 0,54 0,90 0,53 0,79 0,79 cleveland 0,48 0,15 0,04 0,18 0,00 0,25 0,16 0,08 0,14 cmc 0,63 0,29 0,31 0,40 0,10 0,38 0,07 0,26 0,36 credit-g 0,80 0,36 0,37 0,37 0,26 0,48 0,21 0,36 0,55 ecoli 0,79 0,50 0,58 0,60 0,18 0,42 0,45 0,40 0,46 haberman 0,67 0,22 0,18 0,24 0,18 0,33 0,18 0,24 0,41 hepatitis 0,76 0,49 0,47 0,36 0,05 0,46 0,42 0,38 0,55 new-thyroid 0,98 0,93 0,87 0,85 0,87 0,93 0,86 0,81 0,84 solar-flaref 0,52 0,07 0,00 0,15 0,00 0,19 0,01 0,07 0,19 transfusion 0,74 0,30 0,32 0,39 0,15 0,43 0,09 0,37 0,50 vehicle 0,96 0,83 0,87 0,87 0,33 0,88 0,87 0,86 0,92 yeast-me2 0,55 0,24 0,19 0,32 0,00 0,27 0,26 0,19 0,21
BRACID ocena eksperymentalna Porównanie klasyfikatorów - G-mean Zbiór BRACID RISE knn C45.rules CN2 PART RIPPER Modlem Modlem-C abalone 0,65 0,34 0,36 0,57 0,40 0,42 0,42 0,48 0,51 b-cancer 0,56 0,54 0,47 0,49 0,46 0,53 0,48 0,49 0,53 car 0,87 0,75 0,08 0,86 0,71 0,94 0,71 0,88 0,88 cleveland 0,57 0,23 0,08 0,26 0,00 0,38 0,26 0,15 0,23 cmc 0,64 0,51 0,52 0,59 0,26 0,54 0,25 0,47 0,54 credit-g 0,61 0,54 0,57 0,55 0,47 0,60 0,44 0,56 0,65 ecoli 0,83 0,64 0,70 0,72 0,28 0,55 0,59 0,57 0,63 haberman 0,58 0,38 0,33 0,43 0,35 0,47 0,36 0,40 0,53 hepatitis 0,75 0,60 0,62 0,51 0,05 0,55 0,50 0,50 0,64 new-thyroid 0,98 0,95 0,92 0,90 0,92 0,95 0,91 0,88 0,90 solar-flaref 0,64 0,14 0,00 0,27 0,00 0,32 0,02 0,13 0,32 transfusion 0,64 0,51 0,53 0,58 0,34 0,60 0,27 0,53 0,58 vehicle 0,94 0,90 0,91 0,91 0,51 0,92 0,92 0,92 0,94 yeast-me2 0,71 0,44 0,34 0,51 0,00 0,42 0,45 0,34 0,37
BRACID ocena eksperymentalna Porównanie klasyfikatorów - F-miara Zbiór BRACID RISE knn C45.rules CN2 PART RIPPER Modlem Modlem-C abalone 0,37 0,19 0,21 0,39 0,25 0,27 0,28 0,33 0,35 b-cancer 0,44 0,43 0,36 0,37 0,33 0,39 0,37 0,35 0,39 car 0,73 0,67 0,05 0,77 0,68 0,90 0,60 0,87 0,86 cleveland 0,33 0,17 0,06 0,18 0,00 0,23 0,17 0,10 0,16 cmc 0,44 0,35 0,36 0,43 0,14 0,36 0,12 0,31 0,37 credit-g 0,53 0,40 0,45 0,43 0,35 0,47 0,31 0,44 0,52 ecoli 0,60 0,52 0,59 0,59 0,24 0,45 0,47 0,46 0,51 haberman 0,44 0,24 0,21 0,30 0,23 0,35 0,23 0,26 0,37 hepatitis 0,60 0,49 0,54 0,41 0,10 0,45 0,41 0,42 0,54 new-thyroid 0,97 0,95 0,89 0,84 0,91 0,92 0,88 0,85 0,87 solar-flaref 0,28 0,09 0,00 0,17 0,00 0,18 0,01 0,08 0,19 transfusion 0,47 0,35 0,38 0,44 0,21 0,46 0,15 0,35 0,40 vehicle 0,86 0,86 0,88 0,87 0,43 0,88 0,88 0,89 0,90 yeast-me2 0,42 0,31 0,24 0,35 0,00 0,29 0,29 0,24 0,26
BRACID ocena eksperymentalna Porównanie klasyfikatorów - statystyki reguł Zbiór klasyfikator l. reguł (MIN) l. reguł (MAJ) l. przyp. siła (MIN) Siła (MAJ) b-cancer CN2 22,60 34,88 2,77 6,09 Modlem 32,46 36,94 3,04 7,20 RISE 52,68 73,12 2,45 7,99 BRACID 64,60 61,54 18,10 4,76 5,78 hepatitis CN2 3,66 4,14 4,00 15,68 Modlem 4,88 5,42 7,78 30,17 RISE 22,18 47,60 5,12 16,58 BRACID 60,88 46,54 1,38 7,03 19,57 new-thyroid CN2 2,70 3,20 17,71 140,63 Modlem 2,76 2,54 19,10 133,17 RISE 9,72 20,98 13,23 112,15 BRACID 19,18 20,70 0,04 23,18 116,76 transfusion CN2 23,00 37,24 9,86 17,85 Modlem 59,02 63,36 6,32 14,59 RISE 101,08 110,66 7,86 14,62 BRACID 146,02 109,06 21,00 11,90 11,06
BRACID ocena eksperymentalna Porównanie klasyfikatorów - statystyki reguł Zbiór klasyfikator l. reguł (MIN) l. reguł (MAJ) l. przyp. siła (MIN) Siła (MAJ) solar-flaref CN2 11,30 29,02 30,49 59,39 Modlem 20,24 18,18 5,55 107,20 RISE 32,64 48,42 4,10 58,20 BRACID 34,50 64,08 11,70 7,55 37,14 cleveland CN2 9,76 13,02 10,64 44,71 Modlem 11,82 14,20 2,91 37,33 RISE 19,10 83,66 4,22 16,02 BRACID 84,52 81,20 2,50 5,71 17,05 car CN2 30,34 16,00 2,21 215,76 Modlem 14,02 12,00 5,07 270,31 RISE 45,38 328,92 1,85 17,54 BRACID 35,74 164,14 12,28 2,95 32,29
BRACID ocena eksperymentalna Porównanie opcji BRACID - sensitivity 1 0,9 0,8 0,7 BRACID BRACID-C BRACID-N-C BRACID-N-E-C 0,6 0,5 0,4 0,3 0,2 0,1
BRACID ocena eksperymentalna Porównanie opcji BRACID - G-mean 1 0,9 0,8 0,7 BRACID BRACID-C BRACID-N-C BRACID-N-E-C 0,6 0,5 0,4 0,3 0,2
BRACID ocena eksperymentalna 40 35 30 25 Porównanie opcji BRACID - siła reguł mniejszościowych BRACID BRACID-N-E 20 15 10 5 0
BRACID podsumowanie BRACID poprawia rozpoznanie klasy mniejszościowej Wygrywa z innymi klasyfikatorami regułowymi oraz knn Poprawia miary globalne Tworzy większe zbiory reguł (szczególnie dla klasy mniejszościowej) Tworzy średnio silniejsze reguły
BRACID podsumowanie BRACID stara się na wielu płaszczyznach dostosować do problematyki danych niezrównoważonych: integracja RBL i IBL aby wykorzystać zalety obu podejść odejście od indukcji top-down aby zapobiec maximumgenerality bias zmiana miar oceny reguł aby zapobiec majority bias odejście od sequential covering aby zapobiec fragmentacji danych tworzenie większej liczby reguł dla klasy mniejszościowej w trudnych regionach (reguły wyłącznie z danych, inaczej niż nadlosowanie przykładów w preprocessingu i sztuczne podnoszenie siły reguł w strategii klasyfikacyjnej) poszerzanie granic klasy mniejszościowej i wybór z większej liczby reguł w spójnych regionach klasy mniejszościowej w odpowiedzi na problem niedoreprezentowania klasy mniejszościowej obsługa szumu większościowego aby zapobiec fragmentacji obszaru klasy mniejszościowej zastosowanie bardziej lokalnych strategii klasyfikacyjnych
BRACID podsumowanie Kierunki dalszych prac: Porównanie z innymi dedykowanymi klasyfikatorami regułowymi poza Modlem-C Obsługa większej liczby klas mniejszościowych (problemów wieloklasowych) Kontrolowane eksperymenty na sztucznych danych aby ocenić skuteczność BRACID na różnych rodzajach zaszumienia danych
Plan doktoratu K. Napierała, J.Stefanowski. Argument Based Generalization of MODLEM Rule Induction Algorithm. RSCTC'2010. K. Napierała, J. Stefanowski. Addressing imbalanced data with argument based rule learning. W recenzji w Computational Intelligence Journal ABMODLEM Wykorzystanie wiedzy eksperckiej SPIDER Preprocessing przykładów K. Napierala, J. Stefanowski, S. Wilk. Learning from Imbalanced Data in Presence of Noisy and Borderline Examples. RSCTC'2010. W przygotowaniu artykuł BRACID Algorytm uczenia reguł z danych niezrównoważonych W przygotowaniu artykuł