ιαγωγι θν Ααφι Λογικι -...

Post on 22-May-2018

218 views 4 download

Transcript of ιαγωγι θν Ααφι Λογικι -...

28/1/2011

1

Ειςαγωγι ςτθν Αςαφι Λογικι

Matlab fuzzy logic toolbox

Ειςαγωγικά

• Η αςαφισ λογικι μπορεί να κεωρθκεί ωσ μια επζκταςθ τθσ μακθματικισ λογικισ, όπου οι λογικζσ προτάςεισ δεν ζχουν απόλυτεσ τιμζσ αλικειασ ι ψεφδουσ.

• Παρζχει μθ-αυςτθροφσ μθχανιςμοφσ εξαγωγισ ςυμπεραςμάτων.

28/1/2011

2

Αςάφεια Ζλλειψθ ακρίβειασ

Πλεονεκτιματα

• Εφκολθ κατανόθςθ (και από τρίτουσ)

• Ευπροςάρμοςτθ

• Ανεκτικι ςε μθ-ακριβι δεδομζνα

• Ικανι να μοντελοποιιςει ςυναρτιςεισ αυκαίρετθσ πολυπλοκότθτασ

• Ταιριάηει ςτθν ανκρϊπινθ γλϊςςα και τον ανκρϊπινο τρόπο ςκζψθσ

• Συνδυάηεται με άλλεσ τεχνικζσ ελζγχου

28/1/2011

3

Πότε δεν ενδείκνυται

• Όταν απαιτείται μεγάλθ ακρίβεια

• Όταν το πρόβλθμα μπορεί να λυκεί εφκολα με άλλεσ μεκόδουσ

• Όταν υπάρχει ιδθ εναλλακτικι λφςθ

ΣΟ ΠΡΟΒΛΗΜΑ ΣΟΤ ΦΙΛΟΔΩΡΗΜΑΣΟ

28/1/2011

4

Περιγραφι

• Δοκζντοσ ενόσ αρικμοφ από το 0 ζωσ 10 που εκφράηει τθν ικανοποίθςθ από τθν εξυπθρζτθςθ ςε ζνα εςτιατόριο, πόςο πρζπει να είναι το φιλοδϊρθμα;

– Πεδίο τιμϊν: Από 5% ζωσ 25%.

Μθ αςαφείσ προςεγγίςεισ

• Δφο εναλλακτικζσ ςυμπεριφορζσ:

28/1/2011

5

Το επαυξθμζνο πρόβλθμα

• Δοκζντων δφο αρικμϊν από το 0 ζωσ το 10 ζκαςτοσ, που εκφράηουν τθν ποιότθτα τθσ εξυπθρζτθςθσ και τθν ποιότθτα του φαγθτοφ, πόςο πρζπει να είναι το φιλοδϊρθμα;

Λφςεισ με πλατό

28/1/2011

6

Η λφςθ με αςαφι λογικι (1/2)

• Κανόνεσ για τθν εξυπθρζτθςθ

– If service is poor, then tip is cheap

– If service is good, then tip is average

– If service is excellent, then tip is generous

• Κανόνεσ για τθν ποιότθτα του φαγθτοφ

– If food is rancid, then tip is cheap

– If food is delicious, then tip is generous

• Η ςειρά των κανόνων δεν παίηει ρόλο

Η λφςθ με αςαφι λογικι (2/2)

• Τα δφο ςετ κανόνων μποροφν να ςυνδυαςτοφν ςε ζνα (όχι απαραίτθτα ιςοδφναμο):

– If service is poor or the food is rancid, then tip is cheap

– If service is good, then tip is average

– If service is excellent or food is delicious, then tip is generous

28/1/2011

7

Αποτζλεςμα (για το ςυνδυαςμζνο ςετ κανόνων)

• Μολονότι υπάρχουν πολλά ανοικτά κζματα...

Αφθρθμζνο μοντζλο

28/1/2011

8

ΑΑΦΗ ΤΝΟΛΑ

Γενικά

• Ποιεσ μζρεσ τθσ εβδομάδασ ανικουν ςτο weekend?

Κλαςικι προςζγγιςθ Αςαφισ προςζγγιςθ

28/1/2011

9

Συναρτιςεισ ςυμμετοχισ

• Εποχζσ του χρόνου Ψθλόσ άνκρωποσ

Matlab ςυναρτιςεισ ςυμμετοχισ (1/2)

• 11 τφπου ςυναρτιςεων ςυμμετοχισ

28/1/2011

10

Matlab ςυναρτιςεισ ςυμμετοχισ (2/2)

Ανατρζξτε ςτο manual του fuzzy logic toolbox για τουσ ακριβείσ τφπουσ των παραπάνω ςυναρτιςεων ςυμμετοχισ.

Λογικζσ πράξεισ

• Θζλουμε να ορίςουμε τισ πράξεισ τθσ ςφηευξθσ, διάηευξθσ και άρνθςθσ με αςαφείσ τιμζσ.

– Σε περίπτωςθ μθ αςαφϊν τιμϊν, ο οριςμόσ κα πρζπει να εξειδικεφεται ςωςτά.

Υπάρχουν πολλοί εναλλακτικοί τρόποι οριςμοφ των λογικϊν πράξεων, π.χ. Α and B = μ(Α)*μ(Β)

28/1/2011

11

Κανόνεσ if-then

• Η απλοφςτερθ μορφι κανόνα:

– if x is A then y is B • If service is good then tip is average

• If service == good then tip = average

• Σφνκετεσ προχποκζςεισ:

– if sky is gray and wind is strong and barometer is falling, then...

• Συνικωσ ζνα ςυμπζραςμα

Αποτίμθςθ κανόνα (1/2)

• Τρία βιματα:

– Αςαφοποίθςθ ειςόδων (fuzzify inputs)

– Εκτζλεςθ των λογικϊν πράξεων ςτισ προχποκζςεισ του κανόνα και εφρεςθ του βακμοφ υποςτιριξθσ (degree of support) του κανόνα (μεταξφ 0 και 1)

– Εφαρμογι του βακμοφ υποςτιριξθσ ςτο αποτζλεςμα.

• Συνικωσ δεν αρκεί ζνασ κανόνασ. Απαιτοφνται τουλάχιςτον ζνασ κανόνασ για κάκε αςαφι τιμι του ςτόχου. Τα αποτελζςματα των κανόνων ςυνδυάηονται.

28/1/2011

12

Αποτίμθςθ κανόνα (2/2)

ΤΣΗΜΑΣΑ ΑΑΦΟΤ ΤΛΟΓΙΣΙΚΗ

28/1/2011

13

Γενικά

• Ζνα ςφςτθμα αςαφοφσ ςυλλογιςτικισ αποτελείται από τον προςδιοριςμό των: – Αςαφϊν μεταβλθτϊν

– Αςαφϊν τιμϊν (ςυνόλων)

– Αςαφϊν κανόνων

• Δφο τφποι αςαφϊν ςυςτθμάτων: – Τφπου Mandami

• Η ζξοδοσ των κανόνων είναι αςαφείσ τιμζσ που πρζπει να ςυνδυαςτοφν

– Τφπου Sugeno • Η ζξοδοσ είναι απευκείασ πραγματικζσ τιμζσ

Παράδειγμα

28/1/2011

14

Τα 5 βιματα

• Βιμα 1: Αςαφοποίθςθ ειςόδων

• Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν

• Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ

• Βιμα 4: Άκροιςθ των αποτελεςμάτων για κάκε αςαφι μεταβλθτι εξόδου

• Βιμα 5: Αποαςαφοποίθςθ τιμϊν

Βιμα 1: Αςαφοποίθςθ ειςόδων

• Για κάκε μεταβλθτι ειςόδου, για κάκε αςαφι τιμι, προςδιορίηεται ο βακμόσ ςυμμετοχισ τθσ.

28/1/2011

15

Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν (1/2)

• Στο toolbox υποςτθρίηονται δφο εναλλακτικζσ μζκοδοι για τθ ςφηευξθ και τθ διάηευξθ:

• Σφηευξθ (AND)

– minimum

– product

• Διάηευξθ

– maximum

– probor(a,b) = a + b – ab

• Μπορείτε να ορίςετε εναλλακτικζσ μεκόδουσ...

Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν (2/2)

28/1/2011

16

Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ (1/2)

• Υπολογίηεται ο βακμόσ ςτιριξθσ του κανόνα από τισ προχποκζςεισ του.

• Ο ίδιοσ ο κανόνασ ζχει επίςθσ ζνα βάροσ (μεταξφ 0 και 1), το οποίο ςυνικωσ είναι 1.

• Ο ςυνολικόσ βακμόσ ςτιριξθσ προκφπτει από τθ ςφηευξθ (AND) των παραπάνω δφο τιμϊν.

• Το αρχικό ςυμπζραςμα είναι ζνα αςαφζσ ςφνολο

• Το ςυμπζραςμα αναμορφϊνεται με βάςθ το βακμό ςτιριξθσ του κανόνα, εφαρμόηοντασ τον τελεςτι AND.

Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ (2/2)

28/1/2011

17

Βιμα 4: Άκροιςθ των αποτελεςμάτων (1/2)

• Τα διάφορα αςαφι ςφνολα που αποτελοφν τισ εξόδουσ των διαφόρων κανόνων (για τθν ίδια μεταβλθτι) ςυνδυάηονται ςε ζνα ασαφζς σφνολο για κάθε μεταβλητή εξόδου.

• Τρεισ μζκοδοι:

– maximum

– probor

– sum

Βιμα 4: Άκροιςθ των αποτελεςμάτων (2/2)

28/1/2011

18

Βιμα 5: Αποαςαφοποίθςθ τιμϊν

• Υποςτθρίηονται πζντε μζκοδοι:

• centroid (κζντρο βάροσ)

• bisector (του εμβαδοφ)

• middle of maximum (the average of the maximum value of the output set)

• largest of maximum

• smallest of maximum

Το διάγραμμα τθσ αςαφοφσ ςυλλογιςτικισ

28/1/2011

19

Εφαρμοφι ςτο παράδειγμα

28/1/2011

20

Τα εργαλεία του Fuzzy Toolbox (1/2)

Τα εργαλεία του Fuzzy Toolbox (2/2)

28/1/2011

21

Εφαρμογι ςτο πρόβλθμα του φιλοδωριματοσ

• Οι τρεισ αςαφείσ κανόνεσ:

1. If the service is poor or the food is rancid, then tip is cheap.

2. If the service is good, then tip is average.

3. If the service is excellent or the food is delicious, then tip is generous.

Οριςμόσ βαςικϊν παραμζτρων

28/1/2011

22

Οριςμόσ μεταβλθτϊν

Η μεταβλθτι service (1/2)

28/1/2011

23

Η μεταβλθτι service (2/2)

Η μεταβλθτι tip

28/1/2011

24

Η μεταβλθτι food

Συγγραφι των κανόνων

28/1/2011

25

Επιςκόπθςθ των κανόνων

Επιςκόπθςθ εξόδου

28/1/2011

26

Ειςαγωγι/εξαγωγι μεταβλθτϊν

• Από το παράκυρο του fuzzy editor μποροφμε να εξάγουμε/ειςάγουμε fuzzy inference systems είτε ςτο/από το workspace είτε ςε/από αρχείο κειμζνου.

– Αρχεία *.fis.

• Ανάγνωςθ αρχείου fis από τθ γραμμι εντολϊν:

– a = readfis('tipper.fis')

• Διάφορεσ εντολζσ για τθ μεταβλθτι a :

– fuzzy(a), mfedit(a), ruleedit(a), ruleview(a), surfview(a)

Αποτίμθςθ αςαφϊν ςυςτθμάτων

• Συνάρτθςθ evalfis (μόνο ςτθ γραμμι εντολϊν)

– evalfis([1 2], a)

– ans =

– 5.5586

– evalfis([3 5; 2 7], a)

– ans =

– 12.2184

– 7.7885

28/1/2011

27

ΑΑΦΗ ΤΣΗΜΑΣΑ SUGENO

Ειςαγωγικά (1/2)

• If Input 1 = x and Input 2 = y, then Output is z = ax + by + c

• Η ςυνάρτθςθ z = ax + by + c παίηει το ρόλο τθσ ςυνάρτθςθσ ςυμμετοχισ και είναι γραμμικι.

– Για a=b=0 ι ςυνάρτθςθ ςυμμετοχισ ςτθν ζξοδο είναι ςτακερι.

28/1/2011

28

Ειςαγωγικά (2/2)

• Για ζνα ςφνολο κανόνων που προβλζπουν τθν τιμι τθσ ίδιασ μεταβλθτισ z, θ τελικι τιμι τθσ ιςοφται με:

Παράδειγμα

Στακερζσ ςυναρτιςεισ

εξόδου

28/1/2011

29

Επιςκόπθςθ εξόδου

Παράδειγμα Sugeno με μθ-ςτακερζσ εξόδουσ (1/2)

• Ζςτω δφο κανόνεσ:

– If (input is low) then (output is line1) (1)

– If (input is high) then (output is line2) (1)

• όπου

– line1 = (−1)×input+(−1)

– line2 = (1)×input+(−1)

• Η είςοδοσ παίρνει τιμζσ ςτο *-5,5]

28/1/2011

30

Παράδειγμα Sugeno με μθ-ςτακερζσ εξόδουσ (2/2)

Πλεονεκτιματα Sugeno

• Πιο ςυμπαγισ και υπολογιςτικά αποδοτικι αναπαράςταςθ.

• Επιδζχεται μθχανικισ μάκθςθσ των παραμζτρων.

• Ζχει εξαςφαλιςμζνα ςυνεχι ζξοδο.

• Επιδζχεται μακθματικισ ανάλυςθσ.

28/1/2011

31

Πλεονεκτιματα Mandani

• Είναι πιο διαιςκθτικά

• Ζχουν μεγαλφτερθ αποδοχι από τθν ερευνθτικι κοινότθτα

• Ταιριάηουν καλφτερα ςτον τρόπο που περιγράφουν οι άνκρωποι τα προβλιματα

ANFIS – ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM

28/1/2011

32

Γενικά

• Στόχοσ είναι θ αυτόματθ εκμάκθςθ όλων των παραμζτρων του αςαφοφσ ςυςτιματοσ μζςω δεδομζνων εκπαίδευςθσ

– Προςομοιάηει ςτθν εκπαίδευςθ των νευρωνικϊν δικτφων

• Κάκε αςαφισ κανόνασ μπορεί να κεωρθκεί ωσ ζνασ νευρϊνασ ενόσ νευρωνικοφ δικτφου δφο επιπζδων.

• Το πλικοσ των κανόνων και οι εξαρτιςεισ τουσ αποφαςίηονται εκ των προτζρων.

Περιοριςμοί ςτθ χριςθ του ANFIS

• Αφορά μόνο Sugeno ςυςτιματα με εξόδουσ μθδενικισ ι πρϊτθσ τάξθσ.

• Όλοι οι κανόνεσ αφοροφν τθν ίδια ζξοδο, θ οποία αποαςαφοποιείται με χριςθ ςτακμιςμζνου μζςου όρου.

• Όλοι οι κανόνεσ ζχουν ξεχωριςτζσ ςυναρτιςεισ ςυμμετοχισ ςτθν ζξοδο.

• Όλοι οι κανόνεσ ζχουν το ίδιο βάροσ (=1).

• Δεν επιτρζπεται θ χριςθ custom ςυναρτιςεων.

28/1/2011

33

Tο βαςικό παράκυρο

• anfisedit

ΑΑΦΗ ΟΜΑΔΟΠΟΙΗΗ

28/1/2011

34

Ειςαγωγικά

• Η ομαδοποίθςθ (clustering) ςτα δεδομζνα ειςόδου και εξόδου μπορεί να οδθγιςει ςτθ ςχεδίαςθ ενόσ Sugeno αςαφοφσ ςυςτιματοσ με τον ελάχιςτον αρικμό κανόνων.

• Δφο υποςτθριηόμενεσ μζκοδοι:

– Αςαφισ ομαδοποίθςθ C-μζςων (fuzzy C-means clustering)

– Αφαιρετικι ομαδοποίθςθ (subtractive clustering)

Αςαφισ ομαδοποίθςθ C-μζςων

• Κάκε διάνυςμα ανικει ςε μία ομάδα με βακμό που κακορίηεται από κάποια ςυνάρτθςθ ςυμμετοχισ. – Προκακοριςμζνο πλικοσ ομάδων

– Ελαχιςτοποιείται μια ςυνάρτθςθ των τετραγϊνων των μζγιςτων βακμϊν ςυμμετοχισ.

• Εντολι fcm – Επιςτρζφει μία λίςτα με τα κζντρα των ομάδων και τουσ

βακμοφσ ςυμμετοχισ κάκε διανφςματοσ ςε κάκε ομάδα.

• Τα κζντρα των ομάδων μποροφν να αποτελζςουν τα αςαφι ςφνολα (μία ςυνάρτθςθ ςυμμετοχισ για κάκε αςαφζσ ςφνολο).

28/1/2011

35

Αφαιρετικι ομαδοποίθςθ

• Υποκζτει και για το πλικοσ των ομάδων.

– [C] = SUBCLUST(X,RADII)

• όπου

– RADII θ μζγιςτθ απόςταςθ ςθμείων κάκε ομάδασ ςε κάκε διάςταςθ, 0≤RADII≤1.

• Άλλεσ παράμετροι:

– squash factor: Αποκαρφνεται θ φπαρξθ άλλων κζντρων ομάδων ςε απόςταςθ μικρότερθ από sf*RADII.

– accept/reject ratios: Μζγεκοσ (ςε ςχζςθ με το μζγεκοσ του πρϊτου cluster) που πρζπει/δεν πρζπει να ζχει το επόμενο cluster. Η αναηιτθςθ γίνεται ςτα διανφςματα ειςόδου.

Γραφικό περιβάλλον clustering

• Εντολι findcluster