Hierarchical Clustering

Slides:



Advertisements
Сличне презентације
ARITMETIČKO LOGIČKA JEDINICA
Advertisements

Data mining Izdvajanje informacije iz skupa podataka i transformacija u jasnu strukturu za buduće korišćenje Data Mining koristi/prati isti opšti pristup.
Програмски језик Parallaxis
6.1. Sustavno prikupljanje sadržaja s interneta
Увод у организацију и архитектуру рачунара 1
Programiranje - Nizovi -
Nastavna cjelina: 2. BASIC
INSTRUMENTALNA ANALIZA REGRESIJA I KORELACIJA
UPOREDNA ANALIZA NAUČNE PRODUKCIJE
My SQL.
Uvod u funkcije Kolegij: Programski jezik C++ Ak. god. 2018/19
ISPITIVANJE KVALITETA SOFTVERSKI GENERISANIH SEGMENATA U OBLASTI VREMENSKE SLOŽENOSTI ALGORITAMA ZA AUTOMATIZOVANO SASTAVLJANJE ISPITA     Đorđe Pešić,
ANALITIČKA METODA ZA KINEMATIČKU ANALIZU – METODA KOMPLEKSNOG BROJA
Tipovi, operatori i izrazi
Kliknite ovde za unos prikaza časa u Word dokumentu!
POREĐENJE KARAKTERISTIKA KOLABORACIJE
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registri
OSNOVNI ELEMENTI PLC KONTROLERA
Funkcije.
Преклапање оператора Операторске функције Неки посебни оператори
POLINOMI :-) III℠, X Силвија Мијатовић.
Uvod u programiranje - matematika – VI predavanje Petlje. FOR. WHILE
Nastavna cjelina: 2. Microsoft Excel 2010
Journal Citation Report Радионица за библиотекаре
Dinamičke strukture podataka
EKONOMSKA ANALIZA DOBITI I TROŠKOVA IMPLEMENTACIJE NAPREDNIH MREŽA
Digitalna obrada slike
Python 8. razred Miodrag Maksimović.
Оператори и изрази Аритметички оператори Оператори на нивоу битова
Upit 1: Prikazati sve kolone iz tabele ZAPOSLENI.
VIŠEDIMENZIONI NIZOVI
PC Istorija računara.
Uvod u programiranje - matematika – VIII predavanje
Матема подухват - Моје кухињско нетривијално решење
Optimalna stabla wavelet paketa - primjene u kompesiji
Кинематика и кретање.
Podaci.
Digitalna obrada signala u FPGA
Избор у звање истраживач приправник кандидат: Оливера Јовановић
Избор у звање научни сарадник кандидат: Бојан Стојадиновић
Vježbenica 2: struktura grananja – 1.dio
Zadaci za vježbu Q-Basic Dušanka Tomić.
Пример.
V Savjetovanje CG KO CIGRE
Projektovanje namenskih računarskih struktura u obradi signala
"С в е т и С а в а" Аранђеловац Симетрала дужи. Симетрала угла
Relacione baze –primer modelovanja baze
Пресек два троугла у равни
Структура програма у Паскалу
TEHNOLOGIJA MAŠINOGRADNJE
Logičko projektovanje računarskih sistema 2
Класификација паралелних система
Logičko projektovanje računarskih sistema 2
Процесорска поља Организација процесорских поља
Prof. dr Vlado Simeunović OSNOVE RAČUNARSKE TEHNIKE vlado
Избор у звање научни сарадник кандидат: Дејан Малетић
Funkcije u ekselu.
MOD MOD je aritmetički operator – predstavlja ostatak cjelobrojnog dijeljenja. Ako je MOD = 0, tada je broj djeljiv bez ostatka. Gleda se samo ostatak.
КАРАКТЕРИСТИЧНЕ ПРАВЕ У РАВНИ
Napisati program koji izračunava sledeću formulu
Principi programiranja
Principi programiranja
ЛОПТА Висока грађевинско-геодетска школа Београд /
Metodologije izgradnje RIS-a
УКЉУЧИ СЕ! ПРЕДЛОЖИ ПРОЈЕКАТ!
Висока грађевинско-геодетска школа Београд
Транскрипт презентације:

Hierarchical Clustering Bojan Mišić 2015/3437

Hierarchical Clustering (HCA) Clustering algorithm Unsupervised Ideja Grupisati slične entitete u klastere Rekurzivno grupisati klastere u hijerarhiju Predstaviti rezultat u vidu binarnog stabla 2/12 Bojan Mišić 15/3437

3/12 Bojan Mišić 15/3437

Hierarchical Clustering Šta grupisati? Tačke u prostoru Novinske članke u kategorije Gene sličnih manifestacija… Kako grupisati? Izbor odgovarajuće metrike 4/12 Bojan Mišić 15/3437

Metrika U slučaju tačaka u prostoru: Euklidska razdaljina 5/12 U slučaju tačaka u prostoru: Euklidska razdaljina Kvadratna Euklidovska razdaljina Menhetn razdaljina… Bojan Mišić 15/3437

Kriterijum za spajanje Single-link Blizina najbližih tačaka iz dva cluster-a Complete-link Blizina najudaljenijih tačaka iz dva cluster-a Centroid Blizina težišta (centara gravitacija) dva cluster-a Average-link Prosečna međusobna udaljenost svih tačaka 6/12 Bojan Mišić 15/3437

Implementacija 1) Inicijalno, sve tačke su cluster-i Svi cluster-i inicijalno imaju status NOT_MERGED 2) Naći dva najbliža cluster-a i grupisati ih u novi Dva grupisana cluster-a prelaze u status MERGED Novi cluster dobija status NOT_MERGED Ponavljati 2) dok ne ostane samo jedan NOT_MERGED (Jedini preostali cluster je koren stabla) 7/12 Bojan Mišić 15/3437

Moj algoritam Nazahtevnija operacija: DISTANCE MATRIX 8/12 Bojan Mišić 15/3437

Kod u C-u na CPU (O(n2)) 9/12 Bojan Mišić 15/3437 for (int i = 0; i < dimension; i++) { for (int j = 0; j < dimension; j++) if (j < i) if (clusters[i].status == NOT_MERGED && clusters[j].status == NOT_MERGED) matrix[i][j] = sqrt(pow(clusters[i].item.coord.x - clusters[j].item.coord.x, 2) + pow(clusters[i].item.coord.y - clusters[j].item.coord.y, 2)); if (matrix[i][j] < min) min = matrix[i][j]; i_min = i; j_min = j; } 9/12 Bojan Mišić 15/3437

Kod u C-u na GPU 10/12 __global__ void distance_matrix (float* ax, float* bx, float* ay, float* by, float* c, const int dimension) { int i = blockIdx.x * blockDim.x + threadIdx.x; int j = blockIdx.y * blockDim.y + threadIdx.y; int index = i + j*dimension; if (i < dimension && j < dimension) if ((ax[i] == 0.0f && ay[i] == 0.0f) || (bx[j] == 0.0f && by[j] == 0.0f)) c[index] = 0.0f; } else c[index] = sqrt(pow(ax[i] - bx[j], 2) + pow(ay[i] - by[j], 2)); 10/12 Bojan Mišić 15/3437

Test podaci Lista gradova SAD (random order): 11/12 [SZL] | 38.73 93.55 [INT] | 36.13 80.23 [EWN] | 35.08 77.05 [BTR] | 30.53 91.15 [MHS] | 41.32 122.32 [GRR] | 42.88 85.52 [BML] | 44.58 71.18 [MVN] | 38.32 88.86 [AND] | 34.50 82.72 [MCE] | 37.28 120.52 11/12 Bojan Mišić 15/3437

Rezultati Ubrzanje CUDA oko 1.6x Intuicija rezultata: EFD – Wellington, TX HOU – Houston, TX GLS – Galweston, TX BPT – Port Arthur, TX Susedni cluster-i, svi gradovi iz TX 12/12 Bojan Mišić 15/3437