Metody klasyfikacji danych - część 1 p.1/24

Podobne dokumenty
SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

ALGORYTM RANDOM FOREST

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Testowanie modeli predykcyjnych

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Elementy modelowania matematycznego

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

METODY INŻYNIERII WIEDZY

AUTOMATYKA INFORMATYKA

Co to są drzewa decyzji

Drzewa decyzyjne i lasy losowe

Indukowane Reguły Decyzyjne I. Wykład 8

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Klasyfikacja LDA + walidacja


Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Automatyczne wyodrębnianie reguł

A Zadanie

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

KLASYFIKACJA. Słownik języka polskiego

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Metody systemowe i decyzyjne w informatyce

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

Algorytmy klasyfikacji

Analiza danych. TEMATYKA PRZEDMIOTU

Systemy uczące się Lab 4

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Widzenie komputerowe (computer vision)

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

ED Laboratorium 3. Drzewa decyzyjne

Inteligentne wydobywanie informacji z internetowych serwisów społecznościowych

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

PODSTAWY STATYSTYCZNEGO MODELOWANIA DANYCH. Wykład 6 Drzewa klasyfikacyjne - wprowadzenie. Reguły podziału i reguły przycinania drzew.

Złożoność i zagadnienia implementacyjne. Wybierz najlepszy atrybut i ustaw jako test w korzeniu. Stwórz gałąź dla każdej wartości atrybutu.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Prof. Stanisław Jankowski

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Jakość uczenia i generalizacja

Indukcja drzew decyzyjnych

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Drzewa klasyfikacyjne algorytm podstawowy

Wybór modelu i ocena jakości klasyfikatora

Metody klasyfikacji dla nielicznej próbki wektorów o wielkim wymiarze

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Wprowadzenie do klasyfikacji

Optymalizacja systemów

DRZEWA REGRESYJNE I LASY LOSOWE JAKO

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Meta-uczenie co to jest?

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Uczenie sieci neuronowych i bayesowskich

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

Data Mining Wykład 4. Plan wykładu

PRZEWODNIK PO PRZEDMIOCIE

SZTUCZNA INTELIGENCJA

Uczenie się maszyn. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Systemy uczące się wykład 1

Wybrane zadania przygotowujące do egzaminu z ISO- cz. 2. dr Piotr Wąsiewicz

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

Klasyfikacja. Sformułowanie problemu Metody klasyfikacji Kryteria oceny metod klasyfikacji. Eksploracja danych. Klasyfikacja wykład 1

WYKŁAD 7. Testowanie jakości modeli klasyfikacyjnych metodyka i kryteria

9. Praktyczna ocena jakości klasyfikacji

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Projekt Sieci neuronowe

Eksploracja danych OCENA KLASYFIKATORÓW. Wojciech Waloszek. Teresa Zawadzka.

Pattern Classification

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Agnieszka Nowak Brzezińska Wykład III

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Elementy statystyki wielowymiarowej

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

STATYSTYKA MATEMATYCZNA

UCZENIE MASZYNOWE I SZTUCZNA INTELIGENCJA Jako narzędzia wspomagania decyzji w zarządzaniu kapitałem ludzkim organizacji

Uczenie maszynowe w zastosowaniu do fizyki cząstek

Wstęp. Cechy: Spis treści

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Indukowane Reguły Decyzyjne I. Wykład 3

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Agnieszka Nowak Brzezińska Wykład III

Wprowadzenie. Data Science Uczenie się pod nadzorem

Sprawozdanie z zadania Modele predykcyjne (2)

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

Metody systemowe i decyzyjne w informatyce

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Drzewa decyzyjne. Nguyen Hung Son. Nguyen Hung Son () DT 1 / 34

Data Mining z wykorzystaniem programu Rapid Miner

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Metody oceny podobieństwa

Transkrypt:

Metody klasyfikacji danych - część 1 Inteligentne Usługi Informacyjne Jerzy Dembski Metody klasyfikacji danych - część 1 p.1/24

Plan wykładu - Zadanie klasyfikacji danych - Przeglad problemów klasyfikacji - Przeglad metod klasyfikacji - Metody uczenia klasyfikatorów - Uczenie a uogólnianie - Selekcja cech obiektów Metody klasyfikacji danych - część 1 p.2/24

Klasyfikacja punktów na płaszczyźnie o o o o o o Metody klasyfikacji danych - część 1 p.3/24

Klasyfikacja punktów na płaszczyźnie - granica decyzji o o o o o o Metody klasyfikacji danych - część 1 p.4/24

Klasyfikacja punktów na płaszczyźnie - problem XOR o o 1 2 klasa 0 0 0 0 1 1 1 0 1 1 1 0 Metody klasyfikacji danych - część 1 p.5/24

Klasyfikacja punktów na płaszczyźnie - problem XOR o o Metody klasyfikacji danych - część 1 p.6/24

Przegląd problemów klasyfikacji Klasyfikacja punktów na płaszczyźnie dwuwymiarowej Klasyfikacja rekordów bazodanowych o wartościach dyskretnych (przypisywanie soczewek kontaktowych (lenses), klasyfikacja samochodów (car) Klasyfikacja tekstów (treść, opinia, autorstwo) Detekcja i rozpoznawanie obrazów graficznych (twarze, znaki pisane, znaki drogowe, itd.) Klasyfikacja dźwięków (rozpoznawanie utworów muzycznych, rozpoznawanie mowy) Metody klasyfikacji danych - część 1 p.7/24

Podstawowe pojęcia Funkcja klasyfikacji f() przypisuje numer klasy każdemu wektorowi obserwacji. Funkcję f() można uzyskać droga heurystyczna, wykorzystujac wiedzę eksperta lub metoda uczenia klasyfikatora na podstawie zbioru przykładów uczacych. Klasyfikatorem jest algorytm przypisujacy numer klasy każdemu wektorowi obserwacji, reprezentujacy funkcję f(). Zadanie klasyfikacyjne polega na szukaniu funkcji klasyfikacji na podstawie wektorów obserwacji. Elementami zbioru przykładów z, sa pary złożone z wektora obserwacji charakteryzujacego obiekt (obrazu, wektora cech, wektora atrybutów) i oraz klasy (kategorii) do której dany obiekt jest przypisany d i : z = {( 1,d 1 ),( 2,d 2 )...( K,d K )}, i X R N, d i { C 1,C 2,...,C LC }, gdzie C 1,C 2,...,C LC sa etykietami klas, L C jest liczba klas obiektów. Poprawność klasyfikacji przykładów testowych dla danego klasyfikatora jest ilorazem liczby obrazów testowych poprawnie sklasyfikowanych przez dany klasyfikator i liczby wszystkich obrazów testowych. Metody klasyfikacji danych - część 1 p.8/24

Metody testowania klasyfikatorów pół na pół - połowa przykładów służy do uczenia klasyfikatora, połowa do testu (K u = K/2), cross validation najpierw pierwsza połowa do uczenia, druga do testu, a następnie na odwrót, wyniki uśrednione dla obu prób, 10 fold validation cały zbiór przykładów dzielony jest na 10 podzbiorów po K u = K/10 przykładów. Wyniki uśredniane sa po dziesięciu próbach. W każdej próbie jeden z podzbiorów służy do testu a pozostałych 9 do uczenia klasyfikatora, leave-one-out uczenie klasyfikatora odbywa się na podstawie Ku = K 1 przykładów natomiast testowanie na jednym przykładzie. Wyniki uśredniane sa po K epizodach (dla każdego przykładu do testu). Metody klasyfikacji danych - część 1 p.9/24

Przegląd metod klasyfikacji Klasyfikator większościowy (trywialny) Klasyfikator najbliższego sasiada (NS) Klasyfikator najbliższego centrum (NC) Klasyfikator bayesowski (KB) Wektory dyskryminacyjne Fishera (WDF) Drzewa decyzyjne (DD) AdaBoost (AB) Metoda wektorów wspierajacych (SVM) Sztuczne sieci neuronowe (SNN) Głębokie uczenie - Deep Learning (DL) Metody klasyfikacji danych - część 1 p.10/24

Drzewa decyzyjne - problem doboru soczewek indeks wartości zmiennej opis zmiennej/klasy 1 2 3 1 wiek pacjenta młody pre-presbyopia presbyopia 2 rodzaj wady bliskowzroczność dalekowzroczność 3 astygmatyzm nie tak 4 produkcja łez zredukowana w normie klasa typ soczewek brak miękkie twarde Metody klasyfikacji danych - część 1 p.11/24

Drzewa decyzyjne - problem doboru soczewek Lp 1 2 3 4 klasa 1 1 1 2 1 1 2 1 1 2 2 3 3 1 2 1 1 1 4 1 2 1 2 2 5 2 1 1 1 1 6 2 1 2 1 1 7 2 2 1 1 1 8 2 2 1 2 2 9 2 2 2 2 1 10 3 1 1 1 1 11 3 2 1 1 1 12 3 2 2 1 1 Metody klasyfikacji danych - część 1 p.12/24

Drzewa decyzyjne - algorytm tworzący węzeł function twórz_węzeł(lista_zmiennych, zbiór_przykładów) if wszystkie przykłady ze zbioru sa tej samej klasy C then return liść_klasy_c; else znajdź zmienna m o maksymalnym zysku informacyjnym; for i = 1 to liczba_wartości_zmiennej_ m podzbiór_przykl wybierz przykłady, dla których m = i; lista_zmiennych lista_zmiennych - { m }; drzewo.gałaź_i twórz_węzeł(lista_zmiennych, podzbiór_przykl); endfor return drzewo; endif Metody klasyfikacji danych - część 1 p.13/24

Drzewa decyzyjne - początkowa entropia Poczatkowa entropia zbioru przykładów z jest obliczana jako entropia rozkładu klas obiektów: E(z) = L C i=1 P(d = C i )log 2 P(d = C i ), gdzie d jest numerem klasy przykładu. W przypadku nieznajomości prawdopodobieństw przynależności obrazu do każdej z klas P(d = C i ), gdzie C i numer i-tej klasy, prawdopodobieństwa można zastapić częstościami: E(z) = L C ( Ki i=1 K ) log 2 ( Ki K ), Dla danych do klasyfikacji soczewek entropia poczatkowa wynosi: E(z) = 9 ( ) 9 12 log 2 2 ( ) 2 12 12 log 2 12 1 ( ) 1 12 log 2 12 = 1,0409. Metody klasyfikacji danych - część 1 p.14/24

Drzewa decyzyjne - zysk informacyjny Różnica pomiędzy entropia rozkładu klas a średnia entropia rozkładu klas dla podzbiorów przykładów ważona względem prawdopodobieństwa wystapienia poszczególnych wartości zmiennej i (liczności podzbiorów) stanowi tzw. zysk informacyjny zwiazany z wyborem zmiennej i do podziału zbioru przykładów: Zysk(z, i ) = E(z) v K( i = v) E(z i = v), K gdzie K( i = v) jest liczba przykładów, dla których zmienna i przyjmuje wartość v, natomiast E(z i = v) jest entropia rozkładu klas dla podzbioru przykładów ze zbioru z, dla których wartość zmiennej i wynosi v. Metody klasyfikacji danych - część 1 p.15/24

Drzewa decyzyjne - zysk informacyjny Dla danych do klasyfikacji soczewek zysk informacyjny dla zmiennej 1 oblicza się w następujacy sposób: Zysk(z, 1 ) = E(z) v K( i = v) E(z 1 = v) = K = E(z) K( i = 1) E(z 1 = 1) K( i = 2) E(z 1 = 2) K K K( i = 3) E(z 1 = 3) = K = 1,0409 4 [ 2 ( ) 2 12 4 log 2 1 ( ) 1 4 4 log 2 1 ( )] 1 4 4 log 2 4 [ 5 4 ( ) 4 12 5 log 2 1 ( )] 1 5 5 log 2 3 [ 3 ( )] 3 5 12 3 log 2 = 3 = 0, 2401. Dla zmiennych 2, 3 i 4 wynosi odpowiednio 0,2366; 0,2366 oraz 0,5409. Metody klasyfikacji danych - część 1 p.16/24

Drzewa decyzyjne - podział zbioru przykładów 4 4 = 1 4 = 2 Lp 1 2 3 klasa 1 1 1 2 1 3 1 2 1 1 5 2 1 1 1 6 2 1 2 1 7 2 2 1 1 10 3 1 1 1 11 3 2 1 1 12 3 2 2 1 Lp 1 2 3 klasa 2 1 1 2 3 4 1 2 1 2 8 2 2 1 2 9 2 2 2 1 Metody klasyfikacji danych - część 1 p.17/24

Kompletne drzewo oraz zestaw reguł 4 4 = 1 4 = 2 klasa 1 3 3 = 1 3 = 2 klasa 2 1 1 = 1 1 = 2 klasa 3 klasa 1 jeśli produkcja łez jest zredukowana to soczewki nie sa polecane jeśli produkcja łez jest w normie i brak astygmatyzmu to soczewki miękkie jeśli produkcja łez jest w normie i jest astygmatyzm i wiek młody to soczewki twarde jeśli produkcja łez jest w normie i jest astygmatyzm i wiek pre-presbyopia to soczewki nie sa polecane Metody klasyfikacji danych - część 1 p.18/24

Ciągłe wartości zmiennych - metody postępowania Dyskretyzacja zmiennych podział dziedziny wartości każdej ze zmiennych ciagłych na pewna liczbę podprzedziałów tak, by można było zastosować dowolny algorytm budowy dla wartości dyskretnych np. ID3, Zastosowanie specjalizowanych algorytmów budowy drzew np. CART. Metody klasyfikacji danych - część 1 p.19/24

CART: Tworzenie węzła w przypadku ciągłych wartości zmiennych function twórz_węzeł(zbiór_przykładów) if wszystkie przykłady ze zbioru sa tej samej klasy C then return liść_klasy_c; else for i = 1 to liczba zmiennych sortuj przykłady względem wartości zmiennej i ; ustal wartości graniczne gr 1,gr 2,...,gr K 1 pomiędzy każda para sasiednich przykładów na liście posortowanej, gdzie K jest liczba przykładów wchodzacych do węzła; endfor znajdź zmienna m wraz z granica podziału gr k o maksymalnym zysku informacyjnym; podzbiór_przykl_1 wybierz przykłady, dla których m gr k ; drzewo.lewa_gałaź twórz_węzeł(podzbiór_przykl_1); podzbiór_przykl_2 wybierz przykłady, dla których m > gr k ; drzewo.prawa_gałaź twórz_węzeł(podzbiór_przykl_2); return drzewo; endif Metody klasyfikacji danych - część 1 p.20/24

Przykładowe drzewo dla problemu o ciągłych wartościach zmiennych 16 14 12 nie 2 >3,5 tak 2 10 8 6 4 2 0 0 5 10 15 1 klasa 1 klasa 2 nie klasa 1 klasa 2 2 >13,5 nie klasa 1 1 >7,5 nie 1 >4,5 nie tak 1 >9,5 tak klasa 2 klasa 1 tak 2 >10 2 >7 nie tak nie tak tak klasa 2 klasa 2 klasa 1 Metody klasyfikacji danych - część 1 p.21/24

Uczenie a uogólnianie (generalizacja) b³¹d b³¹d b³¹d uogólniania b³¹d uogólniania b³¹d uczenia b³¹d uczenia liczba przyk³adów ucz¹cych przy ustalonej z³o onoœci aproksymatora z³o onoœæ optymalna z³o onoœæ aproksymatora przy ustalonej liczbie przyk³adów ucz¹cych Metody klasyfikacji danych - część 1 p.22/24

Wykres błędu klasyfikacji dla problemu car 0.35 0.3 b³¹d uczenia b³¹d testu (walidacji) 0.25 b³¹d 0.2 0.15 0.1 0.05 0 0 20 40 60 80 100 liczba wêz³ow drzewa Metody klasyfikacji danych - część 1 p.23/24

Drzewa decyzyjne: metody poprawy uogólniania Przycinanie heurystyczne np. na stała głębokość lub w zależności od liczby przykładów dochodzacych do węzła nieterminalnego. Gdy liczba ta jest poniżej progu, węzeł jest zamieniany na liść klasy najliczniej reprezentowanej przez przykłady, które do niego dochodza. Przycinanie w oparciu o zbiór przykładów do walidacji: węzeł jest zamieniany na liść lub na jeden z węzłów potomnych, gdy pozwala zmniejszyć bład walidacji. Wada tego rozwiazania jest konieczność zmniejszenia zbioru przykładów do budowy drzewa. Komitet klasyfikatorów - drzew zbudowanych na losowych podzbiorach przykładów do uczenia (random forests). Metody klasyfikacji danych - część 1 p.24/24