Drzewa decyzyjne 1 Jak klasyfikować obiekty o cechach nominalnych (opisowych), tj. pochodzących ze skończonego zbioru, bez uporządkowania? Przykłady cech nominalnych: płeć ϵ {kobieta, mężczyzna}, palenie papierosów ϵ {tak, nie} narodowość ϵ {Polak, Niemiec, }, rodzaj zębów ϵ {płaskie, ostre, brak, } temperament ϵ {choleryk, sangwinik, flegmatyk, melancholik}, rodzaj połączenia telefonicznego ϵ {komórkowe, lokalne, międzymiastowe}, rodzaj papieru wartościowego ϵ {akcja, obligacja, bon skarbowy, }, Pattern Classification, Chapter 8
2 Opis obiektu: wektor cech zamiast liczb zawiera atrybuty Przykład Na opis owocu składają się cechy { kolor, tekstura, smak, rozmiar } Przykładowy owoc: { czerwony, jasny, słodki, mały } Uwaga: dla każdego atrybutu określony jest zbiór możliwych wartości Jeżeli w zbiorze danych nominalnych istnieją wzorce, jak można je reprezentować i rozpoznawać? Pattern Classification, Chapter 8
3 Rozpoznawanie sprowadza się do sekwencji pytań i odpowiedzi Wybór kolejnego pytania w sekwencji zależy od odpowiedzi udzielonej na poprzednie pytanie Zakres możliwych odpowiedzi zależy od zbioru wartości, jakie może przyjmować atrybut: wartość (atrybut) ϵ { zbiór wartości } Sekwencję pytań i odpowiedzi można przedstawić w postaci drzewa: korzeń, zbiór węzłów (atrybuty), zbiór ukierunkowanych gałęzi (wartości atrybutów), zbiór liści (decyzje = klasy) Pattern Classification, Chapter 8
4 Przykład drzewa decyzyjnego dla zadania rozpoznawania owoców Pytania w węzłach mogą się powtarzać (Size?) Jedna klasa może występować w wielu liściach (Apple) Pattern Classification, Chapter 8
5 Przy pomocy drzewa decyzyjnego dzielimy zbiór danych na rozłączne klasy Drzewa decyzyjne dają czytelną interpretację wyników klasyfikacji Przykład 1: obiekt x = { sweet, yellow, thin, medium } jest przypisany do klasy Banana, ponieważ ( color = yellow ) AND (shape = thin) Przykład 2 (interpretacja klasy): bezpośrednio z drzewa wynika, że Apple = ( green AND medium ) OR ( red AND medium ) regułę można dalej uprościć do Apple = ( medium AND NOT yellow ) Pattern Classification, Chapter 8
6 Łatwo jest uwzględniać w drzewie wiedzę eksperta dziedzinowego Klasyfikacja odbywa się szybko (kolejne pytania i odpowiedzi szybko zawężają zakres możliwych wyników) Drzewa decyzyjne można również stosować do danych o charakterze liczbowym Pattern Classification, Chapter 8
7 CART Classification and Regression Trees Dany jest zbiór uczący D Wybrany został zbiór atrybutów Jak utworzyć drzewo decyzyjne? Kolejne podziały zbioru uczącego na mniejsze podzbiory (rozgałęzianie) Warunek stopu: obiekty w podzbiorze są tej samej klasy (podzbiór czysty) Zazwyczaj trudno jest uzyskać czyste podzbiory, zamiast tego w każdym węźle podejmujemy decyzję { zaakceptować niedoskonały podzbiór i zatrzymać dalszy podział poddrzewa ; uwzględnić kolejny atrybut i rozwinąć drzewo o kolejny poziom } Pattern Classification, Chapter 8
8 CART to rodzina metod (framework) budowania drzew decyzyjnych Podejście CART wymaga określenia następującyh czynników: 1) Czy atrybuty są binarne, czy mogą przyjmować więcej wartości? 2) Jaka jest kolejność uwzględniania atrybutów? 3) Kiedy węzeł drzewa powinien zostać uznany za liść? 4) Jeżeli węzeł nie jest czysty, jaką klasę mu przypisać? 5) Jak postępować w przypadku brakujących danych? Pattern Classification, Chapter 8
9 Czy atrybuty są binarne, czy mogą przyjmować więcej wartości? Ze względu na łatwość uczenia na ogół wybiera się drzewa binarne Drzewo binarne dla zadania klasyfikacji owoców, równoważne poprzedniemu drzewu Pattern Classification, Chapter 8
10 Jaka jest kolejność uwzględniania atrybutów? Preferujemy drzewa prostsze, z niewielką liczbą węzłów (brzytwa Okhama: spośród dwóch modeli wyjaśniających dane, lepiej przyjąć ten prostszy) Zatem rozwijamy drzewo w taki sposób, aby kolejno uwzględniane atrybuty prowadziły do możliwie najczystszych podzbiorów Miary nieczystości węzła N (node): i(n) entropia: nieczystość Gini: i(n) = j P(ω j ) log 2 P(ω j ) gdzie P(ω j ) proporcja obiektów klasy ω j w węźle N i(n) = i j P(ω i ) P(ω j ) Pattern Classification, Chapter 8
11 Podział węzła pozwala na zmniejszenie miary nieczystości o wielkość Δi(N,T) = i(n) P L (T)i(N L ) (1 P L (T)) i(n R ) gdzie N L i N P oznaczają lewy i prawy węzeł, P L (T) to proporcja obiektów z węzła N, które trafią do węzła N L po zapytaniu o wartość dodatkowego atrybutu T. Należy dokonać takiego podziału węzła (wybór atrybutu T), który prowadzi do maksymalizacji Δi(N,T) Zaleta drzewa binarnego: problem optymalizacji jest jednowymiarowy Pattern Classification, Chapter 8
12 Optymalizacja w każdym węźle (wskaźnik lokalny) niekoniecznie prowadzi do drzewa z optymalnym wskaźnikiem jakości jako całość Atrybuty ciągłe: optymalizacja ciągła (metody optymalizacji w kierunku, metody gradientowe itd.) Atrybuty nominalne: optymalizacja dyskretna (przeszukiwanie wprzód i w tył, metody poszukiwań losowych itp.) Pattern Classification, Chapter 8
13 Kiedy węzeł drzewa powinien zostać uznany za liść? Jeżeli drzewo zostanie rozwinięte do zbyt wielu poziomów, pojawi się problem niskiej zdolności do uogólniania Metoda1: Po każdorazowym zwiększeniu liczby poziomów drzewa, przeprowadza się testowanie metodą walidacji krzyżowej (CV) (zwykle 90 % danych do uczenia, 10 % danych do testowania) Metoda 2: Zatrzymanie podziału, jeżeli zmiana nieczystości jest mniejsza od pewnej wartości progowej β Metoda 3: Regularyzacja polegająca na wprowadzenie funkcji kary za rozmiar drzewa (liczba węzłów i gałęzi) Pattern Classification, Chapter 8
14 Jeżeli węzeł nie jest czysty, jaką klasę mu przypisać? Jest to najprostszy etap tworzenia drzewa Najczęściej liściowi przypisuje się najczęściej występującą klasę wśród jego obiektów Pattern Classification, Chapter 8
15 Przykład 1 drzewa dla zbiorów uczących, które różnią się nieznacznie położeniem jednego obiektu W węzłach nie będących liściami podano wartości funkcji nieczystości Nieczystości w węzłach będącymi liściami są równe 0 Pattern Classification, Chapter 8
16 Przykład 2 wpływ kolejności uwzględnianych pytań na końcową postać drzewa Ten sam zbiór danych Inna kolejność zadawania pytań Pattern Classification, Chapter 8
17 Przykład 3 wpływ pytań złożonych na postać drzewa Pytanie złożone pozwala na uwzględnienie w jednym węźle więcej niż jednego atrybutu Dla atrybutów ciągłych: sumowanie Dla atrybutów nominalnych: spójnik logiczny AND Pattern Classification, Chapter 8
18 Uwzględnienie strat spowodowanych błędną klasyfikacją Wystarczy zmodyfikować miarę nieczystości węzła: i(n) = ij λ ij P(ω i ) P(ω j ) Pattern Classification, Chapter 8
19 Jak postępować w przypadku brakujących danych? Brakować może: wartości atrybutów, numeru klasy Metoda 1: Usunąć ze zbioru uczącego wybrakowane obiekty Metoda 2: Pozostawić wybrakowane obiekty, ale nie brać ich pod uwagę przy wyznaczaniu miary nieczystości węzła Metoda 3: Wstępne przetworzenie danych, np. uzupełnienie brakujących atrybutów średnimi (lub najbardziej prawdopodobnymi wartościami) obiektów z tej samej klasy, uzupełnienie brakującego numeru klasy numerem klasy najbliższego sąsiada, itp. Pattern Classification, Chapter 8
20 Inne popularne metody tworzenia drzew w pakietach komputerowych? ID3 C4.5 Pattern Classification, Chapter 8
21 Automatic Feature Selection for Context Recognition in Mobile Devices
22 Wstęp Urządzenia mobilne posiadają coraz więcej wbudowanych czujników: czujnik przyspieszenia, żyroskop, GPS, czujnik światła, pulsometr, czujnik zbliżeniowy, kompas, temperatura baterii, itp. W oparciu o pomiary z czujników możliwe jest rozpoznanie kontekstu urządzenia lub użytkownika (np. rodzaj aktywności i stan użytkownika) Rozpoznanie kontekstu ułatwia personalizację systemu (adaptacja systemu do bieżących preferencji użytkownika) Automatic Feature Selection for Context Recognition in Mobile Devices
Opracowane w literaturze zadania rozpoznawania kontekstu 23 Rozpoznawanie rodzaju wykonywanego ćwiczenia sportowego Rozpoznawanie rodzaju aktywności w domu Rozpoznawanie rodzaju zadania wykonywanego przez żołnierzy Stosowane techniki Grupowanie Selekcja Klasyfikacja Walidacja Automatic Feature Selection for Context Recognition in Mobile Devices
24 Zebranie danych pomiarowych 12 ochotników, przedział wiekowy (19 49) lat, przedział BMI (21.1 27.1) kg/m 2 Pojedyncza sesja pomiarowa trwała około 7 h (w sumie 84 h zapisów na osobę), telefony: Nokia N95 8GB Czujniki: GPS, akcelerometry 20Hz (biodro, nadgarstek), pulsometr Telefon: Nokia N95, procesor: ARM 11 332 MHz pamięć: 128 MB + 8GB flash system operacyjny: Symbian S60 Automatic Feature Selection for Context Recognition in Mobile Devices
Wyznaczanie cech na podstawie nieprzetworzonego sygnału 25 Średnia długość okna: 10 s Cechy w dziedzinie czasu i częstotliwości Interpolacja wartości cech prowadzi do rozdzielczości 1 s Ponad 100 wyznaczanych cech Początkowy zbiór cech dla wszystkich metod: 38 cech (po 3 pomiary na akcelerometr)
26 Rodzaje aktywności (8 klas) Jazda na rowerze Gra w piłkę nożną Leżenie Nordic walking Pływanie łódką Bieganie Chodzenie Stanie Automatic Feature Selection for Context Recognition in Mobile Devices
27 Zastosowane algorytmy selekcji cech SFS Sequential Forward Selection SFFS Sequential Floating Forward Selection Mniej pomiarów = mniej obliczeń mniejsze zużycie baterii smartfona Automatic Feature Selection for Context Recognition in Mobile Devices
28 Zastosowane algorytmy klasyfikacji Klasyfikator minimalnoodległościowy (algorytm najbliższej średniej) knn liniowe powierzchnie rozdzielające, niewielkie wymagania na zasoby obliczeniowe i pamięć, łatwy w implementacji i adaptacji wysokie wymagania obliczeniowe i pamięciowe (porównywanie z wszystkimi elementami zbioru uczącego, sortowanie) modyfikacje: porównywanie z podzbiorem ciągu uczącego, hierarchiczne metody znajdywania sąsiadów Automatic Feature Selection for Context Recognition in Mobile Devices
29 Zastosowane algorytmy klasyfikacji SVM z gaussowską funkcją jądrową wystarczy przechowywać w pamięci tylko wektory wspierające Adaptacyjny klasyfikator minimalnoodległościowy Wektory reprezentujące klasy są modyfikowane metodą LVQ (Learning Vector Quantization): Jeżeli nowa obserwacja x new leżąca w sąsiedztwie reprezentanta z i i-tej klasy została poprawnie sklasyfikowana, to z i z i + β (x new z i ), w przeciwnym przypadku z i z i γ (x new z i ), β, γ > 0 to współczynniki uczenia Automatic Feature Selection for Context Recognition in Mobile Devices
30 Implementacja Wszystkie klasyfikatory zostały zaimplementowane w języku C z wykorzystaniem biblioteki LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Pomiary wykonano z wykorzystaniem narzędzia Nokia Energy Profiler Automatic Feature Selection for Context Recognition in Mobile Devices
31 Wyniki wstępna ocena liczby cech do klasyfikacji Metoda selekcji cech: SFS Nieliniowe klasyfikatory (knn i SVM) dają lepsze wyniki dla mniejszej liczby cech Automatic Feature Selection for Context Recognition in Mobile Devices
32 Wyniki obie metody selekcji cech: SFS i SFFS Macierz błędów dla klasyfikatora minimalnoodległościowego: wiersze wykonywane aktywności, kolumny wyniki klasyfikacji
33 Wyniki obie metody selekcji cech: SFS i SFFS Macierz błędów dla klasyfikatora knn: wiersze wykonywane aktywności, kolumny wyniki klasyfikacji
34 Wyniki obie metody selekcji cech: SFS i SFFS Macierz błędów dla klasyfikatora SVM: wiersze wykonywane aktywności, kolumny wyniki klasyfikacji
35 Wyniki zestawy cech Pomiar z pulsometru nie jest konieczny! Większość cech klasyfikatora minimalnoodległościowego pochodzi z jednego czujnika (akcelerometr na biodrze) Automatic Feature Selection for Context Recognition in Mobile Devices
36 Adaptacja klasyfikator minimalnoodległościowy i LVQ 6 osób spośród 12 wybrano do wstępnego uczenia klasyfikatora 3 osób spośród pozostałych 6 wybrano do adaptacji i testowania klasyfikatora Losowa długość taktu adaptacji (5 100) s Zastosowanie adaptacji prowadzi do lepszych wyników klasyfikacji Automatic Feature Selection for Context Recognition in Mobile Devices
37 Duże różnice w przebiegu adaptacji u różnych użytkowników (wynikające z różnic w regularności trybu życia) Automatic Feature Selection for Context Recognition in Mobile Devices
38 Czas trwania klasyfikacji Klasyfikator minimalnoodległościowy: 8 odległosci do policzenia knn: 218 odległości do policzenia + sortowanie SVM: odległości od 126 wektorów wspierających do policzenia Automatic Feature Selection for Context Recognition in Mobile Devices
39 Zużycie baterii Więcej operacji obliczeniowych krótszy czas życia baterii Wnioski Najprostsza metoda (klasyfikator minimalnoodległościowy) prowadzi do najsłabszych wyników klasyfikacji, ale zwraca rezultat szybko i zużywa energię w najmniejszym stopniu (ze względu na korzystanie głównie z jednego czujnika) Automatic Feature Selection for Context Recognition in Mobile Devices
40
Dane wejściowe: obrazy wektor cech 41 Rak niezłośliwy Rak złośliwy Zestaw cech An Intelligent System for Automated Breast Cancer Diagnosis and Prognosis
42 Klasy: prognoza czasu wystąpienia pierwszych objawów raka piersi An Intelligent System for Automated Breast Cancer Diagnosis and Prognosis
43 Klasyfikatory Naiwny klasyfikator bayesowski Sieć Bayesa Sieć neuronowa (3-warstowa) Nieliniowy SVM z jądrem wielomianowym z jądrem Gaussowskim An Intelligent System for Automated Breast Cancer Diagnosis and Prognosis
44 Wyniki klasyfikacji An Intelligent System for Automated Breast Cancer Diagnosis and Prognosis
45 Wskaźniki czułości i swoistości An Intelligent System for Automated Breast Cancer Diagnosis and Prognosis