Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informačních technologií

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

Download "Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informačních technologií"

Transkript

1 Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informačních technologií Aplikace strojového učení v oblasti e-komerce Diplomová práce Autor: Pavel Vraný Studijní obor: aplikovaná informatika Vedoucí práce: Ing. Filip Malý, Ph.D. Hradec Králové srpen 2013

2 Prohlášení: Prohlašuji, že jsem diplomovou práci zpracoval samostatně a s použitím uvedené literatury. V Hradci Králové dne Pavel Vraný

3 Poděkování Děkuji vedoucímu diplomové práce Ing. Filipovi Malému, Ph.D. za vstřícný přístup, věcné připomínky a čas, který mi věnoval.

4 Anotace Cílem diplomové práce je představit strojové učení jako účinný nástroj ke zvyšování efektivity v oblasti e-komerce a na praktických příkladech demonstrovat jeho nasazení. Nejdříve jsou popsány nezbytné teoretické základy strojového učení a některé často používané algoritmy. Další část práce je věnována aplikaci na vybrané problémové domény. Na závěr jsou provedeny ukázkové implementace některých z nich. Annotation Title: Application of machine learning methodsin e-commerce The aim of the diploma thesis is to introduce the machine learning as an effective tool to increase the efficiency in the field of e-commerce and describe its application on practical examples. The theoretical part focuses on the description of basic concepts and describes some commonly used algorithms. Another part is devoted to the application to the selected problem domains and the final part is deal with a sample implementations of some of thems.

5 Obsah 1 Úvod Cíl a metodika práce Popis použitých metod Učení s učitelem Lineární regrese Gradient descent...14 Klasifikace Naivní bayesovský model Rozhodovací stromy Logistická regrese Klasifikace podle nejbližších sousedů SVM...20 Učení bez učitele Shluková analýza Hierarchické shlukování Nehierarchické shlukování...24 Identifikace témat Učení posilováním Map Reduce Aplikace metod na konkrétní problémy Agregace zpráv Rozpoznávání jazyka Rozpoznávání obsahu Rozpoznávání emocí Rozpoznávání zájmu o produktové vlastnosti Extrahování informací Analýza grafických dat Předpověď chování návštěvníka webu...37 Popis implementace Nástroje...39

6 5.1.1 Apache Mahout Weka Java-ML Mallet BoofCV Apache Commons Math Demonstrační aplikace Agregátor zpráv Hledání vizuálně podobných produktů Klasifikace zákazníků pomocí Naive Bayes Shrnutí výsledků Závěry a doporučení Seznam použité literatury Seznam obrázků a tabulek Přílohy...60

7 1 Úvod Pro začátek je vhodné uvést, co se skrývá pod pojmem strojové učení. Nápomocny k tomu budou následující dva citáty: Strojové učení je obor, který dává počítačům schopnost učit se, aniž by byly explicitně naprogramovány. [Arthur Samuel 1959][1] Strojové učení je programování počítačů pro optimalizaci výkonnostního kritéria za využití vzorku historických dat. [2] Strojové učení tvoří samostatný obor umělé inteligence, který dokáže odvodit nové informace z analyzovaných vstupních dat. Namísto vytváření počítačového programu s konkrétním postupem odvozování je tento nahrazen aplikací univerzálních metod strojového učení. Při aplikacích strojového učení je běžné, že implementátor nezná exaktní algoritmus převodu vstupních dat na požadovaný výstup a přesto mu tento fakt nebrání pro takový případ vytvořit fungující model. Nakonec jsou případy, kdy exaktní algoritmus ani neexistuje. O sledované veličině je pouze známo, že nenabývá zcela náhodných hodnot. Výsledný model pak pouze aproximuje výstupní hodnoty a jeho kvalita je posuzována rozdíly mezi aproximací a skutečností. Tyto vlastnosti umožňují aplikace strojového učení pro řešení různorodých problémů. Podle [3] je vhodné použít strojové učení v případech, kdy: 1. je třeba analyzovat více dat, než zvládne člověk 2. je možné definovat a změřit cíl 3. v dané oblasti existuje velká konkurence Nasbírat množství dat není v prostředí Internetu nic složitého, jen logování aktivit návštěvníků generuje objemy, jež není možné smysluplně analyzovat bez pomoci počítačů. Stejné prostředí současně umožňuje relativně snadno získat externí data k analýze bez nutnosti je všechna speciálně pro tento účel zaznamenávat vlastními prostředky. Daty vhodnými k analýze disponují firmy i v rámci svých počítačových systémů. Je zřejmé, že čím větší část firemních procesů probíhá elektronicky, tím větší množství dat vhodných pro počítačové zpracování má firma k dispozici. Podnikání, ve kterém jsou stěžejní procesy realizovány elektronicky zejména pomocí internetu, se označuje pojmem elektronické podnikání (e-business). Jsou-li těmito procesy řešeny obchodní vztahy, používá se pojem 1

8 e-komerce[4]1. Protože společnosti pohybující se v těchto oblastech mívají k dispozici záznam jakékoliv komunikace se svými potenciálními či skutečnými zákazníky v elektronické formě, mají tím rovněž data použitelná pro další zpracování a analýzu bez dodatečných nákladů na jejich pořízení. Tato data lze pak vyhodnocovat například za účelem odhadu budoucího chování zákazníka a posouzení jeho hodnoty pro dosažení firemních cílů. Definice cílů je nezbytná pro samotný proces učení. Pokud nebude znám cíl snahy, nelze ani stanovit, jaká data jakým způsobem má učící algoritmus zpracovávat. Cílem může být prakticky cokoliv, ale obvykle souvisí se zlepšením ekonomických ukazatelů (chci více objednávek!), předvídání nějaké události (kdy bude třeba objednat nové zásoby?) nebo zlepšení nabídky služeb (čeho zákazník vyznačující se tímto chováním chce pravděpodobně dosáhnout?). Konečně závěrečný bod představuje racionální pohled business sféry, kde konkurenční prostředí je motivací pro získání konkurenční výhody. Společnosti využívající strojové učení mají spíše předpoklady objevit skryté souvislosti v historických datech, automatizovat své firemní procesy nebo lépe cílit své nabídky a zvýšit úspěšnosti prodeje. 1 Současně je třeba podotknout, že vymezení těchto pojmů nevychází z žádného standardu a jsou běžně vzájemně zaměňovány či oblasti jejich působnosti zpřesňovány jinými pojmy nebo vykládány odlišně (např. e-komerce úzce jen pro B2C v [4] nebo mnohem širší definice a to nejen hierarchicky v [5]). Protože pro popis metod není striktní vymezení oblasti důležité a ty naopak nachází své uplatnění napříč celým elektronickým podnikáním, bude dále upřednostněn volnější výklad termínu e-komerce. 2

9 2 Cíl a metodika práce Cílem práce je představit strojové učení a nastínit jeho potenciál pro oblast e-komerce za pomoci popisu scénářů jeho nasazení. Pro tento účel bude nejdříve vysvětleno, co se pod pojmem strojové učení skrývá a kde se s ním lze běžně setkat. Dále budou vymezeny některé teoretické pojmy, které se v dalších kapitolách při výkladu použijí. Vždy při zavedení nového pojmu ho doplní i jeho anglický přepis pro snazší dohledání podrobnějších informací v cizojazyčné literatuře. Následovat bude popis vybraných metod a algoritmů v takové podobě, aby čtenář získal přehled o teoretických základech a při aplikaci strojového učení na jím řešené problémy věděl jak postupovat. Protože různých algoritmů se dnes používá řádově desítky, popsány budou jen ty nejznámější a jen v míře dostatečné pro intuitivní pochopení problematiky. Po seznámení s nezbytnou teorií přijdou na řadu scénáře popisující možné aplikace strojového učení ve vybrané oblasti e-komerce. Scénáře nemají za úkol pokrýt všechna možná potenciální využití. Jejich smyslem bude inspirovat k hledání dalších způsobů, jak zužitkovat nabyté znalosti. Některé scénáře budou dotaženy do podoby demonstrační aplikace s představením použitých nástrojů a návodným popisem, jak při takové implementaci postupovat. 3

10 3 Popis použitých metod Problémy řešitelné aplikací strojového učení se vyskytují prakticky ve všech oblastech lidské činnosti. Formalizací popisu problémů se obvykle dá dojít k nějakému obecnému prototypu řešení, a tím předejít znovuobjevování kola při každé aplikaci.[6] Příklady takového zobecnění jsou klasifikace nebo regrese. V této práci bude obecný prototyp nazýván typovou úlohou. Aplikace strojového učení na velké databáze za účelem objevení skrytých vlastností je jednou z metod oblasti nazývané dolování dat.[7] Jejím úkolem je z velkého množství vstupních dat získat informace v pro člověka pochopitelné formě často s využitím statistických metod. Důležitou vlastností strojového učení je schopnost odvodit i zcela nové informace a vztahy, které by při použití explicitně definovaného algoritmu zůstaly skryty, protože nebyly při jeho tvorbě zvažovány. Strojové učení není pouze metodou pro zpracování dat, ale je i součástí umělé inteligence. Inteligentní systémy se schopností učit se a přizpůsobovat se změnám prostředí, se kterými autor původně nepočítal, nepotřebují obsahovat scénáře na všechny možné situace, jež mohou při jejich činnosti nastat. Díky tomu zvládají nejen zpracovávat data a zprostředkovávat informace, ale v omezené míře i získávat znalosti a zkušenosti2. Nejde však o schopnosti srovnatelné s lidskými, protože tyto znalosti nejsou dostatečně abstraktní a nejsou převoditelné na odlišné situace. Významným okruhem nasazení strojového učení je i rozpoznávání vzorů (pattern recognition). Oblíbeným příkladem používaným autory literatury zabývající se strojovým učením jsou obrazová data, na kterých se strojově rozpoznávají konkrétní objekty na fotografiích (např. obličeje, auta atd.), párují odlišné záběry na stejný objekt nebo vyhledávají vzhledově podobné snímky. Některé známé aplikace strojového učení jsou uvedeny v Tabulka 1. Protože strojové učení lze aplikovat na široké spektrum problémů, při výběru vhodné metody je prvotním úkolem z popisu zadání určit typovou úlohu, na níž lze problém převést. Teprve poté přichází na řadu výběr vhodného algoritmu pro tvorbu modelu, který bude použit pro splnění úkolu. 2 Data slouží k popisování reality, informace přidávají datům význam a strukturu a informují o změnách v datech. Znalosti vedou k vykonání nějaké cílevědomé činnosti na základě dostupných informací.[4] 4

11 Aplikace Ranking příklad Tvorba index webových stránek pro vyhledávací služby. (Google) Collaborative filtering Nabídka položek, které by mohly uživatele zajímat, protože o ně projevil zájem jiný uživatel s podobným profilem. (Amazon, Netflix) Automatic translation Automatický překlad mezi různými jazyky. (Google Translate API) Classification problem Rozhodnutí, zda je nebo není spam. (Google Mail, Spam Assasin) Named entity recognition Extrakce metadat z dokumentu, například adresy z u. (Apple Mail) Speech recognition Přepis mluveného slova do písemné podoby. (YouTube) Similiarity learning Automatické seskupení zpráv z různých webových magazínů podle společného tématu. (Google News) Data mining Objevování skrytých vztahů z provozních systémů podniku (aplikace pro ETL). Pattern recognition Rozpoznání obličeje na fotografii. (Facebook) Tabulka 1: Příklady aplikací strojového učení (částečně podle [6]) Model je definován algoritmem a jeho parametry, jejichž hodnoty jsou při procesu učení optimalizovány. Pro každý typ úloh jsou k dispozici odlišné učící algoritmy lišící se výpočetní náročností, rychlostí zpracování dat, rychlostí a přesností vzniklého modelu. Dobře vytvořený model sestavený za účelem predikce nebo klasifikace by aplikací na nová data měl poskytovat obdobně přesné výsledky jako nad učícími historickými daty. Alternativně může být model vytvořen pro získávání znalostí z historických dat. Ilustrace 1: Aplikace strojového učení 5

12 Typové úlohy se obvykle rozdělují podle toho, zda jsou pro historická data k dispozici jejich správná ohodnocení, případně podle schopnosti plánovat akce a posuzovat jejich dopady na prostředí a pravděpodobnost dosažení stanoveného cíle na: učení s učitelem (supervised learning) regrese (regression) klasifikace (classification) hledání podobností (similarity learning) učení bez učitele (unsupervised learning) shluková analýza (clustering) učení posilováním (reinforcement learning) Často bývá problematická doména chápána jako samostatná oblast nasazení strojového učení a ve vývojových nástrojích pro ni existuje specifická podpora. I v těchto případech je ale každá oblast nasazení řešena za pomoci formulace jednoho či více typových úloh, přičemž v rámci typové úlohy mohou být použity odlišné učící algoritmy. Některé takové oblasti nasazení uvádí Tabulka 2. Tyto příklady vyplynou při tvorbě systému doporučení nabízejícího zákazníkovi seznam produktů, které jsou pro něj potenciálně zajímavé (recommendation systems). Vhodné produkty mohou být identifikovány podle podobnosti s těmi prohlíženými v minulosti (content-based filtering). Nebo mohou vycházet z profilu zákazníka a pro výběr vhodných nabídek využít podobnost s jiným profilem a předpokladu, že se těmto zákazníkům líbí obdobné věci (collaborative filtering). I takto jednoduše formulované zadání se tedy dotýká hned dvou oblastí nasazení strojového učení. Navíc se přibližuje oblasti třetí, kde by se seznam doporučení tvořil na základě historie nákupů (market basket analysis) a vycházelo z předpokladu, že když zákazníci v minulosti nakupovali tytéž položky v kombinaci s jinými, ten současný bude pravděpodobněji ochoten obdobné kombinace nakoupit také (cross selling). Analýzy poté nemusí sloužit k pouhému doporučení produktů ale i vytváření prodejních setů obsahujících často kombinované produkty za zvýhodněných podmínek nebo inteligentnímu aranžování produktů v marketingových materiálech. Všechny vyjmenované oblasti nasazení lze vnímat jako specifickou doménu. Přestože jde o typové úlohy hledání podobností a seskupování, existují specializované nástroje usnadňující na ně aplikaci strojového učení. 6

13 Oblast Příklad Content-based learning Zákazník si po sobě prohlédl tři červené míče: má smysl mu nabídnout zrychlenou volbu na další vzhledově či jinými parametry podobné produkty. Collaborative filtering Zákazník ohodnotil několik produktů. Pokud v databázi existuje jiný zákazník, se kterým se v hodnocení silně shoduje, mají pravděpodobně stejný vkus. Má smysl jim tedy křížově nabízet to, co se druhému líbilo. Market basket analysis Zákazník vhodil do košíku jím vybrané produkty. Z historických (frequent item set mining) objednávek vyplývá, že tyto produkty jsou velmi často kombinovány s jiným. Proto má smysl tento zákazníkovi dodatečně nabídnout. Tabulka 2: Příklady oblastí strojového učení dotýkající se problematiky doporučení zákazníkovi Pokud je identifikována typová úloha pro řešení zadaného problému, přichází na řadu výběr učícího algoritmu pro model z těch, které jsou pro ni dostupné. Obecně lze prohlásit, že pro žádnou neexistuje univerzálně nejlepší učící algoritmus použitelný pro jakýkoliv problém. Vždy je nutné z dostupných algoritmů vybírat s ohledem na konkrétní data, která mají být zpracovávána. Na druhou stranu i nevhodně zvolený algoritmus bude při správné aplikaci vracet použitelné výsledky, jen mohou nastat výkonnostní problémy nebo se špatná volba projeví na menší přesnosti modelu. Některé algoritmy umožňují stanovit parametry modelu analyticky pomocí přímých výpočtů a ne jen nepřímými metodami, kterými jsou parametry aproximovány pomocí iterativních výpočtů. Analytický způsob je vhodný pouze pro malé objemy dat a vyžaduje je mít všechna k dispozici před zahájením výpočtu, současně je více náchylný vůči nepřesnostem vzniklým zaokrouhlováním. V aproximačních úlohách se pro získání vektoru parametrů často používá metoda nejmenších čtverců3, přičemž pro strojové zpracování je upřednostňován postup založený na inverzní matici získané pomocí determinantu matice dat. Protože s počtem záznamů roste pravděpodobnost, že data budou tvořit singulární matici4, roste tím také pravděpodobnost, že nebude možné tento postup aplikovat. Ze všech těchto důvodů se v procesu učení více uplatňují iterativní metody.[8] 3 Aproximace parametrů při interpolaci polynomem θ=( X T X) 1 X T y 4 Pokud jsou některé vektory tvořící matici lineárně závislé, její determinant je nulový (singulární matice) a nelze tedy s jeho pomocí získat inverzní matici. 7

14 Typová úloha Atributy X Výstup Y Predikce Korelace Doporučená technika Numerické Numerické Stabilní/lineární Lineární regrese Kategorie Lineární regrese, Numerické neuronové sítě Numerické Numerické Nestabilní/silně nelineární Neuronové sítě Klasifikace Numerické Kategorie Stabilní/lineární Numerické Kategorie Nestabilní/silně nelineární SVM Kategorie Kategorie Logistická regrese SVM, Naive Bayes, jiné pravděpodobnostní grafické modely Tabulka 3: Příklady doporučených algoritmů podle typu úloh a parametrů[9] Data mají obvykle formát tabulky, skupiny položek nebo časových řad[10]. Atributy definující jednotlivé dokumenty mohou být typu[7]5: Numerické spojité Numerické diskrétní Kategorie (setříděné nebo nesetříděné) Dokumenty jsou pro zpracování převedeny do podoby vektoru, kdy dimenze vektoru odpovídá počtu atributů, které tvoří popis zjistitelných vlastností dokumentu. Při výběru atributů zahrnutých do popisu dokumentu proti sobě stojí snaha o co nejkompletnější popis na jedné straně a výpočetní nároky při použití velkého množství atributů na straně druhé. S jejich počtem rostou nároky na zpracování zejména procesu optimalizace modelu. Proto existují metody, jak z identifikovatelných atributů vybrat pouze ty, jež jsou při dalším zpracování přínosné (features selection). Zpracování dat může být provedeno v několika režimech[7]: dávkově: všechny prvky jsou použity najednou pro vypočtení parametrů hypotézy h iteračně: všechny prvky jsou použity pro iterativní optimalizaci parametrů hypotézy h inkrementálně: prvky jsou zpracovávány po jednom a každé zpracování ovlivňuje parametry hypotézy h 5 Datový typ Boolean může být podle potřeby reprezentován buď jako diskrétní hodnota nebo kategorie. 8

15 3.1 Učení s učitelem Učení s učitelem zahrnuje případy, kdy pro historická data jsou známy správné odpovědi, podle kterých se použitý algoritmus může učit. Správné odpovědi mohou být přiřazeny lidským expertem z daného oboru nebo pocházet ze zaznamenaných událostí, jež jsou s konkrétními daty spjaty. Například informací o provedení objednávky. Postup iterativního učení s učitelem se skládá z kroků: 1. získání historických dat a jejich případná transformace na vektory atributů (input vectors)6 2. rozdělení dat na trénovací (training set) a kontrolní množinu (validation set) 3. stanovení obecné hypotézy hθ (podle typu úlohy nazývá function estimator nebo classifier) nad vstupními atributy x (threshold) 4. fáze učení: optimalizace parametrů θi (weights) hypotézy nad testovacími daty a měřením přesnosti na kontrolní skupině (cross validation). 5. ověření přesnosti optimalizované hypotézy nad testovacími daty (test set) Z datového zdroje je vhodné načítat selektivně jen to, co má pro další zpracování svůj význam. Pokud nemají být zpracovány všechny záznamy v datech, výběr vzorků (sampling) musí být proveden tak, aby zachoval vlastnosti celé populace. Načtená data je poté vhodné transformovat. V závislosti na konkrétním případě mohou být například odstraněny neúplné záznamy, kde chybí hodnoty důležité pro následné zpracování. Údaje je často vhodné převést na čísla stejného řádu a stejné měřítko. Identifikované textové atributy je obvykle nutné převést na diskrétní číselné hodnoty. Například je-li atributem textové vyjádření s výčtem možností { žádné, malé, velké }, převedou se hodnoty atributu na prvky množiny {0,1,2}. Někdy se ukáže jako vhodné vytvořit nový atribut z kombinací více existujících a v následném procesu učení pracovat s ním. Příkladem může být převedení rozměrů balení expedovaného zboží na jeho objem nebo kategorizaci převzatou od přepravní služby. Data, která jsou k dispozici pro proces učení, se rozdělí do více částí. První vzorek (training set) slouží pro samotný proces učení, druhý (validation set) pak pro zjištění úspěšnosti testované hypotézy s učením získanými parametry. A nakonec pro ověření 6 Pro označení těchto vektorů se v anglické literatuře používají různé pojmy (input vector, pattern vector, feature vector, sample, example) a pro označení atributů představujících vlastnosti je situace obdobná (features, attributes, input variables, components).[7] 9

16 přesnosti získaného modelu se vyčleňuje ještě třetí od procesu učení zcela nezávislý vzorek dat (test set). Důležité je, aby rozdělení dat mezi vzorky bylo zcela náhodné. Pro měření přesnosti může být jako měřítko použita směrodatná odchylka (mean square error) nebo prostý počet chyb.[7] Při tvorbě modelu je třeba se vypořádat s potřebou určité generalizace a ohlídat riziko přeučení (overfitting). K němu dochází v případech, kdy se díky komplexnímu modelu (například kvůli polynomu vysokého řádu u funkce hypotézy nebo příliš atributy zahrnutými do modelu) nalezne řešení příliš přizpůsobené testovacímu vzorku a na jiných datech selhávající. Pro nalezení obecnějšího popisu dat je obvykle určitá míra chybovosti (bias) v testované hypotéze nezbytná[7] a vždy je vhodnější použít jednodušší model s ještě uspokojivými výsledky než komplikovaný model přespříliš přizpůsobený učícím datům. Nakonec i učící data nemusí být bezchybná a mohou obsahovat takzvaný šum (noise). Posoudit smysluplnost zobecnění (inductive bias) je jeden z hlavních úkolů tvůrce modelu. K přeučení může rovněž docházet při nepoměru složitosti modelu a množství učících dat. Pokud model nelze z odůvodnitelných důvodů zjednodušit, je třeba navýšit množství dat pro zreálnění výsledků. Pomoci může i takzvaná regularizace, která do procesu učení zanáší penalizaci za komplexnost modelu. Regularizace rovněž pomáhá řešit problém korelace vstupních atributů.[2] Opačný problém představuje podučení (underfitting), kdy je zvolený model příliš jednoduchý a nepřesnost aproximace měřená odchylkami od správných hodnot příliš vysoká. V těchto případech může být řešením zahrnout do modelu více atributů představujících nezávislé proměnné nebo hypotézu formulovat pomocí polynomu vyššího řádu. Př: Model hθ (x )=θ0 +θ 1 x 1 trpí podučením, proto 1. přidá se další atribut hθ (x )=θ0 +θ 1 x 1+ θ2 x 2 2. použije polynom vyššího řádu 3. nebo kombinace obojího hθ (x )=θ0 +θ 1 x 1+ θ2 x 21 hθ (x )=θ0 +θ 1 x 1+ θ2 x 22 Na konci procesu je model v podobě hypotézy h převádějící vstupní data na predikci (mapuje x na y ). Typickými úlohami strojového učení s učitelem jsou předpovědi spojité hodnoty nebo třídy. Protože jednotlivé modely sami o sobě nemusí dosahovat požadované přesnosti, někdy se používají techniky pro seskupení více modelů v jeden silnější (ensemble learning). Tento krok vychází z úvahy, že každý jeden samostatný model má své slabiny, které lze eliminovat 10

17 kombinací výsledků s modely jinými. Konečným výsledkem by pak měla být nižší průměrná chybovost. Jednotlivé techniky se liší způsobem kombinace dílčích výsledků, přičemž některé zvyšují problém přeučení a jiné ho naopak eliminují. Příkladem technik pro seskupení modelů jsou boosting, bagging, stacking atd.[11] Boosting kombinuje modely pomocí váženého průměru, čímž dosahuje menší chyby, ale také je náchylnější k přeučení. Váha jednotlivých modelů je pevně určena autorem modelu (například empiricky). Technika stacking rovněž kombinuje modely a přikládá jim odlišnou váhu, ale její rozložení je navíc samo předmětem procesu strojového učení. [11] Další z často používaných technik je bagging7. Tou je obcházen potenciální problém, kdy malá změna v datech dokáže výrazně ovlivnit závěry nedokonalých modelů. Jednotlivé dílčí modely se mohou vzájemně lišit v použitém algoritmu, ale především se učí nad různými vzorky dat generovanými náhodným výběrem s navracením ze všech učících dat. Dílčí metody pak o výsledku hlasují rovným hlasem. Takto zprůměrované výsledky pak dávají mnohem stabilnější výstup s menší standardní odchylkou než výsledky získané kterýmkoliv jedním z nich. Technika bagging tak patří mezi ty, jež pomáhají řešit problém přeučení. Na Ilustrace 2 je vyobrazen princip, na kterém technika bagging pracuje. Šedivé křivky představují dílčí modely, červený potom výsledný. Dílčí modely mohou být silně ovlivněny extrémními hodnotami, ale při hlasování jsou jejich závěry korigovány většinou hlasů. Ilustrace 2: Ukázka stabilizace výsledků technikou Bagging[12] 7 Někdy též nazývána jako bootstrap aggregation 11

18 3.1.1 Lineární regrese Regresní analýza se zabývá odhadem spojité hodnoty. Pokud jsou data analyzována na základě časové dimenze, jde o oblast nasazení označovanou pojmem předpovídání (forecasting). Někdy se také používá pro její pojmenování pojem analýza časových řad.[4] Existující pozorování zahrnují vzorky představované dvojicí (x,f(x)), kde x je vstupní hodnota a f(x) je výstup získaný aplikací nějaké funkce na vstupní hodnotu. Protože funkce f je neznámá, úkolem učení je najít funkci h, která ji aproximuje. Této aproximační funkci pak říkáme hypotéza.[13] Ilustrace 3: Model regresní analýzy[14] Při regresní analýze jsou k dispozici historická data (learning set) ve formě hodnot atributů a k nim vztažené výstupní hodnoty. Hodnoty atributů mohou mít na vstupu různou podobu, pro další zpracování ale musí být převedeny na čísla. Pomocí zvolených atributů se sestaví hypotéza, což je aproximační funkce vyjádřená lineární kombinací vektorů. Pokud je pro hypotézu použit polynom vyššího řádu, opět musí být rozepsaný na lineární kombinaci vektorů. Při výběru atributů a hypotézy je vhodné usilovat o co nejjednodušší vyjádření, které ještě splňuje požadavky kladené na přesnost aproximace (tzv. Occamova břitva). Větší množství atributů nevede automaticky k lepším výsledkům, současně má negativní vliv na výpočetní náročnost procesu učení. Zvyšuje také riziko přeučení (overfitting), kdy hypotéza příliš věrně popisuje trénovací data[14]. Například u dat vyjadřujících přímou úměrnost zatíženou šumem s rozptylem podle normálního rozdělení není vhodné použít polynom vyššího řádu, ale upřednostnit prostou lineární funkci. Přestože polynom by mohl na testovacích datech dosahovat vyšší přesnosti aproximace. Naopak nedostatečné množství atributů má za následek větší nepřesnosti v predikci. Při stanovení optimálního počtu je vhodné eliminovat vzájemné závislosti mezi atributy[15]. 12

19 Zvolené atributy představují nezávislé proměnné a v matematickém vyjádření funkce hypotézy jsou obvykle značeny jako X. Naměřené nebo předpovídané hodnoty jsou potom závislé proměnné značené Y. Nejjednodušší formu zápisu hypotézy představuje funkce přímky hθ (x )=θ0 +θ 1 x, tedy funkce pracující s jediným rozměrem představovaným atributem X. Při více atributech a pouze jedné vysvětlované hodnotě má hypotéza lineární regrese podobu hθ (x )=θ0 +θ 1 x 1+ θ2 x Pro sestavení je znám vektor atributů x. Atributy je nutné převést na podobný rozsah (feature scaling), tedy zabránit aby například jeden byl v řádu desetitisíců a jiný jen v řádu jednotek. Převedení se provede prostým vydělením (případně vynásobením) skutečných hodnot atributu, přičemž jako dělitele lze použít maximální hodnotu, které atribut nabývá. Operace se provede identicky nad stejným atributem u všech dat. Z výkonnostních důvodů je vhodné před touto operací provést ještě normalizaci hodnot (mean normalization) spočívající v odečtení průměrné hodnoty atributu od jeho skutečné hodnoty. Tím je zajištěno rozptýlení pracovních hodnot atributu kolem čísla nula. Vhodný výsledný rozsah závisí vždy na konkrétních datech, ale typicky jím může být například interval < 1, 1>.[14] Řešeným problémem je nalézt takové hodnoty θ, aby model představovaný hypotézou dával při predikci co nejlepší výsledky. Přesnost je odvozena od zvolené metriky, kterou je obvykle metoda nejmenších čtverců počítající rozdíly mezi predikovanými a skutečnými hodnotami. Optimální hodnoty lze vypočítat řešením rovnice: θ=( X T X) 1 X T y. Asymptotická složitost takového výpočtu je ovšem O(n3 ) a je tedy při velkém objemu dat nepoužitelný[14]. Proto se pro optimalizaci hodnot atributů θ používají spíše iterativní metody, například algoritmus Gradient Descent nebo Newtonova metoda. Gradient Descent Newtonova metoda Směřuje vždy tam, kde je největší změna. Směřuje vždy přímo k minimu. Používá první derivace kvadrátu odchylek. Používá první i druhé derivace kvadrátu odchylek => výpočetně náročnější. Výkonná, pokud je počáteční bod vzdálen Výkonná, pokud je počáteční bod blízko od hledaného minima. minimu. Tabulka 4: Srovnání iterativních metod[8] 13

20 Gradient descent8 V každém kroku se hledají takové hodnoty, které vedou k největšímu zlepšení predikce. Slabinou algoritmu je nalezení takzvaného lokálního minima. Tedy hodnot, které sice dávají lepší výsledky než nejbližší alternativy, ale bez záruky, že někde jinde neexistuje lepší řešení. Použití algoritmu rovněž stěžuje nutnost zvolit velikost kroku α, který představuje rychlost učení (learning rate). Při malé α je algoritmus pomalý a k nalezení minima potřebuje provést více iterací. Naopak při velké hodnotě α hrozí riziko přestřelení, kdy algoritmus nemusí konvergovat k minimu. Velikostí kroku α se pak opakovaně pro každý atribut násobí jeho parciální derivace hodnotící funkce J (cost function) a o výsledek mění testovaná hodnota atributu. Iterace se provádí pro každý atribut do té doby, dokud výsledky hodnotící funkce J konvergují k minimu. Dosažení lokálního minima se pozná tak, že parciální derivace funkce J podle všech atributů se rovnají nule. Hodnotící funkce J pro množinu dat s prvky 1 až m a atributy θ0 až θn má podobu: m J (θ0, θ1,..., θn )= 1 (hθ ( x (i) ) y (i))2 2m i=1 Hodnotící funkce vyjadřuje sumu kvadrátu všech odchylek (residuals, fitting errors) v predikci hypotézou h0 od správných hodnot. Pro zjednodušení práce s čísly menších řádů se v tomto případě vše ještě zprůměruje a vydělí dvěma. Protože cílem je minimalizace hodnot, je algoritmem gradient descent opakovaně prováděna operace: opakovat dokud konverguje { simultánně pro j od 0 do n { θ j :=θ j α J (θ0, θ1,..., θn ) θj } } Algoritmus konverguje, dokud se zmenšuje odchylka vypočtená pomocí hodnotící funkce J(θ). Simultánností se rozumí, že v rámci jedné iterace jsou v hodnotící funkci J zachovány hodnoty z předchozí iterace neovlivněné právě počítanými změnami: změna θ0 pak ve stejné iteraci neovlivní výpočet hodnoty θ1. Hodnotící funkce může navíc zahrnovat regularizační parametr, který má za cíl vyhladit její průběh a zabránit tak přeučení. Jednou z možných podob podle [14] je: 8 Kapitola zpracována podle [14] 14

21 m J (θ0, θ1,..., θn )= n 1 (h ( x (i) ) y (i))2 + λ θ 2j 2m i=1 θ j=1 Velikost regularizačního parametru λ ovlivňuje míru vyhlazení a při velké hodnotě může vést až k opačnému problému, tedy podučení. V algoritmu gradient descent se regularizační parametr nepřidává při výpočtu parametru θ0, ale až pro další hodnoty Klasifikace Při klasifikaci jsou k dispozici učící ohodnocená data. Cílem učení je najít pravidlo, podle kterého jsou prvky rozřazeny. Výstupem procesu je vždy nějaká diskrétní hodnota. Může to být 1 nebo 0 ve významu ANO a NE, stejně tak to mohou být hodnoty z libovolné diskrétní množiny (např. { červená, modrá, bílá }). Podmnožinou klasifikace je pravděpodobnostní klasifikace, kdy na výstupu není definitivní přiřazení jedné třídě, ale jsou udány pravděpodobnosti pro všechny třídy. Proces klasifikace má dvě fáze: 1. fázi učení nad vzorkem, který má přiřazeny správné třídy a vytvoření modelu 2. klasifikace vstupních dat modelem Klasifikační test může vycházet z jediné hypotézy postavené nad pozitivními příklady, která vše ostatní považuje za příklady negativní. V některých případech mají obě skupiny svou rozpoznatelnou strukturu a je potom žádoucí formulovat pro negativní příklady vlastní hypotézu. Výhodou takového přístupu je, že pokud klasifikovaný prvek nevyhovuje ani jedné třídě, může být pro obě zamítnut.[2] Existuje více typů klasifikace: unární klasifikace (one-class classification) binární klasifikace (binary classification) klasifikace do více oddělených tříd (multi-class classification) štítkování (multi-label classification) Při binární klasifikaci se klasifikátor rozhoduje mezi dvěma třídami. Učící data jsou ohodnocením rozdělena na pozitivní a negativní příklady. Unární klasifikace se od binární odlišuje tím, že učící data zahrnují pouze data jedné třídy. Klasifikátor má za úkol v nových datech pouze rozhodnout, zda jsou nebo nejsou dané třídy. Rozhodnutí o náležitosti k třídě je pak redukováno na test, zda vstupní hodnoty dávají na výstup modelu jedničku nebo nulu. Taková klasifikace nachází své využití například v oblasti detekci anomálií. 15

22 Při složitější klasifikaci mezi více tříd jsou učící data hodnocením rozdělena mezi všechny tyto třídy. Rozlišují se dva případy: zda jde o rozdělení dat mezi nezávislé třídy nebo štítkování. V prvním případě je každý prvek označen právě jednou třídou, ve druhém jich může mít více. Při trénování rozřazení prvků do nezávislých množin se používají různé strategie: nejdříve získat binární klasifikátory a následně zkombinovat jejich výsledky klasifikaci provést najednou na základě aposteriorní9 pravděpodobnosti Pro kombinaci binárních klasifikátorů je jednou z nejjednodušších metod metoda One-vs-All[16]. Pro každou třídu se při ní učí samostatný binární klasifikátor tak, že prvky všech ostatních tříd se považují za druhou spojenou třídu. Při rozhodování o třídě nového prvku se potom zvolí ta, jejíž klasifikátor udává největší pravděpodobnost. Scénář Klasifikace Je příchozí spam? Úloha binární Je konkrétní komentář u produktu pozitivní, negativní více tříd analýza sentimentu nebo neutrální? Vytipovat podezřelou objednávku. unární detekce anomálií Tabulka 5: Příklady klasifikačních úloh V Tabulka 5 se pro některé scénáře vyskytují ještě upřesňující názvy úlohy, jakými jsou například analýza sentimentu nebo detekce anomálií. Ty tvoří v rámci klasifikační metody specifické úlohy. Analýzu sentimentu lze řešit běžnými klasifikačními algoritmy (naivní bayesovský klasifikátor atd.), ale protože předmětem analýzy jsou písemně vyjádřené lidské pocity, výsledky analýzy jsou obtížně uchopitelné. Sentiment a především způsob jeho vyjádření i vnímání je silně subjektivní pro každého lidského jedince. Při hodnocení nepanuje jednoznačná shoda ani pokud ho provádí skupina lidí[17], natož má-li se jednat o vyhodnocení strojové. Speciálně při analýze sentimentu se jako větší problémy jeví mnohovýznamnost větných spojení, neznalost kontextu nebo problém vztažení vyjádřeného sentimentu ke správnému předmětu. Některé metody založené čistě na slovníku negativních a pozitivních slov nebo slovních spojení dávají jednotné hodnocení celému textu, ačkoliv v něm může 9 Apriorní pravděpodobnost p(θ) je pravděpodobnost pro parametry, které jsou známy předem. Aposteriorní pravděpodobnost p(θ x) pro parametry odvozené až z dat. 16

23 figurovat více potenciálních předmětů analýzy a vyjádřený sentiment bude odvozen pouze od jednoho z nich. Tyto problémy je potřeba zohlednit a pracovat s nimi. Například analýza sentimentu zaměřená na firemní značku bude dávat pravděpodobně přesnější výsledky na data pocházející ze zdroje zaměřeného čistě na tuto značku (např. Facebook profil) než napříč obecnými zdroji (např. obsah ze služby Twitter fulltextem dohledaný podle názvu značky). Přesnost odhadu také ovlivní délka analyzovaného textu, proto přesnější výsledky bude mít analýza zápisků na blogu nebo recenzí v magazínech než krátkých tweetů. Stejně tak je třeba zohlednit časovou nestálost sentimentu a v případě hodnocení v delším časovém úseku pracovat s časovou řadou a nikoliv sumarizovanými údaji. Jinou specifickou úlohou je detekce anomálií v datech. Anomálie je něco, co se vymyká běžným hodnotám, proto klasifikátor nelze na žádných historických datech naučit co je a co není anomálie. Příklad z Tabulka 5 se zaměřuje na hledání z podvodu podezřelých objednávek: pokud objednávající na internetovém obchodě nevyplnil na sebe platný telefonní kontakt, zaplatil kartou předem a chce zboží doručit s adresou převzetí mimo své bydliště (např. benzínová pumpa), kombinace všech těchto charakteristik se silně vymyká běžnému průměru a měla by být klasifikátorem označena za anomální. Pro klasifikaci obecně lze použít více algoritmů s odlišnými vlastnostmi: Naivní bayesovský klasifikátor (naive bayes) Bayesovské sítě (Bayesian network) Metoda nejbližších sousedů (nearest neighbour) Logistická regrese (logistic regression) Rozhodovací stromy (decision tree) SVM (support vector machine) Neuronové sítě (Neural network) a mnohé další Naivní bayesovský model10 Při použití tohoto algoritmu naive bayes se předpokládá, že jednotlivé atributy popisující dokument jsou na sobě zcela nezávislé - proto je v názvu slovo naivní. Takové zjednodušení je nezbytné především z výkonnostních důvodů, aby nebylo nutné zahrnout pravděpodobnosti pro všechny kombinace atributů (tedy pro n binárních atributů 2n hodnot 10 Kapitola zpracována podle [10] 17

24 pravděpodobností). Pro rozhodnutí, která hypotéza je nejpravděpodobnější, slouží bayesovský vztah: p(hypotéza pozorování )= p( pozorování hypotéza) p (hypotéza) p( pozorování ) S jeho pomocí se postupně vypočítá pravděpodobnost všech hypotéz a vybere ta, která dopadla nejlépe. Jednotlivé hodnoty pravděpodobnosti potřebné pro dosazení jsou získány z analyzovaných dat. Protože se hledá pouze nejlepší hypotéza a není potřeba znát přesné výsledky, lze výpočet zjednodušit ignorováním jmenovatele ve zlomku, který je pro všechny případy stejný. Algoritmus nepotřebuje prohledávat prostor hypotéz, ale vystačí s výpočtem příslušné pravděpodobnosti na základě četnosti výskytů hodnot jednotlivých atributů a hodí se proto pro velké datové soubory. Přestože předpoklad podmíněné nezávislosti atributů bývá jen málokdy splněn, vykazuje naivní bayesovský klasifikátor dobré výsledky ve smyslu úspěšnosti klasifikace Rozhodovací stromy Rozhodovací strom je hierarchická datová struktura implementující strategii rozděl a panuj.[2] Model rozhodovacího stromu je tvořen uzly a hranami, které rozdělují data na menší podmnožiny. Dělení probíhá výběrem pomocí takového atributu, aby v každé vzniklé podmnožině převládala jedna třída. Obecný algoritmus dělení je podle [10]: 1. zvolit atribut jako kořen dílčího stromu 2. rozdělit data v tomto uzlu na podmnožiny podle hodnot zvoleného atributu a přidat uzel pro každou podmnožinu 3. existuje-li uzel, pro který nepatří všechna data do stejné třídy, opakovat pro něj celý postup, jinak zpracování ukončit Algoritmus rozhodovacích stromů má podle [3] několik výhod: rychleji se učí není potřeba upravovat vstupní data model je pochopitelný pro člověka a lze převést na soubor srozumitelných pravidel 18

25 Ilustrace 4: Ukázka klasifikace rozhodovacím stromem[2] Logistická regrese11 Logistická regrese vychází z lineární regrese, tedy zahrnuje formulaci hypotézy h za pomoci atributů představujících vektor nezávislé proměnné x a vektoru jejich vah θ. Odlišnost spočívá v použití výstupu modelu pro binární klasifikaci. Pro tento účel slouží sigmoida pro vpasování funkce hypotézy do intervalu <0;1>, potom se pro binární klasifikaci použije výsledku bližší hodnota. Sigmoida současně zajistí konvexní průběh hodnotící funkce a umožní tak efektivně využívat algoritmus gradient descent pro získání optimálních atributů bez hrozby nalezení lokálního minima. hypotéza: hθ ( x )=g(θ T x) při sigmoida: g( z )= 1 1+ e z m 1 (i) (i) hodnotící funkce: J (θ)= Cost (hθ (x ), y ) (nebo s regularizací) m i=1 při Cost (hθ ( x), y)= { log(hθ ( x)) pro y=1 log (1 hθ ( x )) pro y=0 11 Kapitola zpracována podle [14] 19 }

26 Klasifikace podle nejbližších sousedů Binární klasifikační algoritmus nearest neighbour spočívá v přiřazení klasifikovaného vzorku dat stejné třídě, jakou má přiřazen jemu nejbližší vzorek v učících datech. Algoritmus lze modifikovat tak, aby při rozhodování zohlednil více než jeden nejbližší vzorek. Potom je třída přiřazena podle nejčetnějšího zastoupení v porovnávané skupině. Při volbě množství vztažených vzorků je vhodné dodržet lichý počet tak, aby ve skupině vždy jedna třída převažovala12. Doprovodná Ilustrace 5 zobrazuje dva klasifikátory: vlevo při použití jednoho nejbližšího vzorku a vpravo při zohlednění sedmi nejbližších vzorků. Ze znázornění je zřejmé, že více vzorků vyhlazuje průběh funkce a snižuje riziko přeučení a vliv náhodného šumu. S rostoucím počtem vztažených vzorků ovšem hrozí, že ostrost poklesne pod nežádoucí mez a současně rostou i výpočetní a paměťové nároky aplikace algoritmu[6], který obecně patří mezi ty s velkými nároky na paměť[7]. Ilustrace 5: Ukázka aplikace algoritmu Nearest Neighbour[6] SVM13 Technika SVM (Support vector machine) je zvláště vhodná pro případy, kdy jsou data popsána velkým množstvím atributů. Cílem učící fáze je vytvořit model založený na tréninkových datech, který uspokojivě předpovídá výstupní hodnoty v testovacích datech. Princip spočívá v nalezení nadroviny, kde jsou učící data lineární separací rozdělena tak, aby prázdné okraje mezi krajními pozorováními byly co největší.[19] Technika umožňuje použít klasifikaci na data, kde vztah mezi třídou a atributy je nelineární pomocí mapování vstupní hodnoty do vyšší dimenze, ve které jsou již lineárně separovatelné (kernel trick). 12 Pohybujeme se nadále v binární klasifikaci, čímž je tento předpoklad zajištěn. Strategie klasifikace mezi více tříd za pomoci binárních klasifikátorů byla popsána v úvodu kapitoly Kapitola zpracována podle [18] 20

27 Doporučený postup aplikace algoritmu podle [18]: 1. transformovat data do formátu nástroje, který bude použit 2. škálovat data 3. vybrat kernel funkci, jejíž obecný tvar je T K ( x i, x j )=Φ ( x i )Φ ( x j ) kde Φ je mapovací funkce do vyšší dimenze 4. pomocí křížové validace (cross validation) najít nejlepší parametry kernel funkce. 5. nalezené parametry použít pro učení nad všemi testovacími daty 6. otestovat kvalitu modelu Vstupní data musí mít podobu vektoru reálných čísel. Pokud čísla představují kategorický údaj, bývá někdy doporučováno namísto řady celých čísel představujících jednotlivé kategorie použít více čísel pro binární reprezentaci kategorií (například {červená,zelená,modrá} nekódovat jako {1,2,3} ale {(0,0,1), (0,1,0), (1,0,0)}). Škálováním vstupních dat do podobného rozsahu se zabrání tomu, aby některé atributy dominovaly nad jinými a způsobovaly numerické problémy. Doporučený rozsah je například v intervalu [-1,1] nebo [0,1]. Škálování musí být pro stejný atribut jednotné napříč učícími i testovacími daty. Při volbě kernel funkce se jako základní tvary doporučují: lineární K (x i, x j )=x it x j tedy bez mapování do vyšší dimenze, je vhodná například pro velké množství atributů polynomická RBF sigmoida T d K (x i, x j )=(γ x i x j +r ) pro γ >0 2 K (x, y )=e γ x y pro γ >0 vhodná pro většinu případů K (x, y )=tanh( γ x Ti x j +r ) Uváděné γ, r a d jsou parametry kernel funkce. Kromě nich se při optimalizaci hledá ještě parametr C představující trestné ohodnocení za chybně klasifikovaný prvek. Počet parametrů kernel funkce ovlivňuje výkonnostní nároky procesu optimalizace, proto třeba užití RBF namísto polynomické funkce kernelu představuje z tohoto pohledu výhodu, protože hledá pouze dvojice (C,γ). Při optimalizaci je třeba se vyvarovat problému přeučení, který je vyobrazen na Ilustrace 6. 21

28 Ilustrace 6: Problém přeučení při SVM klasifikaci[18] 3.2 Učení bez učitele Zatímco při učení s učitelem byly k dispozici ohodnocená učící data, pro učení bez učitele nic takového neexistuje a proces si musí vystačit jen s vlastní analýzou vstupních dat za účelem hledání datových vzorů a struktur. Nejběžnější úlohou typickou pro učení bez učitele je seskupování (clustering) někdy nazývaný též jako shlukování nebo shluková analýza. Kromě ní existují i další úlohy (například blind signal separation), ale ty nebudou v dalším textu využity a jejich popisu nebude věnován další prostor. 22

29 3.2.1 Shluková analýza Shlukování (seskupování) je rozklad množiny prvků na základě jejich vzájemné podobnosti na jednotlivé komponenty shluky. Shlukování se podobá klasifikaci v tom, že na výstupu jsou nějaké komponenty, které se zde nazývají shluky a u klasifikace třídy. Rozdíl spočívá v existenci učících ohodnocených dat u klasifikace a jejich neexistenci u shlukování. Klasifikace tedy spadá pod strojové učení s učitelem, zatímco shlukování je učením bez učitele. Model vysvětlující data může být založen na statistickém nebo deterministickém přístupu. Statistický přístup vychází z analýzy hustoty dat, deterministický hledá jiné míry podobnosti[20]. Shlukováním lze získat shluky hierarchické nebo nehierarchické. Nehierarchické shluky jsou od sebe zcela odděleny a neexistují mezi nimi žádné průniky. Hierarchické shluky tvoří strukturu, kdy některé shluky jsou podmnožinou jiných. Tematickým příkladem hierarchického shlukování by mohla být analýza produktů, jejímž výstupem je stromová skupina kategorií využitelná pro vygenerování rozbalovací navigace na webové stránce Hierarchické shlukování Při hierarchickém shlukování proběhne sekvence vnořených rozkladů, která má na jedné straně jednoprvkové shluky a na druhé jeden shluk obsahující všechny prvky. Postup shlukování může proběhnout v obou směrech a shlukování se pak nazývá buď aglomerativní nebo divizivní. V každém kroku aglomerativního shlukování se vyberou ty dva shluky, které jsou si nejpodobnější s ohledem na cíle aplikace a zvolenou metriku. Tyto dva shluky jsou sloučeny, čímž vzniká nový shluk.[21] Metrikou pro porovnání podobnosti shluků může být euklidovská vzdálenost ve vektorovém prostoru mezi všemi páry, které lze nakombinovat z center shluků, nebo metrika může využívat hustotu pravděpodobnosti.[7] Postup divizivního shlukování spočívá v postupném rozdělování každého z existujících shluků na dva nové tak, aby výsledný rozklad tohoto shluku byl optimální vzhledem k nějakému kritériu. Nalezení absolutně optimálního rozkladu množiny objektů na dvě podmnožiny však vyžaduje prozkoumání 2(n 1) 1 možností. Tento postup je prakticky proveditelný jen pro malý počet objektů.[21] 23

30 Nehierarchické shlukování U nehierarchického shlukování (někdy též nazývaného rozdělující[20]) je třeba vyřešit problém optimálního počtu shluků. Některé algoritmy umí počet shluků přizpůsobovat průběžným hodnotám, jiné pracují s konstantním počtem. Počet shluků výrazně ovlivňuje kvalitu výstupu, stanovení příliš malého nebo naopak příliš velkého počtu může zcela znehodnotit výsledky. Pro stanovení optimálního počtu existuje více metod[21]. Typickými algoritmy nehierarchického shlukování jsou K-Means a EM algoritmus (expectation-maximization algorithm). K-Means je založený na vzdálenosti bodů od centra shluku a EM algoritmus využívá hustotu rozložení pravděpodobnosti. EM algoritmus dává obvykle lepší výsledky (příklad na Ilustrace 7), ale je výpočetně náročnější. Different cluster analysis results on "mouse" data set: Original Data k-means Clustering EM Clustering Ilustrace 7: Shlukování algoritmy K-Means a EM[22] K-Means Algoritmus pro seskupování pomocí hledání podobností mezi dokumenty. Při aplikaci algoritmu se postupuje tak, že v prvním kroku se náhodně vybere tolik bodů, kolik chceme získat skupin a tyto body jsou prohlášeny za středy (centra) skupin. V druhém kroku jsou všechny dosud nepřiřazené body zařazeny do skupiny, k jejímuž středu se nachází nejblíže. V dalších krocích se z bodů tvořících skupiny vždy přepočtou nová centra skupin a body jsou přeřazeny tam, ke kterému centru se nachází nejblíže. Centra skupin skrze k nim vztažené oblasti dělí prostor do Voroného diagramu. Postup se opakuje do té doby, dokud dochází k přeřazování bodů. Pro způsob měření vzdálenosti mezi centrem a body lze využít různé způsoby: nejen euklidovskou, ale například i manhatanskou (pravoúhlou) či jinou metrikou. Algoritmus 24

31 K-Means je velmi citlivý na počáteční umístění center a jejich nevhodná volba může způsobit špatné výsledky zejména díky riziku nalezení lokálního minima[6][22]. Shlukování pomocí EM algoritmu EM algoritmus reprezentuje jednotlivé shluky jako hustotu normálního rozložení N (µ, Σ) definovaného střední hodnotou µ, která je dána souřadnicemi shluku, a kovariační maticí Σ odvozené ze souřadnic známých bodů (pozorování). Při aplikaci EM algoritmu probíhají iterace s těmito kroky: 1. Expectation, ve kterém se počítají pravděpodobnosti příslušnosti bodů do shluků pro všechny kombinace bodů a shluků 2. Maximalization, ve kterém se metodou maximální věrohodnosti počítají nová centra shluků a kovariační matice pro další krok Protože maximalizace je založena na derivaci P =0, používají se logaritmované µ pravděpodobnosti (log likehood). Průběh jejich funkce je rostoucí a lze tedy snadněji pomocí derivací hledat jejich maximum Identifikace témat Identifikace témat (topic modeling) se obvykle využívá při zpracování přirozeného jazyka, kde je cílem ze souboru vstupních dokumentů extrahovat témata, kterými se dokumenty zabývají. Jde o specifický způsob seskupování. Předem se nevyžaduje seznam témat ani ohodnocený testovací vzorek, vše se odvozuje ze statistiky výskytů slov v dokumentech. Témata jsou získávána v abstraktní formě jako unikátní kombinace slov a seznamu dokumentů, které jsou pro ně relevantní. Postup analýzy textů: 1. Nashromáždit nebo identifikovat text obsahující dokumenty 2. Připravit dokumenty pro zpracování analyzerem (stemming/lemmatisation, vyřadit stop slova, tokenizace) 3. Zvolit počet hledaných témat 4. Sestavit reprezentaci dokumentů ve vektorovém prostoru 5. Identifikovat podobné dokumenty, například na základě euklidovské vzdálenosti vrcholů vektorů témat nebo jimi svíraného úhlu 25

32 Jedním ze způsobů, jak reprezentovat dokument je vektor relevantnosti slov. Relevance může být vyjádřena binárně, početně (TF) nebo váhově (TF-IDF). Protože takto vyjádřený vektor bude mít velký počet dimenzí (různých slov), je nutné ho redukovat. Redukce probíhá buď výběrem příznaků (feature selection) nebo extrakcí příznaků (feature extraction). V prvním případě se vyřazují takové příznaky, které nejsou významné pro plánovanou aplikaci. Ve druhém jsou skupiny příznaků nahrazovány novými příznaky. V případě vektoru slov mohou například nové příznaky představovat základní tvary (lemmatisation) nebo kmen slova (stemming).[23] Reprezentace dokumentu pomocí vektoru slov i přes popsané techniky trpí obvykle problémem velkého množství dimenzí, které znesnadňují další zpracování. Proto existují i jiné techniky, jež místo s vektorem slov pracují spíše s vektorem tématických oblastí a dokument je charakterizován vztahem vůči těmto předem naučeným tématům (metody nebo témata jsou Latent Semantic Analyses, v průběhu procesu Propabilistics Latent Semantic Analyses) učení kompletně odvozena (metoda Latent Dirichlet Allocation, dále jako LDA).[23] Zde je záhodno vysvětlit význam použitého termínu téma. Téma je vždy definováno seznamem slov a hodnot, nakolik jsou konkrétní slova pro toto téma specifická. Zda je takto definované téma nějak jednoznačně pojmenovatelné není pro proces učení vůbec relevantní. Proto tvrzením metoda LDA sama odvozuje témata není myšleno, že by dokument byl touto technikou přiřazen například do třídy sport nebo politika. A ačkoliv u ostatních technik pracující s předpřipravenými tématy budou tyto pravděpodobně i autory pro jejich potřeby pojmenovány, do procesu učení název nijak nevstupuje a zpracovávány jsou pouze slova definující téma. Množství hledaných témat má zásadní vliv na použitelnost výstupu. Při volbě této hodnoty se bere v potaz především účel aplikace. Výstupem učení jsou vektory dokumentů, kde řádky představují slova a hodnoty na řádkách relevance těchto slov pro daný dokument. Dále pak vektor témat, kde jsou obdobným způsobem vyjádřeny vazby slov na témata. Při analýze podobnosti mezi různými dokumenty stačí porovnat jejich vektorové popisy. Dokumenty s podobným vektorem mají pak podobný obsah.[24] Nejpoužívanější technika LDA považuje vstupní data za pozorování generativního pravděpodobnostního procesu, který zahrnuje skryté proměnné. U dokumentů jsou skrytou proměnnou struktura pro ně relevantních témat.[25] Každé slovo má tedy různě silnou 26

33 relevanci k více dokumentům a totéž platí pro jeho vztah k tématům. Proto i každý dokument má různě silnou relevanci k více tématům. Relevance slov k jednotlivým tématům jsou určeny pomocí vydělení počtu slov mezi všechna témata. Následně je použit odvozovací algoritmus, který hledá skupiny spolu souvisejících slov. Přitom usiluje o co největší řídkost témat pro jednotlivé dokumenty a penalizuje případy, kdy má dokument příliš mnoho silných vazeb na různá témata. Na základě toho upravuje definice vztahů mezi slovy, čímž postupně dochází ke vzniku uskupení slov vzájemně více provázanými než se slovy mimo toto uskupení.[25] 3.3 Učení posilováním Třetí skupina algoritmů se zabývá tzv. učením posilováním (reinforcement learning), v češtině někdy též nazývaném zpětnovazebním učením. Algoritmy usilují o dosažení nějakého cíle a vytváří sekvenci akcí, kterými se k cíli snaží dostat. Každá jedna samotná akce není sama o sobě důležitá, důležitá je stanovená politika (policy) a zda akce do této politiky zapadá nebo ne. Algoritmus posuzuje jednotlivé politiky a umí ohodnotit jejich přínos pro dosažení stanoveného cíle. Pokud má přístup k historii úspěšných sekvencí, je schopen se z ní poučit a zohlednit je při návrhu nových politik. Učení posilováním je vhodné především do prostředí, kde existuje komponenta chovající se jako agent, který je sám schopen provádět nějaké akce a posuzovat jejich dopady. Ačkoliv existují i scénáře, kdy aplikace učení posilováním v oblasti e-komerce bude představovat přínos, software používaný v praktické části tyto algoritmy nepoužívá a praktická část práce se jimi nezabývá. Proto nebude toto téma v práci podrobněji popisováno. 3.4 Map Reduce Jde o techniku spočívající v rozdělení zpracování dat do dvou odlišných úloh. První se nazývá Map a provádí konverzi vstupních dat do podoby n-tic [klíč,hodnoty], které jsou výstupem mapovací funkce. Obsah n-tice je zvolen tak, aby zohledňoval zpracováním sledované cíle. Druhou úlohou je Reduce a jejím úkolem je převzít výstup z více Map úloh a zredukovat je do jediné sady n-tic, opět za pomoci nějaké stanovené funkce. Teprve nad redukovanými daty jsou nakonec prováděny požadované operace.[9] Algoritmus MapReduce lze shrnout slovy: seznam hodnot je transformován na jiný seznam hodnot, který 27

34 je posléze redukován na hodnotu jedinou. Tento princip se často používá při řešení úloh strojového učení. Na Ilustrace 8 je vyobrazen příklad zpracování došlých objednávek. Nejdříve jsou vstupní data mapována do požadované n-tice a ty jsou nakonec převedeny na výstupní hodnoty. Protože řešeným požadavkem je získat celkový obrat, pro fázi redukce je použita funkce součtu (SUM). Současně diagram zachycuje možnost aplikovat mapování na víceprvkovou množinu vstupních dat. Ilustrace 8: Příklad získání obratu pro jednotlivá města metodou MapReduce Z pohledu strojového učení je metoda MapReduce zajímavá i jako řešení potenciálních výkonnostních problémů, které mohou nastat při aplikacích na reálná data. Protože množství úloh strojového učení lze přeformulovat do úlohy pro MapReduce[26], může pak zpracování probíhat ve výpočetním clusteru. Škálovatelnosti v clusteru je dosaženo rozdělením zdrojových dat mezi více uzlů, které nad nimi na vyžádání provádí mapovací úlohy a vrací jejich výstup. V clusteru pak existuje jeden nebo více uzlů tvořících vstupní rozhraní pro klientské požadavky k vyřízení, uzly mající za úkol mapování a uzly provádějící redukci. Struktura clusteru se může lišit počtem uzlů vykonávajících určitou roli nebo některé uzly mohou zastávat více rolí, ale pro účely škálování bude zátěž z výpočetně nejnáročnější operace map rozložena na více uzlů. 28

35 4 Aplikace metod na konkrétní problémy Pro všechny dříve popsané úlohy strojového učení lze v oblasti e-komerce vymyslet mnohé způsoby jejich uplatnění. Nejznámější klasifikační úlohou je detekce nevyžádané pošty (spam), kdy na základě ručního roztřídění došlé pošty uživatelem klasifikátor u nově příchozích ů odhaduje, zda nemají být označeny jako spam a nějakou formou filtrovány (odmítnuty při SMTP spojení na poštovní server nebo přesunuty do vizuálně oddělené přihrádky v ovém klientovi). Klasifikovány mohou být prakticky jakákoliv data. Jakmile je potřeba něco třídit nebo ohodnotit a jsou pro tento úkol k dispozici ohodnocená historická (učící) data, počítačem prováděná klasifikace umožňuje zpracovat masivní množství dat. Výstup může být chápán jako konečný stav nebo posloužit jako příprava podkladů pro konečné zpracování lidskou silou. Pro shlukování existuje rovněž široké uplatnění: seskupovat lze podobné dokumenty (produkty, obrázky), databáze zákazníků lze rozdělit do vyprofilovaných skupin (customer/market segmentation) nebo najde své uplatnění při analýze prodeje. Strojové učení je základem mnoha úspěšných služeb, které jsou běžně využívány na Internetu[3]: klasifikátor spamu (Spam Assasin, Gmail, atd.) sémantická reklama (Google Adwords, Sklik, atd.) klasifikace typu zpráv (Gmail a jeho tématické složky) doporučení zákazníci, kteří koupili tento produkt, rovněž zakoupili... (Amazon) Další potenciální způsoby nasazení strojového učení podle [27]: doporučení produktů na základě známých údajů o zákazníkovi (např. z historie nákupů, bydliště, zájmů) nebo na základě doporučení jiných zákazníků s podobným profilem (collaborative filtering) rozpoznávání podvodného nebo jinak nežádoucího jednání (detekce anomálií) jako jedna z metod oblasti dolování dat, například analýza kombinace atributů u zákazníka, které ho předurčují k nákupu Zdrojovými daty nemusí být pouze data ve výhradním vlastnictví tvůrce analýzy, existují i zdroje veřejně dostupné. Jedním z takových dostupných zdrojů dat vhodných pro analýzu jsou sociální sítě, protože obsahují dostatečně velké množství profilů 29

36 se zveřejněnými údaji využitelnými pro zacílení na určité demografické skupiny. Často zveřejňovanými údaji jsou: rok narození pohlaví dosažené vzdělání přibližné bydliště atd. Další zpřesňující údaje lze získat například emočně časovou analýzou profilu. Například proběhnou-li volby či jiná významná celospolečensky vnímaná událost, lze kombinací jejich výsledku a projevené emoce v čase po vyhlášení s velkou pravděpodobností přiřadit danému profilu politické nebo jiné preference a zpřesnit jeho demografické zařazení. Společně s dalšími údaji v profilu pak tyto odvozené údaje poslouží jako zdrojová data pro další analýzu. Předmětem analýzy může být nepřeberné množství otázek, pro která lze nějakým způsobem z dostupných dat najít indicie pro rozhodnutí. Vyjádřil se analyzovaný jedinec k nějakému analyzovanému tématu (klasifikace)? Jaké emoce projevil (rozpoznávání emocí)? Jaká témata preferuje (extrahování informací)? Jaké barvy má rád (analýza grafických dat)? V jakých časech bývá online (statistika)? A mnoha dalších. 4.1 Agregace zpráv Agregátory zpráv mají za úkol shromažďovat informace z různých zdrojů a usnadnit uživateli získat rychlý přehled o všech aktuálních tématech. Jako zdroj obvykle slouží takzvané RSS feedy, tedy XML dokumenty určené pro syndikaci obsahu. Agregátory mohou být sofistikovanější a zpracovávat i obsah na odkazované webové adrese, případně nabízet jinou přidanou hodnotu. Tou může být: dohledání jiných podobných článků (oblast topic modeling) profilování hlavních zpráv podle počtu zdrojů (topic modeling, clustering) filtraci hlavních zpráv tak, aby se vedle sebe nezobrazovaly články z různých zdrojů na stejné téma (topic modeling) štítkování zpráv podle předem připraveného seznamu štítků (classification, labeling) výběr článků podle profilu uživatele (classification, collaborative filtering) za pomoci jednoduché metriky založené na četnosti článků určit význam aktuálních událostí 30

37 Příkladem služeb fungujících na principu agregátoru jsou Google News (news.google.cz) nebo Právě dnes (pravednes.cz). Agregování lze využít i pro potřeby marketingu. Například inzerent hledající reklamní prostory, může použít agregátor pro odhalení míst, kde se pro inzerci relevantními tématy dlouhodobě zabývají. Obdobně on-line reklamní systémy musí umět agregovat zapojené webové stránky do tematických celků tak, aby mohly rozhodovat o co nejlepším umístění inzerce. 4.2 Rozpoznávání jazyka Příklad: firma provozuje multijazyčný web a obsluhuje zákazníky komunikující různými jazyky. Pokud strojově rozpozná, v jakém jazyce je příchozí komunikace, může ji nasměrovat na vhodnou osobu pro její vyřízení.14 Z pohledu strojového učení je rozpoznání jazyka klasifikační úlohou. Alternativou ke strojovému rozpoznávání jazyka mohou být pomůcky v podobě existence různých ových adres, přiřazení jazyka na základě jazykové mutace podle jazykové verze použité pro zobrazení kontaktního formuláře nebo explicitní vyžádání volby jazyka od protistrany. Všechny tyto alternativy sebou nesou zásadní nevýhody. Existence pro zákazníky. více ových adres zhoršuje přehlednost kontaktních údajů V rámci jedné webové prezentace lze toto skrýt pomocí filtrace podle jazykové mutace, ale v případě inzerce, firemních zápisů v různých katalozích nebo materiálů tato možnost neexistuje. Zákazníci mohou z různých důvodů používat odlišnou jazykovou mutaci pro prohlížení webu a jazyk pro komunikaci. Například kvůli odlišné kvalitě prezentace a úplnosti doprovodných materiálů se jim často vyplatí upřednostnit anglickou variantu před ostatními. Ale to neznamená, že při kontaktu lokálního zastoupení nebudou chtít komunikovat svou rodnou řečí nebo nebudou klást dotazy určené lokálnímu zastoupení. Komunikující operátor tak může dostat k řešení obsah, kterému nebude rozumět. A nakonec třetí zmíněná alternativa je současně ukázkou odrazujícího obtěžování potenciálního zákazníka od kontaktu. Nejen při webovém prodeji platí, že cokoliv složitého odvádějícího pozornost od žádoucího směru znamená vysoké procento odchodů ze stránky a ztráty obchodní příležitosti. 14 Inspirováno příkladem uvedeným v dokumentaci k Google Prediction API[28]. 31

38 údržba 2 3 zákazník 1 1 podle jazykové mutace 2 více ových adres 3 volba jazyka ve formuláři vyřízení Ilustrace 9: Složitost alternativ ke strojovému rozpoznání jazyka Strojové učení není jediný způsob, jak se s takovým problémem vypořádat. Diagram na Ilustrace 9 mapuje negativní rysy alternativ ke strojovému rozpoznávání jazyka: zvýšenou složitost pro zákazníka, složitost pro údržbu obsahu a složitost pro vyřízení. Pokud je pro řešení využito strojové učení, vše se zjednoduší: jedna ová adresa pro vnější komunikaci, jeden kontaktní formulář, žádné nadbytečné prvky odrazující od jeho použití. A přesto v naprosté většině případů komunikace poputuje k nejvhodnějšímu příjemci. 4.3 Rozpoznávání obsahu Za příklad poslouží stejný problém jako u rozpoznávání jazyka s malou obměnou: hledá se nejvhodnější příjemce podle typu obsahu. Technický dotaz by měl být přeposlán na podporu prodeje, propagační materiály na sekretariát nebo do spamu, objednávky na prodejce, reklamace reklamačnímu oddělení atd. 4.4 Rozpoznávání emocí Příklad: firmu dovážející elektroniku zajímá, jaké jsou skutečné reakce cílové skupiny nově uvedeného produktu v zahraničí. Na základě nich se rozhodne, zda má zájem ucházet se o zastoupení pro ČR. Rozpoznávání emocí je v takovém případě mocným nástrojem pro zvyšování úspěšnosti prodeje. Co bude prodejním hitem příštích vánoc? Jak zákazníci hodnotí zakoupené produkty? Má smysl jim k nim zpětně nabízet příslušenství nebo se raději nepřipomínat? Pokud bude prodejce schopen na takové otázky s předstihem a vysokou úspěšností umět odpovědět, nepochybně tím získá významnou konkurenční výhodu. Z pohledu strojového učení je rozpoznávání emocí klasifikační úlohou. Zdroji pro rozpoznání emocí mohou být sociální sítě, diskusní příspěvky pod články nebo produkty, ale třeba i vlastní ová komunikace se zákazníkem. 32

39 4.5 Rozpoznávání zájmu o produktové vlastnosti Příklad: firma na základě analýzy zájmu cílové skupiny tipuje vlastnosti produktů, které jsou významné pro úspěšnost prodeje. Místo aby odpovědní pracovníci hádali potenciální sortiment či některé zákazníky požadované atributy na základě své intuice a zkušeností, mohou se rozhodovat až ve výběru zúženém pomocí strojové inteligence. Strojová inteligence na rozdíl od lidských pracovníků může analyzovat řádově větší objem informací a přispět tak k lepší konečné volbě. Zdrojová data pro analýzu mohou pocházet z historie prodejů nebo průzkumu údajů na sociálních sítích. Cílem analýzy je identifikovat společné rysy prodejně úspěšných nebo naopak neúspěšných produktů. Z pohledu strojového učení se nabízí několik rovnocenných postupů. Pokud analýza probíhá nad historickými daty o prodeji, může být jako metoda zvoleno seskupování podle technických produktu a získané shluky dále analyzovány například z pohledu prodejnosti nebo marže. Takové nasazení je typické pro využití strojového učení jako techniky dolování dat. Protože tímto způsobem získané shluky budou pravděpodobně dále ručně analyzovány, je vhodné pro tyto účely použít nástroje s grafickým uživatelským rozhraním. Jiným přístupem by mohla být klasifikace, kdy produkty zvažované pro zařazení do sortimentu by klasifikátorem získaly hodnocení jejich potenciálu. Nebo by pro každý takový produkt byly algoritmem pro hledání podobnosti nalezeny jeho nejbližší ekvivalenty a potenciál by byl odhadnut z jejich historického výkonu. 4.6 Extrahování informací Extrahování informací (information extraction) se zabývá získáním strukturovaných dat z dat nestrukturovaných a to především pomocí metod zpracování přirozeného jazyka (NLP). Nestrukturovaná zdrojová data ale nemusí být pouze ve formě textu, do této kategorie strojového učení se řadí i multimediální data a další formáty. Hlavní motivací taková data zpracovávat je velký informační potenciál, který skýtají. Nestrukturovaná data často obsahují informace zasazené do kontextu s jinými informacemi a umožňují odhalovat skryté souvislosti. Navíc nestrukturovaná data tvoří až 80% všech dat, kterými podniky disponují[4]. V oblasti e-komerce může být jedním ze scénářů využití pro tipování nového sortimentu na základě recenzí v oborových webových magazínech. Výstupem zpracování 33

40 jednotlivých článků pak může být vektor (výrobce, produkt, datum) určený pro další například statistické zpracování. Jinou aplikací může být automatické přiřazení štítků bitmapovým obrázkům na základě produktů, které se na nich vyskytují. Složitost takové klasifikační úlohy stoupá s počtem rozpoznávaných tvarů a jejich podobností, přičemž pro úspěšnost je především rozhodující zvolit správné příznaky, podle kterých budou tvary rozpoznávány. Zde by mohlo být výstupem přiřazení jednoho nebo více vektorů ve tvaru (produkt, pohled) ke klasifikovanému obrázku. 4.7 Analýza grafických dat V jaké podobě je k dispozici nejvíce elektronicky uložených dat? Bez ohledu na metodiku měření a její konečný výsledek, grafická data budou tvořit nezanedbatelný podíl. Údaje o struktuře dat přenášených po Internetu uvádí, že objemově většinu síťového provozu tvoří přenos video obsahu[29]. Nakolik koreluje údaj o podílu na síťovém provozu s podílem na celkově existujícím objemu dat? Bez zodpovězení této otázky nelze vyvozovat závěry o obecné dominanci objemu grafických dat nad jinými formáty, přesto jako indicie významu takový údaj posloužit může. Pro potřeby této práce je daleko důležitější otázkou, kolik údajů nebo dokonce informací z dat v této podobě dokážeme strojově získat. Ačkoliv grafická data mohou mít různou podobu (videosekvence, bitmapy, vektory), nejobvyklejším předmětem zpracování bude pravděpodobně bitmapový obrázek. Výsledky jeho zpracování mohou být zasazeny do komplexnější úlohy, kterou může být například analýza pohybu na videosekvenci nebo na ještě vyšší úrovni řízení dopravního prostředku umělou inteligencí. Někde na nejnižší úrovni zapouzdření bude nutné umět popsat obsah obrazových dat a využít tento popis pro potřeby zadané úlohy. Popis dat může tvořit nějaký vektor hodnot. Význam hodnot, tedy co konkrétní hodnoty představují, a dimenze vektorového prostoru jsou základní vlastnosti ovlivňující použitelnost popisu při dalším zpracování. Jedním takovým způsobem popisu bitmapového obrázku je rozdělit bitmapu na množství menších segmentů a pro ně získat popisný vektor atributů (image segmentation). Takto získaný vektor lze použít k dohledání podobného vektoru představujícího jiný obrázek. 34

41 Podle [30] postup řešení problematiky hledání vizuální podobnosti zahrnuje kroky: 1. Předzpracování obrázku: aplikace filtrů pro zvýšení kontrastu, odstranění šumu atd. 2. Segmentace obrázku (image segmentation) pomocí rozdělení na jednotlivé rovnoměrné segmenty (například tvořící matici) nebo rozdělení na oblasti, ve kterých pixely uvnitř mají společné vlastnosti mimo oblast se nevyskytující. Zde se může uplatnit strojové učení (shluková analýza, klasifikace,...). 3. Vytvořit popisné vektory pro jednotlivé regiony. 4. Pokud je to potřeba, znovu provést segmentaci. Přitom rozhodnout, zda některé původně získané segmenty spojit do jednoho. Při tomto kroku mohou být nezbytné znalosti o konkrétní úloze (např. o hledaném objektu), jen zřídkakdy může být použit obecný automatický postup. 5. Odstranit segmenty, které se zdají nepotřebné pro další zpracování: jsou příliš malé nebo vyhodnoceny jako nerelevantní. 6. Uložit popisný vektor obrázku pro pozdější zpracování a opakovat kroky pro ostatní obrázky. 7. Použít popisné vektory pro porovnání obsahu obrázků za pomoci některého z algoritmů pro porovnávání vzorů, klasifikaci, shlukování nebo obecně z oblasti umělé inteligence a dolování dat. Způsob segmentace je odvislý od úlohy, pro kterou je popis připravován. Tam kde je segmentace provedena rozdělením bitmapy na pevný počet sloupců a řádků, mohou být popisnými informacemi barevné kanály nebo jas[31]. Například údaj o nejčastější nebo průměrné barvě atd. U nepravidelných segmentů potom navíc tvar segmentu, jeho obvod, plocha, počet děr a další vlastnosti, které lze objektivně naměřit[30]. Informace v obrazových datech jsou primárně reprezentovány nějakými objekty a objekt lze nejlépe detekovat podle jeho hran. Proto segmenty mohou být popsány podle uvnitř detekovaných tvarů pomocí detektorů hran. Ty mohou pracovat na principu derivací obrazu nebo analýze frekvenčního pásma[32], nejčastěji se používá histogram[33]. Hranu pak představují místa s velkou změnou jasových hodnot pixelů[32]. Zejména při prodeji v elektronických obchodech nastává situace, kde je dobré zákazníkovi nabídnout produkt podobný nějakému jinému (vyprodanému, dříve prohlíženému, atd.). Podobnost může být určena nejen podle technických parametrů produktu, 35

42 ale právě i vizuální. Samostatnou otázkou k zodpovězení je, co si představit pod pojmem vizuální podobnost produktů. Při porovnání vzhledu není jednoznačně rozhodnutelné, zda jsou si více podobné vyobrazení s podobnými objekty (sémantická podobnost), s podobným barevným rozložením na fotografii nebo obsahující stejné vzory. Posouzení podobnosti je problematické, protože je velmi subjektivní a každý jedinec může vyhodnotit podobnost zcela odlišně.[34] Tento problém dobře znázorňuje Ilustrace 10, kde vyhledávač Google vrací seznam vizuálně podobných obrázků pro zadaný obrázek obsahující dětské kolo. Ani jeden z nabídnutých obrázků neobsahuje vyhledávaný objekt, přesto všechny nesou vizuálně podobné znaky v podobě zeleného travnatého pozadí.15 Z těchto důvodů může být žádoucí za pomoci strojového učení vytvořit personalizovaný model uzpůsobený záměrům konkrétního návštěvníka. Upřednostňované znaky mohou být odhadnuty podle shodných vlastností několika posledních produktů, které si prohlížel. 15 Nutno dodat, že v Google lze dosáhnout lepšího výsledku kombinováním zdrojového obrázku a klíčového slova dětské kolo. Potom výsledky budou obsahovat dětská kola na zeleném travnatém pozadí. 36

43 Například u zákazníka vybírajícího míč v obchodě s hračkami může na základě historie prohlížených položek algoritmus strojového učení vyhodnotit jako pro něj rozhodující kritérium barevnost a nabídnout mu seznam pravděpodobně pro něj zajímavých položek. U jiného bude hlavním kritériem konkrétní vzor, kterým je třeba jeho oblíbená kreslená postavička. Zaznamenávat všechna potenciální kritéria ručně by představovalo tak velké nároky na administrativu, že to lze u velkého sortimentu považovat za prakticky neproveditelné. Navíc umělá inteligence je schopna odhalit i podobnosti, které nejsou na první pohled zřejmé nebo prostě jen lidskou obsluhu ve chvíli zadávání dat nenapadly. Sémantické porovnání obrázků je nelehlý úkol, při kterém je nutné se vypořádat s mnoha technickými problémy. I původně identické obrázky mohou být vinou dalšího zpracování pozměněny (změna rozlišení, komprese, barevnosti). Jakmile dva obrázky obsahují fotografie téhož objektu z jiného úhlu, zvětšení nebo třeba osvětlení, přes sémantickou identičnost může obraz nést naprosto odlišné popisné znaky. A platí to i naopak: fotografie s odlišnými objekty nacházejícími se v podobném prostředí se budou v mnoha ohledech podobat[30], jak zachycuje Ilustrace Předpověď chování návštěvníka webu Na základě podobnosti pohybu na webových stránkách (sled, strávený čas,...) aktuálního návštěvníka s historickými daty lze odhadovat jeho pravděpodobný cíl, případně pravděpodobný konečný stav návštěvy (nákup, kontakt, odchod). Při zapojení více vstupních údajů lze předpovídat další vlastnosti. Pro vyhodnocení pohybu na webu se zdají být vhodné absorpční (Markovovy) řetězce, kde stavy reprezentují jednotlivé stránky webu a přechody mezi nimi jsou ohodnocené pravděpodobností takového přechodu. Absorpční stavy pak představují sledované konverzní cíle (košík, kontaktní formulář) nebo pro analýzu jinak relevantní stránky. Stavy také mohou představovat seskupení více stránek, například detaily všech produktů mohou být jedním stavem a jiným výpisy produktů v libovolné kategorii, případně stránky produktů seskupené tématicky (stav tvořený detaily všech cestopisů a jiný stav tvořený detaily všech prodávaných knih o vaření). Takto vytvořený grafický model sám o sobě poslouží pro získání statisticky zajímavých údajů[35]. 37

44 Příklady informací odvozených z charakteristik absorpčních řetězců: Střední doba přechodu procesu započatého příchodem z reklamní upoutávky měřená proti skupině stránek se seznamem produktů (představující transientní stavy) jako informace o tom, jak přesně daná kampaň směruje získané návštěvníky k cíli. Střední doba strávená v transientních stavech vypovídá o tom, odkud návštěvníkům trvá nejdéle nebo naopak nejméně kroků, než zkonvertují nebo odejdou. Takový údaj může avizovat, kde je vhodné zkrátit proces objednání. Pravděpodobnost přechodu do absorpčních stavů napoví, které vstupní stránky (seskupení) mají nejlepší nebo nejhorší konverzní poměr. Takový údaj může být použit pro volbu, kam směrovat odkazy při inzerci. Pravděpodobnost přechodu z nějakého transientního stavu do absorpčního v zadaném čase je charakteristika, která srovnáním různých transientních stavů vypovídá o přehlednosti nebo přesvědčivosti jimi představovaných stránek. Zodpoví otázky, zda odněkud návštěvník nebloudí moc dlouho nebo o něj zbytečně provozovatel webu nepřichází. Pro proces strojového učení může vhodně sestavený absorpční řetězec představovat zdroj dat. Například při úpravách webových stránek může klasifikátor využívající vektor charakteristik automaticky detekovat vznik případného problému. Pro tento účel musí být změny zaznamenávány včetně aktuálních charakteristik před jejich nasazením a pomocí nějakého kritéria ohodnoceny. Jiné scénáře se mohou zaměřovat na klasifikaci návštěvníka nebo identifikaci jeho cílů a na zjištěné výsledky vhodně reagovat. Pokud by v každém návštěvníkem prodělaném stavu bylo vyhodnoceno jeho vlastní chování, může posloužit pro hledání podobnosti mezi ním a jinými návštěvníky. Tento způsob je vhodný i pro detekci robotů, kdy vysoká míra odchylek od obvyklého chování poslouží pro klasifikátor jako alternativa k učení se chování charakteristického pro roboty. 38

45 5 Popis implementace V předchozích kapitolách byly popsány algoritmy strojového učení a scénáře jejich aplikace na vybrané problémy z oblasti e-komerce. Tato kapitola si klade za cíl přetavit nabyté teoretické znalosti do schopnosti implementovat strojové učení jako řešení reálných problémů. Obdobně jako v jiných odvětvích vývoje software i pro strojové učení existují nástroje a knihovny usnadňující implementaci. Pro praktické využití není tedy nutná detailní znalost každého použitého algoritmu, spíše se upotřebí všeobecný teoretický přehled a znalost nástrojů, jež jsou pro konkrétní úlohu k dispozici. 5.1 Nástroje Pro implementaci ukázkových příkladů byly zvažovány tyto nástroje: Java-ML Weka Apache Mahout Mallet BoofCV Commons Math Při výběru byla posuzována náročnost nasazení v kombinaci s jazykem Java (autorem subjektivně upřednostňovaným) a svobodná licence. Svobodné licence neznamenají automaticky bezproblémové použití, proto především před komerčním využitím je nutné ověřit, zda licence nástrojů neklade na jimi vytvořené dílo své vlastní požadavky16. K dispozici jsou i další nástroje a knihovny pro oblast strojového učení, které mohou být pro některé reálné úlohy vhodnější volbou. Příkladem stojícím za zmínku je framework českého původu Gensim ( specializující se na zpracování přirozeného jazyka. 16 Například svobodná licence GPL je relativně invazivní a pro proprietární software určený k dalšímu šíření mohou být její požadavky na odvozená díla neakceptovatelné nebo dokonce nepřijatelné pro licenční konflikt s jinými částmi aplikace. Někdy je tento fakt součástí obchodní politiky autorů, kteří duálně k produktu nabízejí i komerční licence. 39

46 5.1.1 Apache Mahout Framework Apache Mahout ( je zaměřen primárně na aplikace strojového učení v prostředí výpočetních clusterů. Je postaven nad projektem Apache Hadoop ( který poskytuje spolehlivý ekosystém pro škálovatelné a distribuované výpočty. V současnosti podporuje čtyři základní případy použití: 1. Návrhy doporučení (recommendation mining): doporučení položek na základě předchozího chování uživatele. 2. Shlukování (clustering): vytváření skupin dokumentů, které jsou tematicky podobné. 3. Klasifikace (classification): automatické přiřazení dokumentu do tematicky odpovídající kategorie. 4. Hledání společného výskytu (frequent itemset mining): identifikace položek, které se vyskytují často společně Weka17 Framework Weka je zaměřen na dolování dat a pro tento účel má implementovánu podporu pro všechny obvyklé typové úlohy a běžně používané algoritmy. Disponuje grafickým uživatelským rozhraním, ze kterého umožňuje vizuálně měnit typ úlohy, použitý algoritmus nebo parametry úloh. Obsahuje generátory dat pro testování, filtry pro předzpracování dat z různých zdrojů a umí výsledky vizualizovat pomocí grafů. Tyto vlastnosti ho proto favorizují pro výukové potřeby a ručně prováděnou analýzu dat. Současně lze nástroj ovládat příkazy v terminálu nebo použít jako knihovnu umožňující algoritmy volat z vlastního zdrojového kódu. Framework nabízí několik samostatných grafických rozhraní: Weka KnowledgeExplorer KnowledgeFlow Weka Experimenter Weka KnowledgeExplorer slouží pro zkoumání dat a snadnou aplikaci všech nástrojů dostupných ve frameworku. Rozhraní KnowledgeFlow má podobný účel, ale je inspirované 17 Kapitola zpracována za pomoci dokumentace projektu[36] 40

47 procesním modelováním a umožňuje vizuálně modelovat sekvenci kroků, které mají být vykonány. Poslední Weka Experimenter je určen pro testování algoritmů strojového učení. Umožňuje předvolit počet iterací, kolekce dat a učících algoritmů, které na ně mají být aplikovány. Získané modely pak testovat a porovnávat jejich úspěšnost napříč algoritmy a původními i novými daty. Při použití z jazyka Java jsou základními komponentami frameworku Weka: instance představující vzorky dat filtry pro předzpracování dat učící algoritmy (klasifikátory, shlukovače) hodnotící algoritmy pro posouzení přesnosti výstupu učících algoritmů algoritmy pro výběr atributů (feature selection) Za zmínku stojí, že autoři frameworku Weka se podílí na vývoji jiného frameworku MOA. Ten má podobné vlastnosti, ale je zaměřen na streamovaná data. Protože pro něj v současnosti neexistuje stabilní verze, nebude mu věnováno více prostoru Java-ML18 Knihovna obsahuje množství algoritmů pro strojové učení a navíc umí pracovat i s některými třídami nástroje Weka. V současnosti podporuje typové úlohy klasifikace a shlukové analýzy. Základním stavebním prvkem je datový vzorek reprezentovaný třídou Instance, jednotlivé vzorky jsou seskupovány do množin představovaných třídou Dataset. Instance může mít své atributy, které jsou představované reálnými čísly, a také může volitelně mít určenou třídu, do které náleží. Všechny algoritmy obsažené v knihovně požadují na vstupu data reprezentovaná v těchto formátech. Algoritmy jsou nejenom učící, ale pokrývají širší spektrum problémů a požadavků, se kterými se lze při aplikaci metod strojového učení setkat. Takovými požadavky jsou například manipulace s daty (vytváření, ukládání, načítání, vzorkování, normalizace, diskretizace, aproximace hodnot nebo smazání neúplných vzorků) a atributy (ohodnocení, výběr) nebo porovnání instancí (vzdálenost, podobnost, korelace) atd. Třídy s algoritmy jsou 18 Kapitola zpracována z dokumentace projektu[37] 41

48 v knihovně transparentně organizovány pomocí veřejných rozhraní. Dají se tedy s minimálním zásahem do zdrojového kódu zaměňovat za jiné implementující stejné rozhraní Mallet Mallet je nástroj pro statistické zpracování přirozeného jazyka, klasifikaci dokumentů, shlukování, identifikaci témat, extrahování informací a další aplikace strojového učení pro zpracování textu.[15] Mallet lze ovládat z příkazové řádky nebo ho použít jako Java balík a programovat proti jeho Java API. Podporovány jsou tyto typy modelů[15]: generativní (pravděpodobnostní modely pro náhodná známá data) Naive Bayes Hidden Markov Models Latent Dirichlet Topic Models diskriminativní (modelují závislost neznámé proměnné y na známé x) Logistická regrese Conditional random fields (CRFs) BoofCV Knihovna BoofCV je primárně určena pro aplikace počítačového vidění. Knihovna mimo jiné obsahuje části věnované zpracování obrazu (aplikace filtrů), detekce atributů pro popisné vektory a jejich vizualizaci. Některé její schopnosti jsou specifické pro práci s kamerou a videem, jiné jsou obecně využitelné pro analýzu obrazu. Takovou obecnou funkcionalitou je detekce takzvaných zájmových bodů, kdy detekované vzory mohou posloužit i pro hledání podobností mezi bitmapami. Zájmové body jsou místa, která lze matematicky definovat a algoritmicky detekovat (roh, křivka, atd.). Detekované zájmové body musí být nějakým způsobem přepsány do vektoru. Zatímco o proces detekce se stará takzvaný detektor, o přepis se stará deskriptor. Pro detekci knihovna obsahuje povícero algoritmů, včetně algoritmů založených na dvourozměrné nebo trojrozměrné geometrii. Stejně tak je na výběr z více typů deskriptorů. Detektory a deskriptory mají odlišné vlastnosti především s ohledem na rychlost a odolnost proti změně pozice kamery Knihovna BoofCV se používá především pro počítačové vidění založené na zpracování sekvence snímků. 42

49 Například algoritmus FAST umí detekovat rohy tak, že kolem bodu zvažovaného za rohový vytvoří kruh a počítá na jeho obvodu délku souvislé řady, která je tvořena buď světlejšími nebo tmavšími pixely než středový bod[38]. Základními parametry pro rozhodování algoritmu jsou poloměr kruhu, požadovaná délka souvislé řady a minimální akceptovaný rozdíl světlosti (threshold). Princip je zobrazen na obrázku Ilustrace 11, kde kruh tvoří 16 pixelů a vyhovující souvislou řadu tvoří devět pixelů. Knihovna disponuje funkcí sledování atributů (feature tracking), kterou dokáže sledovat detekované zájmové body mezi snímky s odlišnou polohou kamery (vzdálenost, změna úhlu). Pro tuto funkcionalitu využívá metody strojového učení Apache Commons Math Jde o knihovnu pro matematické a statistické výpočty, jejíž součástí je i komponenta org.apache.commons.math3.ml pro strojové učení. V současné verzi (v3.2) obsahuje množství algoritmů využitelných pro strojové učení (genetické algoritmy, algoritmy pro regresní analýzu, shlukování). Současně ale nepodporuje iterativní metody řešení úloh, proto se nehodí na zpracování velkých objemů dat. Také se neumí sama vypořádat s případnými chybějícími daty. 43

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.

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

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY

Více

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

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Vytěžování dat Miroslav Čepek, Filip Železný Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Evropský sociální fond Praha & EU: Investujeme

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

Moderní systémy pro získávání znalostí z informací a dat

Moderní systémy pro získávání znalostí z informací a dat Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:

Více

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

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ metodický list č. 1 Dobývání znalostí z databází Cílem tohoto tematického celku je vysvětlení základních pojmů z oblasti dobývání znalostí z databází i východisek dobývání znalostí z databází inspirovaných

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

Využití metod strojového učení v bioinformatice David Hoksza

Využití metod strojového učení v bioinformatice David Hoksza Využití metod strojového učení v bioinformatice David Hoksza SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita v Praze Bioinformatika Biologické inspirace

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

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

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

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

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy Autor práce : RNDr. Ivo Beroun,CSc. Vedoucí práce: prof. RNDr. Milan Meloun, DrSc. PROFILOVÁNÍ Profilování = klasifikace a rozlišování

Více

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

Kybernetika a umělá inteligence, cvičení 10/11 Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu

Více

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

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Obsah přednášky Jaká asi bude chyba modelu na nových datech? Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich

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

Strojové učení Marta Vomlelová

Strojové učení Marta Vomlelová Strojové učení Marta Vomlelová marta@ktiml.mff.cuni.cz KTIML, S303 Literatura 1.T. Hastie, R. Tishirani, and J. Friedman. The Elements of Statistical Learning, Data Mining, Inference and Prediction. Springer

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

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

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ Metodický list č. 1 Dobývání znalostí z databází Cílem tohoto tematického celku je vysvětlení základních pojmů z oblasti dobývání znalostí z databází i východisek dobývání znalostí z databází inspirovaných

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

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

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy

EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy Ekonometrická analýza proces, skládající se z následujících fází: a) specifikace b) kvantifikace c) verifikace d) aplikace Postupné zpřesňování jednotlivých

Více

5. Umělé neuronové sítě. Neuronové sítě

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

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

Trénování sítě pomocí učení s učitelem

Trénování sítě pomocí učení s učitelem Trénování sítě pomocí učení s učitelem! předpokládá se, že máme k dispozici trénovací množinu, tj. množinu P dvojic [vstup x p, požadovaný výstup u p ]! chceme nastavit váhy a prahy sítě tak, aby výstup

Více

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat Zkouška ISR 2013 přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat 1. Rozdílné principy u induktivního a deduktivního

Více

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1 Logistická regrese Menu: QCExpert Regrese Logistická Modul Logistická regrese umožňuje analýzu dat, kdy odezva je binární, nebo frekvenční veličina vyjádřená hodnotami 0 nebo 1, případně poměry v intervalu

Více

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

Pokročilé neparametrické metody. Klára Kubošová Pokročilé neparametrické metody Klára Kubošová Pokročilé neparametrické metody Výuka 13 přednášek doplněných o praktické cvičení v SW Úvod do neparametrických metod + princip rozhodovacích stromů Klasifikační

Více

Studie webů automobilek

Studie webů automobilek Studie webů automobilek červen 2006 [manažerské shrnutí] Obsah Obsah... 1 Manažerské shrnutí... 2 Kvalita obsahu a použitelnost webu... 3 Základní nedostatky negativně ovlivňují použitelnost většiny webů...

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

SEMESTRÁLNÍ PRÁCE X. Aproximace křivek Numerické vyhlazování

SEMESTRÁLNÍ PRÁCE X. Aproximace křivek Numerické vyhlazování KATEDRA ANALYTICKÉ CHEMIE FAKULTY CHEMICKO TECHNOLOGICKÉ UNIVERSITA PARDUBICE - Licenční studium chemometrie LS96/1 SEMESTRÁLNÍ PRÁCE X. Aproximace křivek Numerické vyhlazování Praha, leden 1999 0 Úloha

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

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

AVDAT Mnohorozměrné metody, metody klasifikace

AVDAT Mnohorozměrné metody, metody klasifikace AVDAT Mnohorozměrné metody, metody klasifikace Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Mnohorozměrné metody Regrese jedna náhodná veličina je vysvětlována pomocí jiných

Více

Klasifikace a rozpoznávání. Lineární klasifikátory

Klasifikace a rozpoznávání. Lineární klasifikátory Klasifikace a rozpoznávání Lineární klasifikátory Opakování - Skalární součin x = x1 x 2 w = w T x = w 1 w 2 x 1 x 2 w1 w 2 = w 1 x 1 + w 2 x 2 x. w w T x w Lineární klasifikátor y(x) = w T x + w 0 Vyber

Více

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Zpětnovazební učení Michaela Walterová Jednoocí slepým, Zpětnovazební učení Michaela Walterová Jednoocí slepým, 17. 4. 2019 V minulých dílech jste viděli Tři paradigmata strojového učení: 1) Učení s učitelem (supervised learning) Trénovací data: vstup a požadovaný

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

Učící se klasifikátory obrazu v průmyslu

Učící se klasifikátory obrazu v průmyslu Učící se klasifikátory obrazu v průmyslu FCC průmyslové systémy s.r.o. FCC průmyslové systémy je technicko obchodní společností, působící v oblasti průmyslové automatizace. Tvoří ji dvě základní divize:

Více

Pokročilé operace s obrazem

Pokročilé operace s obrazem Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání

Více

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vytěžování Dat Přednáška 12 Kombinování modelů Miroslav Čepek Pavel Kordík a Jan Černý (FIT) Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL)

Více

Automatické vyhledávání informace a znalosti v elektronických textových datech

Automatické vyhledávání informace a znalosti v elektronických textových datech Automatické vyhledávání informace a znalosti v elektronických textových datech Jan Žižka Ústav informatiky & SoNet RC PEF, Mendelova universita Brno (Text Mining) Data, informace, znalost Elektronická

Více

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení 2 Zpracování naměřených dat Důležitou součástí každé experimentální práce je statistické zpracování naměřených dat. V této krátké kapitole se budeme věnovat určení intervalů spolehlivosti získaných výsledků

Více

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů Strukturální regresní modely určitý nadhled nad rozličnými typy modelů Jde zlepšit odhad k-nn? Odhad k-nn konverguje pro slušné k očekávané hodnotě. ALE POMALU! Jiné přístupy přidají předpoklad o funkci

Více

POLYNOMICKÁ REGRESE. Jedná se o regresní model, který je lineární v parametrech, ale popisuje nelineární závislost mezi proměnnými.

POLYNOMICKÁ REGRESE. Jedná se o regresní model, který je lineární v parametrech, ale popisuje nelineární závislost mezi proměnnými. POLYNOMICKÁ REGRESE Jedná se o regresní model, který je lineární v parametrech, ale popisuje nelineární závislost mezi proměnnými. y = b 0 + b 1 x + b 2 x 2 + + b n x n kde b i jsou neznámé parametry,

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

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

Korelační a regresní analýza

Korelační a regresní analýza Korelační a regresní analýza Analýza závislosti v normálním rozdělení Pearsonův (výběrový) korelační koeficient: r = s XY s X s Y, kde s XY = 1 n (x n 1 i=0 i x )(y i y ), s X (s Y ) je výběrová směrodatná

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

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner Vysoká škola ekonomická v Praze Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner Dobývání znalostí z databází 4IZ450 XXXXXXXXXXX Přidělená data a jejich popis Data určená pro zpracování

Více

Statistika. Regresní a korelační analýza Úvod do problému. Roman Biskup

Statistika. Regresní a korelační analýza Úvod do problému. Roman Biskup Statistika Regresní a korelační analýza Úvod do problému Roman Biskup Jihočeská univerzita v Českých Budějovicích Ekonomická fakulta (Zemědělská fakulta) Katedra aplikované matematiky a informatiky 2008/2009

Více

Chyby měření 210DPSM

Chyby měření 210DPSM Chyby měření 210DPSM Jan Zatloukal Stručný přehled Zdroje a druhy chyb Systematické chyby měření Náhodné chyby měření Spojité a diskrétní náhodné veličiny Normální rozdělení a jeho vlastnosti Odhad parametrů

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

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

Ilustrační příklad odhadu LRM v SW Gretl

Ilustrační příklad odhadu LRM v SW Gretl Ilustrační příklad odhadu LRM v SW Gretl Podkladové údaje Korelační matice Odhad lineárního regresního modelu (LRM) Verifikace modelu PEF ČZU Praha Určeno pro posluchače předmětu Ekonometrie Needitovaná

Více

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

Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody Fakulta chemicko-technologická Katedra analytické chemie 3.2 Metody s latentními proměnnými a klasifikační metody Vypracoval: Ing. Tomáš Nekola Studium: licenční Datum: 21. 1. 2008 Otázka 1. Vypočtěte

Více

Detekce interakčních sil v proudu vozidel

Detekce interakčních sil v proudu vozidel Detekce interakčních sil v proudu vozidel (ANEB OBECNĚJŠÍ POHLED NA POJEM VZDÁLENOSTI V MATEMATICE) Doc. Mgr. Milan Krbálek, Ph.D. Katedra matematiky Fakulta jaderná a fyzikálně inženýrská České vysoké

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe

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

1. Číselné posloupnosti - Definice posloupnosti, základní vlastnosti, operace s posloupnostmi, limita posloupnosti, vlastnosti limit posloupností,

1. Číselné posloupnosti - Definice posloupnosti, základní vlastnosti, operace s posloupnostmi, limita posloupnosti, vlastnosti limit posloupností, KMA/SZZS1 Matematika 1. Číselné posloupnosti - Definice posloupnosti, základní vlastnosti, operace s posloupnostmi, limita posloupnosti, vlastnosti limit posloupností, operace s limitami. 2. Limita funkce

Více

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách Ústní zkouška z oboru Náročnost zkoušky je podtržena její ústní formou a komisionálním charakterem. Předmětem bakalářské zkoušky

Více

Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

Optimální rozdělující nadplocha 4. Support vector machine. Adaboost. Optimální rozdělující nadplocha. Support vector machine. Adaboost. Petr Pošík Czech Technical University in Prague Faculty of Electrical Engineering Dept. of Cybernetics Opakování Lineární diskriminační

Více

StatSoft Úvod do neuronových sítí

StatSoft Úvod do neuronových sítí StatSoft Úvod do neuronových sítí Vzhledem k vzrůstající popularitě neuronových sítí jsme se rozhodli Vám je v tomto článku představit a říci si něco o jejich využití. Co si tedy představit pod pojmem

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

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

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

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek UNIVERZITA PARDUBICE Licenční Studium Archimedes Statistické zpracování dat a informatika 4.4 Aproximace křivek a vyhlazování křivek Mgr. Jana Kubátová Endokrinologický ústav V Praze, leden 2012 Obsah

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

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í Rozhodovací stromy Doc. RNDr. Iveta Mrázová, CSc.

Více

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Algoritmy a struktury neuropočítačů ASN P4 Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Vrstevnatá struktura - vícevrstvé NN (Multilayer NN, MLNN) vstupní vrstva (input layer)

Více

Ing. Alena Šafrová Drášilová, Ph.D.

Ing. Alena Šafrová Drášilová, Ph.D. Rozhodování Ing. Alena Šafrová Drášilová, Ph.D. Rozhodování??? video Obsah typy rozhodování principy rozhodování rozhodovací fáze základní pojmy hodnotícího procesu rozhodovací podmínky rozhodování v podmínkách

Více

Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,

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

ANALÝZA A KLASIFIKACE DAT

ANALÝZA A KLASIFIKACE DAT ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc. INVESTICE Institut DO biostatistiky ROZVOJE VZDĚLÁVÁNÍ a analýz LITERATURA Holčík, J.: přednáškové prezentace Holčík, J.: Analýza a klasifikace signálů.

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

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

Úvod do zpracování signálů

Úvod do zpracování signálů 1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D. 9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Lehký úvod Digitální modely terénu jsou dnes v geoinformačních systémech

Více

Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9.

Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9. Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9. Školní rok 2013/2014 Mgr. Lenka Mateová Kapitola Téma (Učivo) Znalosti a dovednosti (výstup)

Více

Pravděpodobně skoro správné. PAC učení 1

Pravděpodobně skoro správné. PAC učení 1 Pravděpodobně skoro správné (PAC) učení PAC učení 1 Výpočetní teorie strojového učení Věta o ošklivém kačátku. Nechť E je klasifikovaná trénovací množina pro koncept K, který tvoří podmnožinu konečného

Více

Pravděpodobnost, náhoda, kostky

Pravděpodobnost, náhoda, kostky Pravděpodobnost, náhoda, kostky Radek Pelánek IV122 Výhled pravděpodobnost náhodná čísla lineární regrese detekce shluků Dnes lehce nesourodá směs úloh souvisejících s pravděpodobností připomenutí, souvislosti

Více

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

oddělení Inteligentní Datové Analýzy (IDA) Vytěžování dat Filip Železný Katedra počítačů oddělení Inteligentní Datové Analýzy (IDA) 22. září 2014 Filip Železný (ČVUT) Vytěžování dat 22. září 2014 1 / 25 Odhad rozdělení Úloha: Vstup: data D = {

Více

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB 62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup

Více

Hodnocení kvality logistických procesů

Hodnocení kvality logistických procesů Téma 5. Hodnocení kvality logistických procesů Kvalitu logistických procesů nelze vyjádřit absolutně (nelze ji měřit přímo), nýbrž relativně porovnáním Hodnoty těchto znaků někdo buď předem stanovil (norma,

Více

Numerické metody optimalizace - úvod

Numerické metody optimalizace - úvod Numerické metody optimalizace - úvod Petr Tichý 16. února 2015 1 Organizace přednášek a cvičení 13 přednášek a cvičení. Zápočet: úloha programování a testování úloh v Matlabu. Další informace na blogu

Více

Měření dat Filtrace dat, Kalmanův filtr

Měření dat Filtrace dat, Kalmanův filtr Měření dat Filtrace dat, Matematické metody pro ITS (11MAMY) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 3. přednáška 11MAMY čtvrtek 28. února 2018 verze: 2018-03-21 16:45 Obsah

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

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr.

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr. Analýza dat pro Neurovědy RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr. Jaro 2014 Institut biostatistiky Janoušová, a analýz Dušek: Analýza dat pro neurovědy Blok 7 Jak hodnotit vztah spojitých proměnných

Více

Neuronové sítě (11. přednáška)

Neuronové sítě (11. přednáška) Neuronové sítě (11. přednáška) Machine Learning Naučit stroje se učit O co jde? Máme model výpočtu (t.j. výpočetní postup jednoznačně daný vstupy a nějakými parametry), chceme najít vhodné nastavení parametrů,

Více

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Téma 2: Pravděpodobnostní vyjádření náhodných veličin 0.05 0.0 0.05 0.0 0.005 Nominální napětí v pásnici Std Mean 40 60 80 00 0 40 60 Std Téma : Pravděpodobnostní vyjádření náhodných veličin Přednáška z předmětu: Spolehlivost a bezpečnost staveb 4. ročník

Více

Aplikace obrazové fúze pro hledání vad

Aplikace obrazové fúze pro hledání vad Marek Vajgl, Irina Perfilieva, Petr Hurtík, Petra Hoďáková Národní superpočítačové centrum IT4Innovations Divize Ostravské univerzity Ústav pro výzkum a aplikaci fuzzy modelování Ostrava, Česká republika

Více

Univerzita Pardubice. Fakulta chemicko-technologická Katedra analytické chemie. Licenční studium Statistické zpracování dat

Univerzita Pardubice. Fakulta chemicko-technologická Katedra analytické chemie. Licenční studium Statistické zpracování dat Univerzita Pardubice Fakulta chemicko-technologická Katedra analytické chemie Licenční studium Statistické zpracování dat Semestrální práce Interpolace, aproximace a spline 2007 Jindřich Freisleben Obsah

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Jasové transformace. Karel Horák. Rozvrh přednášky:

Jasové transformace. Karel Horák. Rozvrh přednášky: 1 / 23 Jasové transformace Karel Horák Rozvrh přednášky: 1. Úvod. 2. Histogram obrazu. 3. Globální jasová transformace. 4. Lokální jasová transformace. 5. Bodová jasová transformace. 2 / 23 Jasové transformace

Více

Algoritmy a struktury neuropočítačů ASN - P11

Algoritmy a struktury neuropočítačů ASN - P11 Aplikace UNS při rozpoznání obrazů Základní úloha segmentace obrazu rozdělení obrazu do několika významných oblastí klasifikační úloha, clusterová analýza target Metody Kohonenova metoda KSOM Kohonenova

Více

Popisná statistika kvantitativní veličiny

Popisná statistika kvantitativní veličiny StatSoft Popisná statistika kvantitativní veličiny Protože nám surová data obvykle žádnou smysluplnou informaci neposkytnou, je žádoucí vyjádřit tyto ve zhuštěnější formě. V předchozím dílu jsme začali

Více

Algoritmy a struktury neuropočítačů ASN P3

Algoritmy a struktury neuropočítačů ASN P3 Algoritmy a struktury neuropočítačů ASN P3 SOM algoritmus s učitelem i bez učitele U-matice Vektorová kvantizace Samoorganizující se mapy ( Self-Organizing Maps ) PROČ? Základní myšlenka: analogie s činností

Více