Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Projekt informatyczny

Wykład 4
dr inż. Piotr Grochowalski

Ver. 1.0, rok ak. 2022/2023


Klasteryzacja – podstawowe założenia
• Podstawowym zadaniem klasteryzacji (grupowania)
jest dokonanie podziału zbioru przypadków C
znajdujących się w bazie na grupy C1, C2, ..., Ck,
nazywane klastrami, stanowiące podzbiory przypadków
podobnych do siebie, przy czym pojęcie podobieństwa
może być definiowane w różny sposób.
• Podział zbioru C powinien być dokonany w taki sposób,
aby przypadki z danej grupy były bardziej podobne do
siebie (homogeniczność) niż do jakichkolwiek
przypadków z pozostałych grup (heterogeniczność).
Klasteryzacja – podstawowe założenia
• Istotnym zagadnieniem jest ustalenie liczby k grup, na
które zbiór przypadków ma zostać podzielony, gdyż
zazwyczaj liczba ta nie jest z góry zadana.
• Kryteria klasteryzacji dotyczą interpretacji
semantycznej klastrów.
• Istotna jest odpowiedź na pytanie dlaczego dwa
przypadki przypisywane są do tego samego klastra.
W tej kwestii odpowiedź może być udzielona na
podstawie dostępnej wiedzy.
Klasteryzacja – podstawowe założenia
• W wielu sytuacjach przypadki grupowane są razem ze
względu na istniejące pomiędzy nimi zależności takie
jak np. nieodróżnialność, podobieństwo, bliskość,
funkcjonalność, zgodność.
• Istotnym zagadnieniem w procesie klasteryzacji zbioru
przypadków jest ustalenie struktury klastrów.
• Klastry mogą być parami rozłączne lub też zachodzące
na siebie.
Klasteryzacja – podstawowe założenia
• W przypadku klastrów rozłącznych mówi się o tzw.
podziale ostrym. W takiej sytuacji dany przypadek
należy tylko do jednego klastra.
• W przypadku klastrów zachodzących na siebie mówi
się o tzw. podziale rozmytym. Przy tym podziale dany
przypadek może należeć do wielu klastrów.
• Dodatkowo określany jest stopień przynależności
przypadku do danego klastra.
• Stopień ten ma wartość rozmytą z przedziału [0, 1].
Wynika z tego, że przypadek może należeć do
grupy tylko w pewnym stopniu.
Miary odległości
Dane są dwa punkty x oraz y w przestrzeni m-wymiarowej:
𝑥 = 𝑥1, 𝑥2, . . . , 𝑥𝑚

𝑦 = 𝑦1, 𝑦𝑚 , . . . , 𝑦𝑚

• Odległość (metryka) Euklidesa


𝑛

𝑑𝐸𝑢𝑘𝑙 (𝑥, 𝑦) = ෍(𝑦𝑖 − 𝑥𝑖 )2


𝑖=1

• Odległość (metryka) Manhattan


𝑛

𝑑𝑀𝑎𝑛ℎ (𝑥, 𝑦) = ෍ ∣ 𝑦𝑖 − 𝑥𝑖 ∣
𝑖=1

• Odległość (metryka) Minkowskiego


𝑞
𝑛

𝑑𝑀𝑖𝑛𝑘 (𝑥, 𝑦) = ෍ ∣ 𝑦𝑖 − 𝑥𝑖 ∣𝑞
𝑖=1
Miary odległości
• Dla atrybutów symbolicznych możemy zdefiniować funkcję R
(„różne od”).
• Dla i-tego atrybutu funkcja ma postać:

0 𝑑𝑙𝑎 𝑥𝑖 = 𝑦𝑖
𝑅 𝑥𝑖 , 𝑦𝑖 = ቊ
1 𝑤 𝑝𝑟𝑧𝑒𝑐𝑖𝑤𝑛𝑦𝑚 𝑝𝑟𝑧𝑦𝑝𝑎𝑑𝑘𝑢

• Funkcja R może zostać zastosowana dla i-tego atrybutu w


miarach odległości.
Normalizacja wartości atrybutów
• Przy wyznaczaniu odległości atrybuty posiadające duże
wartości mogą niwelować wpływ innych atrybutów (tych
posiadających mniejsze wartości).
• W celu wyeliminowania tej sytuacji należy dokonać
normalizacji wartości atrybutów.
Normalizacja wartości atrybutów
• Normalizacja min-max:
• dla zbioru wartości atrybutu:

𝑋 =ሼ𝑥1, 𝑥2, . . . , 𝑥𝑘 ቅ

• znormalizowana wartość xi jest obliczana jako:

∗ 𝑥𝑖 − min(𝑋) 𝑥𝑖 − min(𝑋)
𝑥𝑖 = =
𝑧𝑎𝑘𝑟𝑒𝑠(𝑋) max(𝑋) − min(𝑋)
Algorytmy iteracyjnej optymalizacji

• W algorytmach iteracyjnej optymalizacji najlepszy podział


zbioru przypadków jest wyznaczany przez iteracyjne
polepszanie pewnych wskaźników jakości, startując z
początkowego, najczęściej losowego, podziału.
Algorytm k-średnich (k-Means)
• Algorytm k-średnich, dzieli jednoznacznie zbiór przykładów na k grup,
wstępny podział przykładów nie jest znany.
• Środek grupy jest średnią położenia wszystkich przykładów należących do
tej grupy.
• Algorytm działa do momentu stabilizacji, czyli gdy nie dochodzi już
do żadnych zmian w uzyskanych grupach.
• W określaniu jak daleko dane przykłady są od zdefiniowanych środków
grup wykorzystujemy miarę odległości między punktami (zwykle
euklidesową).

Możliwe ulepszenia lub modyfikacje:


• różne sposoby znajdowania odległości,
• zmiana liczby grup w trakcie pracy algorytmu (zapobieganie nadmiernej unifikacji
(tworzenie „przesadzonych” grup i przesadnemu rozdrobnieniu),
• wykorzystanie ważonej miary odległości uwzględniającej znaczenie atrybutów.
Algorytm k-średnich (k-Means)

KROK 1: Ustalenie liczby (c) grup, na które zbiór przypadków będzie


dzielony.
KROK 2: Wstępne ustalenie środków grup np.: losowe przypisanie
obiektów.
KROK 3: Obliczenie odległości obiektów od środków grup.
KROK 4: Przypisanie obiektów do grup (znalezienie dla każdego
obiektu najbliższego środka grupy).
KROK 5: Ustalenie nowego środka grupy (dla każdej z c grup
znalezienie centroidu grupy i uaktualnienie położenie
każdego środka grupy jako nową wartość centroidu).
KROK 6: Powtórzenie kroków od 3 do 5 aż do osiągnięcia warunku
zakończenia algorytmu.
Algorytm k-średnich (k-Means)
Obliczenie centroidu grupy dla grupy przypadków:

𝑥 1 = 𝑥11, 𝑥21, . . . , 𝑥𝑚
1

𝑥 2 = 𝑥12, 𝑥22, . . . , 𝑥𝑚2

...
𝑥 𝑘 = 𝑥1𝑘 , 𝑥2𝑘 , . . . , 𝑥𝑚𝑘

centroid ma postać:
σ𝑘𝑖=1 𝑥1𝑖 σ𝑘𝑖=1 𝑥2𝑖 σ𝑘𝑖=1 𝑥𝑚
𝑖
, ,...,
𝑘 𝑘 𝑘
Algorytm k-średnich (k-Means)
• Warunkiem zakończenia algorytmu jest być sytuacja, gdy
dla wszystkich grup wszystkie przypadki przypisane do
tej grupy pozostają w tej grupie.
• Inaczej, algorytm kończy działanie gdy osiągnięte
zostanie kryterium zbieżności – minimalizacja
sumarycznego błędu kwadratowego ( p jest przykładem
z i-tej grupy, mi jest centroidem i-tej grupy):
𝑐

𝑆𝑆𝐸 = ෍ ෍ 𝑑 𝑝, 𝑚𝑖 2

𝑖=1 𝑝∈𝐶𝑖
Klasteryzacja hierarchiczna
• W klasteryzacji hierarchicznej danych tworzona jest
struktura drzewiasta (dendrogram) poprzez rekurencyjne
dzielenie lub łączenie istniejących grup.
Klasteryzacja hierarchiczna
• Metody aglomeracyjne:
• na początku zakłada się, że każdy przykład stanowi oddzielną grupę,
• w kolejnych krokach dwie grupy, które są najbliżej siebie, łączy się w
nową wspólną grupę,
• ostatecznie wszystkie przykłady należą do jednej grupy.

• Metody rozdzielające:
• na początku zakłada się, że wszystkie przykłady należą do jednej
grupy,
• w kolejnych krokach najbardziej niepodobne przykłady rozdzielane
są w osobne grupy,
• ostatecznie każdy przykład stanowi oddzielną grupę.
Klasteryzacja hierarchiczna
• Kryteria określania odległości pomiędzy grupami:
• metoda pojedynczego połączenia (metoda najbliższego
sąsiedztwa) – określana jest minimalna odległość
pomiędzy dwoma przykładami należącymi do różnych
grup,
• metoda całkowitego połączenia (metoda najdalszego
sąsiedztwa) – określana jest maksymalna odległość
pomiędzy dwoma przykładami należącymi do różnych
grup,
• metoda średniego połączenia – określana jest średnia
odległość pomiędzy wszystkimi przykładami z jednej
grupy i wszystkimi przykładami z drugiej grupy.
Tabela decyzyjna – przykład

Atrybuty warunkowe (opisujące przypadki) Atrybuty decyzyjny


Problem klasyfikacji
Klasyfikatory
Klasyfikatory oparte o model, np.:
– model w postaci sieci neuronowej
– model w postaci drzewa decyzyjnego
– model w postaci zbioru reguł (IF-THEN)
– model w postaci sieci Bayesa

Klasyfikatory leniwe, np.:


• k-NN (k-najbliższych sąsiadów)
Ocena jakości klasyfikatora
Ocena jakości klasyfikatora
Macierz pomyłek (konfuzji, rozrzutu)

Przewidywane przez
d1 d2 ... dn klasyfikator wartości
d1 atrybutu decyzyjnego
d2
... Liczba przypadków z
dn przypisaną aktualną
decyzją d1 oraz
przewidywaną decyzją d1

Liczba przypadków z
Aktualne wartości przypisaną aktualną decyzją d2
atrybutu decyzyjnego oraz przewidywaną decyzją d1
Ocena jakości klasyfikatora
Klasa przewidywana →
Pozytywna Negatywna
Klasa aktualna ↓

Pozytywna TP FN
Negatywna FP TN
TP (true positive) – liczba przypadków prawdziwie pozytywnych
FP (false positive) – liczba przypadków fałszywie pozytywnych
TN (true negative) – liczba przypadków prawdziwie negatywnych
FN (false negative) – liczba przypadków fałszywie negatywnych
Ocena jakości klasyfikatora
𝑇𝑃 + 𝑇𝑁
Dokładność (accuracy): 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁

Precyzja (precision): 𝑇𝑃
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃

Zwrot (recall)
𝑇𝑃
𝑟𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁
F-miara (F-measure)
2 ⋅ 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ⋅ 𝑟𝑒𝑐𝑎𝑙𝑙
𝐹=
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙

TP (true positive) – liczba przypadków prawdziwie pozytywnych


FP (false positive) – liczba przypadków fałszywie pozytywnych
TN (true negative) – liczba przypadków prawdziwie negatywnych
FN (false negative) – liczba przypadków fałszywie negatywnych
Ocena jakości klasyfikatora
Strategie:
• Niezależne zbiory: treningowy i testowy.
• Losowy podział zbioru wszystkich przypadków na
zbiory: treningowy i testowy w ustalonej
proporcji.
• Kroswalidacja k-krotna
• kroswalidacja stratyfikowana k-krotna (zachowane są
oryginalne proporcje pomiędzy klasami decyzyjnymi).
• Leave one out (szczególny przypadek kroswalidacji
k-krotnej).
Ocena jakości klasyfikatora
Kroswalidacja k-krotna

podzbiory[1..k]<-losowy podział zbioru przypadków na


k podzbiorów

Dla każdego i od 1 do k:
zbiór treningowy ← podzbiory z wyjątkiem i-tego
zbiór testowy ← podzbiór i-ty
uczenie klasyfikatora na zbiorze treningowym
testowanie klasyfikatora na zbiorze testowym
Ocena jakości klasyfikatora

Leave one out (n - liczba przypadków)

Dla każdego i od 1 do n:
zbiór treningowy ← zbiór przypadków z wyjątkiem i-
tego
zbiór testowy ← i-ty przypadek
uczenie klasyfikatora na zbiorze treningowym
testowanie klasyfikatora na zbiorze testowym
Drzewa decyzyjne

• Metody uczenia się drzew decyzyjnych to najbardziej znane i


najczęściej stosowane w praktyce algorytmy indukcji
symbolicznej reprezentacji wiedzy z przykładów.
• Struktura drzewa jest dość czytelna dla człowieka.
• Drzewo decyzyjne składa się z korzenia, z którego wychodzą co
najmniej dwie gałęzie do węzłów leżących na niższym poziomie.
Drzewa decyzyjne

• Z każdym węzłem związany jest test sprawdzający wartości


atrybutu opisującego przykłady.
• Dla każdego z możliwych wyników testu odpowiadająca mu gałąź
prowadzi do węzła na niższym poziomie drzewa.
• Węzłom, z których nie wychodzą żadne gałęzie (liście) przypisane
są odpowiednie klasy decyzyjne.
• Ścieżki prowadzące od korzenia do liścia drzewa reprezentują
koniunkcję pewnych testów zdefiniowanych na wartościach
atrybutów opisujących przykłady uczące.
• Drzewo decyzyjne może więc posłużyć do określenia zbioru reguł
określających przydział przykładów do klas decyzyjnych.
• Każda ścieżka drzewa od korzenia do liścia odpowiada jednej
regule.
Konstruowanie drzew decyzyjnych
• Większość algorytmów konstrukcji (uczenia się) drzew
decyzyjnych oparta jest na schemacie zstępującego
konstruowania drzewa (TDIDT – Top Down Induction of
Decision Trees).
• Przykładowe algorytmy:
• ID3
• C4.5
• CART
• Generalnie różnice pomiędzy poszczególnymi algorytmami
dotyczą wyboru optymalnego podziału.
Konstruowanie drzew decyzyjnych
Drzewo decyzyjne buduje się w sposób rekurencyjny od korzenia do liścia, metodą "dziel i
zwyciężaj".

Ogólna idea algorytmu indukcji drzewa jest następująca:


1. Drzewo zaczyna od pojedynczego węzła reprezentującego cały zbiór treningowy.
2. Jeżeli wszystkie przykłady należą do jednej klasy decyzyjnej, to zbadany węzeł staje się liściem i
jest on etykietowany tą decyzją.
3. W przeciwnym przypadku algorytm wykorzystuje miarę entropii (funkcja przyrostu informacji)
jako heurystyki do wyboru atrybutu, który najlepiej dzieli zbiór przykładów treningowych.
4. Dla każdego wyniku testu tworzy
się jedno odgałęzienie i przykłady
treningowe są odpowiednio
rozdzielone do nowych węzłów
(poddrzew).
5. Algorytm działa dalej w rekurencyjny
sposób dla zbiorów przykładów
przydzielonych do poddrzew.
6. Algorytm kończy się, gdy kryterium
stopu jest spełnione.
Konstruowanie drzew decyzyjnych
Algorytm indukcji drzewa decyzyjnego zatrzymuje się, gdy jeden z podanych
warunków jest spełniony:
1. Wszystkie przykłady przydzielone do danego węzła należą do jednej
klasy decyzyjnej, lub
2. Nie istnieje atrybut, który może dalej podzielić zbiór przykładów. W
tym przypadku, liść jest etykietowany nie jedną wartością decyzji, lecz
wektorem wartości zwanym rozkładem decyzji, lub
3. Wszystkie liście mają założoną z góry przewagę jednej klasy decyzyjnej
(np. w żadnym nie ma mniej, niż 1% obiektów z innych klas, niż
dominująca).
Konstruowanie drzew decyzyjnych
Rodzaje testów
• Rozróżniamy dwa przypadki: pierwszy dotyczy atrybutów nominalnych
(symbolicznych), a drugi dotyczy atrybutów ciągłych (rzeczywistych).

Niech a będzie dowolnym atrybutem oraz x będzie dowolnym przykładem w


tablicy danych.
1.Testy dla atrybutów nominalnych:
1. test tożsamościowy: "a(x) = ?".
Zbiór możliwych wyników testu jest zbiorem wartości testowanego atrybutu a
(czyli t(x) = a(x)).
2. test równościowy: "czy (a(x) = v)?, gdzie v ∈ Va.
Zbiór wyników testu jest binarny.
3. test przynależnościowy: "czy (a(x) ∈ V), gdzie V ⊂ Va.
Zbiór wyników testu jest binarny.
2.Test dla atrybutów ciągłych:
1. test nierównościowy: "czy (a(x) ≥ c)?, gdzie c ∈ R jest wartością
progową.
Zbiór wyników testu jest binarny.
Entropia zbioru treningowego
Entropia - miara nieuporządkowania zbioru.
𝑘
𝑛𝑖
𝐸(𝑆) = − ෍ 𝑝𝑖 log𝑝𝑖 𝑝𝑖 = 𝑖 = 1,2. . . . , 𝑘
𝑛
𝑖=1
k – liczba klas decyzyjnych
n – liczba wszystkich przykładów uczących (treningowych)
ni – liczba przykładów uczących (treningowych) należących do i-tej klasy

Zysk (przyrost) informacji


Im większy przyrost informacji tym bardziej redukowana jest entropia (nieuporządkowanie
zbioru), czyli lepiej rozróżnialne są obiekty z tego zbioru.
𝑛𝑣
𝐼𝐺(𝑆, 𝑎) = 𝐸(𝑆) − ෍ 𝐸(𝑆𝑣 )
𝑛
a – cecha (atrybut) 𝑣∈𝑉𝑎
Va – zbiór wartości cechy a
nv – liczba przykładów uczących (treningowych), dla których cecha a ma wartość v
Sv – podzbiór zbioru przykładów uczących (treningowych), dla których cecha a ma
wartość v
Zjawisko przeuczenia
• Drzewo decyzyjne jest przeuczone (nadmiernie dopasowane) do danego
zbioru uczącego, jeśli istnieje inne drzewo o większym błędzie na tym
zbiorze, które mimo to ma mniejszy błąd na całym rozkładzie przypadków
(tj. obejmującego także przykłady, które nie wystąpiły z zbiorze uczącym).
• Drzewo przeuczone odzwierciedla przypadkowe przekłamania w danych
lub zbyt szczegółowe regularności, nieistotne dla klasyfikacji przypadków.

Upraszczanie (przycinanie drzewa)


• Usuwane są pewne fragmenty drzewa (tj. podrzewa) o niewielkim
znaczeniu dla klasyfikacji.
• W wyniku lokalnego usunięcia podrzewa z korzeniem tego podrzewa
może być związany zbiór przykładów uczących należących do różnych klas
decyzyjnych. Zmieniając taki węzeł na liść decyzyjny przypisuje mu się
etykietę większościowej klasy decyzyjnej w zbiorze przykładów
związanym z tym węzłem.
Algorytm k-NN
• k-NN (k-nearest neighbors) - algorytm k najbliższych
sąsiadów jest algorytmem używanym do klasyfikacji nowych
obiektów (przypadków).
• Nowy obiekt porównywany jest z k najbliższymi sąsiadami ze
zbioru uczącego.
• Nowemu obiektowi przypisywana jest większościowa klasa
sąsiadów ze zbioru uczącego.
Algorytm k-NN

k=5

k=3

You might also like