510 likes | 710 Views
Dwie metody. Klasyczna metoda histogramu jako narzędzie do postawienia hipotezy, jaki rozkład prawdopodobieństwa pasuje do danych Indukcja drzewa decyzyjnego jako metoda wykrycia klasyfikatora ukrytego w danych trenujących. Przykład eksploracji danych o naturze statystycznej.
E N D
Dwie metody • Klasyczna metoda histogramu jako narzędzie do postawienia hipotezy, jaki rozkład prawdopodobieństwa pasuje do danych • Indukcja drzewa decyzyjnego jako metoda wykrycia klasyfikatora ukrytego w danych trenujących
Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej ‘odległość’ 21 5 36 54 7 14 43 7 3 24 22 41 56 2 10 39 48 2 43 14 36 29 49 8 42 35 23 35 41 28 56 30 22 9 46 15 58 28 21 56 37 40 14 55 41 36 23 55 53 52 69 35 51 62 41 15 65 15 29 26 60 29 22 70 44 42 16 48 77 44 29 22 28 41 48 3 54 55 42 68 30 29 11 46 17 69 68 4 76 28 31 32 47 56 21 55 36 52 48 83Czy można prognozować procent odległości powyżej 40 km? Próba 2 wartości zmiennej losowej ‘odległość’ 51 8 47 36 28 31 51 36 26 56 3 11 74 21 56 30 67 56 60 44 55 39 42 22 14 39 3 48 23 38 48 46 77 56 26 6 42 22 48 70 15 39 30 38 51 38 19 15 43 59 55 38 52 69 26 35 37 52 66 55 27 44 21 58 55 29 15 22 16 12 36 48 37 29 67 22 35 28 54 8 3 17 43 31 28 30 36 9 65 2 7 21 4 30 83 29 14 47 36 50
Przykład dyskretnej zmiennej losowej Rzut kostką k : X {1, 2, 3, 4, 5, 6} Dla i {1, 2, 3, 4, 5, 6} Pr(k = i) = 1/6
Drugi przykład dyskretnej zmiennej losowej Dzienna sprzedaż jednostek towaru x w pewnym sklepie. sp : X N={0, 1, 2, . . .}
Przykład ciągłej zmiennej losowej Odległość miejsca zamówienia taksówki od zajezdni. od : X R
Konstrukcja histogramu danych ciągłych Posortuj dane. Podziel posortowane dane na przedziały (w przypadku 100 danych powszechną praktyką jest wzięcie od 10 do 15 przedziałów); jeszcze bardziej powszechną praktyką jest branie takich przedziałów, że przypada co najmniej od 5 do 8 danych na przedział. W naszym przypadku po prostu bierzemy przedziały potencjalnie po 7 danych: [0,7) [7,14) [14,21) [21,28) [28,35) [35,42) [42,49) [49,56) [56,63) [63,70) [70,77) [77,84) oblicz, ile danych wpada do pierwszego przedziału ile danych wpada do drugiego przedziału … ile danych wpada do ostatniego przedziału to jest właśnie histogram początkowy łączymy przylegające przedziały, do których wpadło mniej niż 5 danych i dostajemy wynikowy histogram.
Wykres słupkowy histogramu 1 - przedział [0,7) Pasujący do danych rozkład 2 - przedział [7,14) itd. itd. prawdopodobieństwa to prawo ukryte w danych
p 0 z Wykres gęstości standaryzowanego rozkładu normalnego i interpretacja powierzchni pod krzywą Cała powierzchnia pod krzywą = 1 = 100% z=0.1787 – standaryzowana wartość 40-stu p – prawdopodobieństwo, że zmienna losowa przyjmie wartość > 40Wyliczone z tablic statystycznych p = 0.4291Prognoza procentu odległości > 40 km – 42.9%
Eksploracja danych o naturze kombinatorycznej Drzewa decyzyjne
Algorytm uczenia wejście: pewien zbiór treningowy . . . działanie . . wyjście: hipoteza ogólnej klasyfikacji dowolnego przykładu do jednej z rozważanych kategorii
Testy słoneczna gdy atrybutem aura obiektu x jest słoneczna taura(x) = pochmurna gdy atrybutem aura obiektu x jest pochmurna deszczowa gdy atrybutem aura obiektu x jest deszczowa dostępne testy : taura, ttemperatura, twilgotność, twiatr
Podział zbioru treningowego przez test Każdy test generuje pewien podział zbioru treningowego. Każdy zbiór tego podziału dzieli się na elementy poszczególnych kategorii. Dla testu taura otrzymujemy trzy podziały: podział obiektów x zbioru treningowego z atrybutem aura = słoneczna na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1 podział obiektów x zbioru treningowego z atrybutem aura = pochmurna na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1 podział obiektów x zbioru treningowego z atrybutem aura = deszczowa na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1
P1 P2 Entropia podziału E = -pi*log(pi) i przebiegające kategorie. pi – prawdopodobieństwo wylosowania elementu kategorii nr. i
Entropia podziału rozpiętego na skończonym zbiorze X = A1A2 . . . An E = -(|Ai|/|X|) * log(|Ai|/|X|) 1 i n Ułamek |Ai|/|X| można interpretować jako prawdopodobieństwo wylosowania elementu kategorii nr. i ze zbioru X.
Entropia testu względem zbioru treningowego Przykład – entropia testu taura ze względu na nasz zbiór treningowy stanów pogody Dla testu taura dostajemy trzy podziały: • podział obiektów x zbioru treningowego z atrybutem aura = słoneczna na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1, • podział obiektów x zbioru treningowego z atrybutem aura = pochmurna na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1, (c) podział obiektów x zbioru treningowego z atrybutem aura = deszczowa na te zakwalifikowane do kategorii 0 i na te zakwalifikowane do kategorii 1.
Entropia testu względem zbioru treningowego Entropia testu taura względem zbioru treningowego stanów pogody to suma ważona: entropia podziału (a)stosunek liczności zbioru na którym rozpięty jest podział (a) do liczności całego zbioru treningowego +entropia podziału (b)stosunek liczności zbioru na którym rozpięty jest podział (b) do liczności całego zbioru treningowego +entropia podziału (c)stosunek liczności zbioru na którym rozpięty jest podział (c) do liczności całego zbioru treningowego.
t1 t2 Przykład
Przykład drzewa decyzyjnego dla zbioru treningowego stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14} deszczowa słoneczna pochmurna taura {1,2,8,9,11} {3,7,12,13} {4,5,6,10,14} twilgotność 1 twiatr normalna duża słaby silny {9,11} {1,2,8} {4,5,10} {6,14} 1 0 0 1
Idea algorytmu indukcji drzew decyzyjnych buduj (T, S, k) :jeżeliT jest pustytozwróć liść z wpisaną kategorią domniemaną k w przeciwnym przypadkujeżeliw T jest tylko jedna kategoriatozwróć liść z wpisaną tą jedyną w T kategoriąw przeciwnym przypadkujeżeliS jest pustytozwróć liść z wpisaną tą kategorią, która jest najliczniejsza w zbiorze T w przeciwnym przypadku// zbiory S i T są niepuste{ zbudowanie węzła n i jego następników, zwrócenie zbudowanego węzła n jako wyniku funkcji buduj – szczegóły na następnym slajdzie};
Zbudowanie węzła n i jego następników, zwrócenie zbudowanego węzła n jako wyniku funkcji buduj { 1. utwórz kolejny węzeł n; 2. ze zbioru S wybierz, wedle przyjętego kryterium wyboru testu, test t i wpisz go do utworzonego węzła n; 3. jako k przyjmij najliczniejszą w T kategorię; 4. oblicz zbiory treningowe T1, . . ., Tm na które test t dzieli zbiór treningowy T, gdzie m jest liczbą możliwych wartości testu t; 5. dla wszystkich i = 1, . . . ,m wykonaj i-ty następnik węzła n := buduj (Ti, S - {t}, k)//wołanie rekurencyjne 6. zwróć węzeł n jako wynik funkcji buduj; }
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 taura
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna taura T1={1,2,8,9,11}, 0 buduj( T1, {ttemperatura, twilgotność, twiatr}, 0)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna taura T1={1,2,8,9,11}, 0 twilgotność normalna T11= ={9,11} buduj(T11, {ttemperatura, twiatr}, 1)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna taura T1={1,2,8,9,11}, 0 twilgotność normalna T11= ={9,11} 1
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna taura T1={1,2,8,9,11}, 0 twilgotność normalna duża T11= ={9,11} T12={1,2,8} 1 buduj(T12, {ttemperatura, twiatr}, 0)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna taura T1={1,2,8,9,11}, 0 twilgotność normalna duża T11= ={9,11} T12={1,2,8} 1 0
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} twilgotność buduj(T2,{ttemperatura, twilgotność, twiatr},1) normalna duża T11= ={9,11} T12={1,2,8} 1 0
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} twilgotność 1 normalna duża T11= ={9,11} T12={1,2,8} 1 0
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 deszczowa słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} T3={4,5,6,10,14} twilgotność 1 normalna duża T11= ={9,11} T12={1,2,8} 1 0 buduj(T3,{ttemperatura,twilgotność, twiatr}, 1)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 deszczowa słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} T3={4,5,6,10,14} twilgotność 1 twiatr normalna duża słaby T11= ={9,11} T12={1,2,8} T31={4,5,10} 1 0 buduj(T31,{ttemperatura,twilgotność},1)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 deszczowa słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} T3={4,5,6,10,14} twilgotność 1 twiatr normalna duża słaby T11= ={9,11} T12={1,2,8} T31={4,5,10} 1 0 1
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 deszczowa słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} T3={4,5,6,10,14} twilgotność 1 twiatr normalna duża słaby silny T11= ={9,11} T12={1,2,8} T31={4,5,10} T32={6,14} 1 0 1 buduj(T32,{ttemperatura, twilgotność},0)
Wykonanie algorytmu buduj na zbiorze treningowym stanów pogody {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 1 deszczowa słoneczna pochmurna taura T1={1,2,8,9,11}, 0 T2={3,7,12,13} T3={4,5,6,10,14} twilgotność 1 twiatr normalna duża słaby silny T11= ={9,11} T12={1,2,8} T31={4,5,10} T32={6,14} 1 0 0 1
Podstawowe Pojęcia zbiór X przykładów – zbiór wszystkich stanów pogody, • zbiór C kategorii pojęcia ocena-pogody, C = {0, 1}, • pojęcie ocena-pogody : X C , • zbiór hipotez H równy zbiorowi funkcji h : X C definiowalnych przez pewne drzewo decyzyjne dla przyjętego zbioru dostępnych testów, • błąd hipotezy h względem pojęcia ocena-pogody err(h, ocena-pogody) = |{xX | h(x) ocena-pogody(x) }|/ |X|
Formalne definicje Formalne definicje testu, zbioru treningowego, entropii testu względem zbioru treningowego podane są w materiałach dla słuchaczy.
Ocenianie błędu klasyfikatora – walidacja krzyżowa T – pewien zbiór treningowy dla pojęcia c T’ T - pewna część zbioru treningowego h – klasyfikator obliczony ze zbioru treningowego T’ Szacunkowy błąd klasyfikacji: zliczona liczba błędnych klasyfikacji na elementach x z T – T’ ---------------------------------------------------------------------------------- liczność zbioru T – T’ 1. Należy założyć, że struktura ukryta w zbiorze treningowym T dla pojęcia c dobrze przybliża strukturę ukrytą w całej przestrzeni X i w pojęciu c. Innymi słowy, zbiór T ma być w stosownym sensie reprezentatywny dla przestrzeni X i pojęcia c. 2. Zbiór T’ wybrany do walidacji krzyżowej powinien być reprezentatywny dla zbioru T – struktura ukryta w T’ powinna dobrze przybliżać strukturę ukrytą w T.
Nadmierne dopasowanie Rozważmy pojęcie c : N N {0, 1} 1 gdy k=2n lub k=2n+1 c(n,k) = 0 w przeciwnym przypadku.
Zbiór treningowy T dla pojęcia c dla zilustrowania nadmiernego dopasowania
Dostępne testy Tak gdy n, k są parzyste t1(n,k) = Nie w przeciwnym przypadku. Tak gdy n jest parzysta i k=2n lub n jest nieparzysta t2(n,k) = Nie w przeciwnym przypadku. Tak gdy n jest nieparzysta i k=2n+1 lub n jest parzysta t3(n,k) = Nie w przeciwnym przypadku.Zbiór {Tak, Nie} to zbiór możliwych wartości testów t1, t2, t3.
Dwa klasyfikatory t1 D1: Tak Nie 1 0 D2: t2 Tak Nie 0 t1 Nie Tak 1 t3 Tak Nie 0 1
Propozycja przeprowadzenia prostych badań • Ściągnij z http://archive.ics.uci.edu/ml/ pliki z oferowanymi tam zbiorami treningowymi. Użyj także przekazanych przez nas plików heart_disease.txt, iris.txt, diabets.txt, wine.txt. • Dla każdego z badanych plików napisz program, który 2.1. wczyta zbiór treningowy z pliku 2.2. wśród zadeklarowanych funkcji programu będą funkcje reprezentujące zbiór S dostępnych testów na danych, stosownie do specyfiki konkretnego zbioru treningowego 2.3. program obliczy drzewo decyzyjne z kryterium wyboru testu przez entropię i drzewo decyzyjne z kryterium losowego wyboru testu, 2.4. zgodnie z metodą walidacji krzyżowej zostaną obliczone prawdopodobieństwa błędnej klasyfikacji dla jednego i drugiego drzewa i te prawdopodobieństwa zostaną wyświetlone jako wyniki obliczeń.
Niektóre pola zastosowań metod eksploracji danych Automatyczna klasyfikacja plam słonecznych Wsparcie diagnostyki w medycynie Bankowość i marketing Klasyfikacja danych biologicznych . . . i wiele innych