Intelligent Data Analysis

# Intelligent Data Analysis

Télécharger la présentation

## Intelligent Data Analysis

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Intelligent Data Analysis Lecture 2 : Introduction to Fuzzy Logic

2. Fuzzy Logic • Fuzzy Sets • Fuzzy Numbers • Fuzzy Operators • Fuzzy Rules • Fuzzy Inference • Matlab Fuzzy Toolbox

3. Resources • Web • Fuzzy & Neuro-Fuzzy Repository at the University of Southampton http://www.isis.ecs.soton.ac.uk/resources/nfinfo • Journals • Fuzzy Sets & Systems • IEEE Transactions on Fuzzy Systems • Journal of Approximative Reasoning • Intelligent Data Analysis (electronic)

4. Resources • Software / Shareware • Xfuzzy (fuzzy system design, verification, synthesis) • NEFCON (Matlab Simulink) • UNFUZZY (C / C++) • FOOL & FOX (Xwindows) • Commercial • Matlab Fuzzy Logic Toolbox • FuzzyTECH by Inform • DataEngine by MIT • SieFuzzy by SIEMENS

5. Types of Uncertainty • Stochastic uncertainty • example: rolling a dice • Linguistic uncertainty • examples : low price, tall people, young age • Informational uncertainty • - example : credit worthiness, honesty

6. Classical Sets young = { x  P | age(x)  20 } characteristic function: young(x) = 1 : age(x)  20 0 : age(x) > 20 young(x) A=“young” 1 0 x [years]

7. Fuzzy Sets Fuzzy Logic Element x belongs to set A with a certain degree of membership: (x)[0,1] Classical Logic Element x belongs to set A or it does not: (x){0,1} A(x) A(x) A=“young” A=“young” 1 1 0 0 x [years] x [years] x=23 x=23

8. Fuzzy Set Definition : • Fuzzy Set A = {(x, A(x)) : x  X, A(x)  [0,1]} • a universe of discourse X : 0  x  100 • a membership function A : X  [0,1] A(x) A=“young” 1 =0.8 0 x [years] x=23

9. Support of a fuzzy set A • supp(A) = { x  X : A(x) > 0 } • Core of a fuzzy set A • core(A) = { x  X : A(x) = 1 } • -cut of a fuzzy set A • A  = { x  X : A(x)  } =0.6 Definitions : (x) 1 • Normalized fuzzy set A • sup x  XA(x) = 1 0 a b c d x • Uni-modal fuzzy set • only one “peak”

10. Types of Membership Functions Trapezoid: <a,b,c,d> Gaussian: N(m,s) (x) (x) 1 1 s 0 0 a b c d x m x Triangular: <a,b,b,d> Singleton: (a,1) and (b,0.5) (x) (x) 1 1 0 0 a b d x a b x

11. Membership functions core: CA:={x | A(x)=1} = [b,c] A(x) 1 -cut: A:={x | A(x)= }  0 a b c d x support: SA:={x | A(x)>0} = (a,d)

12. Fuzzy Numbers • Fuzzy Numbers have restricted fuzzy sets: • X = 1 • their core is a point: 1 x : (x)=1 • left and right flank of  are monotonically increasing, respectively decreasing • Common choices are triangular MS-functions easy internal representation (a,b,c) (x) 1 0 a b c x

13. Computing with Fuzzy Numbers Addition: A+B(x) = max{A(y), B(z) | x=y+z} (x) A(x) B(x) A+B(x) 1 0 x Multiplication: AB(x) = max{A(y), B(z) | x=yz} (x) A(x) B(x) AB(x) 1 0 x

14. y f f(A)(y) A(x) x y f f(A)(y) A(x) max x The Extension Principle Assume a fuzzy set A and a function f: How does the fuzzy set f(A) look like? For arbitrary functions f: f(A)(y) = max{A(x) | y=f(x)}

15. Operators on Fuzzy Sets Union Intersection AB(x)=max{A(x),B(x)} AB(x)=min{A(x),B(x)} A(x) B(x) A(x) B(x) 1 1 0 0 x x AB(x)=min{1,A(x)+B(x)} AB(x)=A(x)  B(x) A(x) B(x) A(x) B(x) 1 1 0 0 x x

16. T-Norms and T-Conorms • A function T : [0,1]x[0,1] => [0,1] is called a t-norm • iff for any u,v,w  [0,1] • T(u,1) = u 1 as unit • u  v  T(u,w)  T(v,w) monotonicity • T(u,v) = T(v,u) commutativity • T(u,T(v,w)) = T(T(u,v),w) associativity A t-norm is strict if it is strictly increasing in [0,1]x[0,1] Examples: min(u,v) minimum u•v algebraic product max(0,u+v-1) bounded product

17. T-Conorms or S-norms • A function S : [0,1]x[0,1] => [0,1] is called a t-conorm • or s-norm iff for any u,v,w  [0,1] • S(u,0) = u 0 as unit • u  v  S(u,w)  S(v,w) monotonicity • S(u,v) = S(v,u) commutativity • S(u,S(v,w)) = (S(u,v),w) associativity A s-norm is strict if it is strictly increasing in [0,1]x[0,1] Examples: max(u,v) maximum u+v-u•v algebraic sum min(1,u+v) bounded sum

18. Complement Negation: A(x)= 1 - A(x) Negation: A(x)= -1(1 - (A(x))) :[0,1] -> [0,1] Classical law does not always hold: AA(x)  1 AA(x)  0 Example : A(x) = 0.6 A(x) = 1 - A(x) = 0.4 AA(x) = max(0.6,0.4) = 0.6  1 AA(x) = min(0.6,0.4) = 0.4  0

19. De Morgan Law S(u,v) = 1 – T(1-u,1-v) T(u,v) = 1 – S(1-u,1-v) S(u,v) = N(T(N(u),N(v))) : N-Dual T(u,v) = N(S(N(u),N(v))) : N-Dual max(u,v) = 1 – min(1-u,1-v) u•v = 1 - (1-u)+(1-v) + (1-u)•(1-v) max(0,u+v-1) = 1 - min(1,1-u+1-v)

20. Operator - Spectrum S-norms (T-conorms) T-norms drastic product bounded product algebraic product min max algebraic sum bounded sum drastic sum        { u if v=1 drastic product : T(u,v)= v if u=1 0 otherwise u if v=0 drastic sum : T(u,v)= v if u=0 1 otherwise {

21. Cylindrical Extension • Imbed a lower dimensional fuzzy set in a higher dimensional space fuzzy set A with universe of discourse X1 and MSF mA and additional universe X2 Definition: CX1xX2 A is called the cylindrical extension of A to the universe X1x X2 iff (x1,x2)  X1x X2 : m CX1xX2 A(x1,x2) = mA (x1)

22. Cartesian Product fuzzy set A with universe of discourse X1 and MSF mA and fuzzy set B with universe of discourse X2 and MSF mB and Definition: AxB is called the cartesian product of A and B to the universe X1x X2 iff (x1,x2)  X1x X2 : mAxB(x1,x2) = min (mA (x1), mB (x2)) Notice: min can be replaced by any other t-norm

23. Fuzzy Relations { • classical relation • R  X x Ydefined by mR(x,y) = 1 iff (x,y)  R 0 iff (x,y)  R | • fuzzy relation • R  X x Ydefined by mR(x,y)  [0,1] mR(x,y) describes to which degree x and y are related It can also be interpreted as the truth value of the proposition x R y

24. Fuzzy Relations Example: X = { rainy, cloudy, sunny } Y = { sun bathing, bicycling, camping, reading } X/Y sun bathing bicycling camping reading rainy cloudy sunny 0.0 0.2 0.0 1.0 0.0 0.8 0.3 0.3 1.0 0.2 0.7 0.0

25. (x) cold warm hot 1 0 20 60 x [C] Fuzzy Sets & Linguistic Variables • A linguistic variable combines several fuzzy sets. • example: • linguistic variable : temperature • linguistics terms (fuzzy sets) : { cold, warm, hot }

26. linguistic variables linguistic values/terms (fuzzy sets) Fuzzy Rules • causal dependencies can be expressed in form of if-then-rules • general form:if <antecedent> then <consequence> • example:if temperature is cold and oil is cheapthen heating is high

27. if temperature is cold and oil price is low then heating is high if temperature is hot and oil price is normal then heating is low Fuzzy Rulebase Heating Temperature : cold warm hot Oil price: cheap normal expensive high high medium high medium low medium low low

28. Fuzzy Knowledge-Base Fuzzy Knowledge-Base Fuzzy Data-Base: Definition of linguistic input and output variables Definition of fuzzy membership functions (x) cold warm hot 1 20 60 0 x [C] Fuzzy Rule-Base: List of fuzzy rules if temperature is cold and oil price is cheap then heating is high ….

29. cold(t)=0.5 cheap(p)=0.3 1 1 0.5 0.3 0 0 t p 15C \$13/barrel if temperatur is cold ... and oil is cheap ... Fuzzy Inference 1. Fuzzification Determine degree of membership for each term of an input variable : temperature : t=15 C oilprice : p=\$13/barrel

30. cold(t)=0.5 cheap(p)=0.3 1 1 0.5 0.3 0 0 t p 15C \$13/barrel if temperatur is cold ... and oil is cheap ... Fuzzy Inference 2. Combine the terms in one degree of fulfillment for the entire antecedent using a fuzzy AND: min-operator ante = min{cold(t), cheap(p)} = min{0.5,0.3} = 0.3

31. 1 ... ante =0.3 0 h Fuzzy Inference 3. Inference step: Apply the degree of membership of the antecedent to the consequent of the rule using a t-norm: min or prod operator high(h) consequent(h) min-inference: cons. = min{ante ,high } ... then heating is high high(h) consequent(h) 1 ... ante =0.3 prod-inference: cons. = ante •high 0 h

32. Fuzzy Inference 4. Aggregate all the rules consequents using the max-operator for union ... then heating is high ... then heating is medium ... then heating is low 1 0 h

33. Defuzzification 5. Determine crisp value from output membership function for example using “Center of Gravity”-method: consequent(h) COG 1 0 h 73 Center of singletons defuzzification: mi= degree of membership fuzzy set i Ai = area of fuzzy set i ci = center of gravity of fuzzy set i h = Simi• Ai • ci Simi• Ai

34. Schema of a Fuzzy Decision Fuzzification Inference Defuzzification rule-base if temp is coldthen valve is open cold warm hot open half close cold =0.7 0.7 0.7 if temp is warmthen valve is half 0.2 0.2 warm =0.2 t v measured temperature if temp is hotthen valve is close crisp output for valve-setting hot =0.0

36. Building a Fuzzy System in Matlab 1. If (temperature is cold) and (oilprice is normal) then (heating is high) (1) 2. If (temperature is cold) and (oilprice is expensive) then (heating is medium) (1) 3. If (temperature is warm) and (oilprice is cheap) then (heating is high) (1) 4. If (temperature is warm) and (oilprice is normal) then (heating is medium) (1) 5. If (temperature is cold) and (oilprice is cheap) then (heating is high) (1) 6. If (temperature is warm) and (oilprice is expensive) then (heating is low) (1) 7. If (temperature is hot) and (oilprice is cheap) then (heating is medium) (1) 8. If (temperature is hot) and (oilprice is normal) then (heating is low) (1) 9. If (temperature is hot) and (oilprice is expensive) then (heating is low) (1) rulelist=[ 11311 1 2 3 1 1 1 3 2 1 1 2 1 3 1 1 2 2 2 1 1 2 3 1 1 1 3 1 2 1 1 3 2 3 1 1 3 3 3 1 1]; fis=addrule(fis,rulelist); showrule(fis) gensurf(fis); Surfview(fis); first input second input output rule weight operator (1=AND, 2=OR)

37. Fuzzy Systems in Matlab y=evalfis([x1 x2],fis); writefis(fismatrix,’heating’); fis=readfis(‘heating’); getfis(fis,’input’,1) Name=temperature NumMFs=3 MFLabels= cold warm hot Range= [-10 40] getfis(fis,’input’,1,.’mf’,1,’params’) [ -10 –10 0 10] setfis(fis,’input’,1,’mf’,1,’params’,[-10 –5 5 15]);

38. Takagi-Sugeno-Kang Fuzzy Rules Mamdani rule: Outputs are fuzzy sets B if X1 is A1 and X2 is A2 … Xn is An then Y is B TSK- rule: Outputs are functions f(xi) if X1 is A1 and X2 is A2 …. Xn is An then Y=f(x1,x2,..xn) 1. Order TSK- rule: Outputs are linear functions of xi if X1 is A1 and X2 is A2…Xn is An then Y=a0 + a1x1 …+anxn

39. Learning Fuzzy Rule Sets from Data Adjustable parameters in a Fuzzy Rule Set: • Number, • Distribution, • and shape of membership functions for each attribute. • consequent for each rule constructive or adaptive?

40. Dividing the Input Space Grid based Individual membership functions

41. Grid based Approaches • equidistant grid, assign output of each tile from nearest example (Wang&Mendel 91) • divide grid at point of largest error (Higgins&Goodman, 93) • initialize grid equidistant, move membership functions similar to BackProp (Nauck&Kruse, 91-95)

42. Individual Rule Approaches • Derive Fuzzy Rules from Radial Basis Function Network, using Gaussian membership functions (several authors) • Extract Rules directly from the data (Simpson 91, Berthold&Huber95) • Extract Rules from decision trees.

43. Fine tuning Fuzzy Rule Sets • Heuristics that move membership functions to minimize error (similar to Back prop) • Convert Rules into Neural Network, thenTrain Network and afterwards extract modified rules. • Use Genetic Algorithms to fine tune rules...