Zakład Systemów Informatycznych Instytut Informatyki, Uniwersytet Śląski Chorzów, 9 grudzień 2014
Wprowadzenie
Wprowadzenie problem skalowalności dla optymalizacji reguł decyzjnych na podstawie podejścia opartego na dynamicznym programowaniu konstruowanie reguł decyzyjnych, które pokrywają wiele obiektów γ-reguły decyzyjne: G(T ) γ
Wprowadzenie modyfikacje algorytmu dynamicznego programowania najczęstsza wartość atrybutu, atrybut o minimalnej liczbie wartości i najczęstsza wartość dla pozostałych atrybutów; wyniki eksperymentalne dla zbiorów danych z UCI Machine Learning Repository porównanie wartości pokrycia reguł decyzyjnych, porównanie liczby węzłów i krawędzi w skierowanym grafie acyklicznym.
Tablica decyzyjna T N(T ) liczba wierszy w tabeli T Najbardziej wspólna decyzja dla T N(T ) mcd liczba wierszy w tabeli T które mają przypisaną najbardziej wspólną decyzję dla T G(T ) = (N(T ) N(T ) mcd )/N(T ) Tabela zdegenerowana tabela nie posiada żadnych wierszy lub wszystkie wiersze mają taką samą decyzję.
Podtabela tabeli T Separowalna podtabela tabeli T Niech f i1,..., f im {f 1,... f n} i a 1,..., a m to nieujemne liczby całkowite. Separowalna podtabela Θ = T (f i1, a 1)... (f im, a m) tabeli T zawiera wiersze, które na przecięciu z kolumnami f i1,..., f im posiadają wartości a 1,..., a m.
Reguła decyzyjna zrealizowana dla wiersza r i prawdziwa dla tabeli T Niech r = (b 1,..., b n) będzie wierszem tabeli T. Reguła decyzyjna f i1 = a 1... f im = a m d jest zrealizowana dla wiersza r jeśli a 1 = b i1,..., a m = b im. γ jest nieujemną liczbą rzeczywistą, 0 γ < 1 Reguła decyzyjna f i1 = a 1... f im = a m d jest γ-prawdziwa dla tabeli T d jest najbardziej wspólną decyzją dla T = T (f i1, a 1)... (f im, a m) i G(T ) γ Jeśli reguła jest γ-prawdziwa dla tabeli T i zrealizowana dla wiersza r to jest to γ-reguła decyzyjna dla T i r.
Pokrycie reguł decyzyjnych Niech τ będzie regułą decyzyjną dla T. Pokrycie reguły decyzyjnej c(τ) to liczba wierszy z tabeli T dla których τ jest zrealizowana i które mają przypisaną decyzję d.
konstrukcja skierowanego grafu acyklicznego γ(t ); opis γ-reguł decyzjnych; optymalizacja γ-reguł decyzjnych względem pokrycia. Węzłami grafu są separowalne podtabele tabeli T. Węzeł grafu jest nazywany końcowym jeśli nie wychodzą z niego żadne krawędzie (G(Θ) γ).
Konstrukcja skierowanego grafu acyklicznego wybierz jeden atrybut o minimalnej liczbie wartości; dla pozostałych atrybutów wybierz jedną, najczęstszą wartość; jeśli istnieją dwie lub więcej takich wartości, wybierz wartość atrybutu, która istnieje dla maksymalnej liczby wierszy o tej samej decyzji; jeśli istnieją dwie lub więcej takich wartości, wybierz pierwszą napotkaną.
Konstrukcja skierowanego grafu acyklicznego Θ podtabela tabeli T, E(Θ) zbiór atrybutów, które posiadają przynajmniej dwie różne wartości, E(Θ, f i ) zbiór wartości atrybutu f i. E(Θ) = {f im }, E(Θ, f im ) = {a m}
Konstrukcja skierowanego grafu acyklicznego G γ (T 0 ) E(T 0) = {f 1, f 2, f 3} E(T 0, f 1) = {0, 1}, E(T 0, f 2) = {0}, E(T 0, f 3) = {1} G(T 0) = 0.3, γ = 0.4 G(Θ) γ
Konstrukcja skierowanego grafu acyklicznego G 0.4 (T 0 )
Konstrukcja skierowanego grafu acyklicznego G 0.4 (T 0 )
Konstrukcja skierowanego grafu acyklicznego G 0.4 (T 0 )
Opis γ-reguł decyzyjnych Rul G (Θ, r) jest zbiorem reguł decyzyjnych dla każdego węzła Θ grafu G i dla każdego wiersza r tabeli Θ Niech Θ będzie węzłem końcowym w grafie G G(Θ) γ Rul G (Θ, r) = { d}.
Opis γ-reguł decyzyjnych Rul G (Θ 1, r 1) = Rul G (Θ 1, r 2) = Rul G (Θ 1, r 4) = { 3};
Opis γ-reguł decyzyjnych Rul G (Θ 1, r 1) = Rul G (Θ 1, r 2) = Rul G (Θ 1, r 4) = { 3}; Rul G (Θ 2, r 3) = { 1};
Opis γ-reguł decyzyjnych Rul G (Θ 1, r 1) = Rul G (Θ 1, r 2) = Rul G (Θ 1, r 4) = { 3}; Rul G (Θ 2, r 3) = { 1}; Rul G (Θ 3, r 1) = Rul G (Θ 3, r 4) = { 3};
Opis γ-reguł decyzyjnych Rul G (Θ 1, r 1) = Rul G (Θ 1, r 2) = Rul G (Θ 1, r 4) = { 3}; Rul G (Θ 2, r 3) = { 1}; Rul G (Θ 3, r 1) = Rul G (Θ 3, r 4) = { 3}; Rul G (Θ 4, r 2) = Rul G (Θ 4, r 3) = Rul G (Θ 4, r 4) = { 3};
Opis γ-reguł decyzyjnych Niech Θ będzie niekońcowym węzłem w grafie G, takim, że dla każdej podtabeli Θ tabeli Θ i dla każdego wiersza r tabeli Θ zbiór reguł Rul(Θ, r ) został zdefiniowany. Niech r = (b 1,..., b n) będzie wierszem tabeli Θ. Dla każdego atrybutu f i E G (Θ, r), definiujemy zbiór reguł Rul G (Θ, r, f i ) następująco: Rul G (Θ, r, f i ) = {f i = b i σ s : σ s Rul G (Θ(f i, b i ), r)}. Wówczas Rul G (Θ, r) = Rul G (Θ, r, f i ). f i E G (Θ,r)
Opis γ-reguł decyzyjnych Rul G (T 0, r 1) = {f 1 = 0 3, f 2 = 0 3};
Opis γ-reguł decyzyjnych Rul G (T 0, r 1) = {f 1 = 0 3, f 2 = 0 3}; Rul G (T 0, r 2) = {f 1 = 0 3, f 3 = 1 3};
Opis γ-reguł decyzyjnych Rul G (T 0, r 1) = {f 1 = 0 3, f 2 = 0 3}; Rul G (T 0, r 2) = {f 1 = 0 3, f 3 = 1 3}; Rul G (T 0, r 3) = {f 1 = 1 1, f 3 = 1 3};
Opis γ-reguł decyzyjnych Rul G (T 0, r 1) = {f 1 = 0 3, f 2 = 0 3}; Rul G (T 0, r 2) = {f 1 = 0 3, f 3 = 1 3}; Rul G (T 0, r 3) = {f 1 = 1 1, f 3 = 1 3}; Rul G (T 0, r 4) = {f 1 = 0 3, f 2 = 0 3, f 3 = 1 3};
Procedura optymalizacji względem pokrycia Dla każdego węzła Θ w grafie G procedura: przypisuje do każdego wiersza r tabeli Θ zbiór Rul c G (Θ, r) γ-reguł decyzyjnych o maksymalnym pokryciu ze zbioru Rul G (Θ, r), przypisuje do każdego wiersza r tabeli Θ liczbę Opt c G (Θ, r) maksymalne pokrycie γ-reguły decyzyjnej ze zbioru Rul G (Θ, r), zmienia zbiór E G (Θ, r) przypisany do wiersza r w niekońcowym węźle Θ. Uzyskany graf oznaczamy jako G c.
Rul G (T 0, r 1) = {f 1 = 0 3}, Opt c G (T 0, r 1) = 3; Rul G (T 0, r 2) = {f 1 = 0 3}, Opt c G (T 0, r 2) = 3; Rul G (T 0, r 3) = {f 3 = 1 3}, Opt c G (T 0, r 3) = 2; Rul G (T 0, r 4) = {f 1 = 0 3}, Opt c G (T 0, r 4) = 3.
Dane wejściowe: Tablica decyzyjna T z atrybutami warunkowymi f 1,..., f n, wiersz r = (b 1,..., b n) tabeli T i liczba rzeczywista γ, 0 γ < 1. Dane wyjściowe: γ-reguła decyzyjna dla T i r. 1. Q ; 2. T T ; 3. Dopóki G(T ) > γ wybierz atrybut f i {f 1,..., f n} o minimalnym indeksie i taki, że G(T (f i, b i )) jest minimalne; T T (f i, b i ); Q Q {f i }; 4. f i Q (f i = b i ) d gdzie d jest najbardziej wspólną decyzją dla T.
zbiory danych z UCI Machine Learning Repository; usuniecie unikalnych wartości atrybutów warunkowych; zastąpienie grupy równych wierszy o różnych decyzjach jednym wierszem do którego została przypisana najbardziej wspólna decyzja dla grupy ; zastąpienie brakujących wartości atrybutów przez najbardziej wspólną wartość danego atrybutu.
Pokrycie γ-reguł decyzyjnych dla każdego wiersza tablicy decyzyjnej T została znaleziona maksymalna wartość pokrycia reguły decyzyjnej dla T i r; wyznaczenie wartości średniej pokrycia dla wierszy tabeli T ; wyznaczenie relatywnej różnicy średniej wartości pokrycia; porównanie liczby węzłów i krawędzi w skierowanym grafie acyklicznym.
Porównanie średniej wartości pokrycia reguł decyzyjnych γ = G(T ) 0.001 γ = G(T ) 0.01 Decision table attr rows avg-mod avg-dp avg-greedy diff mod diff greedyavg-mod avg-dp avg-greedy diff mod diff greedy adult-stretch 4 16 6,25 7,00 6,25 0,11 0,11 6,25 7,00 6,25 0,11 0,11 balance-scale 4 625 3,07 4,21 3,71 0,27 0,12 3,07 4,21 3,71 0,27 0,12 breast-cancer 9 266 6,15 9,53 4,26 0,35 0,55 6,15 9,53 4,26 0,35 0,55 cars 6 1728 325,58 332,76 331,41 0,02 0,00 325,58 332,76 331,41 0,02 0,00 lymphography 18 148 20,69 21,54 9,55 0,04 0,56 20,69 21,54 9,55 0,04 0,56 monks-1-test 6 432 33,50 45,00 36,00 0,26 0,20 33,50 45,00 36,00 0,26 0,20 monks-2-train 6 169 4,32 6,38 3,89 0,32 0,39 4,32 6,38 3,89 0,32 0,39 nursery 812960 1483,58 1531,04 1508,20 0,03 0,01 1483,58 1531,04 1508,20 0,03 0,01 shuttle-landingl 6 15 1,80 2,13 1,87 0,15 0,12 1,80 2,13 1,87 0,15 0,12 soybean-small 35 47 12,53 12,53 8,89 0,00 0,29 12,53 12,53 8,89 0,00 0,29 teeth 8 23 1,00 1,00 1,00 0,00 0,00 1,00 1,00 1,00 0,00 0,00 Average 0,14 0,21 0,14 0,21 diff = (Optimum Coverage Coverage)/Optimum Coverage
Porównanie średniej wartości pokrycia reguł decyzyjnych γ = G(T ) 0.1 γ = G(T ) 0.2 Decision table attr rows avg-mod avg-dp avg-greedy diff mod diff greedyavg-mod avg-dp avg-greedy diff mod diff greedy adult-stretch 4 16 6,25 7,00 6,25 0,11 0,11 6,25 7,00 6,25 0,11 0,11 balance-scale 4 625 3,07 10,94 3,71 0,72 0,66 10,43 13,85 3,71 0,25 0,73 breast-cancer 9 266 6,15 9,53 4,26 0,35 0,55 7,56 12,27 4,26 0,38 0,65 cars 6 1728 325,58 332,76 331,41 0,02 0,00 325,58 332,82 331,41 0,02 0,00 lymphography 18 148 20,69 24,38 9,55 0,15 0,61 35,84 36,84 9,55 0,03 0,74 monks-1-test 6 432 33,50 45,00 36,00 0,26 0,20 33,50 45,00 36,00 0,26 0,20 monks-2-train 6 169 4,32 6,38 3,89 0,32 0,39 4,87 7,30 3,89 0,33 0,47 nursery 812960 1483,58 1602,99 1508,20 0,07 0,06 1485,89 1663,75 1508,20 0,11 0,09 shuttle-landing 6 15 1,80 2,13 1,87 0,15 0,12 1,80 2,13 1,87 0,15 0,12 soybean-small 35 47 12,53 12,83 8,89 0,02 0,31 12,53 12,83 8,89 0,02 0,31 teeth 8 23 1,00 1,00 1,00 0,00 0,00 1,00 1,00 1,00 0,00 0,00 Average 0,20 0,27 0,15 0,31 diff = (Optimum Coverage Coverage)/Optimum Coverage
Porównanie średniej wartości pokrycia reguł decyzyjnych - relatywna różnica
Porównanie liczby węzłów i krawędzi w grafie γ (T ) G(T ) 0.001 G(T ) 0.01 Decision table nd edg nd-dp edg-dp nd edg nd-dp edg-dp adult-stretch 36 37 72 108 36 37 72 108 balance-scale 654 808 1212 3420 654 808 1212 3420 breast-cancer 2483 9218 6001 60387 2483 9218 6001 60387 cars 799 1133 7007 19886 799 1133 7007 19886 lymphography 26844 209196 40928 814815 26844 209196 40928 814815 monks-1-test 568 694 2772 7878 568 694 2772 7878 monks-2-train 632 1277 1515 6800 632 1277 1515 6800 nursery 18620 27826 115200 434338 18620 27826 115200 434338 shuttle-landing 78 257 85 513 78 257 85 513 soybean-small 3023 38489 3592 103520 3023 38489 3592 103520 teeth 118 446 135 1075 118 446 135 1075
Porównanie liczby węzłów i krawędzi w grafie γ (T ) G(T ) 0.1 G(T ) 0.2 Decision table nd edg nd-dp edg-dp nd edg nd-dp edg-dp adult-stretch 36 37 72 108 36 37 72 108 balance-scale 625 727 1204 3300 622 710 1200 3220 breast-cancer 2483 9218 6001 60387 2480 9201 6001 60186 cars 799 1133 7007 19886 794 1123 7002 19866 lymphography 26832 208936 40925 813980 26362 202043 40779 791308 monks-1-test 568 694 2772 7878 568 694 2772 7878 monks-2-train 632 1277 1515 6800 631 1272 1515 6769 nursery 18572 27558 115200 428129 18386 27226 115200 416387 shuttle-landing 78 257 85 513 78 257 85 513 soybean-small 3023 38413 3592 103351 3020 38039 3592 102523 teeth 118 446 135 1075 118 446 135 1075
Porównanie liczby węzłów i krawędzi w grafie γ (T ) G(T ) 0.001 G(T ) 0.01 G(T ) 0.1 G(T ) 0.2 Decision table nd edg nd edg nd edg nd edg adult-stretch 2,00 2,92 2,00 2,92 2,00 2,92 2,00 2,92 balance-scale 1,85 4,23 1,85 4,23 1,93 4,54 1,93 4,54 breast-cancer 2,42 6,55 2,42 6,55 2,42 6,55 2,42 6,54 cars 8,77 17,55 8,77 17,55 8,77 17,55 8,82 17,69 lymphography 1,52 3,89 1,52 3,89 1,53 3,90 1,55 3,92 monks-1-test 4,88 11,35 4,88 11,35 4,88 11,35 4,88 11,35 monks-2-train 2,40 5,32 2,40 5,32 2,40 5,32 2,40 5,32 nursery 6,19 15,61 6,19 15,61 6,20 15,54 6,27 15,29 shuttle-landing 1,09 2,00 1,09 2,00 1,09 2,00 1,09 2,00 soybean-small 1,19 2,69 1,19 2,69 1,19 2,69 1,19 2,70 teeth 1,14 2,41 1,14 2,41 1,14 2,41 1,14 2,41 Average 3,04 6,78 3,04 6,78 3,05 6,80 3,06 6,79 nodes=nodes-dp/nodes-mod, edges=edges-dp/edges-mod
Pokrycie dokładnych reguł decyzyjnych γ = G(T ) 0.0 Decision table avg avg-mod avg-dp adult-stretch 6.00 6.25 7.00 balance-scale 0.51 3.07 4.21 breast-cancer 4.22 6.15 9.53 cars 323.00 325.58 332.76 house-votes 73.03 73.08 73.52 lymphography 20.52 20.69 21.54 nursery 1476.71 1483.58 1531.04 soybean-small 12.53 12.53 12.53 teeth 0.70 1.00 1.00 zoo 11.07 11.07 11.07
modyfikacja algorytmu dynamicznego programowania dla optymalizacji γ-reguł decyzyjnych względem pokrycia; implementacja algorytmu dynamicznego programowania z wykorzystaniem języka SQL; konstrukcja klasyfikatorów wykorzystujących proponowane algorytmy.