Algorytmy klasyfikacji

Podobne dokumenty
Algorytmy klasyfikacji

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

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

Elementy modelowania matematycznego

ALGORYTM RANDOM FOREST

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

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

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

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

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

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

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Agnieszka Nowak Brzezińska Wykład III

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

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Metody probabilistyczne klasyfikatory bayesowskie

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

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

Drzewa decyzyjne i lasy losowe

Agnieszka Nowak Brzezińska Wykład III

Analiza danych. TEMATYKA PRZEDMIOTU

Co to są drzewa decyzji

Optymalizacja ciągła

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Matematyka z el. statystyki, # 6 /Geodezja i kartografia II/

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

166 Wstęp do statystyki matematycznej

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

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Temat: Algorytm kompresji plików metodą Huffmana

Klasyfikacja metodą Bayesa

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Dlaczego nie wystarczają liczby wymierne

SZTUCZNA INTELIGENCJA

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Systemy uczące się Lab 4

Sztuczna Inteligencja Projekt

Prawdopodobieństwo czerwonych = = 0.33

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

STATYSTYKA MATEMATYCZNA WYKŁAD stycznia 2010

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

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

Sztuczna inteligencja : Algorytm KNN

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori.

Programowanie liniowe

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Spacery losowe generowanie realizacji procesu losowego

Wnioskowanie bayesowskie

0 + 0 = 0, = 1, = 1, = 0.

Estymacja parametrów w modelu normalnym

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część

Ocena ilościowa ryzyka: analiza drzewa błędu (konsekwencji) Zajęcia 6. dr inż. Piotr T. Mitkowski.

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Układy stochastyczne

Wykład 3 Hipotezy statystyczne

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

Podstawy Informatyki. Metody dostępu do danych

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

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

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Błędy przy testowaniu hipotez statystycznych. Decyzja H 0 jest prawdziwa H 0 jest faszywa

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Testowanie modeli predykcyjnych

Prawdopodobieństwo i statystyka

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

TEORETYCZNE PODSTAWY INFORMATYKI

Matematyka dyskretna. Andrzej Łachwa, UJ, a/15

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Indukcja drzew decyzyjnych

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Programowanie celowe #1

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

ALGORYTMY I STRUKTURY DANYCH

Instrukcje dla zawodników

Iteracyjne rozwiązywanie równań

Matematyka dyskretna dla informatyków

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

METODY STATYSTYCZNE W BIOLOGII

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Drzewa klasyfikacyjne algorytm podstawowy

Sprawozdanie z zadania Modele predykcyjne (2)

ESTYMACJA PRZEDZIAŁOWA WYBRANYCH PARAMETRÓW

ED Laboratorium 3. Drzewa decyzyjne

Weryfikacja hipotez statystycznych

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno.

CLUSTERING. Metody grupowania danych

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Poprawność semantyczna

Transkrypt:

Algorytmy klasyfikacji Konrad Miziński Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Warszawa, Polska k.mizinski@stud.elka.pw.edu.pl Streszczenie Niniejszy dokument opisuje jedna z metod odkrywania wiedzy jaka jest klasyfikacja. Zawiera ogólne wprowadzenie do samego odkrywania wiedzy oraz przybliża samo pojęcie klasyfikacji. Następnie opisuje poszczególne modelu klasyfikacji, proces ich budowy, wady, zalety oraz zastosowania. Największa uwagę przywiazuje do drzew decyzyjnych, ale przedstawia również takie algorytmy klasyfikacji jak lasy losowe, naiwny klasyfikator Bayesa czy metoda najbliższych sasiadów. Słowa kluczowe-okdrywanie wiedzy; eksploracja danych; klasyfikacja; drzewa decyzyjne; I. WSTEP W dzisiejszym świecie przechowujemy coraz większe ilości danych. Z czasem jednak samo ich gromadzenie przestało nam wystarczać. Zaczęliśmy obserwować pewne regularności w danych oraz nauczyliśmy się przewidywać jak mogą wyglądać dane jeszcze nieznane. Tak narodziła się nowa interdyscyplinarna dziedzina nauki zwana odkrywaniem wiedzy (ang. data mining). II. ODKRYWANIE WIEDZY Niezależnie od obszaru, w którym chcielibyśmy zastosować wybrane przez nas metody odkrywania wiedzy, w każdym z nich możemy wyróżnić pewne jednakowe elementy. Pierwszym z nich jest dziedzina (nazywana też populacją). Jest to zbiór wszystkich obiektów, których dotyczyć ma odkrywana przez nas wiedza. Oczywiście nigdy nie jesteśmy w stanie poznać całej dziedziny. Zazwyczaj dysponujemy jedynie jej fragmentem tzw. zbiorem danych. Zbiór taki najczęściej przyjmuje postać tabeli w relacyjnej bazie danych. Przyjmuje się ponadto, że poszczególne przykłady opisane są za pomocą tzw. atrybutów, czyli poszczególnych cech obiektów z dziedziny, które formalnie definiuje się jako dowolną funkcję określoną na dziedzinie. Atrybuty możemy podzielić na: ciągłe - określone na zbiorze liczb rzeczywistych, dyskretne - określone na skończonym zbiorze wartości, które z kolei podzielić można na: nominalne - kiedy nie możemy określić wzajemnych relacji między atrybutami, porządkowe - kiedy atrybuty daję się uporządkować. Rysunek 1. Dziedzina, zbiór danych, atrybuty Sam proces eksploracji danych podzielić można na kilka podstawowych etapów. Pierwszym z nich jest wnioskowanie indukcyjne. Polega ono na zauważaniu w danych pewnych reguł i zależności, a jego wynikiem jest uzyskanie wiedzy. Kolejnym krokiem jest formalne zapisane posiadanej wiedzy w reprezentacji obliczeniowej, czyli stworzenie tzw. modelu. Następnie możliwe jest tzw. wnioskowanie dedukcyjne - tzn. zastosowanie modelu do nowych danych z dziedziny, w celu przewidywania nieznanych do tej pory danych. III. KLASYFIKACJA Klasyfikacją nazywamy semantyczny podział przykładów na klasy, wykonywany według określonej zasady [4]. Mówiąc prościej jest to wiedza o tym jak przynależność do pewnej kategorii (tzw. klasy decyzyjnej) zależy od atrybutów. W praktyce rolę klasy decyzyjnej pełni jeden z atrybutów - tzw. atrybut docelowy. Oznacza to, że na podstawie przykładów, dla których atrybut docelowy jest znany, musimy stworzyć taki model, który będzie w stanie przywidzieć atrybut docelowy dla wszystkich przykładów z dziedziny. Model taki nazywać będziemy klasyfikatorem, a proces przewidywania klasy decyzyjnej - predykcją. IV. DRZEWA DECYZYJNE Najbardziej rozpowszechnionym modelem klasyfikacji są drzewa decyzyjne. W ogólnym przypadku drzewa są strukturą składającą się z węzłów, z których wychodzą gałęzie

prowadzące do innych węzłów bądź liści (przy czym nie ma ograniczenia na ilość gałęzi), oraz z liści, z których nie wychodzą już żadne gałęzie. Szczególnym przypadkiem węzła jest korzeń - węzeł do którego nie prowadzi żadna gałąź - punkt początkowy drzewa. W przypadku drzew decyzyjnych węzły reprezentują podziały przykładów na podstawie odpowiednich testów, liście zaś odpowiednie klasy docelowe. Rysunek 2. A. Konstrukcja drzewa Drzewo decyzyjne Konstrukcja drzewa decyzyjnego przebiega w sposób zstępujący (od korzenia do liści) i jest wyjątkowo prosta i intuicyjna, składa się z 2 podstawowych kroków: kryterium stopu - decyzja czy na danym etapie budowy drzewa należy utworzyć węzeł czy liść, wybór testu - w przypadku, gdy zdecydowaliśmy się na utworzenie węzła zamiast liścia, musimy określić w jaki sposób dokonać podziału przykładów znajdujących się w węźle. B. Kryterium stopu Kryterium stopu oznacza decyzję, czy w danym momencie kończymy konstrukcję drzewa i tworzymy liść - w takim przypadku musimy przypisać do niego klasę decyzyjną, najczęściej jest to klasa dominująca w danym liściu, czy tworzymy węzeł i decydujemy się na dalszy podział przykładów. Wyróżnić można kilka sytuacji, w których konstruujący drzewo nie ma wyjścia i musi utworzyć liść, są to tzw. Ostateczne kryteria stopu: zbiór zawiera przykłady tylko jednej klasy - wtedy dalsze podziały nie mają już sensu, zbiór przykładów jest pusty - bardzo rzadka sytuacja, ale możliwa w przypadku niebinarnych testów. Jako klasę docelową w danym liściu najlepiej wybrać w tym przypadku klasę dominującą w rodzicu, wyczerpaliśmy pulę dostępnych testów - żaden z możliwych do użycia testów nie daje podziału na co najmniej dwa niepuste podzbiory, np. dlatego, że wszystkie testy zostały już użyte lub zbiór zawiera sprzeczne dane (przykłady o takich samych atrybutach ale innych klasach docelowych). Ponadto możemy narzucić na drzewo różnego rodzaju ograniczenia mające wpływ na kryterium stopu: minimalna liczba przykładów w węźle - nie pozwalamy na tworzenie węzłów, w których znalazłoby się mniej przykładów, niż pewna z góry ustalona wartość, minimalna liczba przykładów w liściu - podobnie jak powyżej, ale to nie to samo, maksymalna głębokość drzewa - czyli odległość od korzenia do najbardziej oddalonego liścia, maksymalna czystość klas w liściu - wymagamy w każdym liściu był co najmniej jakiś wcześniej zdefiniowany odsetek przykładów należących do innej klasy docelowej niż dominująca w liściu, minimalny przyrost informacji po podziale - żądamy aby każdy test był co najmniej tak dobry jak pewna ustalona wartość, więcej o jakości testów w dalszej części artykułu. C. Rodzaje testów Testem nazywamy przyporządkowanie poszczególnych przykładów do gałęzi wychodzących z danego węzła. W praktyce przyjmuje się ograniczenie, że wynik testu jest tak naprawdę funkcją jednego z atrybutów. Wyróżniamy następujące rodzaje tego typu testów: testy tożsamościowe: a(x) atrybut jest testem - tyle podziałów ile możliwych wartości atrybutu, testy równościowe: { 1 a(x) = v 0 a(x) v do pierwszego poddrzewa trafiają te przykłady, których zadany atrybut przyjmuje odpowiednia wartość. Pozostałe przykłady trafiają do drugiego poddrzewa, testy przynależnościowe: { 1 a(x) V 0 a(x) / V podobnie jak w przypadku testów równościowych, ale o przynależności przykładu do pierwszego poddrzewa decyduje przynależność atrybutu do zadanego przedziału, testy podziałowe: 1 a(x) V 1 2 a(x) V 2... k a(x) V k

podział przeciwdziedziny atrybutu na kilka przedziałów odpowiadający przydziałowi przykładów do poszczególnych poddrzew. testy nierównościowe: { 1 a(x) < v 0 a(x) v sprawdzenie nierówności atrybutu. Test ten, w przeciwieństwie do pozostałych, może być zastosowany jedynie do atrybutów ciągłych. D. Wybór podziału Znając możliwe do wykonania testy potrzebujemy jeszcze kryterium oceny, który z nich jest najlepszy. Kryterium to powinno faworyzować testy, które przybliżają nas najbardziej do momentu utworzenia liścia - tzn. takie, które maksymalizują rozkład klas decyzyjnych na poszczególne poddrzewa. 1) Entropia: Naturalnym kandydatem wydaje się więc entropia - miara ilości informacji. W tym przypadku wyrażona wzorem: E = C i X log C i X gdzie C i to liczba przykładów danej klasy decyzyjnej, a X to liczba wszystkich przykładów w węźle. Pozwala na ona na policzenie przyrostu informacji jako: E = E E T gdzie E T to średnia ważona entropia po podziale. Dążymy oczywiście do maksymalizacji wartości E, poprzez wybór takiego testu, dla którego E T jest jak najmniejsza. 2) Indeks Giniego: Inna powszechnie stosowaną miarą jakości podziału jest tzw. indeks Giniego wyrażony wzorem: gini(x) = 1 ( C i X )2 Ma on właściwości podobne do entropii: jego wartości należą do przedziału [0, 1], a wartość 0 osiąga w przypadku maksymalnej czystości klas. W takim sam sposób pozwala również na wyliczenie i maksymalizację przyrostu informacji. Eksperymenty wykazały jednak, że w ocenie jakości podziału sprawdza się lepiej od entropii. Jest to szczególne widoczne w przypadku testów o niebinarnej ilości podziałów - wtedy entropia ma tendencje do premiowania testów o większej ilości podziałów (konieczne jest więc przeskalowanie przyrostu informacji przez odwrotność liczby podziałów w węźle). E. Ocena jakości drzewa Wyróżnić możemy 2 podstawowe kryteria oceny jakości drzewa decyzyjnego: 1) Rozmiar: Preferowane są drzewa jak najprostsze, tzn. takie, które umożliwiają predykcję na podstawie jak najmniejszej liczby atrybutów. Do numerycznej reprezentacji rozmiaru drzewa posłużyć mogą: liczba węzłów, liczba liści, wysokość drzewa. 2) Dokładność klasyfikacji: Dokładność klasyfikacji najczęściej reprezentowana jest przez odsetek błędów klasyfikacji. Ważne jest jednak aby został on policzony na innym zbiorze danych niż ten, który posłużył do budowy drzewa. Stąd jednym z pierwszych etapów konstrukcji tego typu klasyfikatora powinno być podzielenie danych na 2 zbiory: zbiór trenujący - służący do budowy drzewa, zbiór testowy - służący do jego oceny. F. Nadmierne dopasowanie Z problemem nadmiernego dopasowania mamy do czynienia gdy wygenerowany przez nas klasyfikator jest przeuczony, tzn. zbyt dobrze klasyfikuje dane ze zbioru trenującego kosztem danych rzeczywistych. Jeśli jesteśmy w stanie znaleźć taki model który, jest lepszy od wygenerowanego przez nas na zbiorze rzeczywistym, a jednocześnie gorszy na zbiorze trenującym to wygenerowany przez nas klasyfikator jest na pewno nadmiernie dopasowany. Dlatego też preferowane są dość proste drzewa, gdyż im mniejszy jest ich rozmiar tym mniejsze ryzyko nadmiernego dopasowania. G. Przycinanie Najczęściej stosowaną techniką unikania nadmiernego dopasowania jest przycinanie, czyli redukcja rozmiaru drzewa już po jego zbudowaniu. Polega ono na prostym zastąpieniu poddrzewa liściem oraz wskazaniu w nim takiej klasy decyzyjnej, jaka dominuje w całym poddrzewie. Możliwa jest różna kolejność rozpatrywania poddrzew do zastąpienia, jednak najbardziej rozpowszechnione jest przycinanie od dołu, które to pozwala nanosić łagodne zmiany w strukturze drzewa. H. Kryteria przycinania Istnieje wiele kryteriów przycinania, tzn. testów mówiących nam o tym czy dane poddrzewo należy zastąpić liściem czy też nie. Do najważniejszych z nich należą: Przycinanie redukujące błąd (ang. Reduced Error Pruning) - zastępujemy poddrzewo liściem kiedy błąd po przycięciu jest taki sam albo mniejszy. Kryterium to mimo, że jest proste ma jedną wadę - wymaga osobnego zbioru przykładów do przycinania. Przycinanie minimalizujące błąd (ang. Minimal Error Pruning) - w przypadku gdy nie możemy sobie pozwolić na wydzielenie osobnego zbioru przykładów do przycinania możemy spróbować estymować liczbę

błędów w poszczególnych elementach drzewa. W przypadku liści możemy posłużyć się tzw. m-estymacją tzn. dodaniem do zbioru przykładów w liściu pewnej z góry ustalonej liczby przykładów, w których odsetek przykładów danej klasy decyzyjnej jest taki sam jak w całym zbiorze trenującym. Odsetek błędów na takim zbiorze ma wtedy postać: ê = 1 C i + m p X + m gdzie m to liczba przykładów dodanych do liścia, a m p to liczba przykładów klasy dominującej. Przez jego propagację w górę (np. za pomocą średniej ważonej) możemy uzyskać odsetek błędów w poszczególnych węzłach. Przycinanie z parametrem złożoności (ang. Costcomplexity Pruning) - możemy również wprowadzić dodatkowy parametr, który dodany do odsetka błędów w węźle, zwiększa szanse na uzyskanie mniejszego odsetka błędów w ewentualnie utworzonym liściu. Przyjęło się, że parametr tan jest zazwyczaj przemnażany przez liczbę podziałów w węźle. Warunek na przycięcie przyjmuje wtedy postać: e(l) e(w) + α w gdzie e(l) i e(w) oznaczają odpowiednio odsetek błędów w liściu i węźle, α parametr złożoności, a w liczbę podziałów w węźle. Zauważyć należy, że płynnie przesuwając parametr α otrzymujemy ciąg drzew, w którym każde kolejne jest naddrzewem poprzedniego. Wybór najlepszego z nich najlepiej pozostawić intuicji. Znając odsetek błędów w poszczególnych liściach zwykle jesteśmy w stanie ocenić, które z otrzymanych drzew sprawdzi się najlepiej na danych rzeczywistych. Jeśli jednak z jakiś powodów nie jesteśmy w stanie wybrać najlepszego z nich, możemy skorzystać np. z reguły jednego odchylenia standardowego - tzn. wybrać najprostsze drzewo, które jest nie gorsze od najlepszego o więcej niż jedno odchylenie standardowe. V. LASY LOSOWE Lasy losowego są przykładem modelowania zespołowego - tzn. takiego takiego, w którym model właściwy jest zbiorem mniejszych modeli, a proces predykcji predykcji odbywa się przez głosowanie (proste lub z wagami). Lasy losowe zgodnie intuicją składają się z pewniej ilości drzew. Różnorodność poszczególnych drzew osiąga się poprzez losowe zaburzenie algorytmu ich budowy. Losowość ta przebiega w dwojaki sposób: 1) Bagging przykładów: Przykłady do budowy poszczególnych drzew wybieranie są metodą losowania ze zwracaniem. Oznacza to, że do budowy pojedynczego drzewa wykorzystanych zostanie średnio 2/3 danych ze zbioru trenującego. Podejście to pozwala zmniejszyć wrażliwość klasyfikatora na zmiany w danych trenujących, zwieszając tym samym jego stabilność. Pozwala również na uzyskanie nieobciążonego estymatora błędu klasyfikacji. 2) Losowanie atrybutów: Poszczególne drzewa decyzyjne generowanie są z wykorzystaniem losowych atrybutów. Losowanie to może odbywać się w dwojaki sposób. Albo podczas każdorazowego wyboru testu losowany jest pewien podzbiór atrybutów, a podział jest dokonywany na podstawie jednego z nich, albo atrybuty wykorzystane do konstrukcji drzewa wybierane jeszcze przed rozpoczęciem jego budowy. Szczególne dobre efekty przynosi to drugie podejście. Wylosowanie na początku niewielkiej liczby atrybutów pozwala na uzyskanie rodziny bardzo małych drzew, często tzw. pieńków, czyli drzew składających się jedynie z korzenia i liści. Drzewa takie mogą posłużyć nie tylko do klasyfikacji ale również do oceny wpływu poszczególnych atrybutów na klasę decyzyjną. Wszystkie te zalety sprawiają, że lasy losowe uznawane są za jedną z najlepszych metod klasyfikacji. VI. METODA NAJBLIŻSZYCH SASIADÓW Opisane wyżej algorytmy są przykładem tzw. zapalczywego podejścia do problemu klasyfikacji. Charakteryzuje się ono budową modelu na podstawie zbioru trenującego, a następnie całkowitym zapomnieniem danych trenujących. Przeciwieństwem takiego podejścia jest klasyfikacja leniwa. W tym podejściu model stanowią same dane, a predykcja odbywa się poprzez porównanie nowych przykładów z dziedziny z tymi ze zbioru trenującego za pomocą odpowiednich algorytmów. Przykładem takiej klasyfikacji jest bardzo prosta i intuicyjna metoda najbliższych sąsiadów. Polega ona po prostu na wyborze klasy decyzyjnej najczęściej występującej wśród k najbardziej podobnych przykładów (W przypadku remisu możemy wybrać klasę najpowszechniejszą w całym zbiorze danych, bądź rozstrygnąć arbitralnie). Jedynym wymogiem tej metody jest zdefiniowanie pewniej miary odległości (ściślej niepodobieństwa) pomiędzy poszczególnymi przykładami. VII. NAIWNY KLASYFIKATOR BAYESA Naiwny klasyfikator Bayesa bazuje na twierdzeniu Bayesu, pozwalającemu na obliczenie prawdopodobieństwa warunkowego: P (A B) = P (A)P (B A) P (B) Zakładając, że zdarzeniem A jest przynależność przykładu do zadanej klasy, a zdarzeniem B ciąg wartości jego atrybutów: A c = d B a 1 = v 1, a 2 = v 2,..., a k = v k możemy w prosty sposób otrzymać namiastkę klasyfikatora: P (c = d a 1 = v 1, a 2 = v 2,..., a k = v k ) =

= P (c = d)p (a 1 = v 1, a 2 = v 2,..., a k = v k c = d) = ( ) P (a 1 = v 1, a 2 = v 2,..., a k = v k ) Zauważyć można, że mianownik powyższego wyrażenia w żaden sposób nie zależy od atrybutu docelowego (Potrzebny jest tylko po to aby prawdopodobieństwa sumowały się do jedynki). Możemy się więc go pozbyć bez utraty informacji: ( ) P (c = d)p (a 1 = v 1, a 2 = v 2,..., a k = v k c = d) = ( ) Niestety tak skonstruowana funkcja prawdopodobieństwa zwróci niezerową wartość tylko wtedy gdy zbiór trenujący zawiera przykład o dokładnie takich samych atrybutach jak przykład aktualnie rozpatrywany. Aby rozwiązać ten problem wprowadźmy kolejne uproszczenie. Przyjmijmy założenie o niezależności atrybutów: i j P (a i = v i, a j = v j ) = P (a i = v i ) P (a j = v j ) Równanie przyjmuje wtedy postać: ( ) = P (c = d) k P (a i = v i c = d) i=1 Co jest formą dużo prostszą o początkowej i zwracającą w większości przypadków niezerowe wartości. Predykcja przebiega w tym przypadku w sposób bardzo prosty: P r(x) = argmax d C [P (c = d) k P (a i = a i (x) c = d)] i=1 czyli po prostu wybieramy tą klasę decyzyjną, dla której wyznaczony wcześniej wzór zwróci największą wartość. Jak łatwo zauważyć założenie o w niezależności poszczególnych atrybutów zazwyczaj nie jest spełnione. Stąd właśnie człon naiwny w nazwie tego klasyfikatora. Okazuje się jednak, że pomimo naiwnego założenia o niezależności atrybutów klasyfikator ten w większości zastosowań daje całkiem niezłe rezultaty. Dodatkową jego zaletą jest nie tylko predykcja oczekiwanej klasy decyzyjnej, ale również możliwość wyznaczenia prawdopodobieństwa przynależności do każdej z nich. LITERATURA [1] Paweł Cichosz, Systemy uczace się [2] Daniel T. Larose, Discovering knowledge in data [3] Tadeusz Morzy, Eksploracja danych: metody i algorytmy [4] Klasyfikacja Wikipedia, wolna encyklopedia [online] http://pl.wikipedia.org/wiki/klasyfikacja