Generowanie drzew decyzyjnych dla duzych zbior - PowerPoint PPT Presentation

About This Presentation
Title:

Generowanie drzew decyzyjnych dla duzych zbior

Description:

Title: Odkrywanie regu asocjacyjnych Author: Nguyen Hung Son Last modified by: son Created Date: 10/8/2002 4:07:23 PM Document presentation format – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 46
Provided by: Nguy75
Category:

less

Transcript and Presenter's Notes

Title: Generowanie drzew decyzyjnych dla duzych zbior


1
Generowanie drzew decyzyjnych dla duzych zbiorów
danych
2
Plan wykladu
  • Problematyki zwiazane z duzymi zbiorami danych
  • Algorytmy generowania drzewa
  • SPRINT
  • Algorytm sekwencyjny
  • Algorytm równolegly
  • Soft tree drzewo z elastycznymi podzialami

3
Problemy zwiazane z duzymi zbiorami danych
  • Dane w praktyce sa gigantyczne
  • Dane nie mieszcza sie w pamieci
  • Dane zawieraja szumy (oklamywania)
  • Generowanie drzewa jest czasochlonne

4
Algorytmy dla duzego zbioru danych
  • Musza dzialac bez zalozenia o wielkosci pamieci
  • Musza dzialac w miare szybko (w akceptowanym
    czasie)
  • Musza dac dobry wynik w przypadku wystapienia
    szumu w zbiorze danych
  • Musza dac zrozumiale dla czlowieka wyniki
  • Musza dac dobra jakosc klasyfikacji

5
Standardowe algorytmy
  • Kazdy wezel stowarzyszony z podzbiorem danych -gt
    ograniczenie pamieciowe
  • Przy wyznaczeniu najlepszego podzialu dane sa
    wielokrotnie sortowane -gt czasochlonne

6
Miara zlozonosci zbioru (c.d.)
  • Gini Index Gini(X) 1- ?j p(j X)2
  • gdzie p(j X) Cj / X jest czestosc
    wystapienia j-tej klasy w zbiorze X
  • Entropia Ent(X) - ?j p(j X) log p(j X)
  • Konflikt Conflict(X) ?i?j Ci?Cj

7
Miara jakosci podzialu
  • Zbiór danych przy wezle t jest podzielony na k
    czesci
  • ni liczba obiektów w i - tym poddrzewie, n
    liczba obiektów w wezle t
  • Miara Gini
  • Kryterium podzialu Minimalizuje GINIsplite
  • Miara Gain
  • Kryterium podzialu Maksymalizuje Gainsplite
  • Miara Discern
  • Kryterium podzialu Maksymalizuje Discern

8
Wyznaczanie optymalnego podzialu atrybutów
rzeczywistych
  • Sortuj wartosci atrybutu
  • Przegladaj kolejna wartosc progowa, obliczajac
    rozklad klas decyzyjnych
  • Wybierz wartosc progowa o najmniejszym GINI index

9
Zlozonosc algorytm szukania optymalnego podzialu
  • Dany atrybut rzeczywisty a i zbiór mozliwych
    wartosci progowych (?1, ?2,...?N ), najlepszy
    test (alt ?i) mozna znalezc w czasie ?(N)
  • Minimalna liczba prostych zapytan SQL potrzebna
    do szukania najlepszego testu jest ?(dN), gdzie
    d jest liczba klas decyzyjnych
  • Wada szukanie najlepszego podzialu jest
    kosztowne, jesli atrybut zawiera duzo róznych
    wartosci.

10
Algorytm SPRINT - charakterystyki
  • Nadaje sie dla danych czesciowo umieszczonych na
    dysku
  • Uzywa sie techniki pre-sortowania w celu
    przyspieszenia procesu obliczenia na atrybutach
    rzeczywistych
  • Dane sa sortowane tylko raz przed obliczeniem
  • Latwo mozna zrównoleglic

11
SPRINT - struktura danych
  • Kazdy atrybut ma swoja liste wartosci
  • Kazdy element listy ma trzy pole wartosc
    atrybutu, numer klasy i rid (numer obiektu w
    zbiorze danych)
  • Rzeczywiste atrybuty sa uporzadkowane (tylko raz
    przy utworzeniu)
  • Na poczatku listy sa stowarzyszone z korzeniem
    drzewa
  • Kiedy wezel jest podzielony, listy sa podzielone
    i sa stowarzyszone z odpowiednimi nastepnikami
  • Listy sa zapisane na dysku w razie potrzeby

12
Przyklad listy wartosci
Age Class rid
17 High 1
20 High 5
23 High 0
32 Low 4
43 High 2
68 Low 3
Car Type Class rid
family High 0
sports High 1
sports High 2
family Low 3
truck Low 4
family high 5
13
Podzial listy wartosci
14
Struktura danych - Histogram
  • SPRINT uzywa
  • indeksu Gini do oceny jakosci podzialu
  • funkcji testu typu (a ? ?) dla atrybutów
    rzeczywistych
  • funkcji testu typu (a ? V) dla atrybutów
    symbolicznych
  • Histogram rozklad klas decyzyjnych zbadanego
    zbioru danych
  • Dla atrybutu rzeczywistego dwa histogramy
  • Cbelow histogram dla danych ponizej wartosci
    progowej
  • Cabove histogram dla danych powyzej wartosci
    progowej
  • Dla atrybutu symbolicznego jeden histogram zwany
    count matrix

15
Histogram przyklad
Age Class rid
17 High 1
20 High 5
23 High 0
32 Low 4
43 High 2
68 Low 3
Count matrix
H L
family 2 1
sports 2 0
truck 0 1
16
Wyznaczanie najlepszego podzialu - atrybut
rzeczywisty
  • Kazdy wezel ma listy wartosci obiektów w danym
    wezle

Wejscie lista wartosci atrybutu a Wyjscie
(a??) 1. Cbelow 0 2. Cabove rozklad klas
obiektów w danym wezle 3. Przegladaj kolejna
wartosc atrybutu 3.1 Oblicz jakosc podzialu 3.2
Modyfikuj Cbelow i Cabove 4. Wybierz najlepszy
podzial
17
Wyznaczanie podzialu-atrybutu rzeczywistego (c.d.)
18
Wyznaczanie podzialu -atrybutu symbolicznego

1. Wyznacz macierz rozkladu klas obiektów w
danym wezle 2. Uzywajac algorytmu
aproksymacyjnego (w SLIQ) wyznacz podzbiór
wartosci V ? Da t. zeby test (a?V) byl optymalny
19
Wykonanie podzialu
  • Kazda lista jest podzielona na dwie listy
  • Atrybut testujacy
  • Podziel wartosci listy zgodnie z testem
  • Atrybut nie testujacy
  • Nie mozna uzywac testu
  • Uzywaj rid
  • Skorzystaj z tablicy haszujacej

20
Wykonanie podzialu (c.d.)- atrybutu nie
testujacego
  • Przy podziale atrybutu testujacego, wstaw rid
    rekordów do tablicy haszujacej.
  • Tablica haszujaca informacje o tym do którego
    poddrzewa rekord zostal przeniesiony.
  • Algorytm
  • Przegladaj kolejny rekord listy
  • Dla kazdego rekordu wyznacz (na podstawie tablicy
    haszujacej) poddrzewo, do którego rekord ma byc
    przeniesiony

21
Wykonanie podzialu (c.d) - duza tablica haszujaca
  • Problem Tablica haszujaca nie miesci sie w
    pamieci
  • Algorytm
  • Krok 1 Podziel zbiór wartosci atrybutu
    testujacego na male porcje tak, zeby tablica
    haszujaca miescila sie w pamieci
  • Krok 2 Dla kazdej porcji
  • Podziel rekordy atrybutu testujacego do
    wlasciwego podrzewa
  • Buduj tablice haszujacej
  • Przegladaj kolejny rekord atrybutu nietestujacego
    i przynies go do odpowiedniego poddrzewa jesli
    rekord wystepuje w tablicy haszujacej
  • Krok 3 Jesli wszystkie rekordy zostaly
    przydzielone do poddrzew stop
  • wpp. goto krok 2

22
SPRINT algorytm równolegly
  • Listy wartosci atrybutów sa równo podzielone
  • Atrybut rzeczywisty
  • sortuj zbiór wartosci i
  • podziel go na równe przedzialy
  • Atrybut numeryczny
  • podziel wedlug rid
  • Kazdy procesor ma jedna czesc kazdej listy

23
Podzial zbioru danych
Procesor 0
Age Class rid
17 High 1
20 High 5
23 High 0
Car Type Class rid
family High 0
sports High 1
sports High 2
Procesor 1
Age Class rid
32 Low 4
43 High 2
68 Low 3
Car Type Class rid
family Low 3
truck Low 4
family high 5
24
Wyznaczanie najlepszego podzialu atrybut
rzeczywisty
  • Kazdy procesor ma przedzial wartosci atrybutu
  • Kazdy procesor inicjalizuje Cbelow i Cabove
    uwzgledniajac rozklad klas w innych procesorach
  • Kazdy procesor przeglada swoja liste i wyznacza
    najlepsza lokalna wartosc progowa
  • Procesory komunikuja sie w celu szukania
    najlepszej globalnej wartosci progowej

25
Wyznaczanie najlepszego podzialu atrybut
symboliczny
  • Kazdy procesor buduje lokalne count matrix i
    wysyla wynik do centralnego procesora
  • Centralny procesor oblicza globalny count matrix
  • Procesory wyznaczaja najlepszy podzial na
    podstawie globalnego count matrix

26
Histogramy w obliczeniu równoleglym
Process 0
Age Class rid
17 High 1
20 High 5
23 High 0
H L
Cbelow 0 0
Cabove 4 2
Process 1
Age Class rid
32 Low 4
43 High 2
68 Low 3
H L
Cbelow 3 0
Cabove 1 2
27
Wykonanie podzialu
  • Podzial atrybutu testujacego Kazdy procesor
    wyznacza poddrzewa, do których rekordy w lokalnej
    liscie beda przeniesione
  • Procesory wymieniaja ze soba informacje ltrids,
    poddrzewogt
  • Podzial pozostalych atrybutów Po otrzymaniu
    informacji ze wszystkich procesorów kazdy
    procesor buduje tablice haszujaca i wykonuje
    podzialy dla pozostalych atrybutów

28
SPRINT
  • Wada
  • Dodatkowe struktury danych
  • Nieefektywny jesli atrybut ma duzo wartosci
  • Nie wykorzystuje mocnych narzedzi systemów baz
    danych

29
Drzewo z elastycznymi podzialami - klasyfikacja
30
Elastyczna wartosc progowa vs. ostra wartosc
progowa
  • Standardowy test (alt?)
  • Nowy test
  • Elastyczna wartosc progowa zamiast ?
    przedzial (?1, ?2).
  • Funkcja testu trójka (a, ?1, ?2)
  • Zbiór obiektów jest podzielony na trzy podzbiory
  • a ? ?1 i a ? ?2 przedzialy pewnosci
  • ?1 lt a lt ?2 przedzial niepewnosci

31
Drzewo z elastycznymi podzialami vs.
standardowe drzewo
TaxInc,75,85
lt85K
gt75K
Standardowe drzewo (z ostrym podzialem)
Drzewo z nieostrym podzialem
32
Klasyfikacja nowego obiektu
  • I strategia - fuzzy decision tree
  • Przy wezlach wewnetrznych, wyznacz
    prawdopodobienstwa, ze obiekt nalezy do lewego i
    do prawego poddrzewa.
  • Dla kazdego liscia, oblicz prawdopodobienstwo
    tego, ze obiekt nalezy do tego liscia
  • Klasa, do której nalezy obiekt jest zwiazana z
    lisciem o najwiekszym prawdopodobienstwie

33
Klasyfikacja nowego obiektu (c.d.)
  • II strategia rough decision tree
  • Uzywaj obu poddrzew (jesli obiekt nalezy do
    przedzialu niepewnosci)
  • Utwórz wektor wyników agregujac wyniki otrzymane
    z poddrzew
  • Glosuj, zeby znalezc najlepsza decyzje

34
Wyznaczanie najlepszego podzialu
  • Atrybut symboliczny standardowo
  • Atrybut rzeczywisty
  • Uzywaj techniki dziel i rzadz
  • Uzywaj zapytan SQL do szybkiego obliczenia
    rozkladu klas w przedzialach

35
Techniki ulepszania
  • Definicja wartosc podzialu ? jest brzegowa,
    jesli istnieja 2 kolejne rekordy o1 i o2 takie,
    ze
  • a(o1) lt ? lt a(o2) i d(o1) ? d(o2)

?2
?3
?5
?6
?1
?4
?8
?7
DISCERN(?)
36
Techniki ulepszania Usunac wartosci
niegraniczne
  • Obserwacja optymalna wartosc progowa nalezy do
    zbioru wartosci granicznych.
  • Wniosek wartosci nie bedace brzegowymi mozna
    usunac ze zbioru mozliwych wartosci progowych.

37
Techniki ulepszania Eliminowac skrajne wartosci
  • Definicja Niech i oznacza i-ta klase decyzyjna.
    Mediana(i) jest wartosc progowa ? taka, ze
  • x a(x) lt ? i d(x) i x a(x) ? ? i
    d(x) i
  • Obserwacja Funkcja
  • Discern ?1, ?2,... ?k ? ? jest
  • jest rosnaca w przedziale ?1, mini(Median(i)))
  • jest malejaca w przedziale (maxi(Median(i)), ?k
  • Wniosek Mozna ograniczyc przedzial wyszukiwania
  • ?best ? mini(Median(i)), maxi(Median(i))

38
Eliminowac skrajne wartosci (c.d.)
39
Technika dziel i rzadz
  • Idea
  • Krok 1 Podziel zbiór wartosci atrybutu na k
    przedzialów
  • Krok 2 Ocen jakosci przedzialów
  • Krok 3 Wybierz najlepszy przedzial
  • Krok 4 Powtórz proces dla najlepszego przedzialu

?2
?1
?4
?5
?7
?8
?3
?6
Cykl 1
a
Cykl 2
Cykl 3
k 3
. . .
40
Technika dziel i rzadz miara oceny jakosci
przedzialu
  • Problem jak ocenic jakosc przedzialu ?L,?R?
  • Miara oceny musi dobrze oszacowac jakosc
    najlepszej wartosci progowej w przedziale
    ?L,?R.

41
Technika dziel i zwyciez
  • Dla dowolnej ? ? (vL, vR)
  • Wartosc oczekiwana
  • Odchylenie standardowe
  • Miara jakosci przedzialu

42
Algorytm dziel i rzadz
  • Wejscie atrybut a, amin, amax
  • Wyjscie optymalny test (a lt ?)
  • Parametry k , ?
  • vL amin vR amax
  • While (vL lt vR) do
  • 1.Podziel przedzial vL , vR na k równych
    przedzialów za pomoca punktów
  • pi vL i(vR - vL) / k dla (i 0,1,...,k)
  • 2. Dla (i 1,2,...,k)
  • 2.1. Oblicz Eval(pi-1 pi, ?)
  • 2.2. Niech pj-1 pj bedzie najlepszym
    przedzialem
  • 2.3. vL pi-1 vR pj
  • Return vL

43
Kryterium oceny stabilnosci przedzialu
  • Pod-przedzialy nie maja lepszej jakosci
  • Przedzial jest w miare maly
  • Przedzial zawiera mala liczbe obiektów

44
Wykonanie podzialu
  • Test jest typu (a?V) standardowo
  • Test typu (a, ?1, ?2)
  • Jesli (a(x) lt ?2) to x nalezy do lewego poddrzewa
  • Jesli (a(x) gt ?1) to x nalezy do prawego
    poddrzewa
  • Jesli (?1 lt a(x) lt ?2) to x nalezy do obu
    poddrzew

45
Drzewo z elastycznymi podzialami - obserwacja
  • Zaleta
  • Nie wymaga dodatkowych struktur danych
  • Nie wymaga umieszczenia danych w pamieci
  • Korzysta sie z SQL-owych zapytan
  • Dobre rozwiazanie dla danych z szumami
  • Wada Czas klasyfikacji jest dluzszy
Write a Comment
User Comments (0)
About PowerShow.com