ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών DEMOCRITUS UNIVERSITY OF THRACE SCHOOL OF ENGINEERING Department of Civil Engineering Προσαρμοστικό Σύστημα Νευρο-ασαφούς Συμπερασμού ANFIS (Adaptive Network based Fuzzy Inference System)
FIS (Fuzzy Inference System) ΑΣΑΦΕΣ ΣΥΣΤΗΜΑ ΕΞΑΓΩΓΗΣ ΣΥΜΠΕΡΑΣΜΑΤΩΝ ΑΣΑΦΗΣ ΣΥΜΠΕΡΑΣΜΟΣ Σύνολο ασαφών κανόνων. Προσομοίωση της γνώσης με τον ανθρώπινο τρόπο σκέψης Τύπος Mamdani Τύπος Takagi-Sugeno-Kang (TSK) i) Υπόθεση (IF) ii) Συμπέρασμα (THEN) Μετατροπή χαρακτηριστικών εισόδου σε συναρτήσεις συμμετοχής Δημιουργία κανόνων βάσει των συναρτήσεων συμμετοχής Καθορισμός ασαφούς συνεπαγωγής και εκτέλεση ασαφών κανόνων Μετατροπή ασαφοποιημένου αποτελέσματος σε σαφή (crisp) έξοδο
Γενική Αρχιτεκτονική Ασαφούς Συστήματος Είσοδος Έξοδος Ασαφοποίηση Σύστημα ασαφούς συλλογιστικής Αποασαφοποίηση Τύπος Sugeno
ANFIS- Συνδυασμός ασαφών και νευρωνικών συστημάτων ANFIS Υβριδικό Νεύρο-ασαφές Σύστημα Ασαφές Σύστημα Εξαγωγής Συμπερασμάτων(ΑΣΕΣ) Fuzzy Inference System (FIS) Τεχνητό Νευρωνικό Δίκτυο (ΤΝΔ) Artificial Neural Network (ANN) Ασαφές σύστημα τύπου Sugeno σχεδιασμένο με αρχιτεκτονική νευρωνικού δικτύου 5 επιπέδων Σύνολο κανόνων IF-THEN με δυνατότητα εκμάθησης που εφαρμόζονται σε μη γραμμικές συναρτήσεις Ασαφής συμπερασμός δεδομένων εισόδου-εξόδου ενός συστήματος που η δομή του δεν είναι καλά γνωστή ή είναι άγνωστη Οι συναρτήσεις συμμετοχής και οι κανόνες δημιουργούνται/βελτιώνονται με βάση τα δεδομένα από το νεύρο-ασαφές σύστημα και όχι από τον χρήστη Αυτόματη ρύθμιση των τιμών των παραμέτρων (εύρεση βέλτιστων παραμετρικών τιμών) ώστε να μπορούν να εντοπιστούν από το σύστημα οι αρχικές δοθείσες τιμές (δεδομένα)
Αρχιτεκτονική πεντα-επίπεδης λειτουργίας υβριδικού νεύρο-ασαφούς συστήματος (ANFIS) x 1 x 2 1 ο Επίπεδο: Προσαρμοστικοί κόμβοι. Κάθε κόμβος i έχει μια συνάρτηση κόμβου : O 1 i i x ( ) που αντιστοιχεί στο βαθμό συμμετοχής της Α i, δηλαδή ο βαθμός που η τιμή της μεταβλητής εισόδου ικανοποιεί την Α i όπου Α i = λεκτική μεταβλητή (π.χ. υψηλός, μέτριος, χαμηλός) x i = η τιμή (crisp) της μεταβλητής εισόδου
Αρχιτεκτονική πεντα-επίπεδης λειτουργίας υβριδικού νεύρο-ασαφούς συστήματος (ANFIS). x 1 x 2 2 ο Επίπεδο: Σταθεροί κόμβοι. Αντιπροσωπεύει έναν κανόνα του οποίου η Έξοδος είναι το γινόμενο των εισερχόμενων συναρτήσεων συμμετοχής. Εξετάζεται κατά πόσο οι μεταβλητές εισόδου ταυτόχρονα ικανοποιούν τον κανόνα και λαμβάνεται η τομή των συναρτήσεων συμμετοχής. 2 O W (x ) (x ) i i 1i 2i
x 1 x 2 3 ο Επίπεδο: Σταθεροί κόμβοι Ν. Υπολογίζεται ο λόγος του βαθμού ενεργοποίησης (W i ) κάθε κανόνα προς το άθροισμα των βαθμών ενεργοποίησης όλων των κανόνων (κανονικοποίηση) Π.χ για δύο κανόνες W O W i 1,2 3 1 i 1 W1 W2 Η ασάφεια εμπεριέχεται στα βάρη W i
x 1 x 2 4 ο Επίπεδο: Προσαρμοστικοί κόμβοι με μία συνάρτηση κόμβου. Ο κανονικοποιημένος βαθμός ενεργοποίησης W πολλαπλασιάζεται με μια i συνάρτηση Ζ i προκαθορισμένη από το ANFIS με βάση τις παραμέτρους. O w Z 4 i i i Ο χρήστης μπορεί να επιλέξει η Ζ i να είναι γραμμική ή ένα σημείο. Η ασάφεια δεν υφίσταται πια σε αυτό το επίπεδο.
x 1 x 2 5 ο Επίπεδο: Ένας σταθερός κόμβος Σ. Συνολική Έξοδος = ολικό άθροισμα όλων των εισερχόμενων συναρτήσεων O w Z w Z iwi 5 i i i i i i i
ΠΕΡΙΟΡΙΣΜΟΙ ΤΟΥ ANFIS Δίνει τη δυνατότητα για μία μόνο έξοδο που λαμβάνεται με τη μέθοδο αποσαφοποίησης σταθμισμένου μέσου Επιλέγοντας την υβριδική μέθοδο, το ANFIS εφαρμόζεται μόνο σε μοντέλα Task-Sugeno-Kang (TSK) Κάθε κανόνας αντιστοιχεί σε διαφορετική συνάρτηση Εφαρμόζεται μόνο στην περιοχή μελέτης για την οποία έχει εκπαιδευτεί
Παράδειγμα Εφαρμογής του ANFIS Καμπύλη Στάθμης (H) Παροχής (Q) Η συσχέτιση παραμέτρων Στάθμης - Παροχής ποταμού συμβάλλει στον προσδιορισμό της Απορροής. Πραγματοποιείται μέσω διαγράμματος Στάθμης Παροχής σε μια διατομή ενός υδατορρέματος Q a H b ( ή έ ) Καμπύλη στάθμης -παροχής ό a, b έ ί : log Q log a b log H
ΣΤΑΘΜΗ (m) ΠΑΡΟΧΗ (m 3 /s) ΣΤΑΘΜΗ (m) ΠΑΡΟΧΗ (m 3 /s) ΣΤΑΘΜΗ (m) ΠΑΡΟΧΗ (m 3 /s) 0.86 6.160 0.80 4.061 0.57 1.303 0.83 5.810 0.64 2.119 0.55 1.115 0.68 2.873 0.55 1.305 0.60 1.500 0.67 2.685 0.58 1.554 0.58 1.319 0.57 1.365 0.60 1.912 0.58 1.527 0.57 1.351 0.63 2.081 0.62 1.717 0.86 5.330 0.93 5.110 0.85 6.350 0.83 5.240 0.86 5.660 0.91 7.100 0.96 9.030 1.04 9.580 0.92 6.780 0.98 6.060 0.88 5.856 0.86 6.510 0.95 8.160 0.71 2.874 1.02 9.650 0.89 6.880 0.54 1.340 0.94 7.350 0.75 3.824 0.76 4.139 1.20 15.360 0.65 2.202 0.82 6.440 1.03 9.870 0.57 1.361 0.96 8.730 0.92 7.160 0.55 1.150 0.88 6.770 0.77 4.200 0.53 0.963 0.97 10.210 0.73 3.174 0.58 1.422 1.14 12.640 0.60 1.629 0.70 0.923 0.88 6.404 0.56 1.227 0.57 1.475 0.93 7.360 0.61 1.613 0.51 1.547 0.64 2.330 0.56 1.240 0.68 2.695 0.62 2.078 0.68 2.264 0.76 4.150 0.57 1.332 0.58 1.293 1.00 8.087 0.57 1.458 0.56 1.130 0.72 3.069 0.54 1.096 1.10 11.740 0.65 3.120 0.54 1.105 0.61 1.840 0.94 11.150 0.97 9.040 0.67 2.546 0.80 4.697 0.70 3.370 0.61 1.823 0.84 5.490 0.74 3.422 0.84 5.127 1.04 9.040 0.72 3.126 0.85 5.038 0.84 4.733 0.68 3.270 0.96 7.380 0.76 3.696 0.91 6.470 0.86 5.220 0.67 2.647 0.91 6.510 0.78 3.901 0.67 2.334 1.19 12.740 0.69 2.845 0.75 3.389 1.18 12.430 0.62 1.750 0.74 3.288 1.14 11.990 0.56 1.270 0.56 1.166 1.12 11.480 0.52 0.855 0.86 4.877 0.68 1.975 0.82 4.407 0.74 2.858 0.59 1.266 1.21 16.680 0.70 2.296 0.62 1.619 1.19 15.250 0.66 1.639 0.60 1.454 1.13 13.890 0.62 1.328 0.60 1.446 1.17 14.520 0.55 0.999 0.66 2.033 0.97 7.725 0.55 1.524 0.84 4.901 0.96 7.093 0.58 1.156 0.76 2.635 0.86 4.683 0.59 1.213 0.86 5.493 0.72 2.711 0.60 1.374 0.78 3.720 0.62 1.580 0.70 2.457 1.12 12.480 0.59 1.246 0.62 1.560 0.99 8.070 0.59 1.273 0.63 1.717 1.00 8.580 0.86 4.840 Πίνακας 1. Πρωτογενή δεδομένα υδρομετρικού σταθμού (από Τσακίρη)
line του Matlab Πληκτρολογούμε anfisedit στο command anfisedit και εμφανίζεται το παράθυρο Anfis Editor από το οποίο γίνονται όλες οι ενέργειες για τη δημιουργία του μοντέλου ANFIS
11 1 10 9 8 3 4 2 7 4 5 6 1) Επιλογή FILE: γίνεται η φόρτωση/αποθήκευση του ασαφούς συστήματος (Sugeno) 2) Επιλογή Load Data:φορτώνονται τα δεδομένα εκπαίδευσης, ελέγχου και μοντέλου FIS από το δίσκο ή από το workspace ή demo δεδομένα και εμφανίζονται στην περιοχή σχεδίασης 3) Περιοχή σχεδίασης και προβολής δεδομένων 4) Επιλογή Clear Data/Clear Plot: διαγράφονται τα εισερχόμενα δεδομένα από τη μνήμη και από την περιοχή σχεδίασης αντίστοιχα 5) Επιλογή Generate FIS: δημιουργείται το σύστημα Sugeno βάσει των χαρακτηριστικών που έχουμε δώσει
11 10 9 1 3 4 8 2 7 4 5 6 6) Επιλογή Train Now: γίνεται η εκπαίδευση του FIS αφού πρώτα προσδιοριστεί η μέθοδος βελτιστοποίησης, το αποδεκτό σφάλμα και το πλήθος επαναλήψεων 7) Επιλογή Test Now: γίνεται έλεγχος των αποτελεσμάτων που έχουμε φορτώσει προηγουμένως 8) Επιλογή Structure: απεικονίζεται γραφικά η δομή των σχέσεων μεταξύ των δεδομένων εισόδου - εξόδου του μοντέλου που έχει δημιουργηθεί 9) Στο παράθυρο ANFIS Info αναγράφονται πληροφορίες σχετικά με το πλήθος των μεταβλητών εισόδου-εξόδου και των λεκτικών μεταβλητών 10) Επιλογή View: Προβολή του μοντέλου με άλλο γραφικό περιβάλλον 11) Επιλογή Edit: Εντολή UNDO και προβολή των χαρακτηριστικών του FIS που έχει δημιουργήσει το ANFIS, των συναρτήσεων συμμετοχής και των κανόνων
Πλαίσιο Load data Training/Checking worksp Load Data εισαγωγή μεταβλητής THR Αρχικά δημιουργούμε 2 νέες μεταβλητές πατώντας στο εικονίδιο new variable στο workspace του Matlab και τις δίνουμε όνομα. Πατώντας πάνω σε μια μεταβλητή εμφανίζεται το παράθυρο Variable Editor. Αντιγράφουμε τα 2/3 των δεδομένων και τα επικολλούμε στο Variable Editor της QΗtraining (Ο) για να χρησιμοποιηθούν για την εκπαίδευση του ANFIS. Κάνουμε το ίδιο με το υπόλοιπο 1/3 των δεδομένων και τα επικολλούμε στο Variable Editor της QHchecking (+) για τον έλεγχο προσαρμογής του μοντέλου.
Πλαίσιο Load data Training/Checking worksp Load Data εισαγωγή μεταβλητής THR Πατώντας Load Data εισάγουμε τα δεδομένα γράφοντας το όνομα της μεταβλητής (π.χ. QΗtraining και QHchecking) και εμφανίζονται τα δεδομένα στην περιοχή σχεδίασης
: Πλαίσιο Generate FIS => επιλογή Grid partition => επιλογή Generate FIS Στο παράθυρο που εμφανίζεται επιλέγουμε τον αριθμό των λεκτικών μεταβλητών (π.χ. 7), το είδος των ασαφών συνόλων (π.χ. τραπεζοειδή) και τον τύπο της Εξόδου (γραμμικός) Ο αριθμός των λεκτικών μεταβλητών είναι σημαντικός. Απορρέει από την εμπειρία του χρήστη και καθορίζει των αριθμό των κανόνων
Παρατηρούμε: τις ιδιότητες του Ασαφούς συστήματος τύπου Sugeno που δημιουργήθηκε (FIS Properties) τους κανόνες που έχουν δημιουργηθεί (Rules)
Καθώς επίσης και πληροφορίες σχετικά με τις Συναρτήσεις συμμετοχής/ Λεκτικές μεταβλητές (Membership Functions) όπως το όνομα, τον τύπο (τριγωνικές, τραπεζοειδείς), το εύρος και τις τιμές των ορίων
Πλαίσιο Anfis Info => Structure 1 ο Επίπεδο: Μεταβλητή Εισόδου (Στάθμη) 2 ο Επίπεδο: Ασαφή Σύνολα (βαθμίδες γλωσσικών μεταβλητών) 3 ο Επίπεδο: Κανόνες του συστήματος (ορίζονται από το ANFIS) 4 ο Επίπεδο: Σχηματισμός ασαφών συνόλων Εξόδου 5 ο Επίπεδο: Έξοδος (crisp) Παροχή
Πλαίσιο Train FIS=> επιλογή υβριδικής μεθόδου=> ανοχής σφάλματος => αριθμού επαναλήψεων=> επιλογή Train Now
Πλαίσιο Test FIS =>Checking Data => Test Now Ελέγχεται αν προσαρμόζεται όντως ικανοποιητικά το μοντέλο στα δεδομένα όπως προσδίδει το μικρό σφάλμα
=> View => Rules Παράθυρο Anfis Editor 7 λεκτικές μεταβλητές 4 λεκτικές μεταβλητές O τέταρτος κανόνας που είναι ενεργός έχει τον μεγαλύτερο βαθμό συμμετοχής Μετακινώντας τις κόκκινες κάθετες γραμμές της εισόδου σε τιμές ίσες με τις δοθείσες παρατηρούμε αν η Έξοδος λαμβάνει τις προκαθορισμένες τιμές. Αν συμβαίνει αυτό το σύστημα έχει εκπαιδευτεί σωστά.
=> View => Surface Παράθυρο Anfis Editor Από τη φύση του προβλήματος αναμένουμε η καμπύλη να είναι ΑΥΞΟΥΣΑ σε όλο το μήκος της και ΟΧΙ ΦΘΙΝΟΥΣΑ έστω κατά τμήματα υπερεκπαίδευση 7 λεκτικές μεταβλητές 4 λεκτικές μεταβλητές Η απεικόνιση της καμπύλης Στάθμης-Παροχής δείχνει ότι για τα συγκεκριμένα δεδομένα η γραμμικότητα διατηρείται σε όλο το μήκος της καμπύλης με λιγότερες λεκτικές μεταβλητές
Ajith Abraham. Neuro Fuzzy Systems: State-of-the-art Modeling Techniques, 2000. Ch. Tzimopoulos, B. Papadopoulos. Fuzzy logic with application in engineering, Thessaloniki, 2013. G. Refanidis. Neural networks, Thessaloniki,2011. Jyh-Shing Roger Jang. ANFIS: Adaptive-Network-Based Fuzzy Inference System, IEEE Trans. Systems, Man, Cybernetics May/June, 1993. K. Guney, N. Sarikaya. Comparison Of Mamdani and Sugeno Fuzzy Inference System Models for resonant frequency calculation of rectangular microstrip antennas, Turkey, 2009. Piero P. Bonissone. Adaptive Neural Fuzzy Inference Systems (ANFIS): Analysis and Application, 2002. S.Papadakis, P. Adamidis. Fuzzy systems, Thessaloniki, 2004. http://www.physics.auth.gr/courses/neural/k1 http://www.scirp.org/
Δεδομένα εκπαίδευσης (training data): Εισαγωγή δεδομένων εισόδων-εξόδου. Δημιουργία μεταβλητής THR στο workspace και επικόλληση των δεδομένων ΜΕΛΙΚΗ ΗΜΑΘΙΑΣ Μέση Ελάχιστη T 0 C Μέση Ελάχιστη Σχετική Υγρασία (%) Μέσος Υετός Ολικός (mm) ΣΕΠΤΕΜΒΡΙΟΣ '14 14.32 56.96 8.29 ΟΚΤΩΒΡΙΟΣ '14 10.28 63.99 8.23 ΝΟΕΜΒΡΙΟΣ '14 8.04 77 7.39 ΔΕΚΕΜΒΡΙΟΣ '14 3.43 74.24 7.61 ΙΑΝΟΥΑΡΙΟΣ '14 2.74 71.89 2.54 ΦΕΒΡΟΥΑΡΙΟΣ '14 4.13 66.76 3.08 ΜΑΡΤΙΟΣ '14 5.8 49.72 4.59 ΑΠΡΙΛΙΟΣ '14 9.02 55.98 6.34 ΜΑΙΟΣ '14 12.22 39.3 6.34 ΙΟΥΝΙΟΣ '14 15.65 35.21 3.57 ΙΟΥΛΙΟΣ '14 17.67 36.29 3.45 ΑΥΓΟΥΣΤΟΣ '14 17.87 36.25 2.55 Πίνακας 1. Μέσες μηνιαίες τιμές της ελάχιστης Θερμοκρασίας Τ 0, της ελάχιστης Σχετικής υγρασίας (%) και του ολικού Υετού (mm) της περιοχής Μελική Ημαθίας. Πηγή:Οργανισμό Ελληνικών Γεωργικών Ασφαλίσεων
Πλαίσιο Load data Training/Checking worksp Load Data εισαγωγή μεταβλητής THR επιλογή Grid partition => επιλογή Generate FIS : Πλαίσιο Generate FIS =>
Από το Edit του Anfis Editor παρατηρούμε: τις ιδιότητες του Ασαφούς συστήματος τύπου Sugeno που δημιουργήθηκε (FIS Properties) τις Συναρτήσεις συμμετοχής/ Λεκτικές μεταβλητές (Membership Functions) τους κανόνες που έχουν δημιουργηθεί (Rules)
Πλαίσιο Anfis Info => Structure 1 ο Επίπεδο: Μεταβλητές Εισόδου (Θερμοκρασία Τ ο Σχετική Υγρασία %) 2 ο Επίπεδο: Ασαφή Σύνολα (βαθμίδες γλωσσικών μεταβλητών) 3 ο Επίπεδο: Κανόνες του συστήματος (ορίζονται από το ANFIS) 4 ο Επίπεδο: Σχηματισμός ασαφών συνόλων Εξόδου 5 ο Επίπεδο: Έξοδος (crisp) Υετός (βροχόπτωση)
Πλαίσιο Train FIS=> επιλογή υβριδικής μεθόδου=> ανοχής σφάλματος => αριθμού επαναλήψεων=> επιλογή Train Now Πλαίσιο Test FIS =>Training Data => Test Now Ελέγχεται αν προσαρμόζεται όντως ικανοποιητικά το μοντέλο στα δεδομένα όπως προσδίδει το μικρό σφάλμα
Rules Παράθυρο Anfis Editor => View => O πέμπτος κανόνας που είναι ενεργός έχει τον μεγαλύτερο βαθμό συμμετοχής Μετακινώντας τις κόκκινες κάθετες γραμμές της εισόδου σε τιμές ίσες με τις δοθείσες παρατηρούμε αν η Έξοδος λαμβάνει τις προκαθορισμένες τιμές. Αν συμβαίνει αυτό το σύστημα έχει εκπαιδευτεί σωστά.
Σταθερή Σχετική Υγρασία+ Αύξηση Θερμοκρασίας= Αρχική μείωση της Βροχόπτωσης αλλά μετά από μια τιμή της Τ ο η Βροχόπτωση αυξάνεται διαρκώς Σταθερή Σχετική Υγρασία+ Μείωση Θερμοκρασίας= Αρχική αύξηση της Βροχόπτωσης αλλά κάτω από μια τιμή της Τ ο δεν υπάρχει Βροχόπτωση Σταθερή Θερμοκρασία + Αύξηση Σχετικής Υγρασίας= Αύξηση Βροχόπτωσης Σταθερή Θερμοκρασία + Μείωση Σχετικής Υγρασίας= Αυξομειώσεις Βροχόπτωσης
ΠΑΡΑΡΤΗΜΑ ANN (Artificial Neural Network) ΤΕΧΝΗΤΑ ΝΕΥΡΟΝΙΚΑ ΔΙΚΤΥΑ Προσιδιάζουν τη λειτουργία ενός βιολογικού νευρωνικού δικτύου (π.χ. ανθρώπινος εγκέφαλος) με σκοπό να εκτελούν από μόνα τους διεργασίες (π.χ. αναγνώριση εικόνων) αφού πρώτα εκπαιδευτούν κατάλληλα Επίλυση πολύπλοκων μη γραμμικών προβλημάτων Γενίκευση συμπερασμάτων (αποφάσεων) μετά από κατάλληλη εκπαίδευση Επίπεδο Εισόδου (Input Layer) ΒΑΣΙΚΗ ΔΟΜΗ Επίπεδο/α Επεξεργασίας στοιχείων (Hidden Layers) Επίπεδο Εξόδου (Output Layer)
x 1 x 2..... w 2 w 1 + f(.) θ y Νευρώνας: Δομική μονάδα (McCulloch and Pitts ) x n w n -1 Βασική Δομή Νευρωνικών Δικτύων