Krystyna Napierała
Jerzy Stefanowski
Łączenie indukcji reguł i uczenia z przykładów
dla niezrównoważonych klas
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
Źródła trudności
Samo niezrównoważenie nie jest źródłem
trudności…
Problem separowalny
Łatwy mimo małej liczby przykładów
w klasie mniejszościowej
Nakładanie się klas
Trudniejsze niż w klasach
zrównoważonych
Źródła trudności
Szum
Strefa brzegowa
Small
Dane niezrównoważone
Wizualizacja przy pomocy
PCA
Haberm
an
Klasyfikatory a dane
niezrównoważone
Różna wrażliwość na dane
niezrównoważone:
C5.
0
SVM
ML
P
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
Int. Conf. on ML
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
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
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
I
F
I
F
THE
N
THE
N
THE
N
Klasyfikatory regułowe
Źródła trudności:
Strategie klasyfikacyjne oparte o głosowanie reguł ważonych
według wsparcia
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]
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ł
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
Założenia i motywacje:
Integracja uczenia reguł i przypadków:
Rule-based Learning:
Maximum Generality Bias
• generalizacja spójnych
obszarów (large
disjucts)
• czytelna reprezentacja
wiedzy
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
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ę
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
BRACID(Examples ES)
1RS = 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 it,
and of R’s class 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 it,
and of R’s class 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
• Bottom-up
• Non-sequential
covering
• Globalna ocena reguł
za pomocą F-miary
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
BRACID(Examples ES)
1RS = 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 it,
and of R’s class 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 it,
and of R’s class 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
• Bottom-up
• Non-sequential
covering
•
Globalna ocena reguł
za pomocą F-miary
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
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 it, and of R’s class 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 it, and of R’s class 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
Wykorzystanie
informacji o lokalnym
sąsiedztwie
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
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 it, and of R’s class 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 it, and of R’s class 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
Usuwanie szumu klasy
większościowej
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
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 it, and of R’s class 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 it, and of R’s class 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
Poszerzanie granic
klasy mniejszościowej
BRACID
Bottom-up induction of Rules And Cases from Imbalanced
Data
Strategia klasyfikacyjna:
Decyduje najbliższa reguła
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
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 – 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
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 BRACID BRACID-C BRACID-N-C BRACID-N-E-C
BRACID – ocena
eksperymentalna
Porównanie opcji BRACID - G-mean
0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 BRACID BRACID-C BRACID-N-C BRACID-N-E-C
BRACID – ocena
eksperymentalna
Porównanie opcji BRACID - siła reguł
mniejszościowych
0 5 10 15 20 25 30 35 40 BRACID BRACID-N-EBRACID – 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)
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
„maximum-generality 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
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
BRACID
Algorytm uczenia reguł z danych niezrównoważonych SPIDER Preprocessing przykładów ABMODLEM Wykorzystanie wiedzy eksperckiej
• 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
• K. Napierala, J. Stefanowski, S. Wilk. Learning from Imbalanced Data in Presence of Noisy and Borderline Examples. RSCTC'2010.
•W przygotowaniu artykuł
•W przygotowaniu artykuł