Č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.

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

Výpočet zásoby porostu na zkusných plochách při požadované přesnosti
Dynamické systémy.
Algoritmy a struktury meuropočítačů ASN – C2
PA081 Programování numerických výpočtů Přednáška 2.
Problematika a metody zpracování biomed. dat z pohledu jejich klasifikace Marcel Jiřina.
Automatická fonetická segmentace pomocí UNS Registr - 36 neuronových sítí MLNN (pro každou českou hlásku jedna UNS) Trénovací množina: databáze promluv.
Topologie neuronových sítí (struktura, geometrie, architektura)
ASN - cvičení 2 : Ukázky práce s NN-Toolboxem
Téma 3 Metody řešení stěn, metoda sítí.
Plošná interpolace (aproximace)
Lineární regresní analýza Úvod od problému
Statistika schématicky Tomáš Mrkvička. Základy znáte Konfidenční intervaly Porovnání 2 či více výběrů Regresní modely Základy časových řad.
Algoritmy I Cvičení č. 4.
Automated data mining Ing. Jan Černý Czech Technical University in Prague Faculty of Information Technology.
Strojové učení I (Mitchell93) učicí množina příkladů hledáme generalizaci učicí množiny ověřujeme na testovací množině pokrytí, přesnost, F-kriterium.
Memory-based Learning Učení založené na paměti (výtah z přednášky Waltera Daelemanse, GSLT, Göteborg 2003) + TiMBL -ukázka použití programu Jiří Mírovský,
Návrh modelů Jan Brůha IREAS. Návrh otázek a modelů Jaký vliv měla podpora z ESF v OP LZZ 1.1 na obrat / zisk a zaměstnanost firem? – Jde o srovnání mezi.
Diskrétní rozdělení a jejich použití
ANALÝZA VZTAHU DVOU SPOJITÝCH VELIČIN
Neuronové sítě Jakub Krátký.
Získávání informací Získání informací o reálném systému
1 Hodnocení geologických dat pomocí matematické statistiky Petr Čoupek 740/742/ IT spec.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Testování hypotéz (ordinální data)
Pravděpodobnost a statistika opakování základních pojmů
Shlukovací algoritmy založené na vzorkování
Shluková analýza.
Matematická teorie rozhodování
Gis pro krajinné ekology
Jazyk vývojových diagramů
Časová složitost algoritmů, řazení a vyhledávání
Podnikové informační systémy C7 – Data Mining a získávání znalostí České vysoké učení technické v Praze Fakulta strojní ústav Řízení a ekonomiky podniku.
Lineární regrese.
 BA_EM Electronic Marketing Pavel Agenda  Efektivní data mining jako zdroj relevantních dat o potřebách zákazníků.
Shluková analýza.
Matematické metody v ekonomice a řízení II 4. Metoda PERT
Lineární regrese.
Klasifikace klasifikace: matematická metoda, kdy vstupní objekty X(i) jsou rozřazovány do tříd podle podobnosti metody klasifikace bez učitele: podoba.
Dolce: Databáze lokálních konformací DNA
Modely uživatelských preferencí. Obsah Jak se vyjadřují preference Modely preferencí a jejich učení Model založený na atributech Kolaborativní filtrování.
AKD VII.
Fitování Konstrukce křivky (funkce), která co nejlépe odpovídá naměřeným hodnotám. - může podléhat dodatečným podmínkám Lineární vs. nelineární regrese.
Aplikace Machine Learning v Image Processing Irena Váňová.
1. lekce SM 315 Statistika v SAS a víceúrovňové lineární modely.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
R - příklady Jan Knotek. I. Play or Not To Play OutlookTemp.HumidityWindyPlay sunnyhothighfalseno sunnyhothightrueno overcasthothighfalseyes rainymildhighfalseyes.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Přenos nejistoty Náhodná veličina y, která je funkcí náhodných proměnných xi: xi se řídí rozděleními pi(xi) → můžeme najít jejich střední hodnoty mi a.
IV..
REGRESNÍ ANALÝZA Vysoká škola technická a ekonomická v Českých Budějovicích Institute of Technology And Business In České Budějovice.
České vysoké učení technické v Praze Fakulta dopravní Ústav dopravní telematiky Geografické informační systémy Doc. Ing. Pavel Hrubeš, Ph.D.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Analýza a interaktivní reporting nad medicinským kurikulem
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
Interpolace funkčních závislostí
Ing. Athanasios Podaras, Ph.D
Dobývání znalostí z databází dolování dat
Informační systémy Business Inteligence
Databázové systémy přednáška 13 – Analýza a reporting
4. cvičení
Úvod do praktické fyziky
Metody strojového učení
Z8119 Vyhledávání znalostí v prostorových datech
Geografické informační systémy
Metodologie pro ISK 2 Kontrola dat Popis kategorizovaných dat
Pokročilé neparametrické metody Validační techniky
Interpolace funkčních závislostí
Základy statistiky.
Transkript prezentace:

Č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

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

 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

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 Dnešní přednáška  Model  Metoda K- nejbližších sousedů  Plasticita modelu  Hodnocení modelu  Regularizace

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

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

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 weight disp cyl

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

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

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) > 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:

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

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, p q

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

Voronoiův diagram 

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

Generalizace

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

Nelineární klasifikátor

1NN

3NN

9NN

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

31NN – měkké rozhodnutí

x1x1 x2x2 Přeučení x1x1 x2x2

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 USchevrolet_monte_carlo USbuick_estate_wagon_(sw) JPtoyota_corona_mark_ii USplymouth_duster USamc_hornet USford_maverick JPdatsun_pl EUvolkswagen_1131_deluxe_sedan EUpeugeot_ EUaudi_100_ls TRAIN TEST TRAIN TEST TRAIN TEST

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

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)

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-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'});

Normalizace dat  auta_norm = 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); 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

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

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

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

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)? cyldispwgtmpg cyldispwgtmpg ????

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