Č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 8: Induktivní modelování - algoritmy GMDH MIA, COMBI Pavel Kordík, FIT, Czech Technical University in Prague 1
Obsah Induktivní modelování Optimalizace topologie modelu konstruktivní algoritmy Jednovrstvý algoritmus COMBI GMDH Vícevrstvý iterativní algoritmus GMDH (MIA) GMDH s aktivními neurony Dvojitě vrstvená GMDH (Twice-Multilayered) GAME heuristická optimalizace topologie Kordik, CTU Prague, FIT, MI-ADM 2
GMDH Group method of Data Handling. Hlavním propagátorem ukrajinský akademik A.G. Ivachněnko, 1968 Algoritmy pro tvorbu modelů z dat Dříve se model tvořil deduktivně
Indukce x dedukce Indukce neboli úsudek je postup od jednotlivostí k obecným závěrům. Používá se např. v matematice jako metoda důkazu. Dedukce (opak indukce) spočívá v odvozování dílčího, zvláštního ze všeobecného. Induktivní modelování = model roste z dat a nepoužívá žádné další externí informace o povaze problému.
GMDH COMBI 1 - data sampling; 2 - layers of partial descriptions complexing; 3 - form of partial descriptions; 4 - choice of best models set for structure identification; 5 - additional optimal model definition by discriminating criterion. http://www.gmdh.net/ GMDH_com.htm 5
Původní GMDH = GMDH typu MIA Patří mezi parametrické sítě MIA (Multilayer Iterative Algorithm), založen na postupné indukci, roste z minimální formy, během učení se nastavují její parametry, perspektivní neurony (jednotky) přežívají, tvorba sítě ukončena, když už přidávání dalších vrstev nezlepšuje přesnost sítě.
Architektura GMDH typu MIA obecně
Neuron GMDH typu MIA 2 2 y = ai + bij + cj + di + ej + f Jednoduchý polynom 2. řádu Rozdíl oproti klasickému umělému neuronu? Je vhodný ke klasifikaci?
Další charakteristiky Síť MIA se učí s učitelem. MIA užívá jediný typ neuronů. Průběh učení: síť vzniká vrstvu po vrstvě, při učení se přidávají skryté vrstvy tak dlouho, dokud není splněno kritérium kvality výstupu. Průběh vybavování je jednoduchý, síť má jediný výstup.
Proces tvorby GMDH MIA Máme data v obvyklé formě pro každý vektor hodnot vstupních proměnných v 1,,v 5 známe výstup y (učení s učitelem). Konstruujeme síť s přenosovou funkcí f, která bude modelem systému pro každý vstupní vektor poskytne výstup blížící se y zdroj: Mueller, Lemke: kniha Self-organising Data Mining
Proces tvorby GMDH MIA zdroj: Mueller, Lemke: kniha Self-organising Data Mining Tvoříme první vrstvu. Každý neuron (jednotka) se snaží co nejlépe určit y ze dvou vstupů, ke kterým je připojen. Neurony které vygenerujeme nazveme počáteční populace. Generuje tolik neuronů, kolik je všech možných kombinací dvojic vstupů (pairwise combinations). Co když je vstupů 500?
Proces tvorby GMDH MIA Následuje proces selekce. Podle kritéria (viz dále) vybereme neurony, které ve vrstvě zachováme. Ostatní neurony zrušíme umírají. Analogie s genetickými algoritmy, ale zde je jen jedna generace. Vybrané neurony ve vrstvě zmrazíme dále už se nebudou měnit. zdroj: Mueller, Lemke: kniha Self-organising Data Mining
Proces tvorby GMDH MIA Přidáme další vrstvu. Vytvoříme počáteční populaci připojenou k neuronům předchozí vrstvy. Tyto neurony pro nás vlastně předzpracovávají data ze vstupní vrstvy. Přenosová funkce modelů se zesložiťuje Každý neuron může být připojen až ke 4 různým vstupním neuronům. Každý neuron 2. vrstvy můžeme chápat jako výstup modelu obsahujícího neurony sítě, s nimiž je spojen. zdroj: Mueller, Lemke: kniha Self-organising Data Mining
Proces tvorby GMDH MIA Opět selekce Každý neuron 2. vrstvy můžeme chápat jako výstup modelu obsahujícího neurony sítě, s nimiž je spojen. Tyto modely stejně složité spolu bojují o přežití. zdroj: Mueller, Lemke: kniha Self-organising Data Mining Pokračujeme v přidávání vrstev, dokud je to výhodné (viz dále).
Proces tvorby GMDH MIA Optimální model model y 5 vyhrál v poslední vrstvě. Všechny neurony, k nimž není připojen, jsou smazány. zdroj: Mueller, Lemke: kniha Self-organising Data Mining
Ukončení učení F = chyba nejlepšího neuronu vrstvy na validačních datech
? Otázka? Přenosová funkce neuronu 2 2 y = ai + bij + cj + di + ej + f Jakým způsobem vypočteme každému neuronu šestici koeficientů tak, aby co nejlépe modeloval y? Např. pomocí LMS
Neuron GMDH typu MIA 2 2 y = ai + bij + cj + di + ej + f Jednoduchý polynom 2. řádu y y Jak složité budou finální modely, použijeme-li například = = a a + + bi bi + cj, + cj + dij.
Selekce neuronů aktuální vrstvy Koeficienty vyhovují trénovacím datům, dramaticky ale nemusí vyhovovat jiným. Proto neurony např. seřadíme sestupně, podle dosažené RMS na validačních datech, V každé vrstvě ponecháme jen několik nejlepších.
Dají se neurony vybírat i podle jiných kritérií? Ano, existuje jich mnoho, můžeme brát v úvahu chyby na učicí, validační množině, rozptyl výstupu vůči šumu v datech, podobnost s ostatními neurony viz dále..
Kritéria výběru neuronů ve vrstvě Kritérium regularity FPE Diskriminační kritérium PSE Validační kritérium zdroj: zdroj: Mueller, Mueller, Lemke: Lemke: kniha kniha Self-organising Data Mining
Konference IWIM, Gluškovův institut v Kyjevě
Nejčastěji se používá v moderních implementacích GMDH: Kritérium regularity výstup neuronu, jehož koeficienty byly naučeny na množině A Seřadím neurony ve vrstvě podle jejich chyby na validačních datech (B). To, které neurony použiji, rozhodnu podle diskriminačního kritéria. Diskriminační kritérium očekávaný výstup průměrný výstup Chyba modelu ku rozptylu dat -> min výstup modelu
Přehled metod GMDH Vyvinuté metody respektují základní filozofii GMDH indukce, samorganizace, růst z minimální formy, regularizační kritéria. Mezi parametrické metody GMDH patří: COMBI (Combinatorial Algorithm) MIA (Multilayered Iterative Algorithm) TMNN (Twice-Multilayered Neural Nets) Jsou však i jiné varianty GMDH, třeba ty neparametrické: OCA (Objective Cluster Analysis), AC (Analog Complexing), Fuzzy (Self-Organizing Fuzzy Rule Induction).
Související algoritmy Algorithm for Syntesis of Polynomial Networks (ASPN) Polynomial Neural Networks (PNN) Induktivní tvorba dopředných neuronových sítí Cascade Correlation Networks NeuroEvolution of Augumenting Topologies Probereme v předmětu MI-MVI 25
ASPN John Edler 26
PNN Tetana Aksenova http://www.vcclab.org/lab/pnn/start.html Kordik, CTU Prague, FIT, MI-PDD 27
KnowledgeMiner Frank Lemke Kordik, CTU Prague, FIT, MI-PDD 28
Interdependent System of Equations Or: System of Self-organised Models Self-organised Interdependent System How system variables are inter-related? Structure identification What will happen if certain (external)variables are subject to changes? What-if prediction How will the entire system develop over time? Status quo prediction How the system can be described mathematically? Self-organised system of analytical or difference equations
Global System Or: System of Interdependent Systems Self-organised Global System Global economy Interdependent system of national economies Global Warming Grid of local temp, wind, rainfall, humidity... Global energy supply and demand Grid of energy sources, storages, and consumers at a time t Global security and well being Complex socioecoeconomical system
Global System Or: System of Interdependent Systems Network node: Self-organised Interdependent System Each node represents a system of equations Structure and parameter identification Real-time, high-dimensional modeling Self-detection and handling of changing network conditions (input information)
Group Adaptive Models Evolution http://fakegame.sourceforge.net/doku.php
Naše vylepšení MIA GMDH ModGMDH GAME input variables input variables input variables P P P P P C P G P L C unified units Exhaustive search P P P P P P output variable 2 inputs diversified units Non-heuristic search P P C P output variable 3 inputs interlayer connections GA+DC P C P G P P C L output variable 3 inputs max 33/67
GAME model Vstupní proměnné...... První vrstva 2. vrstva x 1 x 2... x n y i= 1 Linear unit n = a + ixi an + 1 výstupní proměnná x 1 Polynomial unit Neurony ve vrstvě šlechtíme geneticky x 2... x n y = n m r a x i j + i= 1 j= 1 a 0
Zakódování neuronů GAME model evolution Input layer 1 2 3 4 5 6 7 Frozen layer(s) Actual layer Niching GA Linear transfer unit 1234567 1001000 Inputs Polynomial trasfer unit 1234567 0000110 Inputs 1234567 2115130 y = a + 1234567 1203211 Transfer function 1x1 + a2x2 a0 not encoded Transfer function Chromosomes y = a + 3 2 1x1x2 + a2x1 x2 a0
Zakódování polynomiálních neuronů Elements y = 8.94 * x 2 3 * x 4 2-2.37 * x 1 * x 4 5 + 7.12 * x 4 8.94 Encoding Coeff. x 1 x 2 x 3 x 4 x 5 Coeff. x 1 x 2 x 3 x 4 x 5 Coeff. x 1 x 2 x 3 x 4 x 5 0 1 0 1 0 2 3 1 2 4-2.37 used_field 1 0 0 1 0 1 4 2 5 6 7.12 degree_field 0 0 0 1 0 3 2 4 1 1
Fitness funkce RMS chyba? Fitness vypočteme jako 1/CR rms-val :RMS chyba na validačních datech 1/CR rms-tr&val :RMS chyba na trénovacích a validačních datech 1/CR rms-r-val :RMS chyba na validačních datech s penalizací složitosti RMSE = m i= 1 ( y' y) 2
CR externí kritérium Fitness = 1/CR
2E+26 CR rms-r-val na reálných datech 5.7E+09 RMS error on the Antro training data set & the Antro testing data set 4.94 7.44 3.317 0.58 1.5 0.56 1.3 0.54 1.1 0.52 0.5 0.48 0.9 0.7 R12 train1 R12 train2 R50 train1 R50 train2 R300 train1 R300 train2 R725 train1 R725 train2 R1600 train1 R1600 train2 R3000 train1 R3000 train2 0.46 0.5 R12 test1 R12 test2 R50 test1 R50 test2 R300 test1 R300 test2 R725 test1 R725 test2 R1600 test1 R1600 test2 R3000 test1 R3000 test2 Optimal value of R is 300 on the Antro data set
CR rms-r-val na různě zašuměných reálných datech 4059.6 RMS error on the Building training data set & Building testing data set 0.03 0.026 0.035 0.03 WBE WBCW WBHW 0.022 0.025 0.018 0.02 0.014 0.015 R12 test1 R50 test1 R300 test1 R725 test1 0.01 0.01 R12 train1 R50 train1 R300 train1 R725 train1 R1600 train1 R3000 train1 R1600 test1 R3000 test1 Optimal value of R is 300 725 on the Building data set
Regularizační kritérium musí zohledňovat šum v datech CR 0.9 High noise 0.6 R12 R50 Stop in the minimum of CR Medium noise 0.3 R300 0 R750 R3000 Low noise y = a 1 x 1 +a 2 Model complexity y = a 1 x 3 1 x 4 +... +a 6 x 2 +a 7
Jak nastavit míru regularizace (1/R)? Co třeba variance výstupu jako první nástřel?
3.86E+08 6.90E+07 Syntetická data Regularization on testing data 0.4 0.35 0.3 RMS-tr&val R300-tr&val 0.25 0.2 0.15 0.1 0.05 0 RMS-p-n-tr&val 1.70E-03 2.01E-03 1.95E-03 0% noise 5% noise 10% noise 20% noise 50% noise 100% noise 200% noise 0.4 0.35 0.3 0.25 1.70E-03 2.71E-03 4.11E-02 4.10E-02 4.17E-02 4.17E-02 4.86E-02 4.84E-02 8.70E-02 8.74E-02 6.90E+07 3.86E+08 1.73E-01 3.20E-01 RMS on the testing data 0.2 0.15 0.1 0.05 0 Training & Validation set Validation set 0% noise 5% noise 10% noise 20% noise 50% noise 100% noise 200% noise Pro velký šum počítat CR jen z validační množiny! Regularizace funguje, ale adaptivní a konstantní má tady podobné výsledky.
Teoretické předpoklady versus naměřené výsledky 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 RMS-R2 RMS-R5 RMS-R12 RMS-R50 RMS-R300 RMS-R725 RMS-R1600 RMS-R3000 200% noise 100% noise 50% noise 20% noise 10% noise 5% noise 0% noise 0.2 0.1 0 44/67 200% noise 100% noise 50% noise 20% noise 10% noise 5% noise 0% noise RMS-R5 RMS-R12 RMS-R50 RMS-R300 RMS-R725 RMS-R1600 RMS-R3000 RMS-R2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Tedy na těchto datech vítězí R300 0% noise 0.003 200% noise 0.002 0.001 0-0.001 5% noise RMS-valid R300-val RMS-p-n-valid 100% noise 10% noise 50% noise 20% noise R300-tr&val RMS-tr&val RMS-p-n-tr&valid
Jak lépe adaptivně nastavit míru regularizace http://www.docstoc.com/docs/27610050/ Optimizing-number-of-hidden-neurons-inneural-networks Použít poměr užitečného signálu a šumu? SNRF Můžete vyzkoušet
Příklad GAME: Housing data Input variables CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTA Per capita crime rate by town Weighted distances to five Boston employment centers Proportion of owner-occupied units built prior to 1940 MEDV Output variable Median value of owner-occupied homes in $1000's
Housing data Input variables Output variable CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTA MEDV A B C 24 0.00632 18 2.31 53.8 6.575 65.2 4.09 1 296 15.3 396.9 4.98 21.6 0.02731 0 7.07 46.9 6.421 78.9 4.9671 2 242 17.8 396.9 9.14 A = Training set to adjust weights and coefficients of neurons B = Validation set to select neurons with the best generalization C = Test set not used during training
Housing data inductive model Input variables CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTA sigmoid Niching genetic algorithm evolves units in first layer Error: 0.13 sigmoid Error: 0.21 MEDV=1/(1-exp(-5.724*CRIM+ 1.126)) MEDV=1/(1-exp(-5.861*AGE+ 2.111)) MEDV Output variable 49/67
Housing data inductive model Input variables CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTA sigmoid sigmoid sigmoid linear Error: 0.13 Error: 0.21 polyno mial Niching genetic algorithm Error: 0.10 evolves units in second layer MEDV Output variable 50/67 Error: 0.24 Error: 0.26 MEDV=0.747*(1/(1-exp(-5.724*CRIM+ 1.126))) +0.582*(1/(1-exp(-5.861*AGE+ 2.111))) 2 +0.016
Housing data inductive model Input variables CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTA sigmoid sigmoid sigmoid linear polyno mial polyno mial expo nential linear Constructed model has very low validation error! Error: 0.08 MEDV Output variable
Proč sledujeme diverzitu neuronů? genotypická fenotypická Kordik, CTU Prague, FIT, MI-PDD 52
Protože f (A) = 8 f (B) = 7.99 f (X) = 8 f (Y) = 5 A B X Y C f (C) = 8 f (Z) = 9 Z f (C) < f (Z) 53
Speciální GA deterministické zalidňování Encoding the GAME unit to genotype (first layer): P 0 0 1 0 P trans.fn. Niching GA (Deterministic Crowding) Inputs Type Other Select the best individual from each niche P P S Result: MAXIMUM information extracted Individuals connected to less significant features survived. We gained more info.
Ukázka http://www.jsgl.org/doku.php?id=neuralnet 55
Jiná optimalizační metoda než jen LMS? 1 4 Niching GA Linear transfer unit 1234567 Op timiza tion method 2 5 6 1001000 not implemened CACO Inp uts Tra nsfer func tion = a1x1 + a2x2 a0 added into c hromosomes y + 3 7 Polynomial trasfer unit 1234567 0000110 Inp uts 1234567 1234567 2115130 1203211 Tra nsfer func tion y = a + 3 2 1x1x2 + a2x1 x2 a0 Opt. m. DE