Popis zobrazení pomocí fuzzy logiky diplomová práce Ján Fröhlich KM, FJFI, ČVUT 23. dubna 2009 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 1 / 25
Obsah 1 Úvod Základy fuzzy logiky Popis zobrazení pomocí fuzzy logiky Fuzzy logika v širším smyslu Cíle práce Aproximace zobrazení 2 Výsledky Po částech lineární regrese Příklad: funkce jedné nezávislé proměnné Aproximace nelineárních zobrazení Konstrukce tvrzení Lukasiewiczovy logiky 3 Závěr Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 2 / 25
Úvod Základy fuzzy logiky Fuzzy logika Uvažování o částečně pravdivých výrocích rozšíření spojek, standardní algebra na [0, 1], modus ponens, axiomy, bezespornost, úplnost,..., popis zobrazení: e A (ϕ) = f(e A (v 1 ),..., e A (v k )) Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 3 / 25
Úvod Základy fuzzy logiky Konjunkce t-normy binární operace t-norma t : [0, 1] 2 [0, 1]: 1 komutativita x t y = y t x, 2 asociativita 3 monotonie 4 omezení shora x t (y t z) = (x t y) t z, x y implikuje x t z y t z, 1 t x = x. Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 4 / 25
Úvod Základy fuzzy logiky Implikace a reziduum t-normy pravidlo modus ponens (ϕ & (ϕ ψ)) ψ požaduje se: x t y = 1 právě tehdy, když x y, pravidlo modus ponens je tautologie pravdivost závěru ψ je zdola omezena pravdivostí předpokladu, tj. stupněm současné pravdivosti výroků ϕ a ϕ ψ, při interpretaci konjunkce v předpokladu t-normou t : (x t (x t y)) y, reziduum t t-normy t je funkce t : [0, 1] 2 [0, 1]: x t y = sup{z x t z y}. Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 5 / 25
Lukasiewiczova logika Úvod Popis zobrazení pomocí fuzzy logiky Interpretace spojek x y := 0 (x + y 1), x y := 1 (1 x + y), Reprezentace funkcí (0, 8 0, 7) 0, 6 = 1 0, 6 = 0, 4 1, 5 0, 6 = 0, 9, 0, 8 (0, 7 0, 6) = 0, 8 0, 1 = 0, 9 = 0, 8 + 0, 1 = 0, 9, po částech lineární funkce s celočíselnými koeficienty, reprezentace funkce f : Φ = ( i ˆp Φ hi & ) j ˆq i Ψ m i,j g i,j Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 6 / 25
Lukasiewiczova logika Úvod Popis zobrazení pomocí fuzzy logiky Interpretace spojek x y := 0 (x + y 1), x y := 1 (1 x + y), Reprezentace funkcí (0, 8 0, 7) 0, 6 = 1 0, 6 = 0, 4 1, 5 0, 6 = 0, 9, 0, 8 (0, 7 0, 6) = 0, 8 0, 1 = 0, 9 = 0, 8 + 0, 1 = 0, 9, po částech lineární funkce s celočíselnými koeficienty, reprezentace funkce f : Φ = ( i ˆp Φ hi & ) j ˆq i Ψ m i,j g i,j Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 6 / 25
Fuzzifikace vstupů Úvod Fuzzy logika v širším smyslu http://www.mathworks.com/products/fuzzylogic/ Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 7 / 25
Fuzzy usuzování Úvod Fuzzy logika v širším smyslu Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 8 / 25
Úvod Fuzzy odvozování a defuzifikace Fuzzy logika v širším smyslu Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 9 / 25
Úvod Cíle práce Úkoly 1 Implementovat algoritmus pro převod zobrazení na tvrzení 2 Aproximace dat a popis zobrazení fuzzy logice: srozumitelnost tvrzení vs. přesnost reprezentace, výroková vs. predikátová fuzzy logika, efektivita pro velké soubor dat a vyšší dimenze 3 Navrhnout a implementovat algoritmy v MATLABu Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 10 / 25
Cíl: zadané body Úvod Aproximace zobrazení 1 0.8 0.6 f(x 1 ) 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 11 / 25
Úvod Cíl: výsledná aproximace Aproximace zobrazení 1 0.8 1 3 0.6 f(x 1 ) 0.4 0.2 2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 12 / 25
Úvod Aproximace zobrazení Volba vhodného způsobu aproximace Otázka srozumitelnosti přímá úměrnost, lineární kombinace, nelineární závislost: součin dvou proměnných, oblast linearity konvexní mnohostěn Některé známé metody aproximace umělé neuronové sít ě (ANN), metoda opěrných bodů (SVM), genetické algoritmy Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 13 / 25
Úvod Aproximace zobrazení Volba vhodného způsobu aproximace Otázka srozumitelnosti přímá úměrnost, lineární kombinace, nelineární závislost: součin dvou proměnných, oblast linearity konvexní mnohostěn Některé známé metody aproximace umělé neuronové sít ě (ANN), metoda opěrných bodů (SVM), genetické algoritmy Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 13 / 25
Úvod Aproximace zobrazení Evoluční algoritmy a po částech lineární regrese prohledávání prostoru řešení jedinec, populace, ohodnocovací funkce, selekce, mutace, křížení, reprodukce predikátová nebo výroková logika hledat přímo tvrzení nebo funkci vstup: aproximace nebo soubor dat kritéria optimalizace, konvergence populace efektivita Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 14 / 25
Výsledky Po částech lineární regrese Navržený postup Hledá se f : [0, 1] k [0, 1]. Zadáno n bodů: x i [0, 1] k, y i [0, 1], i {1,...,n}. 1 Sestaví se kd-trie. 2 Provede se lineární regrese bodů v buňkách. 3 Rozliší se nosné a hraniční buňky. úspěšnost proložení koeficient určení: R 2 = součet čtverců modelových hodnot celkový součet čtverců [0, 1] 4 Sloučí se buňky se stejnou závislostí (testování lineárních hypotéz). největší možné konvexní oblasti míra konvexnosti: γ = součet objemů sloučených buněk objem konvexního obalu vrcholů buňky (0, 1] Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 15 / 25
Navržený postup Výsledky Po částech lineární regrese Hledá se f : [0, 1] k [0, 1]. Zadáno n bodů: x i [0, 1] k, y i [0, 1], i {1,...,n}. 1 Sestaví se kd-trie. Příklad dvě nezávislé proměnné: 1 0.8 12 16 14 18 0.6 4 8 6 10 x 2 0.4 0.2 11 3 15 7 0 0 0.2 0.4 0.6 0.8 1 x 1 13 5 17 9 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 15 / 25
Výsledky Po částech lineární regrese Navržený postup Hledá se f : [0, 1] k [0, 1]. Zadáno n bodů: x i [0, 1] k, y i [0, 1], i {1,...,n}. 1 Sestaví se kd-trie. 2 Provede se lineární regrese bodů v buňkách. 3 Rozliší se nosné a hraniční buňky. úspěšnost proložení koeficient určení: R 2 = součet čtverců modelových hodnot celkový součet čtverců [0, 1] 4 Sloučí se buňky se stejnou závislostí (testování lineárních hypotéz). největší možné konvexní oblasti míra konvexnosti: γ = součet objemů sloučených buněk objem konvexního obalu vrcholů buňky (0, 1] Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 15 / 25
Výsledky Po částech lineární regrese Navržený postup Hledá se f : [0, 1] k [0, 1]. Zadáno n bodů: x i [0, 1] k, y i [0, 1], i {1,...,n}. 1 Sestaví se kd-trie. 2 Provede se lineární regrese bodů v buňkách. 3 Rozliší se nosné a hraniční buňky. úspěšnost proložení koeficient určení: R 2 = součet čtverců modelových hodnot celkový součet čtverců [0, 1] 4 Sloučí se buňky se stejnou závislostí (testování lineárních hypotéz). největší možné konvexní oblasti míra konvexnosti: γ = součet objemů sloučených buněk objem konvexního obalu vrcholů buňky (0, 1] Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 15 / 25
Výsledky Po částech lineární regrese Navržený postup Hledá se f : [0, 1] k [0, 1]. Zadáno n bodů: x i [0, 1] k, y i [0, 1], i {1,...,n}. 1 Sestaví se kd-trie. 2 Provede se lineární regrese bodů v buňkách. 3 Rozliší se nosné a hraniční buňky. úspěšnost proložení koeficient určení: R 2 = součet čtverců modelových hodnot celkový součet čtverců [0, 1] 4 Sloučí se buňky se stejnou závislostí (testování lineárních hypotéz). největší možné konvexní oblasti míra konvexnosti: γ = součet objemů sloučených buněk objem konvexního obalu vrcholů buňky (0, 1] Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 15 / 25
Zadané body Výsledky Příklad: funkce jedné nezávislé proměnné 1 0.8 0.6 f(x 1 ) 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 16 / 25
kd-trie, lineární regrese Výsledky Příklad: funkce jedné nezávislé proměnné 1 0.8 7 11 15 5 14 10 18 0.6 3 f(x 1 ) 0.4 13 6 0.2 4 8 16 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 17 / 25
Výsledky Sloučení buněk se stejnou závislostí Příklad: funkce jedné nezávislé proměnné 1 0.8 31 15 22 26 38 0.6 3 f(x 1 ) 0.4 0.2 4 35 16 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 18 / 25
Výsledky Příklad: funkce jedné nezávislé proměnné Nalezení oblastí linearity (klasifikace) 1 Lineární klasifikací se určí nadroviny oddělující sousední buňky. 2 Pomocí nalezených nadrovin se sestrojí konvexní mnohostěny. 1 0.9 0.8 31 15 22 26 38 0.7 0.6 3 f(x 1 ) 0.5 0.4 0.3 0.2 0.1 4 35 16 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 19 / 25
Výsledky Nalezení oblastí linearity (průsečíky) Příklad: funkce jedné nezávislé proměnné 1 Určí se průsečíky nadrovin sousedních buněk. 2 Průsečíky se promítnou do prostoru nezávislých proměnných. 1 0.9 31 15 0.8 0.7 22 26 38 0.6 3 f(x 1 ) 0.5 0.4 0.3 0.2 0.1 4 35 16 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 20 / 25
Hledání oblastí extrémů Výsledky Aproximace nelineárních zobrazení 1 Naleznou se lokální maxima. 2 V každé oblasti maxima se provede kvadratická regrese. 1 0.8 1 3 0.6 f(x 1 ) 0.4 0.2 2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 21 / 25
Hledání oblastí extrémů Výsledky Aproximace nelineárních zobrazení 1 Naleznou se lokální maxima. 2 V každé oblasti maxima se provede kvadratická regrese. 1 0.8 1 3 0.6 f(x 1 ) 0.4 0.2 2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 21 / 25
Výsledky Konstrukce tvrzení Lukasiewiczovy logiky Příklad: po částech lineární funkce... 1 38 26 35 0.8 f(x 1 ) 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 x 1 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 22 / 25
Výsledky Konstrukce tvrzení Lukasiewiczovy logiky... reprezentace funkce v Lukasiewiczově logice ` 1 2 1 10 1 & 2 ` 1 2 1 10 ϕ 1 2 ` 1 2 ϕ 1 4 «2 2 ` 1 2 3 10 ϕ 2 1 & 2 ` 1 2 1 10 ϕ 1 2 ` 1 2 1 10 ϕ 1 8 «2 ` 1 2 ϕ 4 1 2 & ` 1 2 ϕ 1 2 16 ` 1 2 ϕ 1 2 «Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 23 / 25
Závěr Shrnutí Závěr Vlastnosti navržených algoritmů: jednoduché nastavení úrovně aproximace, oblasti linearity konvexní mnohostěny, umožní nalézt spojitou po částech lineární aproximaci, snadné nalezení lokálních extrémů, regrese v oblastech extrémů usnadní konstrukci predikátů, využívá lineární metody. Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 24 / 25
Děkuji za pozornost. Diskuze Otázky a odpovědi Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 25 / 25