Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilSára Brožová
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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.