Fakulta Dopravní Ústav aplikované matematiky. v dopravní problematice

Rozměr: px
Začít zobrazení ze stránky:

Download "Fakulta Dopravní Ústav aplikované matematiky. v dopravní problematice"

Transkript

1 České vysoké učení technické Fakulta Dopravní Ústav aplikované matematiky Czech Technical University in Prague Faculty of Transportation Sciences Department of Applied Matematics Využití shlukové analýzy v dopravní problematice The usage of cluster analysis in transport problems Bakalářská práce Školitel: doc. Ing. Ivan Nagy, CSc. Studijní program: 3710 Technika a technologie v dopravě a spojích Studijní obor: 2612R004 Automatizace a informatika Prague, 2011 Tereza Mlynářová

2 Poděkování Na tomto místě bych ráda poděkovala všem, kteří mi poskytli podklady pro vypracování této práce. Zvláště pak děkuji doc. Ing. Ivanu Nagymu, CSc. za odborné vedení a konzultování bakalářské práce a za rady, které mi poskytoval po celou dobu mého studia. Dále bych chtěla poděkovat pracovníkům ÚTIA za umožnění přístupu k mnoha důležitým informacím a materiálům. V neposlední řadě je mou milou povinností poděkovat své rodině, příteli a blízkým za morální a materiální podporu, které se mi dostávalo po celou dobu studia. 2

3 Prohlášení Předkládám tímto k obhajobě bakalářskou práci, zpracovanou na závěr bakalářského studia na ČVUT v Praze na Fakultě dopravní. Prohlašuji, že jsem předloženou práci vypracovala samostatně a že jsem uvedla veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Nemám závažný důvod proti užití tohoto díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).... podpis Praha, červen

4 Abstrakt Předmětem bakalářské práce Využití shlukové analýzy v dopravní problematice je porovnání základních metod shlukové analýzy, uvedení jejich vlastností, resp. silných a slabých stránek, což je prakticky ukázáno na experimentech. Shlukové algoritmy jsou aplikovány nejprve na simulovaná data a pak na data reálná, která byla získána z dopravního měření. Shlukování lze považovat za nedílnou součást dopravních analýz. Abstract The topic of the work The usage of cluster analysis in transport problems is to compare basic methods of cluster analysis, to mention their properties, or strong and weak points, which is practically demonstrated on experiments. Firstly, cluster algorithms are applied on simulated data and then on real data that was obtained by a traffic measurement. It is possible to consider clustering as the entire part of every traffic analysis. 4

5 Obsah 1 Úvod Motivace Formulace úlohy Definice a pojmy Vybrané metody shlukové analýzy Algoritmus Kmeans Základní algoritmus Kmeans Dodatky algoritmu Kmeans Půlicí Kmeans Kmeans a různé typy shluků Silné a slabé stránky Hierarchické shlukování Základní aglomerativní hierarchický algoritmus Ukázka metod na příkladě Lancův-Williamsův vztah pro sousedství (L-W vztah) Problémy hierarchického shlukování DBSCAN Základní idea DBSCANu Algoritmus DBSCAN Silné a slabé stránky DBSCANu Testování Simulovaná data Testování Kmeans na simulovaných datech Testování hierarchického algoritmu na simulovaných datech Testování DBSCANu na simulovaných datech Reálná data Závěr 47 5 Příloha Co je shluková analýza (cluster analysis)? Součásti úlohy shlukování Různé druhy shluků Měření podobnosti Různé druhy shlukování

6 1 Úvod 1.1 Motivace Pokud si kdekoli do vyhledávače zadáte Definuj dopravu,, většinou se ukáže definice : Doprava je způsob pohybování se objektů z místa na místo. Jde o přemist ování.... Je však doopravdy pod pojmem Doprava schováno pouhé přemist ování? Ano, dříve doprava znamenala pouhý přesun z místa na místo. Jsou však pryč doby, kdy jsme mohli spočítat auta na křižovatkách na prstech jedné ruky, kdy bylo ropy takřka na rozdávání, kdy jsme mohli vést nové pozemní komunikace kdekoli a nezajímala nás otázka záboru půdy, kdy hluk a zplodiny byly pouhé pojmy ve slovníku, atd. Ve výčtu věcí, které jsou již minulostí, bychom mohli pokračovat směle dále. Přítomnost s sebou nyní přináší úplně jiný náhled na dopravu. Složité přepravní vztahy, narůstající intenzity, automobilizace, délky kolon, docházející ropa a hledání alternativních paliv, hluk převyšující dovolené limity, narůstající úroveň nehodovosti, atd. Na druhou stranu nám nyní doprava umožňuje to, co bylo před několika desítky let v pouhých představách a snech lidí. Cestování až na druhou stranu zeměkoule za pár hodin, schopnost přepravit téměř libovolné množství materiálů a zboží, integrace městské hromadné dopravy, inovace dopravních prostředků, atd. Nabízí se otázka - Jde dnešní vývoj dopravní techniky a dopravních technologií správným směrem? Samozřejmě nelze na tuto otázku jednoduše odpovědět. Vše má své pozitivní a negativní stránky. Naším úkolem však je eliminovat důsledky negativních vlivů a zaměřit se na samotná pozitiva. Řešení problémů se ubírá třemi směry. Jinak řečeno zaměřujeme se na zmíněné problémy ze třech hledisek. Chceme, aby náklady spojené s dopravou byly co nejmenší, aby dopad na životní prostředí byl co nejméně škodlivý a hlavně požadujeme, aby pro nás doprava byla prostředkem, který pro nás bude bezpečný. Nahlížíme tedy na věc z hledisek ekonomických, ekologických a bezpečnostních. Situaci je možno měřením různých veličin analyzovat pomocí dat, které sebereme na námi sledovaných objektech. Díky sebraným datům se pohybujeme v několika-dimenzionálních prostorech. Měření v jednom časovém okamžiku představují právě jeden bod v prostoru (pokud uvažujeme dvě veličiny, pak hovoříme o rovině). Vypovídací schopnost dat můžeme demonstrovat na obrázku 1 jako bezpečnou a nebezpečnou oblast dat. Existují různé metody, jak eliminovat problémy spojené s dopravou. Můžeme zákonem navrhnout nějaká nová opatření, či opravit stávající, zvýšit policejní dohled na pozemních komunikacích, učinit stavební úpravy či zlepšit techniku v dopravních prostředcích. V této práci se poslední záležitostí budeme zabývat blíže. Zaujala mě myšlenka vylepšení technického prostředí uvnitř automobilů pomocí nového zařízení - jakési krabičky. Tato krabička bude dodatečným vybavením, 6

7 Obrázek 1: Bezpečná vs. nebezpečná oblast dat Jsou zde zobrazena data z reálné jízdy. Graf vyjadřuje závislost mezi natočením volantu a rychlostí, tudíž se pohybujeme ve dvourozměrném prostoru (resp. v rovině). Pokud budeme na obrázek nahlížet z bezpečnostního hlediska, tak naměřená data zobrazují vesměs jízdu bezpečnou. Pokud se tedy nějaké body objeví v horní části obrázku a navíc směrem do stran, jedná se o jízdu nebezpečnou - jedeme tedy rychle a ještě k tomu do zatáčky. jako je například navigace, výstražné zařízení či parkovací čidla. Tyto krabičky budou obsahovat programy, které budou hodnotit naši jízdu, resp. styl našeho řízení z výše zmíněných tří hledisek. Bude tedy potřeba měřit data jak na autě, tak na samotném řidiči, následně tato data analyzovat a na základě analýzy dat podat rady řidiči ke zlepšení jeho řízení, či ho varovat před nebezpečnou jízdou. Pokud bychom se tedy v případě zobrazeném na obrázku 1 pohybovali v nebezpečné oblasti dat - jeli bychom tedy příliš rychle do prudké zatáčky, krabička by nás upozornila a naše kroky by vedly prvně ke snížení rychlosti a v případě, že jsme již za zatáčkou, ke srovnání volantu. Tím bychom se dostali do bezpečnějšího módu. Jako matematický nástroj bude použito klastrování a klasifikaci. Díky klastrování se vytvoří model, klasifikací bude poté reprezentován. V praxi na řidiče působí desítky (mnohdy až stovky) vlivů, které je při řízení přímo, či nepřímo ovlivňují. Výsledkem těchto vlivů pak je, že se automobil i s řidičem pohybuje v určitých oblastech (pracovních módech). 7

8 Pro lepší názornost, jak vypadá složitější soustava pracovních módů, resp. shluku dat na reálně měřených datech, můžeme uvést jízdu automobilem, při které měříme přidávání plynu a rychlost. Tato data jsou vykreslena na obrázku 2. Obrázek 2: Ukázka pracovních módů (shluků) Na obrázku jsou zobrazena reálná data v dvourozměrném prostoru. Na ose x je zobrazen plyn [%]. Na ose y rychlost [km/h]. Již pouhým okem a bez jakékoli předchozí informace jsme schopni analyzovat danou situaci. Řekněme, že jsou zde rozpoznatelné tři shluky, které představují rozjíždění a jízdu městem (hodnoty od malých rychlostí kolem 10 km/h do 50 km/h s různě velkým plynem), jízdu mimo město (rychlosti kolem 90 km/h s vyššími hodnotami plynu než v předchozím případě) a nakonec jízdu na dálnici (rychlost kolem 130 km/h s vyšší hodnotou plynu oproti předchozím případům). Jak však striktně určit příslušnosti jednotlivých bodů k daným skupinám? To je právě úkol shlukové analýzy - nalezení módů bezpečnosti, resp. nebezpečnosti. O pracovních módech tedy vypovídají data měřená jak na autě, tak na řidiči. Měřená data hrají v tomto případě klíčovou roli, a tak musíme dbát o jejich pečlivý výběr. Daty měřenými na automobilu mohou být veličiny jako poloha automobilu, či volantu, plyn, brzda, rotace, příčné zrychlení, rychlosti jednotlivých kol, otáčky motoru, moment motoru, apod. Daty měřenými na řidiči jsou např. pohyby víček, výraz tváře, EEG, teplotní mapa obličeje, únava, reakční doba atd. Jak je již vidět, budeme se pohybovat v n - dimenzionálním prostoru (n udává počet měřených veličin). Data budou měřena v diskrétním čase, kdy v každém čase dostaneme datový vektor (vektor naměřených hodnot). Tento vektor předsta- 8

9 vuje bod v datovém prostoru. Uspořádáme-li datové vektory od počátku měření až do aktuálního času pod sebe, dostaneme datovou matici. V datové matici můžeme nalézt řádky se stejnými (podobnými) hodnotami, což jsou módy systému, neboli shluky. Jinými slovy řečeno - pokud se tedy některé situace (tj. datové vektory) opakují jen s malými odchylkami, vytváří se skupiny bodů (shluky), které reprezentují právě konkrétní pracovní módy, at už špatné (nežádoucí), nebo dobré (žádoucí). Konstrukce systému řidič - automobil se dá aplikovat na dvě fáze - na fázi učení a klasifikace. Ve fázi učení dochází ke klastrování, tedy k detekci shluků v datech z učící (trénovací) množiny. Při klasifikaci se změřený datový vektor se přiřadí do určitého shluku a tím se detekuje aktuální pracovní mód a jeho ohodnocení - v našem případě je to špatné, či dobré řízení. Existuje několik metod klastrování (shlukování). Jakou metodu zvolíme, záleží zejména na typu vstupních dat, které chceme analyzovat. Na výběr přitom máme z široké škály metod hierarchických a nehierarchických. Dále jsou zde metody Bayesovské statistiky, které vytváří modely směsi hustot pravděpodobností (hustoty se nazývají komponenty). Tato technika mě velmi zaujala, a tak bych se jí chtěla delší dobu věnovat. Zaměřím se však nyní na metody klasické shlukové analýzy, kdy se jedná zejména o statickou analýzu dat. Důvodem je, abych byla poté schopna hledat klady a zápory metody Bayesovství, tedy klasifikace dynamické v čase. 1.2 Formulace úlohy Cílem této práce je vytvoření přehledu o metodách shlukové analýzy, jejich zhodnocení a vzájemné porovnání. Hlavním bodem bude přehled o existujících shlukových algoritmech. Tyto algoritmy budu nejprve teoreticky charakterizovat a následně na nich bude ověřeno využití pro naše možnosti, tedy možnosti klastrování dopravních dat. Na jednotlivých algoritmech budou provedeny experimenty. Na základě výsledků budu ilustrovat vhodnost jejich použití pro různé formy dat. 1.3 Definice a pojmy vzorek je nezávislý druh dat, se kterým se pracuje u shlukových algoritmů. Typické je, že se skládá z datového vektoru vektoru měřených veličin v čase t. atribut veličina z datového vektoru. dimenze datového vektoru počet veličin datového vektoru. 9

10 báze množina lineárně nezávislých datových vektorů. realizace datového vektoru je vektor hodnot naměřených veličin (bod v datovém prostoru). třída, skupina množina realizací datového vektoru, která patří do stejného klastru. datová matice - je výsledkem všech realizací (vznikne poskládáním realizací datového vektoru do matice) šum je náhodná složka měřeného vzorku, která umožňuje vzniknout vzhledem k náhodnosti sledovaného procesu nebo jako chyba měření. outlier je vzorek dat, který je velmi vzdálený od zbytku dat, a tak necharakterizuje jejich přirozenou strukturu. Většinou se jedná o šum. matice sousednosti - je čtvercová (pro neorientované grafy i symetrická) matice grafu G, pro kterou platí vztah (1). A G = (a ij ) n i,j=1 definovaná předpisem : (1) a ij = 1 pro {v i, v j } E = 0 pro ostatní případy (pokud neexistuje hrana mezi {v i, v j }). v 1,..., v n označují vrcholy daného grafu G a E je množina hran. 10

11 2 Vybrané metody shlukové analýzy Na shlukování, resp. shlukovou analýzu je možné nahlížet z několika různých pohledů. Pokud řešíme otázku, zda chceme mít shluky hierarchicky uspořádané, jinými slovy chceme, aby mezi nimi platil vztah nadřazenosti a podřazenosti, volíme mezi hierarchickým a nehierarchickým shlukováním. U hierarchického shlukování ještě rozlišujeme aglomerativní a divizivní přístup (viz Příloha 5.5). Dále můžeme řešit, zda jeden prvek lze přiřadit pouze do jednoho shluku, pak se jedná o shlukování výlučné, nebo do více shluků zároveň, pak hovoříme o překrývajícím se shlukování. Zvláštním případem příslušnosti vzorků je fuzzy shlukování charakterizováno funkcí příslušnosti. Zda daný shlukový algoritmus uvažuje šum či outliery, zodpoví otázka úplného a částečného shlukování. Další dělení shlukování je na deterministické a stochastické. Nicméně doprava je sama o sobě stochastický systém, takže determinismus v tomto případě nebude vůbec uvažován. Zmíněné dělení a bližší popis jednotlivých technik je představen v Příloze 5.5. V této části budou po teoretické stránce představeny vybrané algoritmy shlukování, na kterých bude v části testování provedeno několik experimentů jak na simulovaných, tak na reálných datech. 2.1 Algoritmus Kmeans Techniky shlukování založené na modelu rozdělují jednoúrovňově (nehierarchicky) datové prvky. Existuje několik takových technik, z nichž jsou dvě nejdůležitější, a to Kmeans a Kmedoid. Budu se zde zabývat pouze algoritmem Kmeans. Kmeans definuje model ve formě těžiště, což je obvykle průměr z celé skupiny prvků. Model je zpravidla aplikován na data ve spojitém n - dimenzionálním prostoru, proto je Kmeans jedním z nejstarších a nejrozšířenějších shlukových algoritmů Základní algoritmus Kmeans Technika shlukování Kmeans je považována za jednoduchou. Nejprve vybereme K základních těžišt, kde K je parametrem definovaným uživatelem (konkrétně počet požadovaných shluků). Každý bod je označen a přidán nejbližšímu těžišti a každé seskupení bodů přiřazené jednomu těžišti je považováno za shluk. Těžiště každého shluku je poté aktualizováno vzhledem k prvkům přiřazeným do daného klastru. Tento krok je neustále opakován, dokud se mění složení prvků ve shlucích, resp. dokud těžiště nezůstávají na jednom místě. Jednotlivé kroky algoritmu Kmeans 1. Vyber K bodů jako počáteční těžiště. 2. Začátek cyklu. 11

12 3. Vytvoř K klastrů přiřazením každého prvku nejbližšímu těžišti. 4. Vypočti těžiště nově vzniklých shluků a přesuň do nich vybrané body. 5. Konec za podmínky, že se těžiště již nepohybují Obrázek 3 ukazuje iterace algoritmu Kmeans. Obrázek 3: Použití Kmeans algoritmu k nalezení tří shluků Začíná se třemi náhodně zvolenými těžišti a konečná těžiště jsou nalezena po čtyřech iteracích. U obrázků zobrazujících Kmeans shlukování je na každém podobrázku (iteraci) ukázáno těžiště na začátku iterace. Těžiště jsou označena pomocí symbolu plus + a všechny body v jednom shluku mají stejnou značku. V první iteraci jsou body přiřazeny k počátečně zvoleným těžištím, které se všechny nachází ve velké skupině bodů. Jako těžiště např. použijeme průměr z bodů v jednom shluku, a tedy aktualizujeme novou polohu těžiště. V dalším kroce jsou prvky přiřazeny k nově vypočteným polohám těžišt a opět se provede aktualizace polohy těžišt. V iteracích 2, 3 a 4 si lze všimnout, jak se dvě těžiště pohybují směrem ke dvěma menším skupinám umístěným níže. Při ukončení tohoto algoritmu mají vypočtená těžiště správnou polohu. Přiřazení prvků k nejbližšímu těžišti Pro přiřazení prvku k nejbližšímu těžišti potřebujeme definovat, jak se bude měřit podobnost, resp. vzdálenost, která určí, co je to vlastně nejbližší těžiště (vzhledem ke druhu dat). Může existovat několik variant měření vzdálenosti, které je vhodné pro daný typ dat. Například v dopravě často používaná metrika Manhattan, nebo velmi používaná Eukleidovská vzdálenost pro datové prvky v Eukleidovském prostoru (viz Příloha 5.4). Měření podobnosti použité pro Kmeans je obvykle relativně jednoduché. Důvody jsou dva - dochází opakovaně k počítání podobnosti mezi každým bodem a každým těžištěm, tudíž se zde nepočítají podobnosti mezi prvky navzájem, a tak použitá podobnost, resp. vzdálenost, není výpočetně náročná. Těžiště a účelová funkce Cíl shlukování je typicky vyjádřen účelovou funkcí, která závisí na vzájemných vzdálenostech mezi body, nebo na těžištích klastrů (např. minimalizuj kvadrát vzdálenosti každého bodu ke svému nejbližšímu 12

13 těžišti). Pokud máme specifikovaný typ metriky a účelovou funkci, těžiště, které máme na počátku vybrat, může být určeno matematicky. Symbol x C i c i c m i m K Popis Datový vzorek Í-tý shluk Těžiště shluku C i Těžiště všech bodů Počet prvků v í-tém shluku Počet prvků v datové množině Počet shluků Tabulka 1: Tabulka užitých symbolů a jejich významů Data v Eukleidovském prostoru Uvažujme data, u nichž jsme zvolili Eukleidovskou metriku. Pro naši účelovou funkci, která určuje kvalitu shlukování, použijeme kvadratické kritérium. Jinými slovy vypočteme chybu každého datového prvku, resp. jeho Eukleidovskou vzdálenost k nejbližšímu těžišti, a pak uděláme sumu čtverců chyb. Pokud jsou dodány dvě různé množiny shluků, které jsou vyprodukovány během dvou rozdílných chodů Kmeans, preferujeme tu s menší hodnotou kvadratického kritéria, protože to znamená, že modely (těžiště) shlukování mají lepší reprezentaci ve svých klastrech. Kvadratické kritérium je formálně zapsáno pomocí (2), kde V vyjadřuje vzdálenost. K LS = V (c i, x) 2 (2) i=1 x C i Těžiště (průměr) í-tého shluku je definováno v rovnici (3). c i = 1 m i x C i x (3) Kroky 3 a 4 Kmeans algoritmu přesně směřují k minimalizaci účelové funkce. Krok 3 tvoří shluky označením bodů ke svým nejbližším těžištím, což minimalizuje kvadratickou vzdálenost pro danou množinu těžišt. Krok 4 přepočte těžiště tak, aby bylo možné následovně opět minimalizovat kritérium. Nicméně kroky 3 a 4 pouze zaručují nalezení lokálního minima, protože je celá optimalizace založena na počáteční volbě těžišt a počtu klastrů. Obecný případ 13

14 Funkce podobnosti (vzdálenosti) Těžiště Účelová funkce Čtverec Eukleidovské metriky (L 2 ) průměr Minimalizovat kvadratické kritérium L 2 vzdáleností mezi prvky a jejich těžišti Tabulka 2: Vztah funkce vzdálenosti, těžiště a účelové funkce Jak již bylo nastíněno, existuje několik možností výběru funkce vzdálenosti, těžišt a účelové funkce, které mohou být použity v základním Kmeans algoritmu. Tabulka 2 ukazuje vztah mezi funkcí vzdálenosti, těžištěm a účelovou funkcí. Do konce této části o algoritmu Kmeans budeme používat dvou-dimenzionální data, protože je na nich jednoduché Kmeans a jeho vlastnosti vysvětlit. Je však nutné si uvědomit, že Kmeans je velmi obecný koncept postupu shlukování, a tak může být použit pro širokou škálu datových typů (např. i pro dokumenty či časové série). Volba počátečních těžišt Pokud je použito náhodné počáteční rozmístění těžišt, pak je typické, že Kmeans pro rozdílné polohy dá různé výsledky kvadratického kritéria. Situace je ilustrována na obrázku 4 Tri optimalni shluky (globalni minimum kvadratickeho kriteria) Tri suboptimalni shluky (lokalni minimum kvadratickeho kriteria) Obrázek 4: Tři optimální a suboptimální shluky Můžeme porovnat dva výsledky shlukové analýzy, přičemž na prvním z nich došlo k nalezení globálního minima kvadratického kritéria pro tři shluky a na druhém k pouhému nalezení suboptima, tedy lokálního minima. Rozdílné výsledky byly dosaženy díky různým počátečním polohám těžišt. Výběr správných počátečních poloh těžišt je klíčovým krokem základního algoritmu Kmeans. Běžný postup však přesto používá jejich náhodné umístění, avšak výsledné klastry nemusí být hustě zaplněné. 14

15 Ukázka výsledku rozdílného umístění počátečních těžišt Náhodně zvolené počáteční polohy těžišt nemusí být hustě obklopené datovými vzorky. Dokážeme to příkladem se stejnou datovou množinou, jaká byla použita v obrázku 3 a 4. Na obrázcích 5 a 6 je zobrazen výsledek, kterého jsme dosáhli dvěma různými původními polohami těžišt. I když jsou na obrázku 5 počáteční těžiště všechna z jednoho přirozeného shluku, je nalezeno globální minimum kvadratického kritéria. Oproti tomu na obrázku 6, na kterém se může zdát volba počátečních těžišt smysluplnější, dosáhneme pouze suboptimálního shlukování s větší chybou kvadratického kritéria. Pocatecni rozmisteni datovych vzorku Iterace 1 Iterace 2 Iterace 3 Obrázek 5: Dva páry shluků s počátečně zvolenými dvěma páry těžišt uvnitř jednoho páru 15

16 Iterace 1 Iterace 2 Iterace 3 Iterace 4 Obrázek 6: Dva páry shluků s jinak počátečně zvolenými těžišti Limity náhodné inicializace Jednou z technik, která se běžně používá k vyřešení náhodné volby počátečních poloh těžišt, je nechat běžet několik Kmeans algoritmů každý s různě zvolenou soustavou počátečních těžišt a pak vybrat tu soustavu s nejmenší hodnotou kritéria. Tento postup je velmi jednoduchý, avšak ne vždy účinný. Záleží totiž na samotné datové množině a na požadovaném počtu shluků K. Data se skládají ze dvou párů shluků, kde shluky v každém páru (nahoře a dole) si jsou vzájemně blíže než se shluky z druhého páru. Část obrázku 5 - iterace 1 a 2 ukazuje, že pokud začneme se dvěma počátečními těžišti v jednom páru shluků, pak budou těžiště i přesto, že počáteční dvě těžiště v jednom shluku téměř splývají, rozdělena a budou nalezeny přirozené shluky. Na obrázku 6 lze vidět, že i když má jeden pár shluků pouze jedno původní těžiště a další zbylé tři, pak budou dva ze tří přirozených shluků spojeny a jeden bude rozdělen. Všimněme si, že optimálního shlukování dosáhneme právě tehdy, když se dvě počáteční těžiště nachází kdekoli v jednom páru shluků, protože dojde k jejich následnému rozdělení (každé těžiště do jednoho přirozeného shluku). Bohužel je však velmi pravděpodobné, že se zvyšujícím se počtem shluků bude mít aspoň jeden pár shluků pouze jedno počáteční těžiště. V tomto případě dojde k tomu, že pár s jedním těžištěm nebude algoritmem Kmeans rozdělen, protože datové vzorky v páru shluků jsou si blíže samy sobě navzájem než s ostatními shluky z jiných párů. Z tohoto důvodu je většinou dosaženo pouze lokálního optima. 16

17 Kvůli problémům s náhodně zvolenými počátečními těžišti, které mnohokrát nelze překlenout ani opakovaným během, se používají jiné techniky pro inicializaci. Jeden z efektivních přístupů je vzít datové vzorky a udělat z nich shluky za použití nějaké hierarchické shlukové techniky. Pak je nalezeno K klastrů na určité úrovni a těžiště těchto shluků jsou použita jako počáteční těžiště pro Kmeans. Tento postup často pracuje velmi dobře, ale je praktický pouze v případě, kdy je datová množina relativně malá (stovky až tisíce vzorků) a kdy je číslo K ve srovnání s počtem vzorků poměrně malé. Další procedura pro volbu počátečních těžišt, je následující - zvolí se první bod náhodně, nebo se vezme těžiště všech bodů. Pak se vybere bod, který je nejdále od tohoto již zvoleného těžiště. Takto se pokračuje návazně dále, až dostaneme požadovaný počet K počátečních těžišt, která nejsou náhodně rozhozena. Problémem tohoto přístupu je však to, že může dojít k volbě outlieru jako počátečního těžiště namísto bodu s velkou hustotou bodů. Taktéž je náročné vypočítat nejvzdálenější bod od množiny počátečních těžišt v určitém čase. Jinou možností je použití různých alternativ Kmeans (např. půlicí Kmeans, viz 2.1.3), které nejsou tak náchylné k původní volbě těžišt nebo použití určitých procesů po shlukování k vylepšení vzniklých shluků. Požadavky na čas a pamět Požadavky na velikost pamět ového prostoru pro Kmeans jsou nenáročné, protože jsou zaznamenávány pouze datové body a těžiště. Konkrétně je požadované uložení o velikosti (m + K) n pamět ových buněk, kde m je počet bodů a n je počet atributů. Požadavky na výpočetní čas jsou taktéž nenáročné, protože jsou lineární vůči počtu datových vzorků. Požadovaný čas je I K m n, kde I je počet iterací potřebných ke konvergenci. Jak již bylo zmíněno, je I často malé číslo, protože se většina změn děje v prvních několika iteracích. To je důvodem toho, proč je Kmeans lineární v m, čili v množství bodů, a proč je číslo K, tedy počet vytvořených shluků, výrazně menší než m Dodatky algoritmu Kmeans Prázdné shluky Jeden z problémů Kmeans algoritmu je možnost vytvoření prázdných shluků, jestliže nejsou žádné body přiřazeny ke klastru, resp. k těžišti během přiřazování. Pokud se toto stane, pak je nutné přemístit těžiště, protože jinak bude chyba kritéria větší, než je nutno. Existuje několik možností, jak problém prázdných shluků vyřešit. Jednou z možností je vybrat jako počáteční bod nejvzdálenější bod od nějakého nynějšího těžiště. Tento krok je vhodný, protože zároveň pomůže eliminovat bod, který právě nejvíce přispívá k celkové chybě kvadratického kritéria. Dalším možným řešením je vybrat nové těžiště ze shluku, který nejvíce přispívá do chyby kvadratického kritéria. Toto typicky rozdělí klastr a redukuje celkovou chybu kritéria. Pokud existuje několik prázdných shluků, pak může být tento proces opakován několikrát. 17

18 Outlier Pokud je použito kvadratické kritérium, mohou outlieři velkou mírou ovlivnit shluky, které byly nalezeny. Konkrétněji - pokud jsou outlieři přítomní, výsledná těžiště shluků (modely) nemusí být tak reprezentativní, jak by mohla být, s čímž souvisí i vyšší hodnota kvadratického kritéria. Z tohoto důvodu je někdy velmi užitečné předem nalézt outliery a eliminovat je. Je však důležité si uvědomit, že existují i takové aplikace shlukování, ve kterých by outlieři neměly být eliminovány. Pokud je shlukování použito pro kompresi dat, musí být součástí shlukování každý bod. Zřejmým problémem je, jak se již samo nabízí, identifikace outlierů. Pokud se použijí postupy, které odstraní outliery před samotným shlukováním, vyhneme se tím bodům, které shlukování zhoršují. Jako další alternativa je identifikace outlierů až po procesu shlukování. Např. můžeme udržovat záznam o kvadratickém kritériu, resp. o přispění každého bodu do celkové hodnoty kritéria, a pak eliminovat ty body, jejichž příspěvek je vyšší v porovnání s ostatními body. Taktéž může být naším cílem eliminovat shluky o malém počtu vzorků, protože většinou reprezentují právě skupiny outlierů. Redukce hodnoty kvadratického kritéria v post procesu Zřejmým způsobem jak redukovat kvadratické kritérium je najít více shluků, resp. použít vetší K. V některých případech však chceme zmenšit velikost kritéria při zanechání stejného počtu klastrů, což je obvykle možné, protože Kmeans konverguje vždy alespoň k lokálnímu minimu. Používá se mnoho technik pro zlepšení výsledných shluků, tedy pro shlukování s nižším kvadratickým kritériem. Strategií je se zaměřit na jednotlivé shluky, protože celková hodnota kvadratického kritéria je vlastně součtem kritérií od každého shluku. Můžeme změnit celkovou hodnotu kritéria provedením několika operací na klastrech. Velmi běžným postupem je použít dvě fáze, a to fázi rozdělování a fázi spojování. Tímto způsobem se vyhneme lokálnímu minimu kvadratického kritéria a nalezneme řešení shlukování s požadovaným počtem shluků. Zde jsou zmíněné příklady technik, které se používají pro tyto zmíněné fáze. Strategie, které snižují celkovou hodnotu kvadratického kritéria za současného zvýšení počtu shluků : Rozdělení klastru - pro rozdělení je vybrán shluk s největším kvadratickým kritériem, ale taktéž může být rozdělen shluk s největší směrodatnou odchylkou pro jeden konkrétní atribut. Přidání nového těžiště, resp. nového shluku - pro tuto strategii je vybrán bod, který je nejdále od libovolného centra shluku. Tento bod jsme schopni jednoduše najít, pokud si necháváme záznam o přispění k celkové hodnotě kvadratického kritéria od každého bodu. Jinou možností je vybrat náhodně ze všech bodů nebo z bodů s nejvyšším kvadratickým kritériem. Strategie, které snižují počet shluků, přičemž se zároveň snaží minimalizovat nárůst celkového kvadratického kritéria: 18

19 Odstranění shluku - pro odstranění shluku se nejprve odstraní samotné těžiště vybraného klastru a body, které z odstraněného shluku zbyly, se přeřadí jiným klastrům. Ideálně by měl být odstraněným shlukem ten, který zvyšuje nejméně celkové kvadratické kritérium. Spojení dvou shluků - pro spojení jsou typicky vybrány shluky, jejichž těžiště jsou si nejblíže, nebo ty shluky, které nejméně přispívají k nárůstu celkového kritéria. Tato strategie spojení je tatáž, která se používá v technikách hierarchického shlukování (známá jako těžišt ová metoda). Aktualizace těžišt po krocích Namísto aktualizace těžišt shluků po tom, co byly přiřazeny všechny body ke shlukům, mohou být těžiště aktualizována v jednotlivých krocích shlukování - po přiřazení každého bodu ke shluku. Všimněme si, že toto vyžaduje bud žádnou nebo dvě aktualizace těžišt v každém kroce, protože se bod bud přesune k novému klastru (dvě aktualizace), nebo zůstane v současném shluku (žádná aktualizace). Tento postup zaručuje, že nejsou vytvářeny prázdné klastry, protože začínají všechny shluky s jedním bodem a jestli má mít nějaký shluk pouze jeden bod, bude tento bod pokaždé přiřazen tomu samému shluku. Nevýhodou této aktualizace je závislost na volbě pořadí. Jinak řečeno - vzniklé shluky můžou záviset na pořadí, v jakém byly přiřazovány jednotlivé body. I když to může být vyřešeno náhodným pořadím, v jakém jsou body přiřazovány, základní přístup aktualizace těžišt (po přiřazení všech bodů) nezávisí na žádném pořadí. Aktualizace po jednotlivých krocích je náročnější. Nicméně Kmeans konverguje poměrně rychle, takže množství bodů měnících shluky se relativně rychle zmenšuje Půlicí Kmeans Půlicí Kmeans algoritmus je pouhým rozšířením základního Kmeans. Vše je založeno na základní myšlence - k získání K klastrů se rozděluje původní množina všech vzorků do dvou shluků, vybere se jeden z těchto nově vzniklých shluků, který se opět rozdělí na dva podshluky. Tento postup se opakuje, až se dosáhne K klastrů. Jednotlivé kroky půlicího algoritmu Kmeans 1. Vytvoř seznam shluků. Na začátku obsahuje jeden shluk všechny vzorky. Poté dochází v každém cyklu k aktualizaci. 2. Začátek cyklu. 3. Vyber a odstraň jeden shluk ze seznamu. 4. Proved zadaný počet (externě stanovený) půlení vybraného nerozeznaného shluku za použití základního Kmeans. 19

20 5. Vyber dva shluky s nejnižší hodnotou kvadratického kritéria. 6. Přidej tyto dva shluky do seznamu shluků. 7. Konec za podmínky, že seznam shluků obsahuje K shluků. Existuje několik možností, jak vybrat shluk, který má být rozpůlen. Může se vybrat shluk nejrozsáhlejší, s nejvyšším kvadratickým kritériem, nebo kombinace obou těchto podmínek. Samozřejmostí je, že různé volby vyústí v různé klastry. Často použijeme těžiště výsledných shluků půlicího Kmeans algoritmu jako počáteční těžiště pro základní algoritmus Kmeans. I když Kmeans zaručuje nalezení shlukování reprezentující alespoň lokální minimum s ohledem na kvadratické kritérium, v půlicím Kmeans se používá Kmeans lokálně, tj. k rozpůlení jednotlivých shluků, proto výsledek nereprezentuje kompletní konečnou množinu shlukování. Příklad půlicího Kmeans a inicializace Výhodou půlicího Kmeans je zejména jeho malá citlivost vůči počátečnímu nastavení. K ilustraci tohoto tvrzení si ukažme na obrázku 7, jak půlicí Kmeans nalezne čtyři shluky v datové množině z obrázku 5. Iterace 1 Iterace 2 Iterace 3 Obrázek 7: Půlicí Kmeans na příkladu se čtyřmi shluky V první iteraci jsou nalezeny dva shluky, ve druhé je rozdělen shluk napravo a ve třetí nalevo. půlicí Kmeans má méně problémů s inicializací, protože provádí několik zkušebních půlení a vybere tu s nejmenší hodnotou kvadratického kritéria Kmeans a různé typy shluků Kmeans a jeho varianty mají několik omezení zejména týkajících se nalezení různých druhů klastrů. Obzvláště má Kmeans problém detekovat přirozené shluky, když mají nekulový tvar, rozdílné velikosti nebo různé hustoty. Názorná ukázka je na obrázku 8. Na prvním podobrázku nemůže Kmeans nalézt tři přirozené shluky, protože je jeden z nich mnohokrát větší než další dva. Z toho důvodu je větší z nich rozdělen na dva a jsou k němu přiděleny vzorky z jednoho menšího. Na druhé části lze vidět, že Kmeans nedokáže najít tři přirozené shluky, protože dva menší 20

21 Puvodni datove vzorky Shluky vytvorene K means algoritmem Shluky ruzne velikosti Shluky ruzne hustoty Shluky nekulovitého tvaru Obrázek 8: Různé typy shluků a Kmeans mají vyšší hustotu než zbylé větší. Na poslední ukázce nalezl Kmeans dva shluky, které obsahují vzorky z obou shluků přirozených. Ty totiž nejsou kulového tvaru. Obtížnosti v těchto třech situacích vznikají, protože účelová funkce Kmeans tvoří neshody pro typy shluků, které jsme se snažili najít, protože je minimalizována kulovitými shluky stejných velikostí a stejné hustoty, nebo shluky, které jsou ostře rozdělené. Nicméně tato omezení mohou být svým způsobem překonána, pokud je uživatel ochotný přijmout shlukování, jehož výsledkem jsou přirozené shluky, avšak rozdělené na několik podshluků. Obrázek 9 ukazuje, co se stane, pokud zvýšíme číslo K = 6 namísto původních 2 a 3. Každý menší shluk je úplný v tom smyslu, že obsahuje pouze body z jednoho přirozeného shluku Silné a slabé stránky Kmeans je velmi jednoduchý algoritmus, který může být použit pro širokou škálu datových typů. Je i poměrně účinný, i když se často musí provádět opakovaně. Některé varianty (zde zmíněného půlicího) Kmeans jsou dokonce ještě účinnější a méně citlivé vůči počátečnímu nastavení než základní. Kmeans není 21

22 Ruzne velikosti Ruzne hustoty Nekulovite tvary Obrázek 9: Nalezení přirozených shluků skládajících se ze subshluků vhodný pro vytvoření různých typů shluků. Neumí udělat nekulovité shluky nebo shluky různých velikostí a hustot, ačkoli může nalézt podshluky tvořící přirozené shluky, když je povoleno větší K. Kmeans má taktéž problémy s daty obsahujícími outliery, ty však mohou být rozpoznány a vymazány, což výrazně zlepší kvalitu shlukování pomocí Kmeans. 2.2 Hierarchické shlukování Hierarchické shlukové techniky jsou další důležitou kategorií ve shlukování. Tak jako Kmeans patří k poměrně starým technikám, která však nachází široké uplatnění i na poli dnešních aplikací. Rozlišujeme dva přístupy - aglomerativní a divizivní (viz Příloha 5.5). Aglomerativní přístupy jsou jedny z nejběžnějších, a tak o nich bude pojednáno blíže. 22

23 Hierarchické shlukování je často zobrazováno pomocí grafu - stromu, který se v tomto případě nazývá dendrogram. Ten zobrazuje vztahy shluk - subshluk a zachycuje pořadí, v jakém byly shluky vytvořeny. Pro množiny z dvoudimenzionálního prostoru může být hierarchické shlukování reprezentováno za použití diagramu vkládaných shluků. Obrázek 10 ukazuje tyto dva typy zobrazení pro čtyři množiny bodů (shluky byly vytvořeny za použití metody nejbližšího souseda). Dendrogram Diagram vkladanych shluku Obrázek 10: Různé zobrazení hierarchického shlukování Základní aglomerativní hierarchický algoritmus Existuje několik metod, jak tvořit shluky, resp. jak přistupovat k jednotlivým prvkům shluků. Blíže bude pojednáno o metodě nejbližšího, nejvzdálenějšího souseda a o centroidní metodě. Postup všech metod má stejnou základní myšlenku. Na začátku se vezme každý vzorek jako jednotlivý shluk a následně se vytvoří seznam vzdáleností mezi shluky pro všechny různé neuspořádané dvojice. Následně se seřadí tyto vzdálenosti vzestupně. Dojde k vytvoření grafu, ve kterém jsou vytvořeny dle různých metod uzly z dvojic vzorků (viz Definování sousedství mezi shluky). Jestliže jsou všechny vzorky členy jednoho shluku, pak je konec, jinak se neustále tento krok opakuje. Výsledkem algoritmu je sít ová hierarchie, která může být rozčleněna na požadované úrovni nepodobnosti (vzdálenosti), na které se nachází určitý počet shluků. Algoritmus pro metodu nejbližšího souseda 1. Vytvoř seznam vzdáleností pro všechny neuspořádané dvojice shluků. 2. Seřad vzestupně vzdálenosti. 3. Začátek cyklu. 4. Sluč dva shluky (dle vybrané metody). 23

24 5. Aktualizuj seznam vzdáleností s novým shlukem. 6. Konec za podmínky, že zbývá pouze jeden shluk. Ukažme si názorně rozdílný výsledek za použití metody nejbližšího a nejvzdálenějšího souseda. Na obrázku 11 jsou dva shluky rozdělené mostem ze šumu. Metoda nejblizsiho souseda Metoda nejvzdalenejsiho souseda Obrázek 11: Ukázka rozdílu použití metody nejbližšího a nejvzdálenějšího souseda Klastry vytvořené metodou nejbližšího souseda (levá část obrázku) jsou více kompaktní (ucelené) než ty pořízené metodou nejvzdálenějšího souseda (pravá část). Větší shluk je v druhém případě podlouhlý kvůli řetězci šumových vzorků označených *, což je důkazem toho, že metoda nejbližšího souseda je přizpůsobivější a proměnlivější vůči datům než metoda nejvzdálenějšího souseda. Nicméně se ukázalo, že z pragmatického hlediska přináší metoda nejvzdálenějšího souseda užitečnější hierarchie v mnoha aplikacích než metoda nejbližšího souseda. Definování sousedství mezi shluky Klíčovou záležitostí je výpočet blízkosti mezi dvěma shluky (resp. určení vzájemného sousedství dvou shluků), což lze provézt několika způsoby. Blízkost shluků je typicky definovaná spolu s určitým typem klastrů. Mnoho, již zmíněných, aglomerativních metod jako MIN, MAX či průměr skupiny pochází ze shluků založených na grafech (viz Příloha 5.3). MIN definuje sousedství shluků jako vzdálenost mezi dvěma nejbližšími vzorky z různých shluků (v terminologii grafů hovoříme o nejkratší hraně mezi dvěma uzly v různých podmnožinách uzlů). Touto metodou můžeme vytvořit souvislé shluky. Alternativou je metoda MAX, která bere jako sousedství dvou shluků vzdálenost mezi dvěma nejvzdálenějšími vzorky v různých klastrech (nejdelší hrana mezi dvěma uzly v různých podmnožinách uzlů). Posledním přístupem k tomuto problému je průměr celé skupiny, což znamená, že se jako sousedství dvou rozdílných shluků bere průměr ze všech vzorků v jednotlivém shluku. 24

25 Metoda nejblizsiho souseda (MIN) Metoda nejvzdalenejsiho souseda (MAX) Prumer skupiny Obrázek 12: Techniky určení sousedství Na obrázku 12 jsou tyto tři případy ilustrovány. Další možnosti definice vzdáleností existují pro shluky reprezentované svým těžištěm. Zde je sousedství běžně definováno jako vzdálenost mezi jejich těžišti. Alternativní technika - Wardova metoda měří sousedství mezi dvěma shluky v rámci nárůstu kvadratického kritéria, který je výsledkem spojení dvou shluků. Jako Kmeans se snaží Wardova metoda minimalizovat sumu kvadratických vzdáleností vzorků a jejich těžišt. Požadavky na čas a pamět Výše zmíněné aglomerativní přístupy používají matici sousednosti, což vyžaduje uložení 1 2 m2 vzdáleností (pokud se tedy předpokládá, že je matice sousednosti symetrická), kde m je počet datových vzorků. Pamět potřebná pro sledování tvorby shluků je úměrná počtu shluků, což je m 1 vyjma shluků s jedním prvkem. Proto jsou požadavky na pamět m 2. Analýzu základních aglomerativních algoritmů musíme uvažovat i vzhledem k výpočetní náročnosti. K výpočtu matice sousednosti je požadováno m 2 časových jednotek. Po tomto kroce je m 1 iterací, které zahrnují pouze kroky 3 a 4, protože je na začátku m klastrů a během každé iterace jsou spojeny dva shluky. Pokud je provedeno lineární prohledávání matice sousednosti, pak pro í-tou iteraci požaduje krok 3 (m i + 1) 2 časových jednotek. Krok 4 vyžaduje již pouze m i + 1 časových jednotek k aktualizaci matice sousednosti po sloučení dvou shluků. Časová náročnost takovéto úlohy by tedy zabrala m 3 časových jednotek. Pokud jsou vzdálenosti od každého shluku ke všem ostatním ukládány jako uspořádaný seznam, je možné redukovat úsilí k nalezení dvou nejbližších shluků na m i + 1 časových jednotek. Nicméně kvůli obtížnostem s udržením dat ve srovnaném seznamu je celkový čas potřebný pro výše zmíněný algoritmus m 2 log (m) jednotek. Časové a pamět ové požadavky pro hierarchické shlukování striktně omezuje velikost datové množiny, se kterou má být pracováno. 25

26 2.2.2 Ukázka metod na příkladě Vzorek dat Pro lepší představení chování různých hierarchických algoritmů použijeme vzorek dat, který se skládá z 6 dvou-dimenzionálních bodů, které jsou ukázány na obrázku 13. Souřadnice x a y a Eukleidovské vzdálenosti mezi body jsou zaznamenány v tabulkách 3 a 4. Obrázek 13: Množina 6 datových vzorků Bod Souřadnice x Souřadnice y Tabulka 3: Souřadnice datových vzorků body Tabulka 4: Matice vzdáleností (Eukleidovské) Metoda nejbližšího souseda (MIN) Pro metodu nejbližšího souseda, resp. pro MIN verzi hierarchického shlukování je sousedství dvou shluků definováno 26

27 jako minimální vzdálenost, resp. maximální podobnost, mezi dvěma body ve dvou různých shlucích. Pokud tedy začneme se všemi body jako se shluky o jednom prvku a vytvoříme spojení mezi body (uzly) počínaje spojením o nejmenší velikosti, pak se tato spojení (hrany) protínají v uzlech, které jsou reprezentací shluků. Tato technika je vhodná pro neeliptické tvary. Je však velmi citlivá vůči šumu a outlierům. Příklad použití metody nejbližšího souseda Obrázek 14 ukazuje výsledek použití metody nejbližšího souseda na našem vzorku dat. Metoda nejblizsiho souseda pomoci vkladani Dendrogram Obrázek 14: Ukázka metody nejbližšího souseda (resp. MIN) Na levé části obrázku jsou k vidění vložené shluky jako posloupnost vložených elips, kde čísla u elips znázorňují řád shlukování. Pravá část zobrazuje tu samou situaci, ale ve formě dendrogramu. Výška, ve které jsou spojeny dva shluky v dendrogramu (je vytvořen uzel), znamená vzdálenost mezi dvěma shluky. Z tabulky 4 vidíme, že vzdálenost mezi body 3 a 6 je 0.11, což je vlastně výška, ve které jsou tyto dva body spojeny do jednoho shluku v dendrogramu. Jako další příklad uved me vzdálenost (označovanou jako V ) mezi shluky {3,6} a {2,5} : V ({3, 6}, {2, 5}) = min V [(3, 2), (6, 2), (3, 5), (6, 5)] = min(0.15, 0.25, 0.28, 0.39) = 0.15 Metoda nejvzdálenějšího souseda (MAX) Pro metodu nejvzdálenějšího souseda, resp. pro MAX verzi hierarchického shlukování je sousedství dvou 27

28 shluků definováno jako maximální vzdálenost, resp. minimální podobnost, mezi dvěma body ve dvou různých shlucích. I v tomto případě se vytváří spojení (hrany) mezi body (uzly). Začíná se jako v předchozím případě nejkratším spojením. Dále se pak opět slučují shluky, které mají k sobě nejblíže (podmínka hierarchického shlukování). Neporovnávají se však vzdálenosti nejbližších prvků ve shluku, nýbrž nejvzdálenějších. Tato metoda je méně náchylná vůči šumu a outlierům, ale může rozbít velké shluky a zároveň favorizuje kulovité tvary shluků. Příklad použití metody nejvzdálenějšího souseda Obrázek 15 ukazuje výsledek použití MAX varianty shlukování na našem vzorku dat z 6 bodů. Tak jako v případě nejbližšího souseda jsou body 3 a 6 sloučeny jako první, pak body 2 a 5. Dále je však shlukování rozdílné - body 3 a 6 jsou sloučeny se 4 namísto s 2 a 5 nebo 1, protože shluk {3, 6} je blíže shluku 4. Důvodem je uvažování nejvzdálenějších prvků ve shluku do výpočtu vzdálenosti. V ({3, 6}, {4}) = max V [(3, 4), (6, 4)] = max(0.15, 0.22) = 0.22 V ({3, 6}, {2, 5}) = max V [(3, 2), (6, 2), (3, 5), (6, 5)] = max(0.15, 0.25, 0.28, 0.39) = 0.39 V ({3, 6}, {1}) = max V [(3, 1), (6, 1)] = max(0.22, 0.23) = 0.23 Průměr skupiny Poslední varianta je vzít jako hlavní kritérium pro sousedství dvou shluků průměr vzdáleností mezi všemi páry vzorků v jednotlivých shlucích. Toto je jakýsi kompromis mezi metodami nejbližšího a nejvzdálenějšího souseda. Pro průměr skupiny je vyjádřeno sousedství dvou shluků (C i, C j ), které mají velikosti m i, resp. m j následovně: V (x, y) p(c i, C j ) =, kde čitatel je sumou vzdáleností mezi prvky mezi shluky. m i m j (4) Příklad použití průměru skupiny Obrázek 16 ukazuje výsledek použití průměru skupiny na našem vzorku dat z 6 bodů. Pro ilustraci fungování skupinového průměru, vypočteme vzdálenosti mezi nějakými shluky. V ({3, 6, 4}, {1}) = ( )/(3 1) 28

29 Metoda nejvzdalenejsiho souseda pomoci vkladani Dendrogram Obrázek 15: Ukázka metody nejvzdálenějšího souseda (resp. MAX) = 0.28 V ({2, 5}, {1}) = ( )/(2 1) = V ({3, 6, 4}, {2, 5}) = ( )/(6 2) = 0.26 Protože je V ({3, 6, 4}, {2, 5}) menší než V ({3, 6, 4}, {1}) a V ({2, 5}, {1}), jsou shluky {3, 6, 4} a {2, 5} sloučeny na čtvrtém stupni hierarchie. Shlukovani za pomoci prumeru skupiny a vkladani Dendrogram Obrázek 16: Ukázka použití průměru skupiny 29

30 Wardova metoda a těžišt ová metoda Ve Wardově metodě se sousedství mezi dvěma shluky definuje právě tehdy, když vzroste hodnota kvadratického kritéria, která vznikne spojením dvou shluků. Tato metoda používá stejnou účelovou funkci jako algoritmus Kmeans. Může se zdát, že tato metoda je svým způsobem rozdílná od jiných hierarchických technik, ale lze matematicky dokázat, že je velmi podobná s předchozí metodou průměru skupiny. Těžišt ová metoda určuje sousedství mezi dvěma shluky vypočtením vzdálenosti mezi těžišti shluků. Opět se jeví jako velmi podobná algoritmu Kmeans. Metoda těžišt má vlastnost, která je většinou považována jako negativum a kterou nelze najít v jiných hierarchických postupech, a to možnost inverze. Konkrétněji - shluk 1 si může být blíže shluku 2, který je však již součástí jiného shluku (vytvořeného v předchozím kroce se shlukem 3), a tak je již součástí přepočtu těžiště nového shluku (tvořeného ze shluků 2 a 3). Pro další metody se vzdálenost mezi sloučenými shluky zvětšuje, protože postupujeme od shluku o jednom prvku k jednomu shluku obsahující všechny prvky Lancův-Williamsův vztah pro sousedství (L-W vztah) Na mnohé ze zmíněných výpočtů sousednosti můžeme nahlížet jako na L-W vztah (5) s různými parametry. p(r, Q) = α A p(a, Q) + α B p(b, Q) + βp(a, B) + γ p(a, Q) p(b, Q) (5) Shluky A a B - slučované shluky. Shluk R - vytvořen sloučením shluků A a B. Shluk Q - nově uvažovaný shluk. p(.,.) - funkce sousedství. Pokud tedy spojíme shluky A a B a vytvoříme tím shluk R, sousedství nového shluku R vůči již existujícímu shluku Q je lineární funkce sousedství shluku Q vzhledem ke shlukům A a B. Tabulka 5 zobrazuje hodnoty těchto koeficientů pro zmíněné techniky. Metoda shlukování α A α B β γ Nejbližšího souseda 1/2 1/2 0 1/2 Nejvzdálenějšího souseda 1/2 1/2 0 1/2 m Průměr skupiny A m B m A +m B m A +m B 0 0 m Těžišt ová metoda A m B m A m B Wardova metoda m A +m B m A +m Q m A +m B +m Q m A +m B m B +m Q m A +m B +m Q (m A +m B ) 2 0 m Q m A +m B +m Q 0 Tabulka 5: Parametry L - W vztahu pro klasické hierarchické algoritmy Některé hierarchické algoritmy, které mohou být vyjádřeny L-W vztahem, neukládají původní datové vzorky. Namísto toho je matice sousednosti aktualizována během shlukování. Může se zdát jednodušší použít obecný vztah L-W, 30

31 ale zejména pro implementaci je výhodnější k porozumění a k nalezení rozdílů mezi jednotlivými hierarchickými metodami používat přímo definice sousedství pro jednotlivé metody Problémy hierarchického shlukování Absence globální účelové funkce Jedním z problémů je, že aglomerativní hierarchické shlukování neumí globálně optimalizovat účelovou funkci. Namísto toho používá různá kritéria pro lokální rozhodnutí v každém kroce, která se používají pro volbu shluků, které mají být spojeny. Tento pohled na shlukování přináší shlukové algoritmy, které se vyhýbají obtížnostem v podobě kombinatorických optimalizačních problémů. Tyto přístupy nemají problémy s nalezením lokálních minim nebo s výběrem počátečních vzorků. Na druhou stranu odrazuje od použití těchto technik časová a pamět ová náročnost. Schopnost vytvořit různé velikosti shluků Dalším z problémů je, jak zacházet s relativními velikostmi sloučených shluků. Existují dvě varianty - vážená, která bere v úvahu počet vzorků v každém shluku a nevážená, která bere všechny shluky stejnou měrou. Všimněme si, že termíny vážený a nevážený se týká datových vzorků a ne samotných shluků. Jinými slovy řečeno - shluky nestejných velikostí dávají rovnoměrně různé váhy bodům v různých shlucích, zatímco pokud bereme v úvahu velikosti shluků, pak je bodům v různých shlucích dávána váha stejná. Rozhodnutí o spojení dvou shluků jsou konečná Aglomerativní postupy přináší dobrá lokální rozhodnutí, co se týče kombinování dvou shluků, protože mohou použít informaci o podobnostech mezi páry ze všech bodů. Nicméně pokud již jednou spojíme dva shluky, není možné toto spojení později zrušit, což je hlavní příčinou toho, že se z lokálního optimalizačního kritéria nestane globální. Důsledkem je pak to, že nejsou shluky stabilní, resp. bod v nějakém shluku může být blíže k těžišti shluku jiného než k tomu, ke kterému nyní přísluší. Existují techniky, které se snaží přejít přes zmíněné limity. Jedna z možností je pohybovat větvemi stromu, abychom vylepšili globální účelovou funkci. Další možnost používá nehierarchické techniky shlukování (např. Kmeans) k vytvoření mnoha malých shluků, které pak bere jako počáteční body pro hierarchické shlukování. Silné a slabé stránky Silné a slabé stránky jednotlivých technik aglomerativního hierarchického shlukování již byly prodiskutovány. Obecně se však takové algoritmy často používají, protože mnoho systematických aplikací vyžaduje hierarchii. Existují studie tvrdící, že tyto algoritmy mohou produkovat kvalitnější shluky. Nicméně aglomerativní přístupy jsou náročné, co se týče doby výpočtu a požadavků na pamět. Skutečnost, že všechna spojení jsou konečná, 31

32 může taktéž činit problémy zejména při práci se šumem a s vysoce-dimenzionálními daty. Postupně mohou být tyto dvě záležitosti vyřešeny pomocí jiných nehierarchických technik, např. pomocí Kmeans. 2.3 DBSCAN DBSCAN je metoda založená na hustotě bodů. Shlukování založené na hustotě hledá oblasti o vysoké hustotě bodů, které jsou oddělené oblastmi s hustotou nízkou Základní idea DBSCANu Centrální hustota, neboli hustota založená na centru, patří mezi nejčastěji používané typy hustot. V tomto přístupu je hustota odhadována pro určité specifické body v množině dat, kdy je počítáno množství bodů v určeném okruhu kolem centra. Centrum je samozřejmě započítáno také jako součást shluku. Tato technika je zobrazena na obrázku 17, kdy body ve stanoveném okruhu kolem bodu A reprezentují centrální hustotu. Eps A Obrázek 17: Centrální hustota Řekněme, že bod q leží v okolí bodu p, jestliže se nenachází ve vzdálenosti větší než je určená vzdálenost ε (tj. že bod q je součástí ε-sousedství bodu p). Pokud je bod p obklopen dostatečně mnoho body, pak mohou být p a q součástí jednoho shluku, i když q neleží v okolí bodu p. Řekněme, že bod q je dosažitelný z p, pokud existuje posloupnost bodů p 1, p 2,...p n taková, že p 1 = p a p n = q, a kde je každý p i+1 v okolí od p i. Tento vztah týkající se shluků založených na hustotě není symetrický (q může ležet na hraně shluku, kdy nemá dostatečně množství sousedů, aby byl považován za skutečný element klastru), a tak je spojení pomocí hustoty následovné: body p a q jsou spojené právě tehdy, když existuje bod o takový, že o a p (taktéž jako o a q) jsou hustotně dosažitelné. Tato metoda je jednoduchá na implementaci, ale velkou roli zde hraje velikost definovaného okruhu kolem centra dané vzdálenosti ε. Například, pokud je okruh (resp. jeho poloměr) dost velký, pak budou mít všechny body hustotu m (počet bodů v datové množině). Podobné platí i naopak - pokud bude poloměr příliš malý, pak budou mít všechny body hustotu 1. 32

33 Shluk, který je podmnožinou vzorků v množině, splňuje tyto dva postuláty : 1. Všechny body v klastru jsou navzájem dosažitelné na základě hustoty. 2. Pokud je bod dosažitelný na základě hustoty s každým bodem ve shluku, je rovněž součástí daného shluku. Centrální hustota umožňu- Klasifikace bodů vzhledem k centrální hustotě je klasifikovat následující body : jádrový bod - nachází se uvnitř shluku. Bod je jádrovým, pokud počet bodů uvnitř daného sousedství okolo bodu určeného funkcí vzdálenosti a parametrem vzdálenosti daného uživatelem dosahuje nějaké hranice, což je další parametr, který si určuje sám uživatel. hraniční bod - není jádrový, ale je zařazen do sousedství kolem bodu jádrového. Hraniční bod může spadat pod několik jádrových. šumy a body pozadí - body náhodně rozptýlené, nacházející se v řídce obsazené oblasti. Není ani jádrový, ani hraniční. Sumove body B Eps C A Jadrove body Hranicni bod Obrázek 18: Jádro oblasti, hranice oblasti a šum ve dvourozměrném prostoru Algoritmus DBSCAN Po určení obou z parametrů - ε a minimálního počtu bodů potřebných k vytvoření klastru - začíná DBSCAN s libovolně zvoleným bodem. Dojde k určení jeho okolí ve vzdálenosti ε. Jestliže toto okolí obsahuje dostatečné množství bodů (zadané jako druhý parametr), je vytvořen shluk. Jinak je bod prozatím označen jako šum. Toto označení šumu nemusí být konečné. V dalších iteracích 33

34 může být totiž tento bod součástí okolí jiného bodu, a tak být součástí jiného shluku. Pokud je bod označen jako součást klastru, jeho ε-okolí je také součástí klastru. Z tohoto důvodu všechny body, které se nachází v okolí ve vzdálenosti ε všech jádrových bodů, jsou přidány spolu s jejich vlastním ε- okolím. Tento postup pokračuje, dokud již neexistuje bod, který by mohl být přidán do uvažovaného shluku. Pokud počet přidávaných bodů převyšuje minimální počet bodů pro vytvoření klastru, vznikne shluk. Poté je nový, dosud vůbec neuvažovaný, bod brán jako počáteční a celý proces je opakován. Nakonec musí být přiřazeny hraniční body pouze do jednoho shluku (pokud není povoleno, že mohou být součástí více shluků). Šumové body jsou vyřazeny. Tento algoritmus je optimalizován z hlediska jednoduchosti a ne z hlediska efektivity. Základní algoritmus DBSCANu 1. Začátek cyklu - vezmi libovolný (dosud neuvažovaný) bod. 2. Označ jako jádrové body, které se nachází v jeho ε- okolí. 3. Přidej body nacházející se v ε- okolí všech jádrových bodů. 4. Již nelze přidat další bod. Pokud počet bodů ve shluku je větší než minimální požadovaný počet bodů pro vytvoření shluku, vznikne shluk. 5. Není splněna podmínka minimálního počtu bodů pro vytvoření shluku. Původní bod je označen jako šum. 6. Konec cyklu, pokud jsou prošetřeny všechny body. 7. Přiřazení hraničních bodů do jednoho shluku. Odstranění šumových bodů. Volba parametrů DBSCANu Jednou ze zásadních záležitostí je volba parametrů ε a minimálního počtu bodů potřebných k vytvoření shluku (v literatuře často označováno jako M inp ts). Tyto parametry jsou ve většině případů určeny samotným uživatelem, protože různé datové množiny a oblasti aplikace algoritmu požadují rozdílné parametry. Jednou z možností, jak určit počáteční hodnotu parametrů, je pomocí tzv. k-vzdálenosti. Základem je určit samotné k, pak se podívat na vzdálenost z každého bodu k jeho k-tému nejbližšímu sousedovi. Tato vzdálenost se nazývá k-vzdálenost. Např. uvažujme k = 5, pak od každého bodu určíme k-vzdálenost jako vzdálenost k 5. nejbližšímu bodu. Pro body patřící do shluku, bude k-vzdálenost malá, pokud nebude k větší než velikost klastru. Existuje určitý rozptyl hodnot k, který závisí na hustotě jednotlivých shluků. Pokud nejsou hustoty přirozených shluků radikálně rozdílné, nebude rozptyl hodnoty k-vzdálenosti velký. Pro šumové body bude k-vzdálenost velká. 34

35 Pokud spočteme k-vzdálenost pro všechny datové vzorky, seřadíme je vzestupně a zakreslíme, uvidíme ostrou změnu v hodnotách k-vzdálenosti, jak si lze všimnout na pravé části obrázku 19. Hodnota pod ostrou změnou je vhodnou velikostí pro volbu parametru ε. Jako minimální počet bodů pro vytvoření shluku je možné vzít samotné k (v našem případě je MinP ts = 5). Vzorek dat K vzdalenost pro dany vzorek dat Obrázek 19: Vzorek dat a k-vzdálenost Na levé části obrázku 19 je zobrazena množina vzorků dat. Na pravé části je vykreslen graf s odpovídajícími k-vzdálenostmi Hodnota poloměru záleží na k a s ním se také mění. Když je hodnota k příliš malá, pak i malé množství bodů umístěných blízko sebe, které představují šum nebo outlier, je nekorektně označeno jako klastr. Pokud je však hodnota k příliš velká, pak budou pravděpodobně malé klastry (velikosti menší než k) označeny jako šum. Původní DBSCAN používá hodnotu k = 4, která se jeví jako vhodná pro většinu dvou-rozměrných množin dat. Shluky s měnící se hustotou U DBSCANu se mohou vyskytnout problémy s hustotou, pokud se hustota shluků mění. V levé části obrázku 19 jsou zobrazeny 4 shluky včetně šumu. Hustota shluků a oblastí šumu je vykreslena jiným odstínem. Šum kolem obou shluků A a B má stejnou hustotu jako samotné shluky C a D. Pokud je velikost poloměru dostatečně malá tak, že DBSCAN považuje C a D za klastry, pak A a B a body je obklopující vytvoří jediný klastr. Pokud je poloměr dost velký, pak DBSCAN určí A a B jako jednotlivé oddělené shluky a body kolem označí jako šum a následně budou C a D a body kolem považovány taktéž za šum. Na levé části obrázku 19 jsou vykresleny shluky, které jsou nalezeny v poměrně složité dvou-rozměrné množině dat. Tato množina je vytvořena z 3000 vzorků. Velikost poloměru pro tato data byla určena na základě vykreslení vybraných k-vzdáleností čtvrtého nejbližšího souseda od každého bodu a taktéž na základě určení hodnoty, při které dochází k ostrému vzestupu. Byl vybrán poloměr ε = 10, který odpovídá kolenu u vzestupu vykreslených k-vzdáleností. Shluky nalezené DBSCANem za použití následujících parametrů : ε = 10, MinP ts = 4 35

36 jsou zobrazeny na horní části obrázku 20. Jádrové, hraniční body a šum jsou ukázány v části spodní. Nalezene shluky DBSCANem Jadrove, hranicni a sumove body Obrázek 20: Ukázka DBSCAN shlukování Na spodní části obrázku jsou jádrové body označeny kolečkem, hraniční plusem a šum křížkem. Požadavky na čas a pamět Základní časová složitost algoritmu DBSCAN je m krát čas potřebný k nalezení bodů v sousedství, kde m je počet bodů. V nejhorším případě může být časová náročnost m 2 časových jednotek. Nicméně v nízko-dimenzionálních prostorech jsou datové struktury, které umožňují efektivní nalezení všech bodů uvnitř dané vzdálenosti, a tak mohou být požadavky na čas nižší než m log (m) časových jednotek. Požadavek na pamět i pro vysoko-dimenzionální data je m, protože je nutné udržovat pouze malé množství dat pro každý bod (např. značku shluku k identifikaci každého bodu jako jádro, hranice nebo šum). 36

37 2.3.3 Silné a slabé stránky DBSCANu Klady algoritmu jsou: Nepožaduje apriorně zadanou informaci týkající se počtu shluků. Umí najít shluky libovolných tvarů. Dokáže dokonce určit i shluky, které se dokonale obklopují (nesmí však být propojeny). Bere v úvahu šum. Požaduje pouze dva parametry a je většinou necitlivý vůči pořadí bodů v databázi (pouze body nacházející se na hranici dvou různých klastrů si možná vymění příslušnost k určitému klastru, pokud se změní jejich pořadí v databázi). Zápory algoritmu jsou: Nejběžnější používanou metrikou je Eukleidovská vzdálenost, avšak pro vysoko-dimenzionální data je volba této metriky neefektivní. Neoperuje dobře s datovými množinami s měnící se hustotou (hierarchické datové množiny). Nehodí se pro vysoko-dimenzionální data kvůli obtížnému definování hustoty. Je velmi náročný pro vysoko-dimenzionální data, pokud počítání nejbližších sousedů vyžaduje výpočet mezi každými dvěma sousedy. Časová náročnost výpočtu je mnohem vyšší než v předchozích dvou případech algoritmů Kmeans a hierarchických metod. Poněvadž DBSCAN operuje se shluky založenými na hustotě, je poměrně odolný vůči šumu a umí pracovat se shluky libovolných tvarů a velikostí, proto umí nalézt mnohdy klastry, které nemohou být zobrazeny jinými algoritmy, jakými je např. Kmeans. To je také důvodem jeho častého použití. 37

38 3 Testování V následující části budou provedeny experimenty probraných shlukových algoritmů - Kmeans, hierarchického shlukování a DBSCANu. Nejprve budou testovány na simulovaných datech a poté na datech reálných dopravních. 3.1 Simulovaná data První zmíněná data (simulovaná) byla vytvořena ve třech formách. V každé formě dat je možné nalézt množinu modelů, které reprezentují shluky. Tato množina se běžně nazývá směs, jednotlivé modely komponenty. Pro simulaci byla použita směs pěti statických komponent s normálním rozdělením šumu. První data byla simulována tak, že jednotlivé shluky jsou kompaktní a jejich těžiště jsou vzhledem k jejich velikosti daleko od sebe, ve druhém kroce byla testována data podobné struktury, ve které mají shluky zachovány polohy svých těžišt a které jsou však lehce zašuměná. U prvních dvou forem dat je možné určit shluky pouhým okem. Poslední struktura dat již obsahuje velké množství šumu, a tak nelze rozlišit jednotlivé shluky bez nějakého algoritmu Testování Kmeans na simulovaných datech Nejprve byla data testována s algoritmem Kmeans. Kmeans je algoritmus vyžadující určení parametru - počet shluků (K). Je však možné určit pouze interval počtu shluků - < minimální počet shluků, maximální počet shluků >. Kmeans pro pocet shluku <2, 10> Kmeans pro pocet shluku 5 Obrázek 21: Ukázka použití algoritmu Kmeans na nezašuměných datech 38

39 Na levé části obrázku byl zvolen interval počtu shluků < 2 shluky, 10 shluků > a byly nalezeny 4 shluky, přičemž přirozená struktura dat skrývá shluků 5. Důvodem, proč byly dva shluky spojeny, je vzdálenost, resp. blízkost, těžišt spojených shluků. Shluky se nachází relativně blízko sebe ve srovnání s ostatními klastry a navíc hustota datových vzorků jim příslušející je nízká. Shlukování bylo v případě volby 5 klastrů kvalitnější. Výsledek shlukování o 5 klastrech je zobrazen na pravé části obrázku 21. Dalším kladným rysem použití tohoto algoritmu je jeho výpočetní nenáročnost - shluky byly nalezeny již po 3 iteracích (resp. po třech iteracích se přestala hýbat těžiště nalezených klastrů). Na druhou stranu je Kmeans úplný (viz Příloha 5.5) shlukový algoritmus, takže nebyl uvažován žádný šum či outlieři a všechny vzorky byly zařazeny do klastrů. Jak již bylo řečeno na začátku, algoritmus Kmeans byl otestován i na dalších dvou formách zašuměných dat. Na obrázku 22 můžeme vidět výsledek shlukování při určení počtu shluků 5. Lze si všimnout zejména na pravé části obrázku, kde Kmeans tvoří shluky kulovitého tvaru. I když byla původní data hodně zašuměná, byly vytvořeny poměrně kvalitní shluky (kulovité). Lehce zasumena data Velmi zasumena data Obrázek 22: Ukázka použití algoritmu Kmeans na zašuměných datech Na levé části obrázku byla použita data lehce zašuměná, u kterých je ještě možné určit shluky pouhým okem. Na pravé části obrázku jsou data ve 3. formě - velmi zašuměná. V obou případech došlo k vytvoření kvalitních kulovitých shluků po proběhnutí Kmeans algoritmu s určeným počtem shluků Testování hierarchického algoritmu na simulovaných datech V případě testování prvního typu dat (nezašuměných) pomocí hierarchického algoritmu nebylo dosaženo tak kvalitního výsledku jako v případě algoritmu Kmeans. Výsledek je zobrazen na obrázku

40 Obrázek 23: Ukázka použití hierarchického algoritmu na nezašuměných datech Výsledkem shlukování byly 4 shluky, které však nevystihují přirozenou strukturu dat. Důvodem může být konečné přiřazení prvků do shluků, a tedy nalezení lokálního minima (viz 2.2.4). Na tomto algoritmu byla testována i další simulovaná (zašuměná) data, ale nebylo dosaženo zajímavých výsledků. Na obrázku 24 jsou vykresleny dendrogramy pro zašuměná data. Dendrogram pro lehce zasumena data Dendrogram pro velmi zasumena data Obrázek 24: Dendrogramy pro zašuměná data 40

41 Na levé části obrázku (jedná se o dendrogram méně zašuměných dat) je poslední shluk vzdálen od ostatních, resp. je velká vzdálenost na ose y v dendrogramu od naposledy vytvořeného shluku, což je zřejmě dáno výskytem nějakého outlieru. Oproti tomu je na pravé části obrázku vykreslen dendrogram pro nejvíce zašuměná data, který je komplexnější, protože jsou zde data rozmístěna rovnoměrněji po celé ploše (nevytváří tedy přirozené shluky), a tak není možné najít prvek, který by byl tak extrémně vzdálen od ostatních jako v předchozím případě Testování DBSCANu na simulovaných datech Na závěr byla simulovaná data zpracována i algoritmem DBSCAN. Jak již bylo zmíněno v 2.3.3, je DBSCAN velmi citlivý vůči nastavení jeho základních parametrů, a to ε (poloměr okolí uvažovaného vzorku) a MinP ts (minimální počet vzorků kolem uvažovaného vzorku). Dalším charakteristickým znakem je, že DB- SCAN provádí shlukování částečné (viz Příloha 5.5), proto uvažuje šum. Může tedy dojít k tomu, že některé prvky nebudou zařazeny do žádného shluku. Poněvadž nepožaduje apriorně zadaný počet shluků, byly určeny parametry u první formy dat (nezašuměných) tak, aby bylo nalezeno 5 přirozených shluků a aby byl co nejmenší počet nezařazených prvků, což se povedlo s hodnotou parametrů Eps = 0.05 a MinP ts = 10. Výsledek můžeme vidět na obrázku 25. Všimněme si, že nezařazené prvky lze uvažovat jako šum. Bylo dosaženo kvalitního shlukování zejména proto, že shluky nejsou propojené a že hustota shluků je poměrně stejná. Obrázek 25: Ukázka použití algoritmu DBSCAN na nezašuměných datech a při optimální volbě parametrů 41

42 Na obrázku 26 je demonstrován výsledek shlukování, pokud byly měněny parametry ε a MinP ts. Obrázek 26: Srovnání výsledku shlukování pomocí algoritmu DBSCAN při různé volbě parametrů Na levé části obrázku bylo změněno MinP ts = 10 na MinP ts = 30, a tak prvky musí být obklopeny větším počtem prvků. Bylo nalezeno taktéž 5 shluků, ale nebylo zařazeno téměř 181 prvků, resp. 181 prvků bylo označeno jako šum (na obrázku jsou zobrazeny pomocí písmene M). Napravo byl změněn parametr Eps z Eps = 0.05 na Eps = 0.10, tudíž se uvažuje větší poloměr okolo počítaného prvku. Důsledkem toho je, že dva shluky si navzájem blízké byly sloučeny do jednoho a nebyl nalezen žádný šum. Změnu parametru MinP ts tedy lze využít, pokud jsme si vědomi, že se v datech nachází velké množství šumu. Při zvětšení MinP ts dojde k většímu počtu nezařazených vzorků (šumu). V případě zašuměných dat nepřinesl algoritmus DBSCAN kvalitní výsledky. V druhém případě mírně zašuměných dat při vhodně zvolených parametrech z předchozího případu přinesl pouze jeden shluk, při hledání lepšího nastavení byl stále výsledkem jeden shluk. Pokud byl počet shluků větší, docházelo k označení velkého množství prvků za šumové (37 %). Ve třetí formě simulovaných dat byl nalezen jeden shluk, a to i při různých volbách parametrů. Rozdíl byl pouze v různém počtu nezařazených, tedy šumových, prvků. V tabulce 6 jsou zobrazeny výsledky shlukování v závislosti na různé formě dat a na různé volbě parametrů. Lze si všimnout, že nejkvalitnější výsledek, co se týče počtu shluků a množství šumu, je doopravdy u dat 1 (nezašuměných) při volbě Eps = 0.05 a MinP ts =

43 typy Eps = 0.05, MinP ts = 10 Eps = 0.05, MinP ts = 30 Eps = dat / 0.10,MinP ts = parametry 10 data 1 5 shluků (3 % šum) 5 shluků (18 % šum) 3 shluky (0 % šum) data 2 1 shluk (4 % šum) 5 shluků (37 % šum) 1 shluk (0 % šum) data 3 1 shluk (8 % šum) 1 shluk (26 % šum) 1 shluk (1 % šum) Tabulka 6: Výsledky shlukování pomocí algoritmu DBSCAN u různých typů dat a při různých parametrech 3.2 Reálná data Pro testování reálných dat byla použita data získaná z jízd testovacího vozu Škoda, ve kterém jsou zakomponovány přístroje měřící různé veličiny. Pro testování byly vybrány veličiny plyn a rychlost. Jízdy automobilu probíhaly jak v intravilánu, tak v extravilánu. Původní strukturu dat je možné si prohlédnout na obrázku 27. Tato data byla opět podrobena testování pomocí tří již zmiňovaných algoritmů. Obrázek 27: Reálná data Osa x zobrazuje rychlost [km/h]. Na ose y je vyjádřen plyn [%]. Lze si již pomocí pouhého oka všimnout různých skupin dat. Nutné je však je striktně rozdělit. Velmi kvalitního výsledku bylo dosaženo pomocí algoritmu Kmeans, což je zobrazeno na obrázku

44 Obrázek 28: Použití Kmeans na reálných datech Kmeans nalezl 5 shluků, resp. 5 pracovních módů, kopírujících přirozenou strukturu sebraných dat. I když jsou pro Kmeans charakteristické kulovité shluky, byly nalezeny ostrá rozhraní mezi shluky. Příčinou může být větší hustota dat ve směru osy z. Jak již bylo nastíněno v 1.1, byly pomocí shlukování nalezeny pracovní módy. Jednotlivé shluky odpovídají různým typům jízdy - např. modrý shluk zřejmě odpovídá jízdě ve městě, protože je charakterizován nízkou rychlostí a malou hodnotou plynu. Naopak růžový shluk je typický pro jízdu na dálnici o vyšší rychlosti s vyšším plynem. Taktéž velmi dobrý výsledek byl nalezen pomocí hierarchického shlukování, jak lze vidět na obrázku 29. Hierarchický algoritmus byl však výpočetně náročnější. 44

45 Obrázek 29: Použití hierarchického shlukování na reálných datech Za pomocí hierarchického shlukování bylo nalezeno opět 5 shluků. Lze si všimnout, že jsou shluky znovu rozděleny ostrým rozhraním. Nejhorší výsledek byl docílen za použití DBSCANu. Nejenže byl algoritmus výpočetně náročný na čas, ale při různém nastavování parametrů Eps a MinPts bylo dosaženo špatných výsledků - bud byl nalezen jeden shluk a velké množství šumových vzorků (obrázek 30), nebo bylo nalezeno velké množství klastrů (obrázek 31) opět včetně velkého množství šumu. Obrázek 30: Nalezení jednoho shluku za použití DBSCANu na reálných datech V tomto případě byly vytvořeny pouze dva shluky, přičemž větší z nich obsahuje téměř 98 % ze všech vzorků. Taktéž byly některé vzorky označené jako šum. Shlukování v tomto případě lze považovat za nekvalitní. 45

46 Obrázek 31: Nalezení více shluků za použití DBSCANu na reálných datech Bylo nalezeno velké množství shluků, což je v našem případě nepožadující. Vzorky označené písmenem M jsou nezařazené, tedy šumové, kterých bylo označeno 45 %. Výsledek shlukování je opět velmi nekvalitní. 46

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Shluková analýza Cílem shlukové analýzy je nalézt v datech podmnožiny

Více

Vícerozměrné statistické metody

Vícerozměrné statistické metody Vícerozměrné statistické metody Shluková analýza Jiří Jarkovský, Simona Littnerová FSTA: Pokročilé statistické metody Typy shlukových analýz Shluková analýza: cíle a postupy Shluková analýza se snaží o

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

Algoritmy pro shlukování prostorových dat

Algoritmy pro shlukování prostorových dat Algoritmy pro shlukování prostorových dat Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 21. 26. leden 2018 Rybník - Hostouň

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Cvičná bakalářská zkouška, 1. varianta

Cvičná bakalářská zkouška, 1. varianta jméno: studijní obor: PřF BIMAT počet listů(včetně tohoto): 1 2 3 4 5 celkem Cvičná bakalářská zkouška, 1. varianta 1. Matematická analýza Najdětelokálníextrémyfunkce f(x,y)=e 4(x y) x2 y 2. 2. Lineární

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

UČENÍ BEZ UČITELE. Václav Hlaváč

UČENÍ BEZ UČITELE. Václav Hlaváč UČENÍ BEZ UČITELE Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/~hlavac 1/22 OBSAH PŘEDNÁŠKY ÚVOD Učení

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

Jednofaktorová analýza rozptylu

Jednofaktorová analýza rozptylu I I.I Jednofaktorová analýza rozptylu Úvod Jednofaktorová analýza rozptylu (ANOVA) se využívá při porovnání několika středních hodnot. Často se využívá ve vědeckých a lékařských experimentech, při kterých

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

6 Ordinální informace o kritériích

6 Ordinální informace o kritériích 6 Ordinální informace o kritériích Ordinální informací o kritériích se rozumí jejich uspořádání podle důležitosti. Předpokládejme dále standardní značení jako v předchozích cvičeních. Existují tři základní

Více

Numerické metody a programování. Lekce 8

Numerické metody a programování. Lekce 8 Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:

Více

Přednáška 13 Redukce dimenzionality

Přednáška 13 Redukce dimenzionality Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

Základní spádové metody

Základní spádové metody Základní spádové metody Petr Tichý 23. října 2013 1 Metody typu line search Problém Idea metod min f(x), f : x R Rn R. n Dána počáteční aproximace x 0. Iterační proces (krok k): (a) zvol směr d k, (b)

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

Úvod do optimalizace, metody hladké optimalizace

Úvod do optimalizace, metody hladké optimalizace Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady

Více

Lineární klasifikátory

Lineární klasifikátory Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout

Více

Aplikovaná numerická matematika

Aplikovaná numerická matematika Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních

Více

Pokročilé neparametrické metody. Klára Kubošová

Pokročilé neparametrické metody. Klára Kubošová Klára Kubošová Další typy stromů CHAID, PRIM, MARS CHAID - Chi-squared Automatic Interaction Detector G.V.Kass (1980) nebinární strom pro kategoriální proměnné. Jako kriteriální statistika pro větvení

Více

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího: OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

Více

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

Operační výzkum. Síťová analýza. Metoda CPM.

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Statistické metody v ekonomii. Ing. Michael Rost, Ph.D.

Statistické metody v ekonomii. Ing. Michael Rost, Ph.D. Statistické metody v ekonomii Ing. Michael Rost, Ph.D. Jihočeská univerzita v Českých Budějovicích Shluková analýza Shluková analýza je souhrnným názvem pro celou řadu výpočetních algoritmů, jejichž cílem

Více

13. Lineární programování

13. Lineární programování Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1 Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní

Více

1 Projekce a projektory

1 Projekce a projektory Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor

Více

11. Tabu prohledávání

11. Tabu prohledávání Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

4EK213 Lineární modely. 10. Celočíselné programování

4EK213 Lineární modely. 10. Celočíselné programování 4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a

Více

Metody analýzy dat I. Míry a metriky - pokračování

Metody analýzy dat I. Míry a metriky - pokračování Metody analýzy dat I Míry a metriky - pokračování Literatura Newman, M. (2010). Networks: an introduction. Oxford University Press. [168-193] Zaki, M. J., Meira Jr, W. (2014). Data Mining and Analysis:

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze

Více

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,

Více

Úvodem Dříve les než stromy 3 Operace s maticemi

Úvodem Dříve les než stromy 3 Operace s maticemi Obsah 1 Úvodem 13 2 Dříve les než stromy 17 2.1 Nejednoznačnost terminologie 17 2.2 Volba metody analýzy dat 23 2.3 Přehled vybraných vícerozměrných metod 25 2.3.1 Metoda hlavních komponent 26 2.3.2 Faktorová

Více

Kombinatorická minimalizace

Kombinatorická minimalizace Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny

Více

Pokrytí šachovnice I

Pokrytí šachovnice I Pokrytí šachovnice I VŠB-TU Ostrava, fakulta FEI Obor: Informatika výpočetní technika Předmět: Diskrétní matematika (DIM) Zpracoval: Přemysl Klas (KLA112) Datum odevzdání: 25.11.2005 1) Abstrakt: Máme

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška

Více

Statistická teorie učení

Statistická teorie učení Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální

Více

Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady

Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady Předmět: Náplň: Třída: Počet hodin: Pomůcky: Matematika Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady 4. ročník a oktáva 3 hodiny týdně PC a dataprojektor, učebnice

Více

OPTIMALIZACE. (přehled metod)

OPTIMALIZACE. (přehled metod) OPTIMALIZACE (přehled metod) Typy optimalizačních úloh Optimalizace bez omezení Nederivační metody Derivační metody Optimalizace s omezeními Lineární programování Nelineární programování Globální optimalizace

Více

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Algoritmy výpočetní geometrie

Algoritmy výpočetní geometrie Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Základy matematické analýzy

Základy matematické analýzy Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

Odhad parametrů N(µ, σ 2 )

Odhad parametrů N(µ, σ 2 ) Odhad parametrů N(µ, σ 2 ) Mějme statistický soubor x 1, x 2,, x n modelovaný jako realizaci náhodného výběru z normálního rozdělení N(µ, σ 2 ) s neznámými parametry µ a σ. Jaký je maximální věrohodný

Více

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Prostá regresní a korelační analýza 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Problematika závislosti V podstatě lze rozlišovat mezi závislostí nepodstatnou, čili náhodnou

Více

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem

Více

Jan Březina. 7. března 2017

Jan Březina. 7. března 2017 TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017 Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}} Cesta - P n V = {1,

Více

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ 56 12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ Těžiště I. impulsová věta - věta o pohybu těžiště II. impulsová věta Zákony zachování v izolované soustavě hmotných bodů Náhrada pohybu skutečných objektů pohybem

Více

Pohyb tělesa (5. část)

Pohyb tělesa (5. část) Pohyb tělesa (5. část) A) Co už víme o pohybu tělesa?: Pohyb tělesa se definuje jako změna jeho polohy vzhledem k jinému tělesu. O pohybu tělesa má smysl hovořit jedině v souvislosti s polohou jiných těles.

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Dopravní plánování a modelování (11 DOPM )

Dopravní plánování a modelování (11 DOPM ) Department of Applied Mathematics Faculty of Transportation Sciences Czech Technical University in Prague Dopravní plánování a modelování (11 DOPM ) Lekce 7: FSM: Trip assignment Prof. Ing. Ondřej Přibyl,

Více

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 2. Množiny, funkce MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí

Více

Jaroslav Tuma. 8. února 2010

Jaroslav Tuma. 8. února 2010 Semestrální práce z předmětu KMA/MM Odstraňování šumu z obrazu Jaroslav Tuma 8. února 2010 1 1 Zpracování obrazu Zpracování obrazu je disciplína zabývající se zpracováním obrazových dat různého původu.

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44 Asociativní paměti Asociativní sítě (paměti) Cíl učení Asociace známého vstupního vzoru s daným výstupním vzorem Okoĺı známého vstupního vzoru x by se mělo také zobrazit na výstup y odpovídající x správný

Více

Regresní a korelační analýza

Regresní a korelační analýza Regresní a korelační analýza Mějme dvojici proměnných, které spolu nějak souvisí. x je nezávisle (vysvětlující) proměnná y je závisle (vysvětlovaná) proměnná Chceme zjistit funkční závislost y = f(x).

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

TGH09 - Barvení grafů

TGH09 - Barvení grafů TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít

Více

Modifikace algoritmu FEKM

Modifikace algoritmu FEKM Modifikace algoritmu FEKM Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 9. 14. září 2012 Němčičky Motivace Potřeba metod

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta 12 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info Definice V( P) nad množinou bodů P { p v rovině 1,

Více

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení 4EK213 Lineární modely 12. Dopravní problém výchozí řešení 12. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,

Více

VÍCEKRITERIÁLNÍ ROZHODOVANÍ

VÍCEKRITERIÁLNÍ ROZHODOVANÍ VÍCEKRITERIÁLNÍ ROZHODOVANÍ 1 Obsah Typy modelů vícekriteriálního rozhodování Základní pojmy Typy informací Cíl modelů Užitek, funkce užitku Grafické zobrazení Metody vícekriteriální analýzy variant 2

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Bayesovské modely Doc. RNDr. Iveta Mrázová, CSc.

Více

Úvod do teorie grafů

Úvod do teorie grafů Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí

Více

Rozdělování dat do trénovacích a testovacích množin

Rozdělování dat do trénovacích a testovacích množin Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném

Více

Stavový model a Kalmanův filtr

Stavový model a Kalmanův filtr Stavový model a Kalmanův filtr 2 prosince 23 Stav je veličina, kterou neznáme, ale chtěli bychom znát Dozvídáme se o ní zprostředkovaně prostřednictvím výstupů Příkladem může býapř nějaký zašuměný signál,

Více

Hledání extrémů funkcí

Hledání extrémů funkcí Hledání extrémů funkcí Budeme se zabývat téměř výhradně hledáním minima. Přes nost nalezeného extrému Obecně není hledání extrému tak přesné jako řešení rovnic. Demonstrovat to můžeme na příkladu hledání

Více

Detekce kartografického zobrazení z množiny

Detekce kartografického zobrazení z množiny Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky Albertov 6, Praha 2 bayertom@natur.cuni.cz Abstrakt. Detekce kartografického zobrazení z množiny bodů o známých

Více

aneb jiný úhel pohledu na prvák

aneb jiný úhel pohledu na prvák Účelná matematika aneb jiný úhel pohledu na prvák Jan Hejtmánek FEL, ČVUT v Praze 24. června 2015 Jan Hejtmánek (FEL, ČVUT v Praze) Technokrati 2015 24. června 2015 1 / 18 Outline 1 Motivace 2 Proč tolik

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku

Více

Shluková analýza dat a stanovení počtu shluků

Shluková analýza dat a stanovení počtu shluků Shluková analýza dat a stanovení počtu shluků Autor: Tomáš Löster Vysoká škola ekonomická v Praze Ostrava, červen 2017 Osnova prezentace Úvod a teorie shlukové analýzy Podrobný popis shlukování na příkladu

Více

STATISTICKÉ CHARAKTERISTIKY

STATISTICKÉ CHARAKTERISTIKY STATISTICKÉ CHARAKTERISTIKY 1 Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipliny společného základu (reg. č. CZ.1.07/2.2.00/28.0021)

Více

Iterační metody řešení soustav lineárních rovnic. 27. prosince 2011

Iterační metody řešení soustav lineárních rovnic. 27. prosince 2011 Iterační metody řešení soustav lineárních rovnic Michal Čihák 27. prosince 2011 Přímé metody řešení soustav lineárních rovnic V přednáškách z lineární algebry jste se seznámili s několika metodami řešení

Více

Metody analýzy dat I (Data Analysis I) Rozsáhlé struktury a vlastnosti sítí (Large-scale Structures and Properties of Networks) - pokračování

Metody analýzy dat I (Data Analysis I) Rozsáhlé struktury a vlastnosti sítí (Large-scale Structures and Properties of Networks) - pokračování Metody analýzy dat I (Data Analysis I) Rozsáhlé struktury a vlastnosti sítí (Large-scale Structures and Properties of Networks) - pokračování Základní (strukturální) vlastnosti sítí Stupně vrcholů a jejich

Více

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H

Více

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 51 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 V obchodě s kouzelnickými potřebami v Kocourkově

Více

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

Vícerozměrné statistické metody

Vícerozměrné statistické metody Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová FSTA: Pokročilé statistické metody Vícerozměrné statistické rozdělení

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ107/2200/280141 Soustavy lineárních rovnic Michal Botur Přednáška 4 KAG/DLA1M: Lineární

Více

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky POSLOUPNOSTI A ŘADY Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu

Více