Přednáška 2: Model, hodnocení modelu, metoda K nejbližších sousedů

Podobné dokumenty
Vytěžování znalostí z dat

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

Vytěžování znalostí z 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

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

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

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

NG C Implementace plně rekurentní

Lineární diskriminační funkce. Perceptronový algoritmus.

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

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

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

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

Vytěžování znalostí z dat

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

Metody založené na analogii

Lineární klasifikátory

Státnice odborné č. 20

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

Instance based learning

Dobývání a vizualizace znalostí. Olga Štěpánková et al.

Získávání znalostí z dat

Strojové učení Marta Vomlelová

Umělé neuronové sítě

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

MATLAB: Vývoj a nasazení finančních aplikací

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

Získávání dat z databází 1 DMINA 2010

Dobývání a vizualizace znalostí

Vytěžování znalostí z dat

Dobývání a vizualizace znalostí

INTRODUCTION TO MACHINE LEARNING (NPFL054) A template for Homework #2

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

Vytěžování znalostí z dat

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

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

Vytěžování znalostí z dat

PROČ UŽ SE NEOBEJDETE BEZ ANALÝZY DAT

StatSoft Úvod do neuronových sítí

RELATIONAL DATA ANALYSIS

IBM SPSS Decision Trees

Klasifikační metody pro genetická data: regularizace a robustnost

MODELOVÁNÍ BONITY OBCÍ POMOCÍ KOHONENOVÝCH SAMOORGANIZUJÍCÍCH SE MAP A LVQ NEURONOVÝCH SÍTÍ

1. Data mining. Strojové učení. Základní úlohy.

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

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

5. Umělé neuronové sítě. neuronové sítě. Umělé Ondřej Valenta, Václav Matoušek. 5-1 Umělá inteligence a rozpoznávání, LS 2015

Předzpracování dat. Lenka Vysloužilová

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

Vytěžování znalostí z dat

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

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Dobývání a vizualizace znalostí

Klasifikace a rozpoznávání

Odhady Parametrů Lineární Regrese

Vytěžování znalostí z dat

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

Rozpoznávání v obraze

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

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

Vytěžování znalostí z dat

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ

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

Úvod do optimalizace, metody hladké optimalizace

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

Analytické procedury v systému LISp-Miner

8-9. Pravděpodobnostní rozhodování a predikce. Gerstnerova laboratoř katedra kybernetiky fakulta elektrotechnická ČVUT v Praze

Karta předmětu prezenční studium

Lukáš Brodský Praha Osnova. Objektový přístup Verze 4, 5, 6 / 7 Developer7 -funkčnost, nové vlastnosti HW

Vytěžování znalostí z dat

Přednáška 13 Redukce dimenzionality

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

Neuronové sítě Ladislav Horký Karel Břinda

Strojové učení se zaměřením na vliv vstupních dat

Support Vector Machines (jemný úvod)

Velmi stručný úvod do použití systému WEKA pro Data Mining (Jan Žižka, ÚI PEF)

Prostorová variabilita

KA 3 Metodické podněty k aplikacím těžení dat a vyhledávání textů

AVDAT Mnohorozměrné metody, metody klasifikace

Katedra kybernetiky, FEL, ČVUT v Praze.

8. Strojové učení. Strojové učení. 16. prosince Václav Matoušek. 8-1 Úvod do znalostního inženýrství, ZS 2014/15

Strojové učení Marta Vomlelová

Brno. Datová analytika. Machine Learning a Big Data. Jan Studnička

Některé potíže s klasifikačními modely v praxi. Nikola Kaspříková KMAT FIS VŠE v Praze

Testování modelů a jejich výsledků. Jak moc můžeme věřit tomu, co jsme se naučili?

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

Swarm Intelligence. Moderní metody optimalizace 1

Výpočet na gridu a LM TaskPooler

O kurzu MSTU Témata probíraná v MSTU

ANALÝZA A KLASIFIKACE DAT

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

Algoritmy a struktury neuropočítačů ASN - P2. Topologie neuronových sítí, principy učení Samoorganizující se neuronové sítě Kohonenovy mapy

MĚŘENÍ STATISTICKÝCH ZÁVISLOSTÍ

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

LDA, logistická regrese

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

Vytěžování dat přednáška I

GRR. získávání znalostí v geografických datech Autoři. Knowledge Discovery Group Faculty of Informatics Masaryk Univerzity Brno, Czech Republic

Marta Vomlelová

Algoritmy pro shlukování prostorových dat

Transkript:

České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-ADM Algoritmy data miningu (2010/2011) Přednáška 2: Model, hodnocení modelu, metoda K nejbližších sousedů Pavel Kordík, FIT, Czech Technical University in Prague 1

CRISP-DM: Phases and tasks MI-KDD MI-PDD MI-ROZ, MI-MVI MI-KDD Business Understanding Data Understanding Data Preparation Modeling Evaluation Deployment Determine Business Objectives Collect Initial Data Select Data Select Modeling Technique Evaluate Results Plan Deployment Assess Situation Describe Data Clean Data Generate Test Design Review Process Plan Monitering & Maintenance Determine Data Mining Goals Explore Data Construct Data Build Model Determine Next Steps Produce Final Report Produce Project Plan Verify Data Quality Integrate Data Assess Model Review Project Format Data MI-ADM Kordik, Holena CTU Prague, FIT, MI-ADM 2

MI-ADM Nahrazuje bakalářský předmět BI-VZD Větší důraz na porozumění data miningu jak z algoritmického, tak teoretického pohledu Částečný překryv s MI-ROZ, ale podáno z jiné perspektivy Je přípravou na předmět MI-MVI MI-MVI Metody výpočetní inteligence 3

Metody výpočetní inteligence Computational Intelligence Methods Artificial Neural Networks Fuzzy Logic Evolutionary Computing Machine Learning HYBRID METHODS 1. Adaptive Resonance Theory 2. Back Propagation Learning 3. Hopfield s Associative Memory 4. Kohonen s Self Organizing Maps 5. Pulsed Neural Networks 6. Radial Basis Functions 7. Real Time Recurrent Learning 1. Divide and Conquer Methods Decision trees, production rules 2. Instance Based Learning Nearest neighbor, case based reasoning 3. Reinforcement Learning 4. Statistical Methods Bayesian, Monte Carlo etc 5. Support Vector Machines SVM, kernel methods, PCA, ICA

Dnešní přednáška Model Metoda K- nejbližších sousedů Plasticita modelu Hodnocení modelu Regularizace 5

Modely v data miningu Rozdělení modelů dle funkce Popisné (descriptive) Klasifikace Predikční (predictive) Regrese, predikce budoucí hodnoty Shlukování a segmentace Souhrny Analýza vztahů a závislostí Analýza časových řad

Přehled metod generujících modely Klasifikace Funkce Regrese a predikce budoucí hodnoty Analýza časových řad Analýza vztahů a závislostí Popis dat, souhrny Shlukování a segmentace Metody Linear separation, Rule induction methods, Decision trees, Neural networks, SVM, nearest neighbours, Case based reasoning Linear, polynomial, logistic regression, Regression trees, Neural networks, nearest neighbours Autoregression, Moving averages, Regression trees, neural networks, SVM Association rules, Correlation analysis, Regression analysis, Bayesian networks, Inductive logic programming Statistical techniques, OLAP K-nearest neighbour, Agglomerative clustering, Neural networks, Visualization methods

Klasifikace a regrese Klasifikační i regresní model: y = f(x) Klasifikace: y je nominální (název třídy) Regrese: y je spojitá veličina (teplota, výška) mpg disp weight Klasifikační model origin (America, Europe, Japan) cyl disp weight Regresní model mpg 300-800

Vytvoření a použití modelu mpg disp weight Klasifikační model origin (America, Europe, Japan) 2 fáze Fáze učení, trénování Model je vygenerován, upravuje se vnitřní struktura, parametry Fáze použití, vybavování Model je použit, vypočítá se výstup, model to neovlivní 9

1NN nejbližší soused Trénování generování modelu Ulož trénovací data Klasifikace použití modelu Najdi nejbližšího souseda a klasifikuj stejnou třídou? http://www.theparticle.com/applets/ml/nearest_neighbor/

Metrika, Euklidovská vzdálenost Je třeba nějak určit podobnost vzorů jejich vzdálenost Vzdálenost musí splňovat určité podmínky: 1. d(x,y) > 0. 2. d(x,y) = 0 iff x = y. 3. d(x,y) = d(y,x). 4. d(x,y) < d(x,z) + d(z,y) (trojúhelníková nerovnost ). Dva body v n-rozměrném prostoru: Euklidovská vzdálenost P a Q = Odmocňování není nezbytně nutné, když vzdálenosti porovnáváme

Manhattonská vzdálenost Jak budeme počítat vzdálenost dvou cyklistů v Manhattonu? M ( P, Q) = p1 q1 + p2 q2 +... + p n qn

Váha atributů Problém různé rozsahy vzdáleností Při určování euklidovské vzdálenosti mají atributy různou váhu např. p je 100x důležitější než q 3,5 q 0 p 2 350

Normalizace atributů Problém vyřešíme přeškálováním (normalizací) atributů: a i = vi min vi maxv min v i Původní rozsahy se transformují do <0,1> i nebo a i = vi Avg( vi ) StDev( v ) i 1 q Kde přesně je rozhodovací hranice tříd? 0 0 1 p

Voronoiův diagram http://www.cs.cornell.edu/info/people/chew/delaunay.html

knn k nejbližších sousedů Klasifikace Najdi k nejbližších sousedů a klasifikuj majoritní třídou Příklad 3NN klasifikace:? Jak zvolit optimální k?

Klasifikace 80 70 60 50 40 30 20 20 30 40 50 60 70 80

Generalizace 80 70 60 50 40 30 20 20 30 40 50 60 70 80

Lineární klasifikátor (separátor) 80 70 60 50 40 30 20 20 30 40 50 60 70 80

Nelineární klasifikátor 80 70 60 50 40 30 20 20 30 40 50 60 70 80

1NN 90 80 70 60 50 40 30 20 20 30 40 50 60 70 80

3NN 90 80 70 60 50 40 30 20 20 30 40 50 60 70 80

9NN 90 80 70 60 50 40 30 20 20 30 40 50 60 70 80

9NN, měkké rozhodnutí (poměr mezi počtem sousedů z různých tříd) 90 80 70 60 50 40 30 20 20 30 40 50 60 70 80

31NN měkké rozhodnutí 90 80 70 60 50 40 30 20 20 30 40 50 60 70 80

Přeučení x 2 x 2 x 1 x 1

Jak zjistit přeučení? Rozdělit na trénovací a testovací data. Model vygenerovat na datech trénovacích. Chybu počítat na datech testovacích. mpg cyl disp hp wgt acc year Origin name 15 8 400 150 3761 9.5 70 US chevrolet_monte_carlo TRAIN 14 8 455 225 3086 10 70 US buick_estate_wagon_(sw) TEST 24 4 113 95 2372 15 70 JP toyota_corona_mark_ii TRAIN 22 6 198 95 2833 15.5 70 US plymouth_duster TRAIN 18 6 199 97 2774 15.5 70 US amc_hornet TEST 21 6 200 85 2587 16 70 US ford_maverick TRAIN 27 4 97 88 2130 14.5 70 JP datsun_pl510 TRAIN 26 4 97 46 1835 20.5 70 EU volkswagen_1131_deluxe_sed TRAIN 25 4 110 87 2672 17.5 70 EU peugeot_504 24 4 107 90 2430 14.5 70 EU audi_100_ls TEST TEST 27

Učení a evaluace modelu Vstupy Výstup Trénovací Učení, trénování modelu Model Test. Model Predikce, použití modelu Odhady modelu Výpočet chyby modelu Chyba na testovacích datech

Chyba modelu Klasifikační model: procento nesprávných předpovědí Regresní model: součet absolutních hodnot odchylek součet čtverců odchylek err = yi f ( xi ) i = i i ( ( )) 2 err y f x err = 1 průměrný čtverec odchylky yi f ( xi ) N i odmocnina průměrného čtverce odchylky (RMSE) RMSE = 1 yi f ( xi ) N i ( ) 2 ( ) 2 i

Rozhodovací hranice pro různá K Viz. demostrační interaktivní program (autor Petr Pošík)

Načtení dat V dnešním cvičení budeme opět používat databázi aut. Načtěte soubor auto-mpg.data-modnames.csv do objektu dataset a definujte jména jednotlivých atributů auta = dataset('file', 'auto-mpg.data-modnames.csv',... 'ReadVarNames', false, 'ReadObsNames', false,... 'delimiter', ',',... 'VarNames', {'mpg', 'cyl', 'disp',... 'hp', 'wgt', 'acc', 'year', 'org', 'name'});

Normalizace dat auta_norm = datasetfun( @minmax, auta(:,1:5), 'UniformOutput', false ); auta_norm = [auta_norm{:}]; auta = replacedata( auta, auta_norm, 1:5);

Rozdělení dat I První polovinu datasetu použijeme pro trénování. Druhou polovinu pro testování. Jak to udělat?

Rozdělení dat I První polovinu datasetu použijeme pro trénování. Druhou polovinu pro testování. Jak to udělat? auta_tren = auta(1:pocet_aut/2,:); auta_test = auta(pocet_aut/2+1:pocet_aut,:); Co může být problém při tomto způsobu dělení? Je trénovací a testovací množina reprezentativní podmnožinou?

Lépe: náhodné rozdělení dat Vysvětlete: function [tren, test] = rozdel_data(indata, hranice) vect = rand(1,length(indata)); velikost_trenovaci_mnoziny = hranice; testidx = find(vect > velikost_trenovaci_mnoziny); trenidx = find(vect <= velikost_trenovaci_mnoziny); tren = indata(trenidx,:); test = indata(testidx,:); end

Najdi k nejbližších sousedů Funkce pro výpočet nejbližšího souseda: [indexy_nejblizsich, vzdalenosti_k_nejblizsim] = knnsearch(testovaci mn, trenovaci mn, K) Pro všechny testovací instance vrátí pole indexů nejbližších sousedů z trénovací množiny a pole vzdáleností k nim Najděte v kódu funkce výpočet vzdálenosti

Najdi k nejbližších sousedů Pro 1NN if K==1 % Loop for each query point for k=1:n d=zeros(l,1); Testovací instance for t=1:m d=d+(r(:,t)-q(k,t)).^2; end Trénovací množina [D(k),idx(k)]=min(d); end

Najdi k nejbližších sousedů knn for k=1:n d=zeros(l,1); Testovací instance for t=1:m d=d+(r(:,t)-q(k,t)).^2; end end [s,t]=sort(d); idx(k,:)=t(1:k); D(k,:)=s(1:K); Trénovací množina Seřaď vzdálenosti s vzdálenosti, t - indexy

Klasifikuj do majoritní třídy Funkce pro klasifikaci z indexu nejbližších sousedů [oklasifikovana_testovaci_data] = classify2(indexy_nejblizsich_sousedu, klasifikace_trenovacich_dat mn, pocet_trid) trénovací testovací 3NN

Klasifikuj do majoritní třídy Funkce pro klasifikaci z indexu nejbližších sousedů [oklasifikovana_testovaci_data] = classify2(indexy_nejblizsich_sousedu, klasifikace_trenovacich_dat mn, pocet_trid) function class = classify2(nearestidxs, trainingclasses, numclasses) class = zeros(1,length(nearestidxs)); for i = 1:length(nearestIdxs) classescount = zeros(1,numclasses); for j = 1:numClasses classescount(j) = length(find(trainingclasses(i,:) == j)); end [cnt,finalclass] = max(classescount); class(i) = finalclass; end end

Klasifikuj do majoritní třídy Funkce pro klasifikaci z indexu nejbližších sousedů [oklasifikovana_testovaci_data] = classify2(indexy_nejblizsich_sousedu, klasifikace_trenovacich_dat mn, pocet_trid) trénovací testovací 3NN indexy_nejblizsich_sousedu classescount 3 0 1 2 class = oklasifikovana_testovaci_data

Křížová validace Umožňuje odhadnout testovací chybu a potřebuje k tomu jen trénovací data Slouží k výběru (vhodné struktury a parametrů) modelu

K-NN pro regresi Jak byste použili k-nn pro regresi (pro predikci spojité veličiny)? cyl disp wgt mpg 2 1800 2000 35 2 1900 2500 30 4 1800 1500 33 4 2400 2200 25 6 2000 2500 16 cyl disp wgt mpg 4 2000 2800????

K-NN regrese Demostrace

Varianty knn Příspěvek souseda je vážen vzdáleností od klasifikovaného vzoru Klasifikace pomocí etalonů vybrána vhodná podmnožina trénovací množiny

Experimenty na doma Postav 2NN klasifikátor původu aut (origin) a sleduj shodu klasifikace s originálním atributem na všech datech Porovnej chybu klasifikace na testovací množině pro 1NN a 10NN Zjisti, které K je optimální pro model mpg z ostatních atributů pomocí metody KNN Pro konkrétní auto najdi 3 jeho nejbližší sousedy

Diskuze k NN Velmi populární metody a často i velmi úspěšné Ale pomalejší vybavování Při klasifikaci musím projít celou trénovací množinu Pozor na váhy atributů Řešením je normalizace dat Důležité najít vhodné k Abychom minimalizovali chybu na testovacích datech Použitelné i pro regresní problémy