Ειςαγωγι ςτθν Αςαφι Λογικι Matlab fuzzy logic toolbox Ειςαγωγικά Η αςαφισ λογικι μπορεί να κεωρθκεί ωσ μια επζκταςθ τθσ μακθματικισ λογικισ, όπου οι λογικζσ προτάςεισ δεν ζχουν απόλυτεσ τιμζσ αλικειασ ι ψεφδουσ. Παρζχει μθ-αυςτθροφσ μθχανιςμοφσ εξαγωγισ ςυμπεραςμάτων. 1
Αςάφεια Ζλλειψθ ακρίβειασ Πλεονεκτιματα Εφκολθ κατανόθςθ (και από τρίτουσ) Ευπροςάρμοςτθ Ανεκτικι ςε μθ-ακριβι δεδομζνα Ικανι να μοντελοποιιςει ςυναρτιςεισ αυκαίρετθσ πολυπλοκότθτασ Ταιριάηει ςτθν ανκρϊπινθ γλϊςςα και τον ανκρϊπινο τρόπο ςκζψθσ Συνδυάηεται με άλλεσ τεχνικζσ ελζγχου 2
Πότε δεν ενδείκνυται Όταν απαιτείται μεγάλθ ακρίβεια Όταν το πρόβλθμα μπορεί να λυκεί εφκολα με άλλεσ μεκόδουσ Όταν υπάρχει ιδθ εναλλακτικι λφςθ ΣΟ ΠΡΟΒΛΗΜΑ ΣΟΤ ΦΙΛΟΔΩΡΗΜΑΣΟ 3
Περιγραφι Δοκζντοσ ενόσ αρικμοφ από το 0 ζωσ 10 που εκφράηει τθν ικανοποίθςθ από τθν εξυπθρζτθςθ ςε ζνα εςτιατόριο, πόςο πρζπει να είναι το φιλοδϊρθμα; Πεδίο τιμϊν: Από 5% ζωσ 25%. Μθ αςαφείσ προςεγγίςεισ Δφο εναλλακτικζσ ςυμπεριφορζσ: 4
Το επαυξθμζνο πρόβλθμα Δοκζντων δφο αρικμϊν από το 0 ζωσ το 10 ζκαςτοσ, που εκφράηουν τθν ποιότθτα τθσ εξυπθρζτθςθσ και τθν ποιότθτα του φαγθτοφ, πόςο πρζπει να είναι το φιλοδϊρθμα; Λφςεισ με πλατό 5
Η λφςθ με αςαφι λογικι (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 6
Αποτζλεςμα (για το ςυνδυαςμζνο ςετ κανόνων) Μολονότι υπάρχουν πολλά ανοικτά κζματα... Αφθρθμζνο μοντζλο 7
ΑΑΦΗ ΤΝΟΛΑ Γενικά Ποιεσ μζρεσ τθσ εβδομάδασ ανικουν ςτο weekend? Κλαςικι προςζγγιςθ Αςαφισ προςζγγιςθ 8
Συναρτιςεισ ςυμμετοχισ Εποχζσ του χρόνου Ψθλόσ άνκρωποσ Matlab ςυναρτιςεισ ςυμμετοχισ (1/2) 11 τφπου ςυναρτιςεων ςυμμετοχισ 9
Matlab ςυναρτιςεισ ςυμμετοχισ (2/2) Ανατρζξτε ςτο manual του fuzzy logic toolbox για τουσ ακριβείσ τφπουσ των παραπάνω ςυναρτιςεων ςυμμετοχισ. Λογικζσ πράξεισ Θζλουμε να ορίςουμε τισ πράξεισ τθσ ςφηευξθσ, διάηευξθσ και άρνθςθσ με αςαφείσ τιμζσ. Σε περίπτωςθ μθ αςαφϊν τιμϊν, ο οριςμόσ κα πρζπει να εξειδικεφεται ςωςτά. Υπάρχουν πολλοί εναλλακτικοί τρόποι οριςμοφ των λογικϊν πράξεων, π.χ. Α and B = μ(α)*μ(β) 10
Κανόνεσ 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) Εφαρμογι του βακμοφ υποςτιριξθσ ςτο αποτζλεςμα. Συνικωσ δεν αρκεί ζνασ κανόνασ. Απαιτοφνται τουλάχιςτον ζνασ κανόνασ για κάκε αςαφι τιμι του ςτόχου. Τα αποτελζςματα των κανόνων ςυνδυάηονται. 11
Αποτίμθςθ κανόνα (2/2) ΤΣΗΜΑΣΑ ΑΑΦΟΤ ΤΛΟΓΙΣΙΚΗ 12
Γενικά Ζνα ςφςτθμα αςαφοφσ ςυλλογιςτικισ αποτελείται από τον προςδιοριςμό των: Αςαφϊν μεταβλθτϊν Αςαφϊν τιμϊν (ςυνόλων) Αςαφϊν κανόνων Δφο τφποι αςαφϊν ςυςτθμάτων: Τφπου Mandami Η ζξοδοσ των κανόνων είναι αςαφείσ τιμζσ που πρζπει να ςυνδυαςτοφν Τφπου Sugeno Η ζξοδοσ είναι απευκείασ πραγματικζσ τιμζσ Παράδειγμα 13
Τα 5 βιματα Βιμα 1: Αςαφοποίθςθ ειςόδων Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ Βιμα 4: Άκροιςθ των αποτελεςμάτων για κάκε αςαφι μεταβλθτι εξόδου Βιμα 5: Αποαςαφοποίθςθ τιμϊν Βιμα 1: Αςαφοποίθςθ ειςόδων Για κάκε μεταβλθτι ειςόδου, για κάκε αςαφι τιμι, προςδιορίηεται ο βακμόσ ςυμμετοχισ τθσ. 14
Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν (1/2) Στο toolbox υποςτθρίηονται δφο εναλλακτικζσ μζκοδοι για τθ ςφηευξθ και τθ διάηευξθ: Σφηευξθ (AND) minimum product Διάηευξθ maximum probor(a,b) = a + b ab Μπορείτε να ορίςετε εναλλακτικζσ μεκόδουσ... Βιμα 2: Εφαρμογι αςαφϊν τελεςτϊν (2/2) 15
Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ (1/2) Υπολογίηεται ο βακμόσ ςτιριξθσ του κανόνα από τισ προχποκζςεισ του. Ο ίδιοσ ο κανόνασ ζχει επίςθσ ζνα βάροσ (μεταξφ 0 και 1), το οποίο ςυνικωσ είναι 1. Ο ςυνολικόσ βακμόσ ςτιριξθσ προκφπτει από τθ ςφηευξθ (AND) των παραπάνω δφο τιμϊν. Το αρχικό ςυμπζραςμα είναι ζνα αςαφζσ ςφνολο Το ςυμπζραςμα αναμορφϊνεται με βάςθ το βακμό ςτιριξθσ του κανόνα, εφαρμόηοντασ τον τελεςτι AND. Βιμα 3: Εφαρμογι μεκόδου ςυμπεραςμοφ (2/2) 16
Βιμα 4: Άκροιςθ των αποτελεςμάτων (1/2) Τα διάφορα αςαφι ςφνολα που αποτελοφν τισ εξόδουσ των διαφόρων κανόνων (για τθν ίδια μεταβλθτι) ςυνδυάηονται ςε ζνα ασαφζς σφνολο για κάθε μεταβλητή εξόδου. Τρεισ μζκοδοι: maximum probor sum Βιμα 4: Άκροιςθ των αποτελεςμάτων (2/2) 17
Βιμα 5: Αποαςαφοποίθςθ τιμϊν Υποςτθρίηονται πζντε μζκοδοι: centroid (κζντρο βάροσ) bisector (του εμβαδοφ) middle of maximum (the average of the maximum value of the output set) largest of maximum smallest of maximum Το διάγραμμα τθσ αςαφοφσ ςυλλογιςτικισ 18
Εφαρμοφι ςτο παράδειγμα 19
Τα εργαλεία του Fuzzy Toolbox (1/2) Τα εργαλεία του Fuzzy Toolbox (2/2) 20
Εφαρμογι ςτο πρόβλθμα του φιλοδωριματοσ Οι τρεισ αςαφείσ κανόνεσ: 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. Οριςμόσ βαςικϊν παραμζτρων 21
Οριςμόσ μεταβλθτϊν Η μεταβλθτι service (1/2) 22
Η μεταβλθτι service (2/2) Η μεταβλθτι tip 23
Η μεταβλθτι food Συγγραφι των κανόνων 24
Επιςκόπθςθ των κανόνων Επιςκόπθςθ εξόδου 25
Ειςαγωγι/εξαγωγι μεταβλθτϊν Από το παράκυρο του 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 26
ΑΑΦΗ ΤΣΗΜΑΣΑ 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 ι ςυνάρτθςθ ςυμμετοχισ ςτθν ζξοδο είναι ςτακερι. 27
Ειςαγωγικά (2/2) Για ζνα ςφνολο κανόνων που προβλζπουν τθν τιμι τθσ ίδιασ μεταβλθτισ z, θ τελικι τιμι τθσ ιςοφται με: Παράδειγμα Στακερζσ ςυναρτιςεισ εξόδου 28
Επιςκόπθςθ εξόδου Ζςτω δφο κανόνεσ: Παράδειγμα 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] 29
Παράδειγμα Sugeno με μθ-ςτακερζσ εξόδουσ (2/2) Πλεονεκτιματα Sugeno Πιο ςυμπαγισ και υπολογιςτικά αποδοτικι αναπαράςταςθ. Επιδζχεται μθχανικισ μάκθςθσ των παραμζτρων. Ζχει εξαςφαλιςμζνα ςυνεχι ζξοδο. Επιδζχεται μακθματικισ ανάλυςθσ. 30
Πλεονεκτιματα Mandani Είναι πιο διαιςκθτικά Ζχουν μεγαλφτερθ αποδοχι από τθν ερευνθτικι κοινότθτα Ταιριάηουν καλφτερα ςτον τρόπο που περιγράφουν οι άνκρωποι τα προβλιματα ANFIS ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM 31
Γενικά Στόχοσ είναι θ αυτόματθ εκμάκθςθ όλων των παραμζτρων του αςαφοφσ ςυςτιματοσ μζςω δεδομζνων εκπαίδευςθσ Προςομοιάηει ςτθν εκπαίδευςθ των νευρωνικϊν δικτφων Κάκε αςαφισ κανόνασ μπορεί να κεωρθκεί ωσ ζνασ νευρϊνασ ενόσ νευρωνικοφ δικτφου δφο επιπζδων. Το πλικοσ των κανόνων και οι εξαρτιςεισ τουσ αποφαςίηονται εκ των προτζρων. Περιοριςμοί ςτθ χριςθ του ANFIS Αφορά μόνο Sugeno ςυςτιματα με εξόδουσ μθδενικισ ι πρϊτθσ τάξθσ. Όλοι οι κανόνεσ αφοροφν τθν ίδια ζξοδο, θ οποία αποαςαφοποιείται με χριςθ ςτακμιςμζνου μζςου όρου. Όλοι οι κανόνεσ ζχουν ξεχωριςτζσ ςυναρτιςεισ ςυμμετοχισ ςτθν ζξοδο. Όλοι οι κανόνεσ ζχουν το ίδιο βάροσ (=1). Δεν επιτρζπεται θ χριςθ custom ςυναρτιςεων. 32
Tο βαςικό παράκυρο anfisedit ΑΑΦΗ ΟΜΑΔΟΠΟΙΗΗ 33
Ειςαγωγικά Η ομαδοποίθςθ (clustering) ςτα δεδομζνα ειςόδου και εξόδου μπορεί να οδθγιςει ςτθ ςχεδίαςθ ενόσ Sugeno αςαφοφσ ςυςτιματοσ με τον ελάχιςτον αρικμό κανόνων. Δφο υποςτθριηόμενεσ μζκοδοι: Αςαφισ ομαδοποίθςθ C-μζςων (fuzzy C-means clustering) Αφαιρετικι ομαδοποίθςθ (subtractive clustering) Αςαφισ ομαδοποίθςθ C-μζςων Κάκε διάνυςμα ανικει ςε μία ομάδα με βακμό που κακορίηεται από κάποια ςυνάρτθςθ ςυμμετοχισ. Προκακοριςμζνο πλικοσ ομάδων Ελαχιςτοποιείται μια ςυνάρτθςθ των τετραγϊνων των μζγιςτων βακμϊν ςυμμετοχισ. Εντολι fcm Επιςτρζφει μία λίςτα με τα κζντρα των ομάδων και τουσ βακμοφσ ςυμμετοχισ κάκε διανφςματοσ ςε κάκε ομάδα. Τα κζντρα των ομάδων μποροφν να αποτελζςουν τα αςαφι ςφνολα (μία ςυνάρτθςθ ςυμμετοχισ για κάκε αςαφζσ ςφνολο). 34
Αφαιρετικι ομαδοποίθςθ Υποκζτει και για το πλικοσ των ομάδων. [C] = SUBCLUST(X,RADII) όπου RADII θ μζγιςτθ απόςταςθ ςθμείων κάκε ομάδασ ςε κάκε διάςταςθ, 0 RADII 1. Άλλεσ παράμετροι: squash factor: Αποκαρφνεται θ φπαρξθ άλλων κζντρων ομάδων ςε απόςταςθ μικρότερθ από sf*radii. accept/reject ratios: Μζγεκοσ (ςε ςχζςθ με το μζγεκοσ του πρϊτου cluster) που πρζπει/δεν πρζπει να ζχει το επόμενο cluster. Η αναηιτθςθ γίνεται ςτα διανφςματα ειςόδου. Γραφικό περιβάλλον clustering Εντολι findcluster 35