• Nie Znaleziono Wyników

Klasteryzacja danych za pomocą sieci Kohonenea

N/A
N/A
Protected

Academic year: 2021

Share "Klasteryzacja danych za pomocą sieci Kohonenea"

Copied!
7
0
0

Pełen tekst

(1)

Klasteryzacja danych za pomocą sieci Kohonenea

Marek Bazan

III rok - Elektornika

Semestr letni 2019/2020

(2)

Plan zajęć

1. Dane

2. Algorytm Kohonena

(3)

Dane

1. iris.data 2. dane giełdowe

https://www.kaggle.com/camnugent/sandp500

(4)

Algorytm Kohonena

Dane: X = {xi}Ni =1, gdzie xi ∈ Rl, p - liczba klas w danych

1. Definiujemy p wektorów reprezentantów w1, w2, . . . , wp, gdzie wi ∈ Rl oraz współczynnik uczenia α(0) ∈ (0.1, . . . , 0.7) 1 2. Przed rozpoczęciem uczenia:

2.1 Przesuwamy dane X tak, aby środek ciężkości s = N1PN i =0xi był w początku układu współrzędnych oraz normalizujemy ich długość do 1

ˆ

xi def= s − xi

||xi|| i = 0, 1, . . . , N (1) 2.2 Inicjalizujemy wektory reprezentantów

ˆ

wi = 1

n[1 1 · · · 1]T i = 1, 2, . . . , p (2)

1[1] J. Żurada et al. ”Sztuczne sieci neuronowe”, PWN 1996.

(5)

Algorytm Kohonena – cd

3. Dla kolejnych ˆx ∈ ˆX wybieramy ˆwm(k), wg jednej z miar:

ˆ

wTmˆx = max

i =1,2,...,pwˆTi ˆx (3)

|| ˆwTm− ˆx|| = min

i =1,2,...,p|| ˆwTi − ˆx|| (4)

| ˆwmT− ˆx| = min

i =1,2,...,p

v u u u t

l

X

j =1

| ˆwijT − ˆxj| (5)

i dla każdego ˆx zapamiętujemy odpowiadające mu m w tablicy. Następnie modyfikujemy ˆw(k)m wg wzorów:

wˆ(k+1)m = wˆ(k)m + α(k)x − ˆwm(k)), wˆ(k+1)m = wˆ(k+1)m

|| ˆw(k+1)m ||

ˆ

w(k+1)i = wˆ(k)i , i 6= m.

(6)

Algorytm Kohonena – cd (2) – Współczynnik uczenia

Współczynnik α(k) maleje wraz z upływem czasu wyznaczanego przez numer iteracji k. Niech T będzie ustalone z góry jako

maksymalna liczba iteracji2. T jest tak dobrane, aby zbiór X mógł być przejżany w całości kilkukrotnie. Wówczas współczynnik uczenia maleje wg wzorów

1. Liniowe zmniejszanie

α(k) = α(0)(T − k)/T , k = 1, 2, . . . , T . (6) 2. Wykładnicze zmniejszanie

α(k) = α(0)exp(−Ck), k = 1, 2, . . . , T , C > 0. (7) 3. Hiperboliczne zmniejszanie

α(k) = C1/(C2+ k), k = 1, 2, . . . , T , C1, C2 > 0.(8)

2[2] http://zsi.tech.us.edu.pl/~nowak/wi/som.pdf - slajd 33

(7)

Algorytm Kohonena – do wykonania

1. Zaimplementować algorytm

2. Przetestować wszystkie miary podobieństwa danych do ich reprezentantów (3)-(5)

3. Przetestować różne sposoby modyfikacji współczynnika uczenia (6)-(8)

4. Sprawdzić czy algorytm działa bez normalizacji danych X 5. Testy wykonać na danych iris oraz danych giełdowych

wybierając różne wartości p

Cytaty

Powiązane dokumenty

Osadnictwo późnor zym skie, wczesno bizantyjskie i w czesnośredniow ieczne... Odkryto natomiast 6 pochówków

Numerical modeling in Manea and Gurnis [2007] shows how a low-viscosity zone (produced, e.g., by dehydration of a subducting slab) is capable of transitioning a dipping subduction

Podane jednak przez niego argum enty m ające przem awiać za autorstwem Naborowskiego nie przekonywają m nie i na szczęście nie jestem w tym moim poglądzie

warunki końcowe: jeśli to możliwe, funkcja dodaje daną Dana na szczyt stosu i zwraca wartość 1, w przeciwnym wypadku 0 }.. dane

{działanie: jeśli stos nie jest pusty, usuwa element ze szczytu stosu, czyli element ostatnio wstawiony do stosu. warunki początkowe: Stos jest

funkcje we/wy dla danych umieszczonych w kolejce void Pokaz_dane (dane Dana);.

universal approximation theorem for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can

Klucze obce dodaje się w zakładce 'Więzy integralności' poprzez link 'Dodaj klucz obcy'..!. Następnie nadaje się (dowolną) nazwę dla klucza obcego oraz przenosi kolumny