Základy vytěžování dat



Podobné dokumenty
Textmining a Redukce dimenzionality

Státnice odborné č. 20

Miroslav Čepek

Miroslav Čepek

Self Organizing Map. Michael Anděl. Praha & EU: Investujeme do vaší budoucnosti. 1 / 10 Slef Organizing Map

Přednáška 13 Redukce dimenzionality

Vytěžování znalostí z dat

Přednáška 12: Shlukování

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

Základy vytěžování dat

LDA, logistická regrese

Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody

Algoritmy a struktury neuropočítačů ASN P3

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Úvod do RapidMineru. Praha & EU: Investujeme do vaší budoucnosti. 1 / 23 Úvod do RapidMineru

Vícerozměrné statistické metody

1 Linearní prostory nad komplexními čísly

Vytěžování znalostí z dat

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

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

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

StatSoft Jak vyzrát na datum

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

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

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Cvičení 5 - Inverzní matice

Kybernetika a umělá inteligence, cvičení 10/11

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

Semestrální práce Mozaika aneb Co všechno umí pan Voronoi

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Vytěžování znalostí z dat

1 0 0 u 22 u 23 l 31. l u11

Kontingenční tabulky v MS Excel 2010

Samoučící se neuronová síť - SOM, Kohonenovy mapy

Návod k práci s programem MMPI-2

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

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

Závěrečná práce. AutoCAD Inventor (Zadání D1)

Textové popisky. Typ dat

Matematika pro geometrickou morfometrii

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

BPC2E_C08 Parametrické 3D grafy v Matlabu

Dolování z textu. Martin Vítek

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

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

Tvorba geometrického modelu a modelové sítě.

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í

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy

xrays optimalizační nástroj

Vícerozměrné statistické metody

Výsledný graf ukazuje následující obrázek.

3.4 Určení vnitřní struktury analýzou vícerozměrných dat

Aplikovaná numerická matematika

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

Zadání soutěžních úloh

Stavový model a Kalmanův filtr

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

Text Mining: SAS Enterprise Miner versus Teragram. Petr Berka, Tomáš Kliegr VŠE Praha

pracovní list studenta

Univerzita Pardubice 8. licenční studium chemometrie

7.5.3 Hledání kružnic II

Algoritmy pro shlukování prostorových dat

Základy popisné statistiky

Jaroslav Tuma. 8. února 2010

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

Úloha: Verifikace osoby pomocí dynamického podpisu

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

MS EXCEL. MS Excel

Postupy práce se šablonami IS MPP

NADSTAVBOVÝ MODUL MOHSA V1

Zadání soutěžních úloh

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Informační systémy 2006/2007

Rosenblattův perceptron

oddělení Inteligentní Datové Analýzy (IDA)

Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Úvod do optimalizace, metody hladké optimalizace

Spojování dvou a více map v image souborech.

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

13 Barvy a úpravy rastrového

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

Povinně Volitelné a Volitelné předměty INFORMACE & ZÁPIS SIS

Modul Zásoby IQ sestavy a jejich nastavení Materiál pro samostudium +1170

4. Učení bez učitele. Shlukování. K-means, EM. Hierarchické shlukování. Kompetitivní učení. Kohonenovy mapy.

Cvičení ze statistiky - 3. Filip Děchtěrenko

ZÁKLADY STATISTICKÉHO ZPRACOVÁNÍ ÚDAJŮ 5. hodina , zapsala Veronika Vinklátová Revize zápisu Martin Holub,

Hledání správné cesty

1 Základní funkce pro zpracování obrazových dat

Copyright 2013 Martin Kaňka;

NÁHODNÝ VEKTOR. 4. cvičení

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Popisná statistika kvantitativní veličiny

Individuální nastavení počítače

Rastrové digitální modely terénu

Předzpracování dat. Pavel Kordík. Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague

Transkript:

Základy vytěžování dat předmět A7Bb36vyd Vytěžování dat Filip Železný, Miroslav Čepek, Radomír Černoch, Jan Hrdlička katedra kybernetiky a katedra počítačů ČVUT v Praze, FEL Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Shluková analýza a analýza hlavních komponent Odkaz na výukové materiály: https://cw.felk.cvut.cz/doku.php/courses/a7b36vyd/moduly/start (oddíl 3) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Vytěžování dat, přednáška 4: Shluková analýza Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 35 Shluková analýza

Co to je shluková analýza Je jednou ze základních úloh vytěžování dat. Jde o seskupení objektů do skupin podle jejich vlastností. Tak aby si objekty ve skupinách byly nějak podobné. A zároveň nebyly podobné objektů v jiných skupinách. 2 / 35 Shluková analýza

3 / 35 Shluková analýza

Co to je shluková analýza (II) V principu jde o optimalizační problém. Co se musí optimalizovat? Počet shluků (skupin) Přiřazení instancí do shluků 4 / 35 Shluková analýza

Jak zjistit, že jsou si dva vzory podobné? To je obecně velmi složitá otázka. Protože shlukovou analýzu budou provádět hlavně počítače, musí být výsledkem nějaké číslo. Z matematické analýzy známe pojem metrika což je jiné označení vzdálenosti. Metrika musí splňovat několik základních podmínek, aby ji bylo možné použít. d(x, y) 0 d(x, y) = d(y, x) d(x, y) = 0 x = y d(x, y) + d(y, z) d(x, y) 5 / 35 Shluková analýza

Metriky Jaké znáte metriky? Eukleidovská metrika Manhattanská metrika Kosinová metrika Příklady dalších metrik Editační vzdálenost (vzdálesnost dvou slov = počet změn, kterými můžu změnit jedno slovo na druhé) Grafová metrika (počet hran, které musím v grafu projít, abych se dostal do z jednoho uzlu do druhého) http://en.wikipedia.org/wiki/metric_space 6 / 35 Shluková analýza

Eukleidovská metrika Nejpřirozenější metrika, protože se s ní běžně setkáváme. Jak změříme vzdálenost dvou bodů na tabuli? Pravítkem :)! A když známe souřadnice, můžeme ji spočítat. Jak? 7 / 35 Shluková analýza

Eukleidovská metrika (II) Pythagorova věta! c = a 2 + b 2 A Pythagorovu větu můžeme zobecnit pro R n x = (x 1, x 2,..., x n ), y = (y 1, y 2,..., y n ) dist( x, y) = n (x i y i ) 2 i=1 8 / 35 Shluková analýza

Manhattanská metrika (City-block distance) Základní myšlenka: Kolik bloků ve městě musím obejít, abych se dostal z jednoho místa na druhé? Nebo také kolik tahů králem musím udělat abych se dostal z jednoho místa šachovnice na druhé? 9 / 35 Shluková analýza

Manhattanská metrika (City-block distance) (II) Pokud znám souřadnice, vzdálenost spočítam takto: dist( x, y) = x 1 y 1 + x 2 y 2 +... + x n y n 10 / 35 Shluková analýza

Kosinová vzdálenost Vzdálenost dvou vektorů je úhel, který svírají. similarity( x, y) = n i=1 (x i y i ) n i=1 (x2 i ) n i=1 (y2 i ) Výsledky této funkce jsou v rozmezí -1... +1. -1 znamená úplný opak, 0 nezávyslost a +1 naprostou shodu. Aby výsledky vyhovovali definici metriky je potřeba podobnost odečíst od jedné. dist( x, y) = 1 similarity( x, y) 11 / 35 Shluková analýza

Shlukování pomocí KMeans Jednostlivé shluky budou zastoupeny jedním reprezentantem, který ponese vlastnosti typické pro danou skupinu/shluk. Každá instance (vzor) v datech bude reprezentována reprezentantem, který je jí nejpodobnější. Jinými slovy který ji bude nejblíž (v dané metrice). 12 / 35 Shluková analýza

13 / 35 Shluková analýza

Shlukování pomocí KMeans Jak určit, kde je správné místo pro reprezentanty? Chceme, aby vzdálenost mezi reprezentanty a instancemi byla co nejmenší. Snažíme se vlastně minimalizovat součet všech vzdáleností mezi instancemi a jejich reprezentanty jde o optimalizační problém. Taková optimalizace se dá řešit mnoha způsoby, ale jeden z nejjednodušších je iterační. 14 / 35 Shluková analýza

Algoritmus KMeans značení Máme množinu n vstupních vzorů/instancí (vektorů) x k. Jednotlivé složky vektoru budeme označovat x k (s). A máme množinu K reprezentantů. means t i je i-tý reprezentant v kroku t. 15 / 35 Shluková analýza

Algoritmus KMeans 1. Nastav reprezentanty means 0 i do náhodných počátečních bodů. 2. Najdi a přiřaď každé instanci jeho nejbližšího reprezentanta. x najdi j tak, aby dist(x, means t j ) dist(x, means t i ) i a pro každého reprezentanta means t i vytvoř množinu nearest t i instancí, ke kterým je nejblíž. 3. Přesuň reprezentanta tak aby ležel uprostřed své množiny nejbližších instancí. means t+1 1 i (s) = nearest x t i k nearest x t k (s) i 4. Pokud se změnila poloha alespoň jednoho preprezentanta, vrať se na bod 2. Jinak skonči. 16 / 35 Shluková analýza

Ilustrace KMeans 17 / 35 Shluková analýza

Ilustrace KMeans (II) 18 / 35 Shluková analýza

Ilustrace KMeans (III) 19 / 35 Shluková analýza

Ilustrace KMeans (IV) 20 / 35 Shluková analýza

Ilustrace KMeans (V) 21 / 35 Shluková analýza

Pohádka o Algoritmu KMeans :) Once there was a land with N houses. One day K kings arrived to this land. Each house was taken by the nearest king. But the community wanted their king to be at the center of the village, so the throne was moved there Then the kings realized that some houses were closer to them now, so they took those houses, but they lost some. This went on and on... (2-3-4) Until one day they couldn t move anymore, so they settled down and lived happily ever after in their village... 22 / 35 Shluková analýza

Problémy a stabilita shlukování pomocí KMeans Dopadne shlukování pomocí KMeans pokaždé stejně? Jak určit správný počet středů (shluků)? Jak vyhodnotit jestli shlukování dopadlo dobře a jestli jsme zvolili přiměřené K? 23 / 35 Shluková analýza

Vyhodnocení shluků vytvořených KMeans algoritmem Jednou z možných metod je tzv. silueta. Silueta pro každou vstupní instanci spočítá jistotu zařazení instance do daného shluku. s(x k ) = b(x k) a(x k ) max(a(x k ), b(x k )) a(x k ) je průměrná vzdálenost x k od ostatních instancí shluku, ke kterému je přiřazena. b(x k ) je průměrná vzdálenost x k od instancí v nejbližším dalším shluku. Výsledné hodnoty jsou mezi -1 (x k do shluku úplně nepatří) a +1 (úplně patří) ftp: //ftp.win.ua.ac.be/pub/preprints/87/silgra87.pdf 24 / 35 Shluková analýza

Vyhodnocení shluků vytvořených KMeans algoritmem (II) Pokud vypočítáte siletu pro všechny instance a vykreslíte ji do grafu, můžete si udělat představu, jak shlukování dopadlo. 25 / 35 Shluková analýza

Ukázka Siluety shluky Kosatců 26 / 35 Shluková analýza

Které shlukování dopadlo lépe? Co třeba průměrná silueta přes všechny instance (ideálně přes testovací data)? 27 / 35 Shluková analýza

Stabilita shluků Jak zkusit, že shluky opravdu v datech jsou a výsledné shluky nejsou náhoda? Náhodným smazáním např. 10% různých instancí vygenerovat M podmnožin dat a spustit shlukování na každé podmnožině. Existuje několik ukázkových apletů/aplikací, kde si můžete zkusit, jak algoritmus funguje. http://home.dei.polimi.it/matteucc/clustering/ tutorial_html/appletkm.html 28 / 35 Shluková analýza

Hierarchické shlukování úvod KMeans, jak jsme viděli, má některé mouchy. Kolik je v datech shluků? Závislost výsledků na počátečních podmínkách. Šlo by shlukování dělat i jinak? Šlo :). Jednou z možností je Hierarchické shlukování. Základní myslenka je, že vytvoříme hierarchii shluků. Vždy spojíme dva nejpodobnější shluky do jednoho většího. A takto budeme pokračovat, dokud nevytvoříme jeden mega-shluk. 29 / 35 Shluková analýza

Hierarchické shlukování 1. Začne ze stavu, kdy každá instance je jedním shlukem. 2. Najdi dva nejbližší shluky. 3. Spoj je do jednoho. 4. Zůstávají nějaké shluky, které lze spojit? Pokud ano, vrať se na bod 2. 30 / 35 Shluková analýza

Nejbližší shluky Jak zjistím vzdálenost dvou shluků? Dokud shluky obsahují jen jednu instanci, je spočítání vzdálenosti jednoduché. Ale pak? Vzdálenost shluků je určena Nejbližší sousedé vzdáleností nejbližších instancí ve shluku. Nejvzdálenější sousedé vzdáleností nejvzdálenějších instancí ve shluku. Vzdálenost středů vzdáleností center (středů) shluků. Průměrná vzdálenost průměrná vzdálenost mezi všemi instancemi v obo shlucích 31 / 35 Shluková analýza

Vzdálenost shluků ilustrace Nejkratší vzdálenost Průměrná vzdálenost Největší vzdálenost Vzdálenost mezi reprezentanty 32 / 35 Shluková analýza

Dendrogram Když zkusíme vizualizovat postup shlukování tj. které shluky se spojují, získáme strom dendrogram. Jak nalezneme počet shluků? Výběrem :), podle toho, kolik shluků potřebujeme nebo kolik vyjde jako nejvhodnější. 33 / 35 Shluková analýza

Vyhodnocení hierarchického shlukování Můžeme opět použít siluetu, stejně jak jsme ji používali v K-Means. Druhou možností je vypočítat CPCC (Cophenetic Correlation Coeffitient). CPCC je normovaná kovariance vzdáleností v původním prostoru a v dendrogramu. Pokud je hodnota CPCC menší než cca 0.8, všechny instance patří do jediného velkého shluku. Obecně platí, že čím vyšší je kofenetický koeficient korelace, tím nižší je ztráta informací, vznikající v procesu slučování objektů do shluků. 34 / 35 Shluková analýza

Další informace a zdroje http://cmp.felk.cvut.cz/cmp/courses/recognition/ zapis_prednasky/zapis_02/13/shlukovani.pdf http://www.fit.vutbr.cz/study/courses/zzd/public/ seminar0304/hlukovani2.pdf 35 / 35 Shluková analýza

Vytěžování dat, přednáška 5: Self Organizing Map Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 44 Self Organizing Map

Shlukovací algoritmy a nevýhody Jaké znáte shlukovací algoritmy? KMeans Hierarchické shlukování KMeans nedopadne pokaždé stejně, musím zkoušet počet centroidů. Hiearachické shlukování musím spočítat N 2 vzdáleností. Což pro větší N není jednoduché. 2 / 44 Self Organizing Map

Další shlukovací algoritmy Existuje spousta dalších algoritmů pro shlukování dat. Ukáži vám ješte jeden Self Organizing Map (SOM). 3 / 44 Self Organizing Map

Kompetitivní učení Jedinci (reprezentanti, centroidy, neurony, jedinci) spolu soutěží o něco :). Nepotřebuji žádného arbitra (učitele), který by říkal, kam se mají jedinci přesunout. Každý jedinec to umí zjistit sám. Jedinci se učí z příkladů. Systém (populace jedinců) se v průběhu času samoorgranizuje sám. A teď to zkusíme použít na shlukování. 4 / 44 Self Organizing Map

Kompetitivní učení v pohádce Vzpomínáte si na pohádku o Králích z minulé přednášky? Do země s N domy přijelo K králů a někde se usídlili. A každý král zabral domy, které mu byli nejblíž a z nich vybíral daně. A protože lidé chtěli, aby jim byl král co nejblíž, král se přestěhoval do geometrického středu domů. Tím se ale některé domy ocitly blíže jinému králi a tak z nich daně začal vybírat jiný král. Králové se opět přesunout a tak dále. Nejbližší král tedy získá všechny daně z domů, které jsem mu nejblíž. 5 / 44 Self Organizing Map

Kompetitivní učení v KMeans KMeans také používá kompetitivní učení. Jak? KMeans je trochu skromější. Reprezentanti (centroidy) soutěží o data. A nejbližší reprezentant vyhraje zabere celou instanci a jiného reprezentant k ní nepustí. Bere vše. 6 / 44 Self Organizing Map

Kvantizační chyba Minule jsem v souvislosti s KMeans mluvil o optimalizaci (minimalizaci) chyby. Této chybě se říká kvantizační chyba. A vyjadřuje průměrnou vzdálenost mezi daty a odpovídajícími reprezentanty. Průměrná vzdálenost mezi krály a jejich poddanými. kvantizační chyba = 1 počet instancí k i=0 x nearest(r i ) dist(r i, x) r i je i-tý reprezentant. A nearest(r i ) je množina instancí, které jsou mu nejblíž. x je jedna z instancí. 7 / 44 Self Organizing Map

Vektorová kvantizace A cílem (nejen) KMeans je minimalizovat tuto chybu. Tím že minimalizuji kvantizační chybu tlačím reprezentanty do míst, kde se nachází hodně instancí. Snažím se tím aproximovat hustotu instancí pomocí (menší hustoty) reprezentantů. Do míst, kde je vysoká hustota instancí, se snažím dostat hodně reprezentatnů a naopak do míst s málo instancemi dávám málo reprezentatnů. Cílem kvantizace vektorů je aproximace hustotu pravděpodobnosti p(x) výskytu instancí x pomocí konečného počtu reprezentantů w i. 8 / 44 Self Organizing Map

Vítěz NEbere vše U KMeans z domu vybírá daně jen nejbližší král. Winner takes all. Co když platí, že část daní může vybírat i jiný blízký král? Pak už neplatí, že vítěz bere vše a něco zbude i na ostatní. Zde je důležité okolí tj. jak daleko se králi ještě vyplatí jet pro svůj díl daní. Malé okolí vítěz bere vše - daně vybírá jen jeden král Velké okolí komunismus - každý král dostane z každého domu kousek. 9 / 44 Self Organizing Map

Neuronový plyn Jiný způsob, jakým lze minimalizovat kvantizační chybu. Na rozdíl od KMeans používám okolí a jinak počítám nové pozice středů. 1. Náhodně rozmísti reprezentanty a zvol velké okolí. 2. Vyber nějakou vstupní instanci x j. 3. Spočítej vzdálenost mezi x j a všemi reprezentanty w i i. 4. Uprav pozice všech středů v závislosti na vzdálenosti od instance a okolí. 5. Zmenši okolí. 6. Pokud ještě chceš pokračovat, pokačuj bodem 2. 10 / 44 Self Organizing Map

Ilustrace iterace Neuronového plynu 11 / 44 Self Organizing Map

Ilustrace iterace Neuronového plynu 12 / 44 Self Organizing Map

Ilustrace iterace Neuronového plynu 13 / 44 Self Organizing Map

Ilustrace iterace Neuronového plynu 14 / 44 Self Organizing Map

Neuronový plyn (II) V algoritmu je několik stupňů volnosti. Vyber nějakou vstupní instanci Procházíme postupně jednotlivé instance postupně v pevném pořadí. Nevhodné protože výstup může záviset na pořadí předkládání instancí. Projde všechny instance jednou, pak v jiném pořadí podruhé, atd... Vybírá skutečně náhodně. Čili nezaručuje, že počet předložení síti bude pro všechny instance stejný. Nepoužívá se, protože není zaručeno, že nepředložím x 1 10x, pak x 2 12x, atd... 15 / 44 Self Organizing Map

Neuronový plyn (III) Uprav pozice všech středů v závislosti... Čím vzdálenější reprezentant, tím se posouvá méně. w t+1 i = w t i + ηt e k/λt (x w t i ) η t je adaptační krok v kroku t a určuje o kolik se maximálně může reprezentant posunout. (Typicky o dost menší než 1 a s roustoucím t klesá k 0). k pořadí ve vzdálenosti reprezentanta od instance. λ t definuje velikost okolí a s rostoucím t klesá. 16 / 44 Self Organizing Map

Neuronový plyn (IV) Zmenši okolí Okolí (λ t ) se typicky postupně zmenšuje o nějaký násobek. Např. λ t+1 = λ t 0.95 Při zmenšování okolí se podobným způsobem zmenšuje i adaptační krok. η t+1 = η t 0.95. Pokud ješte chceš pokračovat... Dopředu určím, že chci pokračovat dokud je λ > 0.05 nebo skonči poté, co předložíš všechny instance 10x. Kontrolní otázka: Za jakých podmínek se přesune nejbližší reprezentant na pozici právě předložené instance? 17 / 44 Self Organizing Map

Vylepšení Neuronového plynu Jak by se dal neuronový plyn vylepšit dál? Co kdyby se neposouvali všechni reprezentanti blízko instance? Vytvoříme přátelské vztahy mezi reprezentanty. A budou se posouvat jen kamarádi vítězného reprezentanta. Když vizualizujeme přátelství mezi reprezentanty získáme pravidelnou mřížku (síť). Typicky se používá čtvercová nebo hexagonální síť. 18 / 44 Self Organizing Map

Inspirace pro SOM Inspirací nejsou králové, ale oblasti v lidském mozku. Řídící centra jednotlivých končetin spolu souvisí a navzájem se ovlivňují. 19 / 44 Self Organizing Map

SOM Neuronová síť SOM je vynálezem prof. Kohonena z Finska. Původně vznikla jako model motorického cortexu a její první aplikace byl fontetický psací stroj. A protože se prof. Kohonen zabýval umělými neuronovými sítěmi, převzal i SOM jejich terminologii. 20 / 44 Self Organizing Map

SOM - Pozice neuronů Každý reprezentant v terminologii SOMu neuron je opět reprezentován jeho souřadnicemi v prostoru. Souřadnice každého neuronu (reprezentanta) se označují jako váhy. Když si zkusím takovou síť vizualizovat, dostaneme například: 21 / 44 Self Organizing Map

SOM - Pozice neuronů (II) WTF? Ještě před chvílí byla ta síť přece pravidelná! To ano, ale to byla idealizovaná projekce, aby bylo názorně vidět vztahy! 22 / 44 Self Organizing Map

SOM - Algoritmus Celý SOM algoritmus vypadá pak takto: 1. Inicializuj váhy všech neuronů (souřadnice všech reprezentantů). 2. Vyber nějakou vstupní instanci x j. 3. Spočítej vzdálenost mezi x j a všemi neurony w i i. 4. Urči nejbližší neuron BMU (Best Matching Unit). 5. Uprav váhy (pozici) BMU a jeho okolí. 6. Pokud ještě chceš pokračovat, pokačuj bodem 2. 23 / 44 Self Organizing Map

Detaily algoritmu Inicializace vah: Rovnoměrné rozprostření pro prostoru. Náhodně. Výběr instancí: Opět můžeme vybírat instance úplně náhodně. Ale mnohem častější je vybrat všechny instance jednou, pak všechny podruhé (v jiném pořadí), atd... Prochází se permutace vstupní množiny. 24 / 44 Self Organizing Map

Detaily algoritmu (II) Výpočet vzdáleností a určení BMU je celkem jednoduchá záležitost. Určím si metriku, kterou budu využívat a tu aplikuji. Mnohem zajímavější je úprava pozice BMU a jeho okolí :). Jak vlastně určím neurony v okolí? 25 / 44 Self Organizing Map

Změna vah graficky 26 / 44 Self Organizing Map

Detaily algoritmu (III) Novou pozici neuronu w i v kroku t + 1 (po předložení vzoru x j ) určím jako: w t+1 i = w t i + µ(t)(x j w t i ) Kde µ(t) je sdružený učící koeficient, který v sobě sdružuje jak vzdálenost neuronu od BMU tak i maximální možnou změnu vah (pozice). µ(t) s postupujícím časem klesá k nule. 27 / 44 Self Organizing Map

Detaily algoritmu (IV) µ(t) = α(t)e dist(w i,bmu) 2σ 2 (t) α(t) představuje učící krok (tedy jak moc se maximálně mohou změnit váhy neuronu). e blabla určuje, že okolí neuron má tvar gausovky. σ 2 (t) určuje velikost okolí a postupně s časem klesá. 28 / 44 Self Organizing Map

Příklad Máme 3 neurony w 1 = (0, 0)w 2 = (2, 1)w 3 = (0, 3) a ty jsou na lince. w 1 je sousedem w 2, w 2 je sousedem w 3 a w 1, w 2 je sousedem w 3. A instanci x = (1, 1) Který neuron je BMU? (Použijeme eukleidovskou metriku) d(w 1, x) = (0 1) 2 + (0 1) 2 = 2 = 1.41... d(w 2, x) = (2 1) 2 + (1 1) 2 = 1 = 1 d(w 3, x) = (0 1) 2 + (3 1) 2 = 5 = 2.23.. 29 / 44 Self Organizing Map

Příklad (II) BMU je tedy w 2. Řekněme, že σ(t) = 1 a α(t) = 0.25 A zkusme vypočítat novou pozici BMU (w 2 ). µ(t) = α(t)e dist(w i,bmu) 2σ 2 (t) = 0.25 e dist(w 2,w 2 ) 2 1 2 = 0.25 e 0 = 0.25 w t+1 2 = w t 2 + µ(t)(x w t 2) = (2, 1) + 0.25 ((1, 1) (2, 1)) = = (2, 1) + 0.25( 1, 0) = (1.75, 1) Pro w 1 se posune do pozice: µ(t) = α(t)e dist(w 1,w 2 ) 2σ 2 (t) = 0.25 e 1 2 = 0.25 0.606 = 0.151 w t+1 1 = w t 1 + µ(t)(x w t 1) = (0, 0) + 0.151 ((1, 1) (0, 0)) = = (0, 0) + (0.151, 0.151) = (0.151, 0.151) 30 / 44 Self Organizing Map

Chyba SOM Stejně jako v Hierarchickém shlukování a K-Means potřebujeme nějakou míru dobrého shluknutí. Kvantizační chyba Ale tu už známe! To je přece chyba, o které jsme mluvili na začátku přednášky! Průměrná vzdálenost mezi instancemi a nejbližšími neurony. Topografická chyba Popisuje kvalitu natažení mřížky sítě na vstupní data. Procento instancí, pro které platí, že jejich BMU a druhý nebližší neuron nejsou sousedy v mřížce sítě. err topo = 1 n n i=1 u(x i) u(x i ) = 1 BMU a druhý nejbližší neuron pro x i nejsou sousedé v mřížce. 31 / 44 Self Organizing Map

Vizualizace SOM Dokud máme jen 2D data, tak s vizualizací není problém. Ale co když máme více dimenzí? U-Matice Analýza hlavních komponent Sammonova projekce 32 / 44 Self Organizing Map

U-Matice Matice vzdáleností mezi váhovými vektory jednotlivých neuronů, typicky se vizualizuje, vzdáleností vyjádřeny barvou světlá barva = malá vzdálenost. Zobrazuje strukturu vzdáleností v prostoru dat. 33 / 44 Self Organizing Map

U-Matice Barva neuronu je vzdálenost je váhového vektoru od všech ostatních váhových vektorů. Tmavé váhové vektory jsou vzdáleny od ostatních datových vektorů ve vstupním prostoru. Světlé váhové vektory jsou obklopeny cizími vektory ve vstupním prostoru. 34 / 44 Self Organizing Map

U-Matice (III) Jak z U-Matice poznám shluky? Ze vzdáleností mezi neurony. Kopce oddělují clustery (údolí). 35 / 44 Self Organizing Map

Analýza hlavních komponent Jde o statistickou metodu pro redukci dimenzionality. Označuje se jako PCA z anglického Principal Component Analysis. Snaží se najít nové osy, které lépe popisují data s minimální ztrátou informace. První osa vede směrem, který má největší rozptyl hodnot, druhá osa směrem, kde je druhý největší rozptyl, atd... Vždy mi vrátí stejný počet nových os, jako mají původní data dimenzí, ale já se mohu rozhodnout některé nepoužít. 36 / 44 Self Organizing Map

Analýza hlavních komponent (II) Pro výpočet nových souřadnic se používá konvariance, vlastní čísla a vlastní vektory. Tím vás nebudu trápit :). http://www.cs.otago.ac.nz/cosc453/student_ tutorials/principal_components.pdf 37 / 44 Self Organizing Map

Využití PCA v SOM Nyní můžu provést PCA projekci SOM sítě do 2D a zobrazit si ji. 38 / 44 Self Organizing Map

Využití PCA mimo SOM Samozřejmě využití PCA není nutně limitováno jen na použití v SOM, ale můžu ji použít například pro průzkumu dat. Stejně tak, některé metody vytěžování dat nemají rády příliš mnoho dimenzí a PCA jim můžete pomoci k lepším výsledkům. Nevýhodou je umělost nových os, která znesnadňuje interpretaci získaných výsledků. 0.125 petal_length + 0.578 petal_width + 0.934 sepal_length.0346 sepal_width 39 / 44 Self Organizing Map

Sammonova projekce Jinou možností je Sammonova projekce. Ta netransformuje osy, ale znovu umísťuje objekty v novém (méně dimenzionálním) prostoru. Při umisťování se snaží zachovat vztahy v datech (data, která byla blízko v původním prostoru, budou blízko i v novém prostoru). 40 / 44 Self Organizing Map

Sammonova projekce (2) Sammonova projekce se snaží minimalizovat následující funkci: 1 (dist E = (x i, x j ) dist(x i, x j )) 2 i<j dist (x i, x j ) dist (x i, x j ) i<j dist (x i, x j ) je vzdálenost x i a x j v původním prostoru. dist(x i, x j ) je vzdálenost x i a x j v novém prostoru (v projekci). Pro minimalizaci se používají standardní optimalizační metody pro tuto úlohu typicky iterační metody. Při minimalizaci se pohybuje body v novém prostoru (v projekci). Tím ovlivníte dist(x i, x j ) a můžete dosáhnout zmenšení E. 41 / 44 Self Organizing Map

Sammonova projekce - ukázka Ukázka několika iterací Sammonovy projekce na Iris datech. Počáteční stav 1. iterace 10. iterace 42 / 44 Self Organizing Map

Další vizualizace Příznakové grafy Vychází z U-Matice, ale místo vzdálenosti jednotlivých vektorů se do šestiúhelníčků kreslí hodnoty vybrané proměnné. 43 / 44 Self Organizing Map

Další čtení http://www.cis.hut.fi/somtoolbox/theory/ somalgorithm.shtml http://www.cis.hut.fi/research/som-research/ http://www.ai-junkie.com/ann/som/som1.html www.cs.bham.ac.uk/~jxb/nn/l16.pdf 44 / 44 Self Organizing Map

Vytěžování dat, cvičení 5: Shlukování Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 5 Shlukování

Zadání domácího úkolu 1. Doimplementujte K-Means algoritmus. Přiložená funkce v Matlabu implementuje část KMeans algoritmu (nalezení nejbližších reprezentantů (centroidů)). Vaším úkolem je doplnit přesun reprezentantů do středu nových shluků a určit, zda je možné ukončit algoritmus nebo má smysl pokračovat další iterací. 2. Centroidy (reprezentanty) inicializujte náhodně a při každém spuštění jinak. 3. Shlukněte přiložená data vaším KMeans algoritmem. Zkuste různé počty reprezentantů (2,3,...,10). Spočítejte průměrnou siluetu pro všechny počty shluků a určete pro který počet reprezentantů vyjde průměrná silueta nejlépe. Pro zajímavé počty reprezentantů zobrazte grafy siluet. 2 / 5 Shlukování

Zadání domácího úkolu (2) 1. Pro nejlepší počet reprezentantů, který vám vyšel v minulém bodě, (alespoň 5x) spusťte algorimus KMeans s různými náhodnými počátečními pozicemi reprezentantů. 2. Shlukněte data pomocí hierarchického shlukování. Vytvořte stejný počet shluků, který vám vyšel nejlépe v algoritmu KMeans. Do zprávy vložte dendrogram, graf siluety a průměrnou siluetu. Krátce okomentujte rozdíly mezi výsledky hierarchického shlukování a KMeans algoritmu. 3 / 5 Shlukování

Obsah zprávy 1. Vámi doplňený zdrojový kód.!!a jeho stručný popis!! 2. Průměrné hodnoty siluety pro počty reprezentantů: 2, 3, 4,..., 10. 3. Dále přiložte zajímavé grafy siluet. Volitelně, pokud vám přijde zajímavý, může zpráva také obsahovat 2D/3D bodový graf se zvýrazněnými shluky. 4. Hodnoty průměrných siluet a výsledných souřadnic reprezentantů pro různé náhodné počáteční pozice reprezentantů. Pro počet reprezentantů, který vám vyšel nejlepší, v minulém bodě. 5. Dendrogram, který vám vyšel z hierarchického shlukování. A průměrná silueta a graf siluety stejný pro počet shluků, jako vám vyšel nejlepší v algoritmu KMeans. 4 / 5 Shlukování

Užitečné funkce silhouette kmeans linkage pdist cluster cophenet scatter 5 / 5 Shlukování

Vytěžování dat 6: Self Organizing Map Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 15 Slef Organizing Map

SOM Toolbox V dnešním cvičení vám ukážeme SOM Toolbox. Před použitím jej musíte stáhnout a rozbalit. SOM Toolbox se nachází na http://www.cis.hut.fi/somtoolbox/. 2 / 15 Slef Organizing Map

SOM Toolbox (II) Až SOM Toolbox stáhnete, rozbalte jej do nějaké složky (ideálně tam, kde máte ostatní vaše zdrojové soubory). Doporučuji nechat soubory SOM Toolboxu v jednom podadresáři. Tento podadresář musíte přidat do cesty, kde Matlab hledá skripty. Pravým tlačítkem klikněte na adresář se SOM Tooleboxem a vyberte Add to Path Selected Folder and Subfolders. 3 / 15 Slef Organizing Map

SOM Toolbox demo Společně projdeme demo skripty, které ukazují všechny možnosti SOM Toolboxu. Pokud si někdy nebudete vědět rady, projděte si tato dema znovu a většinou v nich najdete, co potřebujete. Dema spoustíte příkazy som_demo1, som_demo2, som_demo3 a som_demo4. 4 / 15 Slef Organizing Map

Načtení dat Načtěte data pomocí load ionosphere. This radar data was collected by a system in Goose Bay, Labrador. This system consists of a phased array of 16 high-frequency antennas with a total transmitted power on the order of 6.4 kilowatts. The targets were free electrons in the ionosphere. Good radar returns are those showing evidence of some type of structure in the ionosphere. Bad returns are those that do not; their signals pass through the ionosphere. Normalizujte data pomocí data = som_normalize(x) 5 / 15 Slef Organizing Map

SOM příklad učení Vytvořte náhodně inicializovanou mapu pomocí som_randinit. Pokud potřebujete vytvořit prázndou mapu, použijte som_map_struct. map = som_randinit(x, 'msize', [10 8], 'lattice','hexa') Pro trénování použijte som_batchtrain(map, data) (druhá možnost je som_seqtrain). Variantou je použití funkce som_make, která vytvoří SOM síť, inicializuje ji a naučí ji. 6 / 15 Slef Organizing Map

PCA vizualizace dat Zobrazení dat pomocí PCA Výpočet PCA hodnot: tmp = pcaproj(data, 2) Zobrazení scatter(tmp(:,1), tmp(:,2)) Barevné rozlišení tříd: y = cell2mat(y) scatter(tmp(y == 'k',1), tmp(y == 'k',2), 'ok') hold on scatter(tmp(y == 'g',1), tmp(y == 'g',2), '+r') 7 / 15 Slef Organizing Map

SOM vizualizace Zobrazte U-Matici som_show. som_show(map, 'umat', 'all'). Jak zobrazit, který neuron je reprezentantem pro která data? Musíme použít som_show_add a k U-Matici přidat informace o počtu a typu dat. Nejprve je potřeba zjistit, který neuron je BMU pro které vstupní instance. K tomu slouží som_hits. h1 = som_hits(map, data(y == 'g', :)); h2 = som_hits(map, data(y == 'k', :)); som_show_add('hit', h1, 'MarkerColor', [1 0 0]); som_show_add('hit', h2, 'MarkerColor', [0 1 0]); 8 / 15 Slef Organizing Map

Zadání domácího úkolu Pomocí SOM vytvořte shluky dodaných dokumentů. Dokumenty obsahují zprávy z několika diskusních fór. Každé fórum má jeden adresář a každá zpráva v něm je jeden soubor. Ze stránek předmětu (cvičení) stáhněte tato data. Z dokumentů extrahujte důležitá slova a příznakové vektory pomocí rozšíření rapidmineru pro textmining. (bude náplní dalšího cvičení). Takto extrahovaná data uložte do CSV souboru. 9 / 15 Slef Organizing Map

Zadání domácího úkolu (2) Tento CSV soubor načtěte do MATLABu pomocí funkce dlmread (nebo podobné). Pomocí SOM Toolboxu shlukněte načtená data a pomocí různých vizualizací zobrazte výsledky shlukování. Pro počítání vzdáleností použijte Kosínovou metriku. Učiňte závěry, zda se dokumenty v jednotlivých fórech podobají nebo ne. 10 / 15 Slef Organizing Map

Nastavení textminingu Tokeny (slova) jsou odděleny znaky, která nejsou písmena. Doporučuji, abyste vyfiltrovali příliš krátká slova (řekněme kratší než 5 znaků) a často se vyskytující slova (stopwords) předložky, spojky,... Pro hledání kořenů slov použijte Porterův algoritmus. Volitelně můžete zkusit zkusit zkontruovat n-gramy (tokeny sestávající se z více slov) doporučuji maximálně 3 slova. Také doporučuji odstranit slova, která se vyskytují příliš řídce (příliš málo -krát). 11 / 15 Slef Organizing Map

Obsah zprávy Zpráva bude obsahovat: Popis proudu v Rapidmineru, kterým jste vyextrahovali příznaky z dokumentů a jeho screenshot (alespoň důležité části). Popis postupu, jakým jste vytvořili SOM síť a její vizualizace. Vytvořené vizualizace a jejich popis. Závěr o tom, zda se příspěvky v diskusních fórech podobají nebo ne. 12 / 15 Slef Organizing Map

Užitečné příkazy SOM Toolboxu som_demo1, som_demo2, som_demo3, som_demo4 som_randinit som_make som_quality som_show Kompletní dokumentaci všech funkcí naleznete na http://www.cis.hut.fi/projects/somtoolbox/ package/docs2/somtoolbox.html 13 / 15 Slef Organizing Map

Užitečné zdroje o Textminingu Pokud se chcete podívat, jak se textmining provádí v Rapidmineru, doporučuji následující sérii videí: http://www.youtube.com/watch?v=hpvda_rfg3s http://www.youtube.com/watch?v=ejd2m4r4mbm http://www.youtube.com/watch?v=vhmzui-fmy0 http://www.youtube.com/watch?v=toxzfyecxou http://www.youtube.com/watch?v=brvjwlwsscq http://www.youtube.com/watch?v=9i0bcmuhpe8 Video přednáška o Textminingu http://videolectures.net/ess07_grobelnik_twdmi/ 14 / 15 Slef Organizing Map

Užitečné zdroje o Textminingu (2) http://eprints.pascal-network.org/archive/ 00000017/01/Tutorial_Marko.pdf http://www.cs.sunysb.edu/~cse634/presentations/ TextMining.pdf 15 / 15 Slef Organizing Map

Vytěžování dat, cvičení 7: Textmining Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Textmining

Základní kroky pro text mining 1. Získání dokumentů a nahrání do Rapidmineru (či jiného SW) 2. Tokenizace (rozklad textu na jednotlivá slova) 3. Odfiltrování častých a nezajímavých slov 4. Převod slov na kořeny slov (stemming) Převod na jednotná čísla Převod různých časování/způsoby/vidy na infinitivy Převod mezi různými variantami slov (příslovce, přídavná jména podstatná jména). 5. Vytvoření word vectoru. (Převod slov na čísla). 6. Tvorba modelu. 2 / 24 Textmining

Instalace rozšíření pro Textmining Standardní instalace Rapidmineru neobsahuje rozšíření pro Textmining. Musíte nainstalovat rozšíření, ale naštěstí je to velmi jednoduché :). Z menu Help vyberte Update RapidMiner. Zde zaklikněte Text Processing a Web Mining. A klikněte na Install. 3 / 24 Textmining

Získání dokumentů a nahrání do Rapidmineru Existuje několik uzlů, pro nahrávání dat do RapidMineru. Pro naše účely, kdy máme dokumenty různých typů v různých složkách, nejlépe vyhovuje uzel Text Processing > Process Documents from Files. Jedná se o super-uzel, který bude obsahovat pod-proud transformující dokumenty na číselné vektory. 4 / 24 Textmining

Extrakce textů z HTML První krok je extrakce textů z HTML (resp. odstranění HTML tagů). Pro to budete potřebovat uzel Extract Content > HTML Processing > Extract Content. 5 / 24 Textmining

Tokenizace Rozklad na jednotlivá slova. Slova se rozdělují typicky podle ne písmenek. Takto získaná slova se označují jako termy. V Rapidmineru existuje uzel Tokenize, který najdete Text Processing > Tokenization > Tokenize. Možnosti rokladu na slova jsou: non-letters, specify-characters, regular expression, linguistic tokens, linguistic token. 6 / 24 Textmining

Tokenizace (2) Zkuste spustit proud nyní. Výsledkem bude word objekt, který si můžete prohlédnout. Uvidíte počty slov podle typů dokumentů. A také celkový počet slov. Každé slovo nakonec bude reprezentovat vstupní proměnnou. 7 / 24 Textmining

Filtrování častých a nezajímavých slov Protože vstupních proměnných bude i tak moc, je vhodné některé z nich eliminovat. První způsob je filtrování obvyklých a nezajímavých slov. V Rapidmineru se to děje uzlem Text Processing > Filtering > Filter Stopwords (English). Tím z dokumentu odstraníte termy (slova), která se v angličtině vyskytují příliš často. Například spojky, běžná slovesa, předložky, apod... Uzel v Rapidmineru obsahuje seznam předdefinovaných slov. 8 / 24 Textmining

Filtrování častých a nezajímavých slov (3) Stejně tak může (ale nemusí) být dobrý nápad vyfiltrovat slova, která jsou příliš dlouhá nebo příliš krátká. K tomu slouží Text Processing > Filtering > Filter Tokens (by Length). 9 / 24 Textmining

Převod slov na kořeny slov Stemming Exituje několik způsobů, jak najít kořen slova. Například hrubou silou tj tabulka mapující každé slovo a každý jeho tvar na odpovídající kořen. Jeden z dalších používaných algoritmů (pro Angličtinu) je tzv. Porterův algoritmus. Iterativně odebírá známé koncovky anglických slov. Má seznam přípon a ty se pokouší postupně odebrat (pokud to lze). Například HOPEFULNESS HOPEFUL HOPE. http://tartarus.org/martin/porterstemmer/def.txt 10 / 24 Textmining

Převod slov na kořeny slov Stemming (2) 11 / 24 Textmining

Kombinace slov - N-Grams Někdy se v dokumentech vyskytují zajímavé kombinace (po sobě jdoucích) slov. N-Gram je term, který obsahuje posloupnost term maximální délky N. Uzel Text Processing > Transformation > Generate n-grams (Terms) vygeneruje vsechny kombinace termů. 12 / 24 Textmining

Kombinace slov 13 / 24 Textmining

Vlastnosti uzlu Process Documents from Files Jednak umožňuje zahodit málo (nebo moc) často se vyskytující termy (slova a n-gramy). Jednotlivé možnosti vybíráte combo-boxem Prune method. Další důležitá věc je zaškrtnout Create word vector. A vybrat vhodnou metodu pro Vector creation. 14 / 24 Textmining

Vytvoření word vectoru Nyní máme slova (termy) a jejich počty v jednotlivých dokumentech. Před předložením shlukovací (či jakékoliv jiné) metodě je potřeba tyto počty nějak přetransformovat. V Rapidmineru jsou na výběr následující možnosti: Term Frequency normalizovaný počet výskytů termu počet výskytu termu ( celkový počet termů ) Term Occurences Binary Term Occurences TF-IDF 15 / 24 Textmining

Term Frequency - Inverse Document Frequency Míra ukazující, jak moc je term specifický pro daný dokument. Zahrnuje v sobě dvě části Term Frequency a Inverse Document Frequency. Term Frequency je definován takto: tf(t) = počet výskytu termu celkový počet termů 16 / 24 Textmining

Term Frequency - Inverse Document Frequency (2) Inverse Document Frequency ukazuje, jak často se vyskytuje term v ostatních dokumentech. idf(t) = log D Celkový počet dokumentů. D {d : t d} {d : t d} Počet dokumentů, ve kterých se term t vysktytuje. 17 / 24 Textmining

Term Frequency - Inverse Document Frequency (3) Term Frequency - Inverse Document Frequency nakonec získáme, když tyto dvě míry vynásobíme. td idf(t, d) = tf(t, d) idf(t) 18 / 24 Textmining

Export dat do CSV a import do MATLABu V RapidMineru bohužel nejsou žádné vhodné shlukovací metody. Čili použijeme Matlab a SOM toolbox. K exportu z RapidMineru lze použít uzel Export > Data > Write CSV Abychom se nemuseli trápit v Matlabu s načítáním ošklivých hodnot, můžeme využít uzlu Export > Data > Write CSV k odstranění sloupců, které obhashují nečíselná a pomocná data. V mém případě jde o sloupce: Description, Keywords, Language, Robots, Title, label, metadata_date, metadata_file, metadata_path. Pro import použijeme v MATLABu funkci importdata. 19 / 24 Textmining

Shlukování v SOM toolboxu Vytvoření a naučení SOM mapy: map = som_make(x.data); Zobrazení UMatice: som_show(map, 'umat','all') Jak to dopadlo? 20 / 24 Textmining

UMatice se zobrazenými třídami dokumentů 21 / 24 Textmining