ιαγωγι θν Ααφι Λογικι -...
-
Upload
nguyenkhuong -
Category
Documents
-
view
218 -
download
4
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