Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky 1 MI-ADM – Algoritmy data miningu (2010/2011) Přednáška.

Podobné prezentace


Prezentace na téma: "České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky 1 MI-ADM – Algoritmy data miningu (2010/2011) Přednáška."— Transkript prezentace:

1 České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky 1 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

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

3  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

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

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

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

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

8 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) Klasifikační model origin (America, Europe, Japan) weight disp mpg Regresní model mpg 300-800 weight disp cyl

9 Vytvoření a použití modelu  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 Klasifikační model origin (America, Europe, Japan) weight disp mpg

10 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/ http://www.theparticle.com/applets/ml/nearest_neighbor/ ?

11 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 ).  Odmocňování není nezbytně nutné, když vzdálenosti porovnáváme Euklidovská vzdálenost P a Q = Dva body v n-rozměrném prostoru:

12 Manhattonská vzdálenost  Jak budeme počítat vzdálenost dvou cyklistů v Manhattonu?

13 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 0 3,5 2 350 p q

14 Normalizace atributů  Problém vyřešíme přeškálováním (normalizací) atributů:  Původní rozsahy se transformují do nebo 0 1 0 1 p q Kde přesně je rozhodovací hranice tříd?

15 Voronoiův diagram  http://www.cs.cornell.edu/Info/People/chew/Delaunay.html http://www.cs.cornell.edu/Info/People/chew/Delaunay.html

16 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? ?

17 Klasifikace

18 Generalizace

19 Lineární klasifikátor (separátor)

20 Nelineární klasifikátor

21 1NN

22 3NN

23 9NN

24 9NN, měkké rozhodnutí (poměr mezi počtem sousedů z různých tříd)

25 31NN – měkké rozhodnutí

26 x1x1 x2x2 Přeučení x1x1 x2x2

27 Jak zjistit přeučení? 27  Rozdělit na trénovací a testovací data.  Model vygenerovat na datech trénovacích.  Chybu počítat na datech testovacích. mpg cyldisphpwgtaccyearOriginname 15 840015037619.570USchevrolet_monte_carlo 14 845522530861070USbuick_estate_wagon_(sw) 24 41139523721570JPtoyota_corona_mark_ii 22 619895283315.570USplymouth_duster 18 619997277415.570USamc_hornet 21 62008525871670USford_maverick 27 49788213014.570JPdatsun_pl510 26 49746183520.570EUvolkswagen_1131_deluxe_sedan 25 411087267217.570EUpeugeot_504 24 410790243014.570EUaudi_100_ls TRAIN TEST TRAIN TEST TRAIN TEST

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

29 Chyba modelu  Klasifikační model:  procento nesprávných předpovědí  Regresní model:  součet absolutních hodnot odchylek  součet čtverců odchylek  průměrný čtverec odchylky  odmocnina průměrného čtverce odchylky (RMSE)

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

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

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

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

34 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?

35 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

36 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

37 Najdi k nejbližších sousedů  Pro 1NN if K==1 % Loop for each query point for k=1:N d=zeros(L,1); for t=1:M d=d+(R(:,t)-Q(k,t)).^2; end [D(k),idx(k)]=min(d); end Trénovací množina Testovací instance

38 Najdi k nejbližších sousedů  kNN for k=1:N d=zeros(L,1); for t=1:M d=d+(R(:,t)-Q(k,t)).^2; end [s,t]=sort(d); idx(k,:)=t(1:K); D(k,:)=s(1:K); end Trénovací množina Testovací instance Seřaď vzdálenosti s – vzdálenosti, t - indexy

39 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

40 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

41 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í indexy_nejblizsich_sousedu 3NN classesCount 1230 class= oklasifikovana_testovaci_data

42 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

43 K-NN pro regresi  Jak byste použili k-NN pro regresi (pro predikci spojité veličiny)? cyldispwgtmpg 21800200035 21900250030 41800150033 42400220025 62000250016 cyldispwgtmpg 420002800????

44 K-NN regrese  Demostrace

45 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

46 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

47 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


Stáhnout ppt "České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky 1 MI-ADM – Algoritmy data miningu (2010/2011) Přednáška."

Podobné prezentace


Reklamy Google