Δίκτυα Συναρτήσεων Βάσης Ακτινικού Τύπου Radial Basis Functions (RBF)

Σχετικά έγγραφα
Πραγματοποίηση Νευρωνικών Δικτύων με το Matlab. Νευρωνικά Δίκτυα

Μοντέλο Perceptron πολλών στρωμάτων Multi Layer Perceptron (MLP)

Το μοντέλο Perceptron

Νευρωνικά Δίκτυα στο Matlab

Αναγνώριση Προτύπων. Μη παραμετρικές τεχνικές Αριθμητικά. (Non Parametric Techniques)

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 15-16

Νευρωνικά ίκτυα και Εξελικτικός

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Το Πολυεπίπεδο Perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Διακριτικές Συναρτήσεις

Υπολογιστική Νοημοσύνη. Μάθημα 10: Ομαδοποίηση με Ανταγωνιστική Μάθηση - Δίκτυα Kohonen

Το δίκτυο SOM. Νευρωνικά Δίκτυα

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

Ανάκτηση Πληροφορίας

derivation of the Laplacian from rectangular to spherical coordinates

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Αναγνώριση Προτύπων Ι

Συστήματα Αναμονής (Queuing Systems)

Approximation of distance between locations on earth given by latitude and longitude

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Χεμπιανά Μοντέλα Μάθησης με Επίβλεψη

Α.Τ.ΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ. ΕΡΓΑΣΤΗΡΙΟ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #12: Εισαγωγή στα Nευρωνικά Δίκτυα. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

EE512: Error Control Coding

Υπολογιστική Νοημοσύνη. Μάθημα 13: Αναδρομικά Δίκτυα - Recurrent Networks

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

HMY 795: Αναγνώριση Προτύπων

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

HMY 799 1: Αναγνώριση Συστημάτων

6. Στατιστικές μέθοδοι εκπαίδευσης

TMA4115 Matematikk 3

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΜΑΣ 473/673: Μέθοδοι Πεπερασμένων Στοιχείων

Section 9.2 Polar Equations and Graphs

HMY 795: Αναγνώριση Προτύπων. Διάλεξη 2

Section 8.3 Trigonometric Equations

ANFIS(Από την Θεωρία στην Πράξη)

Areas and Lengths in Polar Coordinates

Other Test Constructions: Likelihood Ratio & Bayes Tests

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

HMY 795: Αναγνώριση Προτύπων

Σκοπός μας είναι να εκπαιδεύσουμε το ΝΝ ώστε να πάρει από τα δεδομένα μόνο την «σοφία» που υπάρχει μέσα τους. Αυτή είναι η έννοια της γενίκευσης.

Προσομοίωση Νευρωνικού Δικτύου στο MATLAB. Κυριακίδης Ιωάννης 2013

HMY 795: Αναγνώριση Προτύπων

Ανάκτηση Πληροφορίας

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB

Παραμετρικές εξισώσεις καμπύλων. ΗΥ111 Απειροστικός Λογισμός ΙΙ

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Ανταγωνιστική Εκμάθηση Δίκτυα Kohonen. Κυριακίδης Ιωάννης 2013

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Numerical Analysis FMN011

Υπολογιστική Νοημοσύνη. Μάθημα 9: Γενίκευση

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

Α.Τ.Ε.Ι ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΕΡΓΑΣΤΗΡΙΟ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ 4

Areas and Lengths in Polar Coordinates

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

2 Composition. Invertible Mappings

Τεχνητά Νευρωνικά Δίκτυα. Τσιριγώτης Γεώργιος Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας & Θράκης

Προσαρμοστικό Σύστημα Νευρο-ασαφούς Συμπερασμού ANFIS (Adaptive Network based Fuzzy Inference System)

Αναγνώριση Προτύπων Ι

Άσκηση εφαρμογής της μεθόδου Newton Raphson

27-Ιαν-2009 ΗΜΥ (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Αναγνώριση Προτύπων Ι

Υπολογιστική Νοημοσύνη. Μάθημα 6: Μάθηση με Οπισθοδιάδοση Σφάλματος Backpropagation Learning

Second Order Partial Differential Equations

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

c(x 1 + x 2 + x 3 ) εάν 0 x 1, x 2, x 3 k (x 1, x 2, x 3 ) =

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ. Καραγιώργου Σοφία

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

Homework 3 Solutions

Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανύσματα στους Rn, Cn, διανύσματα στο χώρο (3) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Data Analytics Και Ευφυή Συστήματα Πρόβλεψης Δεδομένων Σε Χρονοσειρά. Εφαρμογή Στον Εναρμονισμένο Δείκτη Τιμών Καταναλωτή.

Section 7.6 Double and Half Angle Formulas

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Queensland University of Technology Transport Data Analysis and Modeling Methodologies

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

ΚΕΦΑΛΑΙΟ 5. Matlab GUI για FWSVM και Global SVM

HMY 795: Αναγνώριση Προτύπων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 4: Δειγματοληψία και Κβάντιση Εικόνας

Transcript:

Δίκτυα Συναρτήσεων Βάσης Ακτινικού Τύπου Radial Basis Functions (RBF) Τα δίκτυα RBF μοιάζουν στη λειτουργία τους με τα ανταγωνιστικά δίκτυα. Έχουν πολλές εφαρμογές και μεγάλο ενδιαφέρον, εξ ίσου με τα MLP. Έχουν συναρτήσεις ενεργοποίησης ακτινικού τύπου. Η συνάρτηση f x είναι ακτινικού τύπου, αν υπάρχει κάποιο διάνυσμα c (κέντρο) και η τιμή της f x εξαρτάται από την απόσταση του x από το κέντρο: f x = f x c Η γενική μορφή αυτών των συναρτήσεων είναι: c d = x c x f x = φ x c T R 1 x c

f x = φ x c T R 1 x c Όπου φ είναι η συνάρτηση που χρησιμοποιείται (Gauss, Πολυτετραγωνική, κλπ), c είναι το κέντρο και R το μέτρο. Ο όρος x c T R 1 x c είναι η απόσταση μεταξύ της εισόδου x και του κέντρου c με μέτρο το R. Υπάρχουν διάφορες συναρτήσεις που χρησιμοποιούνται: Η του Gauss: φ z = e z Το δίκτυο RBF Η πολυτετραγωνική: φ z = 1 + z 1 2 Η αντίστροφη πολυτετραγωνική: φ z = 1 + z 1 2 Η του Gauchy: φ z = 1 + z 1

Το δίκτυο RBF Πολύ συχνά το μέτρο είναι η Ευκλείδεια απόσταση (δηλαδή R = r 2 I) και η σχέση απλοποιείται στην: f x = φ x c T x c r 2 Και με περεταίρω απλοποίηση (όταν έχουμε μονοδιάστατη είσοδο) θα γίνει: f x = φ x c 2 Η ανωτέρω σχέση, για c = 0 για r = 1 θα δώσει τις μορφές: r 2

Το δίκτυο RBF Πολυτετραγωνική Αντίστροφη Πολυτετραγωνική Gauchy Gaussian

Το δίκτυο RBF Γενικεύοντας: Συνάρτηση Gauss f x = e x c 2 σ 2

Το δίκτυο RBF Γενικεύοντας: Πολυτετραγωνική Συνάρτηση f x = x c 2 + σ 2

Το δίκτυο RBF Γενικεύοντας: Συνάρτηση Cauchy f x = x c 2 + σ 2 1 σ

Η πιο συνήθης μορφή f x είναι αυτή της κατανομής Gauss: x c 2 f x = e σ 2 Ο συντελεστής σ καθορίζει το πλάτος της καμπύλης και το c το κέντρο της. Το δίκτυο RBF c=0 σ=2 c=-1 σ=0,5 c=1 σ=1

Το δίκτυο RBF Τα δίκτυα RBF έχουν ένα στρώμα με νευρώνες που έχουν συνάρτηση ενεργοποίησης ακτινικού τύπου. Έχουν συνήθως μόνο δύο στρώματα, κι αυτό γιατί δεν υπάρχει ικανοποιητικός αλγόριθμος για την εκπαίδευση περισσότερων στρωμάτων. y 1 y 2 y m + +.... +.... + + +........ x 1 x 2 x 3 x n +

Ανάκληση στο δίκτυο RBF Είσοδοι: Διάνυσμα εισόδου x = x 1, x 2,. x T n Πλήθος νευρώνων: Στρώμα εισόδου= n Κρυφό στρώμα = K Στρώμα εξόδου= m Κάθε νευρώνας i έχει δικό του κέντρο c i και εύρος συνάρτησης σ i Έξοδοι: y 1, y 2,. x m Για κάθε κρυφό νευρώνα i = 1,, Κ { a i = f x c i, σ i } Για κάθε νευρώνα εξόδου i = 1,, m { } K y i = j=1 w ij a j + w i0 Όπως γίνεται και στο MLP και είναι ακόμα πιο απλή

Καθώς τα δίκτυα RBF είναι ανομοιογενή, έχοντας στο κρυφό στρώμα νευρώνες με συνάρτηση ενεργοποίησης ακτινικού τύπου ενώ στο στρώμα εξόδου γραμμικού τύπου, η εκπαίδευσή τους γίνεται διαφορετικά ανά στρώμα. Εκπαιδεύονται πρώτα οι παράμετροι των νευρώνων ακτινικού τύπου, δηλαδή τα κέντρα c i και τα πλάτη σ i (i = 1,, Κ) και κατόπιν εκπαιδεύονται τα συναπτικά βάρη w ij των γραμμικών νευρώνων εξόδου, κατά τα γνωστά. Η εκπαίδευση των νευρώνων του κρυφού στρώματος RBF μπορεί να γίνει με διαφορετικούς τρόπους, ανάλογα με την ιδιομορφία και τις απαιτήσεις σε ακρίβεια και χρόνο. Εκπαίδευση Δικτύων RBF

Εκπαίδευση Δικτύων RBF A. Κάθε πρότυπο κι ένα κέντρο Κάθε διάνυσμα εισόδου x i, i = 1,., P, αποτελεί κι ένα κέντρο: c i = x i K = P i = 1,., K P κέντρα συνολικά: Μέθοδος «ακριβή», με πάρα πολλούς κρυφούς νευρώνες (P), αλλά και πολύ γρήγορη εκμάθηση. Ενδείκνυται, η τιμή τους εύρους σ i (για την συνάρτηση Gauss) να είναι: σ 1 = = σ Κ = σ = D 2P D: Απόσταση μεταξύ των πιο απομακρυσμένων κέντρων Έτσι ώστε οι Γκαουσιανές καμπάνες να είναι «νορμάλ» (ούτε πολύ «μυτερές», ούτε πολύ «επίπεδες»).

Εκπαίδευση Δικτύων RBF B. Τυχαία επιλογή προτύπων για κέντρα Κάνουμε τυχαία επιλογή από τα πρότυπα εισόδου για να γίνουν κέντρα, ή περιορίζουμε τον αρχικό τους αριθμό σε ένα ποσοστό, π.χ. (K=10% του P). Η Μέθοδος έχει απώλεια πληροφορίας: Σε περιοχές πυκνών προτύπων επιλέγουμε πολλά πρότυπα και η απώλεια περιορίζεται, ενώ σε αραιές περιοχές επιλέγουμε λίγα ή καθόλου γιατί η απώλεια είναι άνευ σημασίας.

Εκπαίδευση Δικτύων RBF C. Ομαδοποίηση (clustering) Ομαδοποίηση K-μέσων Εάν διαθέτουμε P πρότυπα: x 1, x 2,, x P που ανήκουν σε K κλάσεις: X 1, X 2,, X K, η μέθοδος Κ-μέσων αναζητά ένα διάνυσμα αντιπρόσωπο c i για κάθε κλάση, ξεκινώντας από τυχαία διανύσματα και προσπαθώντας να καλύψει τις απαιτήσεις: 1. Για κάθε i = 1,., K, η κλάση X i αποτελείται από τα πρότυπα x p τα οποία βρίσκονται πιο κοντά στο διάνυσμα c i σε σχέση με όλα τα άλλα διανύσματα c i, j i: x p c i = min x p c j j 2. Για κάθε i = 1,., K, το διάνυσμα c i είναι ο μέσος όρος των προτύπων που ανήκουν στην κλάση X i : c i = 1 X i p X i x p Με X i, το πλήθος των προτύπων της κλάσης και c i το κέντρο της.

Ομαδοποίηση K-μέσων Εκπαίδευση Δικτύων RBF

Εκπαίδευση Δικτύων RBF Αλγόριθμος Ομαδοποίησης K-μέσων Είσοδος: P πρότυπα: x 1, x 2,, x P. Πλήθος κέντρων K. Έξοδος: K κέντρα c 1, c 2,, c K Αρχικοποίησε τα c 1, c 2,, c K σε τυχαίες τιμές. Επανέλαβε { Για κάθε πρότυπο p = 1,, P { Βρες το κοντινότερο κέντρο c i στο x P label(p) i } Για κάθε κέντρο k = 1,, K { c k μέσος όρος των x P τα οποία ανήκουν στην κλάση k, δηλαδή label(p) = k } } Μέχρι να μην υπάρξει καμία αλλαγή στα κέντρα c 1, c 2,, c K

Εκπαίδευση Δικτύων RBF Αλγόριθμος Ομαδοποίησης K-μέσων Ο αλγόριθμος εναλλάσσεται, μέχρι να υπάρξει σύγκλιση, μεταξύ του υπολογισμού των μελών των κλάσεων και του Μ.Ο. κάθε κλάσης, κατά την διάρκεια των οποίων μπορεί να έχουμε αλλαγές και στα μέλη των κλάσεων και στους Μ.Ο. τους. Οι αλλαγές αυτές σταδιακά μειώνονται, όσο προχωράμε προς την σύγκλιση, και έχουμε παγίωση της κατάστασης.

Εκπαίδευση Δικτύων RBF D. Εκπαίδευση με επίβλεψη Οι Poggio & Girosi χρησιμοποιώντας την κατάβαση δυναμικού, πρότειναν μια παραλλαγή της μεθόδου Backpropagation για την βελτίωση της εκμάθησης των RBF που την ονόμασαν Generalized RBF (GRBF). Η μέθοδος αυτή δοκιμάστηκε στο πρόβλημα της μετατροπής κειμένου σε ομιλία (NETtalk), όπου το δίκτυο πρέπει να μάθει την προφορά αγγλικών λέξεων, μελετώντας ένα λεξικό με σωστές προφορές. Η χρήση του GRBF βελτίωσε κατά 17% την επίδοση του δικτύου σε σχέση με τον αλγόριθμο K-μέσων.

Εκπαίδευση Δικτύων RBF Εκπαίδευση του εξωτερικού στρώματος Χρήση του κανόνα δέλτα (delta-rule) όπως στο ADALINE. y 1 y 2 y m + +.... + a 1 a p.... Αφού έχουμε εκπαιδεύσει το κρυφό στρώμα, γνωρίζουμε τα a 1, a 2,, a K (για κάθε πρότυπο εισόδου x = x 1, x 2,. x n T ) τα οποία αποτελούν τις εισόδους του στρώματος εξόδου:

Εκπαίδευση του εξωτερικού στρώματος Οι έξοδοι θα είναι: Εκπαίδευση Δικτύων RBF y i = K j=1 w ij a j + w i0 Δηλαδή έχουμε πολλά δίκτυα ADALINE (ένα για κάθε έξοδο). Στην τιμή y p i για το πρότυπο εισόδου: a p = a p p 1,., a T K αντιστοιχεί η τιμή στόχου d i p. Ο κανόνας εκπαίδευσης θα είναι: w ij p+1 = w ij p + β d i p y i p a i p, j = 1,, K, i = 1,, m w i0 p+1 = w i0 p + β d i p y i p a i p, i = 1,, m

Δυνατότητες Δικτύων RBF Όπως τα MLP, έτσι και τα RBF μπορούν να αποτελέσουν καθολικό προσεγγιστή (Θεώρημα Park & Sandberg 1991). Οι συναρτήσεις ακτινικού τύπου είναι βάση του χώρου των συνεχών συναρτήσεων και προσεγγίζουν οποιαδήποτε συνεχή συνάρτηση αρκεί να έχουν ικανό πλήθος κρυφών νευρώνων.

RBF: μόνο 2 στρώματα. δεν υπάρχει ικανοποιητικός κανόνας εκπαίδευσης για 3, 4, κλπ στρώματα. RBF: αυτο-οργανούμενο κρυφό στρώμα. MLP: μοιάζει περισσότερο με τους νευρώνες. Ομοιότητες/Διαφορές με MLP RBF, MLP: εκπαίδευση με επίβλεψη πραγματικούς Και τα δύο είναι μη γραμμικά δίκτυα με προσωτροφοδότηση (feed-forward). Χρησιμοποιούνται σε παρόμοιες εφαρμογές. Υπάρχει πάντα ένα RBF ικανό να μιμηθεί με ακρίβεια ένα MLP και αντίστροφα.

Ομοιότητες/Διαφορές με MLP Ένα κρυφό στρώμα. RBFN Οι κρυφοί νευρώνες (βασικές συναρτήσεις) λειτουργούν πολύ διαφορετικά ο ένας από τον άλλο και έχουν διαφορετικούς σκοπούς σε σχέση με τους νευρώνες εξόδου. Μέτρο στην συνάρτηση ενεργοποίησης για κάθε κρυφή μονάδα είναι η απόσταση μεταξύ εισόδου και βαρών (κέντρα RBF). Συνήθως εκπαιδεύεται ένα στρώμα κάθε φορά, και το πρώτο στρώμα χωρίς επίβλεψη. Χρησιμοποιεί στοχευμένες μη γραμμικότητες (Gaussians) στο κρυφό στρώμα για να χτίσει τοπικές προσεγγίσεις. MLP Περισσότερα κρυφά στρώματα. Οι υπολογιστικοί νευρώνες στα διάφορα στρώματα, έχουν κοινό μοντέλο νευρώνα, αλλά όχι απαραίτητα και την ίδια συνάρτηση ενεργοποίησης. Μέτρο στην συνάρτηση ενεργοποίησης για κάθε κρυφή μονάδα είναι το εσωτερικό γινόμενο μεταξύ εισόδου και βαρών. Συνήθως εκπαιδεύεται με επίβλεψη και με τον ίδιο γενικευμένο αλγόριθμο. Χτίζει γενικευμένες προσεγγίσεις για μη γραμμικές αντιστοιχίσεις εισόδων-εξόδων με κατανεμημένες κρυφές αναπαραστάσεις. Χρειάζεται μικρότερο αριθμό παραμέτρων

Ομοιότητες/Διαφορές με MLP Και τα δύο παγκόσμιοι προσεγγιστές RBF προσέγγιση MLP Ισοδυναμία μεταξύ δικτύων RBF και μηχανών ασαφούς λογικής (fuzzy logic). RBF ή MLP? Κριτήριο = ποιότητα προσέγγισης πεπερασμένο πλήθος νευρώνων συγκεκριμένα δεδομένα

Ομοιότητες/Διαφορές με MLP MLP RBF

Ομοιότητες/Διαφορές με MLP MLP RBF

Μοντελοποίηση χρονοσειρών Χρονοσειρά είναι ακολουθία τιμών που παράγονται: Συνεχής χρόνος: y t = F x t Εφαρμογές t R Διακριτός χρόνος: y k = F x k k = 0,1,2,.. Διαφορική Εξίσωση: dy = F y dt Ζητούμενο: Εύρεση του μοντέλου F από τα δεδομένα της χρονοσειράς, ώστε να μπορεί να προβλεφθεί η εξέλιξή της. Οι τιμές από την δειγματοληψία της χρονοσειράς: y 0, y 1, y 2, τροφοδοτούν το νευρωνικό δίκτυο.

Εφαρμογές Μοντέλο παραγωγής λευκών αιμοσφαιρίων Mackey- Glass: dy t y t d = by t + a dt 1 + y t d 10 Ζητούμενο: Εκτίμηση παραμέτρων a, b, d Moody & Darken εκτίμηση παραμέτρων χαοτικής χρονοσειράς Mackey-Glass RBF: 27 φορές περισσότερα δεδομένα από το MLP για ίδιο επίπεδο απόδοσης RBF: 16 φορές πιο γρήγορο από το BP

Ταξινόμηση φωνημάτων (ταξινόμηση δέκα ήχων φωνηέντων) 338 φωνήματα για εκπαίδευση 333 φωνήματα για έλεγχο Μέθοδος k-μέσων 100 κρυφοί Γκαουσσιανοί νευρώνες Σφάλμα = 18% στα πρότυπα ελέγχου Εφαρμογές Τιμολόγηση Χρηματιστηριακών παραγώγων (option pricing) Εξισορρόπηση τηλεπικοινωνιακού καναλιού (channel equalization)

Πραγματοποίηση των δικτύων RBF στο Matlab a = radbas w p b = radbas n = e n2 Η είσοδος n στο RBF, είναι η απόσταση μεταξύ του ανύσματος των βαρών w και του ανύσματος της εισόδου p, επί την πόλωση (bias) b, με την οποία ρυθμίζουμε την ευαισθησία του.

Πραγματοποίηση των δικτύων RBF στο Matlab Μορφή Gaussian Η a παίρνει τιμές από 1 μέχρι 0, εάν η διαφορά n οδεύει από το 0 στο max. Ο νευρώνας RBF λειτουργεί ως ανιχνευτής, δίνοντας 1 όταν η είσοδος p είναι ίδια με το άνυσμα βαρών w. a = radbas w p b = radbas n = e n2

Πραγματοποίηση των δικτύων RBF στο Matlab To dist παίρνει το άνυσμα εισόδου p και την μήτρα βαρών ΙW 1,1 και δίνει ένα άνυσμα με S 1 στοιχεία, τα οποία είναι οι αποστάσεις μεταξύ του ανύσματος εισόδου και των ανυσμάτων iιw 1,1 που ορίζονται από τις γραμμές της μήτρας των βαρών εισόδου.

Πραγματοποίηση των δικτύων RBF στο Matlab Το άνυσμα της πόλωσης b 1 (με το οποίο ρυθμίζεται η ευαισθησία) και το dist πολλαπλασιάζονται, στοιχείο προς στοιχείο, με την πράξη (.*) του MATLAB.

Πραγματοποίηση των δικτύων RBF στο Matlab Όταν ένα άνυσμα εισόδου p παρουσιάζεται στην είσοδο, κάθε νευρώνας RBF θα δώσει έξοδο, ανάλογη με το πόσο κοντά είναι η τιμή του ανύσματος εισόδου με την τιμή του ανύσματος βαρών του νευρώνα.

Πραγματοποίηση των δικτύων RBF στο Matlab Έτσι οι νευρώνες RBF, με άνυσμα βαρών που διαφέρει από το άνυσμα εισόδου p, θα έχουν εξόδους περίπου ίσες με το μηδέν και η επίδρασή τους στους γραμμικούς νευρώνες εξόδου θα είναι μηδαμινή.

Πραγματοποίηση των δικτύων RBF στο Matlab Αντιθέτως, αν το άνυσμα βαρών δεν διαφέρει από το άνυσμα εισόδου p, τότε θα έχουν εξόδους σχεδόν στο 1 και οι έξοδοι αυτές θα περνούν αυτούσιες τις τιμές τους στους γραμμικούς νευρώνες εξόδου.

Πραγματοποίηση των δικτύων RBF στο Matlab Δηλαδή αν μόνο ένας νευρώνας RBF έχει έξοδο 1 και όλοι οι άλλοι 0 (ή σχεδόν 0), η έξοδος του γραμμικού στρώματος θα είναι το βάρος εξόδου του ενεργού νευρώνα RBF. Αυτό είναι μια ακραία περίπτωση. Στην πράξη, ενεργοποιούνται περισσότεροι του ενός νευρώνες, σε διαφορετικό βαθμό ο καθένας.

Πραγματοποίηση των δικτύων RBF στο Matlab Εάν το άνυσμα βαρών διαφέρει από το άνυσμα εισόδου p, σε απόσταση = spread, η σταθμισμένη είσοδός του θα είναι = spread, η είσοδος n = sqrt( log(.5)) (ή 0.8326), και η έξοδος a= 0.5.

Πραγματοποίηση των δικτύων RBF στο Matlab Η πραγματοποίηση των δικτύων ΝΝ RBF στο Matlab γίνεται με τις εντολές newrbe και newrb. net = newrbe(p,t,spread) Η εντολή newrbe δέχεται την μήτρα των ανυσμάτων εισόδου P και τα ανύσματα στόχους Τ, καθώς και την παράμετρο SPREAD (για την συνάρτηση RBF) και δημιουργεί το ΝΝ RBF με τα βάρη και τις πολώσεις έτσι ώστε όταν οι είσοδοι είναι Ρ οι έξοδοι να είναι Τ. Δημιουργεί τόσους νευρώνες RBF, όσα ανύσματα έχει η μήτρα εισόδου Ρ. Δηλαδή, κάθε νευρώνας στην γραμμή RBF λειτουργεί σαν ανιχνευτής ενός διαφορετικού ανύσματος εισόδου. Αν έχουμε π.χ. Q ανύσματα εισόδου, θα έχουμε και Q νευρώνες RBF.

Πραγματοποίηση των δικτύων RBF στο Matlab Έτσι με την εντολή newrbe δημιουργείται ένα ΝΝ που δίνει μηδενικό σφάλμα για τα ανύσματα εκμάθησης. Μόνη προϋπόθεση: spread αρκετά μεγάλο, ώστε οι νευρώνες RBF να επικαλύπτονται αρκετά και πολλοί νευρώνες RBF να έχουν υψηλές εξόδους, ανά πάσα στιγμή. Αυτό καθιστά τη λειτουργία του δικτύου ομαλότερη και έχει ως αποτέλεσμα την καλύτερη γενίκευση για νέα ανύσματα εισόδου που βρίσκονται μεταξύ των διανυσμάτων εισόδου που χρησιμοποιούνται στο σχεδιασμό. (Ωστόσο, το spread δεν πρέπει να είναι τόσο μεγάλο, γιατί τότε κάθε νευρώνας θα ανταποκρίνεται σχεδόν στην ίδια και μεγάλη περιοχή του χώρου εισόδου).

Πραγματοποίηση των δικτύων RBF στο Matlab Το μειονέκτημα της εντολής newrbe είναι ότι δημιουργεί ένα ΝΝ με τόσους κρυφούς νευρώνες, όσα και τα ανύσματα εισόδου. Αυτό δημιουργεί πρόβλημα μεγέθους, όταν χρειάζονται πολλά δεδομένα εισόδου για την σωστή επίλυση του προβλήματος, πράγμα που είναι σύνηθες. Τα ΝΝ RBF που πραγματοποιούνται με την εντολή newrbe λέγονται και Exact Radial Basis Function Networks (Exact RBFN).

Πραγματοποίηση των δικτύων RBF στο Matlab Η εντολή newrb δημιουργεί σταδιακά τους νευρώνες RBF, έναν κάθε φορά, ανάλογα με το αν έχουμε φτάσει (ή όχι) στην επιθυμητή τιμή του σφάλματος SSE, ή στον μέγιστο αριθμό νευρώνων. net = newrb(p,t,goal,spread) Η παράμετρος GOAL ορίζει τον στόχο για το σφάλμα SSE. Σε κάθε επανάληψη, το άνυσμα εισόδου που οδηγεί στην μεγαλύτερη μείωση του σφάλματος χρησιμοποιείται για να δημιουργηθεί ένας νευρώνας RBF. Εάν η τιμή σφάλματος έχει επιτευχθεί σταματάμε. Εάν όχι, η διαδικασία επαναλαμβάνεται προσθέτοντας νέο νευρώνα, κ.λ.π., μέχρι να επιτευχθεί η τιμή του σφάλματος ή ο μέγιστος αριθμός νευρώνων.

Παράδειγμα: Προσέγγιση συνάρτησης (Radial Basis Approximation) Να προσεγγισθεί μία συνάρτηση η οποία ορίζεται από τα εξής δεδομένα (σημεία): close all, clear all, clc, format compact X = -1:.1:1; T = [-.9602 -.5770 -.0729.3771.6405.6600.4609....1336 -.2013 -.4344 -.5000 -.3930 -.1647.0988....3072.3960.3449.1816 -.0312 -.2189 -.3201]; figure; plot(x,t,'+'); title('training Vectors'); xlabel('input Vector P'); ylabel('target Vector T');

Παράδειγμα: Προσέγγιση συνάρτησης

Παράδειγμα: Προσέγγιση συνάρτησης To NN RBF με το οποίο θα γίνει η προσέγγιση της συνάρτησης θα έχει την εξής συνάρτηση (Gaussian): x = -3:.1:3; a = radbas(x); figure; plot(x,a) title('radial Basis Transfer Function'); xlabel('input p'); ylabel('output a');

Παράδειγμα: Προσέγγιση συνάρτησης

Παράδειγμα: Προσέγγιση συνάρτησης Τα βάρη (weights) και οι πολώσεις (bias) κάθε νευρώνα στο κρυφό στρώμα του NN RBF, ορίζουν την θέση και το εύρος της συνάρτησης RBF. Κάθε νευρώνας στο στρώμα εξόδου, έχει γραμμική συνάρτηση απόκρισης η οποία δημιουργείται από το σταθμισμένο άθροισμα (weighted sum) των αποκρίσεων των νευρώνων RBF. Με τις σωστές τιμές για τα βάρη και τις πολώσεις, για κάθε στρώμα, και αρκετούς νευρώνες RBF στο κρυφό στρώμα, το ΝΝ RBF μπορεί να προσεγγίσει την συνάρτηση με όση ακρίβεια επιθυμούμε. Δίδονται π.χ., τρεις διαφορετικές συναρτήσεις RBF οι οποίες (σε συνδυασμό) δημιουργούν μια 4 η.

Παράδειγμα: Προσέγγιση συνάρτησης Με τις RBF αποκρίσεις των επί μέρους νευρώνων, γίνεται η προσέγγιση (fitting) της συνάρτησης.

Παράδειγμα: Προσέγγιση συνάρτησης a2 = radbas(x-1.5); a3 = radbas(x+2); a4 = a + a2*1 + a3*0.5; figure; plot(x,a,'b-',x,a2,'b--',x,a3,'b--',x,a4,'m-') title('weighted Sum of Radial Basis Transfer Functions'); xlabel('input p'); ylabel('output a');

Παράδειγμα: Προσέγγιση συνάρτησης

P T Παράδειγμα: Προσέγγιση συνάρτησης Με την εντολή newrb δημιουργούμε το ΝΝ RBF το οποίο θα προσεγγίσει την συνάρτηση που ορίζεται από τα σημεία Ρ και Τ. Η εντολή, εκτός από τα Ρ και Τ δέχεται ακόμα μέχρι 4 παραμέτρους: net = newrb(p,t,goal,spread,mn,df) R-by-Q matrix of Q input vectors S-by-Q matrix of Q target class vectors goal Mean squared error goal (default = 0.0) spread Spread of radial basis functions (default = 1.0) MN Maximum number of neurons (default is Q) DF Number of neurons to add between displays (default = 25)

Παράδειγμα: Προσέγγιση συνάρτησης eg = 0.02; % sum-squared error goal sc = 1; % spread constant K = 6; % choose max number of neurons Ki = 1; % number of neurons to add between displays net = newrb(x,t,eg,sc,k,ki); view(net)

Παράδειγμα: Προσέγγιση συνάρτησης

Παράδειγμα: Προσέγγιση συνάρτησης NEWRB, neurons = 0, MSE = 0.176192 NEWRB, neurons = 2, MSE = 0.160368 NEWRB, neurons = 3, MSE = 0.128338 NEWRB, neurons = 4, MSE = 0.0275185 NEWRB, neurons = 5, MSE = 0.0264878 NEWRB, neurons = 6, MSE = 0.00046188

Παράδειγμα: Προσέγγιση συνάρτησης Για να δούμε την επίδοση του ΝΝ πρέπει να τυπώσουμε μαζί τα αρχικά δεδομένα (σημεία), με την απόκριση του ΝΝ στην ίδια περιοχή. figure; plot(x,t,'+'); xlabel('input'); X = -1:.01:1.1; Y = net(x); hold on; plot(x,y); hold off; legend({'target','output'})

Παράδειγμα: Προσέγγιση συνάρτησης

Παράδειγμα: Προσέγγιση συνάρτησης Για να δούμε την επίδραση του spread στην ικανότητα του ΝΝ, θα δοκιμάσουμε με μια χαμηλή τιμή του. Χαράζουμε ξανά τα σημεία: P = -1:.1:1; T = [-.9602 -.5770 -.0729.3771.6405.6600.4609....1336 -.2013 -.4344 -.5000 -.3930 -.1647.0988....3072.3960.3449.1816 -.0312 -.2189 -.3201]; plot(x,t,'+'); title('training Vectors'); xlabel('input Vector P'); ylabel('target Vector T');

Παράδειγμα: Προσέγγιση συνάρτησης

Παράδειγμα: Προσέγγιση συνάρτησης eg = 0.02; % sum-squared error goal sc =.01; % spread constant net = newrb(p,t,eg,sc); NEWRB, neurons = 0, MSE = 0.176192 Για να δούμε πόσο ομαλά το ΝΝ ακολουθεί την συνάρτηση θα ορίσουμε ένα άλλο σύνολο σημείων στην είσοδο και θα δούμε την απόκρισή του ΝΝ σ αυτά τα νέα σημεία. Από την απόκριση φαίνεται η κακή του επίδοση, λόγω της μικρής τιμής του spead: X = -1:.01:1; Y = net(x); hold on; plot(x,y); hold off;

Παράδειγμα: Προσέγγιση συνάρτησης spead = 0.01

Παράδειγμα: Προσέγγιση συνάρτησης Εάν επαναλάβουμε την όλη διαδικασία για spead = 0.1

Παράδειγμα: Προσέγγιση συνάρτησης 10 100 500 Για διαφορετικές τιμές του spead

Παράδειγμα: Προσέγγιση συνάρτησης Εάν χρησιμοποιήσουμε την εντολή newrbe το script θα είναι ελαφρώς διαφοροποιημένο στο σημείο εκείνο: sc = 1; % spread constant net = newrbe(x,t,sc); Θα πάρουμε τα εξής αποτελέσματα:

Παράδειγμα: Προσέγγιση συνάρτησης Παρατηρούμε πως με την εντολή newrbe η απόκριση του ΝΝ είναι καλύτερη. Βέβαια το δίκτυο τώρα έχει 21 νευρώνες RBF ενώ πρώτα είχε 6.

Παράδειγμα: Το πρόβλημα XOR close all, clear all, clc, format compact % number of samples of each cluster K = 100; % offset of clusters q =.6; % define 2 groups of input data A = [rand(1,k)-q rand(1,k)+q; rand(1,k)+q rand(1,k)-q]; B = [rand(1,k)+q rand(1,k)-q; rand(1,k)+q rand(1,k)-q]; % plot data plot(a(1,:),a(2,:),'k+',b(1,:),b(2,:),'b*') grid on hold on Δημιουργούμε 2 κλάσεις με 200 σημεία η κάθε μία (η μία με + και η άλλη με *)

Παράδειγμα: Το πρόβλημα XOR

Παράδειγμα: Το πρόβλημα XOR Αντιστοιχούμε το -1 και το 1 ως επιθυμητές εξόδους για την κάθε κλάση και ορίζουμε το ΝΝ. % coding (+1/-1) for 2-class XOR problem a = -1; b = 1; % define inputs (combine samples from all four classes) P = [A B]; % define targets T = [repmat(a,1,length(a)) repmat(b,1,length(b))]; % choose a spread constant spread = 1; % create a neural network net = newrbe(p,t,spread); % view network view(net)

Παράδειγμα: Το πρόβλημα XOR Warning: Rank deficient, rank = 124, tol = 8.881784e-14. Όσα και τα δεδομένα εισόδου

% simulate a network on training data Y = net(p); % calculate [%] of correct classifications correct = 100 * length(find(t.*y > 0)) / length(t); fprintf('\nspread = %.2f\n',spread) fprintf('num of neurons = %d\n',net.layers{1}.size) fprintf('correct class = %.2f %%\n',correct) % plot targets and network response figure; plot(t') hold on grid on plot(y','r') ylim([-2 2]) set(gca,'ytick',[-2 0 2]) legend('targets','network response') xlabel('sample No.') Παράδειγμα: Το πρόβλημα XOR Το T.*Y>0 θα είναι θετικό [(1).(1) ή (-1).(-1)] μόνον όταν δεν έχω σφάλμα ταξινόμησης, δηλαδή μετράει τις σωστές ταξινομήσεις.

Παράδειγμα: Το πρόβλημα XOR Spread = 1.00 Num of neurons = 400 Correct class = 100.00 %

% generate a grid span = -1:.025:2; [P1,P2] = meshgrid(span,span); pp = [P1(:) P2(:)]'; % simualte neural network on a grid aa = sim(net,pp); % plot classification regions based on MAX activation figure(1) ma = mesh(p1,p2,reshape(- aa,length(span),length(span))-5); mb = mesh(p1,p2,reshape( aa,length(span),length(span))-5); set(ma,'facecolor',[1 0.2.7],'linestyle','none'); set(mb,'facecolor',[1 1.0.5],'linestyle','none'); view(2) Παράδειγμα: Το πρόβλημα XOR Προσοχή!! Τα script πρέπει να τρέξουν το ένα μετά το άλλο. Κάθε φορά, δεν έχουμε το ίδιο ακριβώς αποτέλεσμα, λόγω τυχαιότητας.

Παράδειγμα: Το πρόβλημα XOR

Παράδειγμα: Το πρόβλημα XOR plot(net.iw{1}(:,1),net.iw{1}(:,2),'gs')

Δίκτυα Γενικευμένης Παλινδρόμησης Generalized Regression NN (GRNN) στο Matlab Τα GRNN μοιάζουν με τα RBF και χρησιμοποιούνται συχνά για την προσέγγιση συναρτήσεων. Η διαφορά τους συνίσταται στην διεργασία nprod, η οποία δίνει ένα άνυσμα n 2 με S 2 στοιχεία.

Δίκτυα Γενικευμένης Παλινδρόμησης (GRNN) στο Matlab Το κάθε στοιχείο του ανύσματος n 2 είναι το γινόμενο dot μιας γραμμής της LW 2,1 και του ανύσματος εισόδου a 1, κανονικοποιημένου με το άθροισμα των στοιχείων του a 1. Εάν π.χ. έχουμε: LW 2,1 = 1 2 3 4 5 6 nprod LW 2,1, a 1 = και a 1 = 0.7 a 0.3 1 = 0.7 + 0.3 = 1 1x0.7 2x0.3 1 3x0.7 + 4x0.3 1 5x0.7 + 6x0.3 1 = 0.1 3.3 5.3

Παράδειγμα GRNN στο Matlab %% GRNN Function Approximation % This example uses functions NEWGRNN and SIM. % Here are eight data points of a function we would % like to fit. The functions inputs X should result % in target outputs T. X = [1 2 3 4 5 6 7 8]; T = [0 1 2 3 2 1 2 1]; plot(x,t,'.','markersize',30) axis([0 9-1 4]) title('function to approximate.') xlabel('x') ylabel('t')

Παράδειγμα GRNN στο Matlab 4 Function to approximate. 3.5 3 2.5 2 T 1.5 0.5-0.5 1 0-1 0 1 2 3 4 5 6 7 8 9 X

Παράδειγμα GRNN στο Matlab % We use NEWGRNN to create a generalized regression network. We use a SPREAD slightly lower than 1, the distance between input values, in order to get a function that fits individual data points fairly closely. A smaller spread would fit data better but be less smooth. spread = 0.7; net = newgrnn(x,t,spread); view(net) A = net(x); hold on outputline = plot(x,a,'.','markersize',30,'color',[1 0 0]); title('create and test y network.') xlabel('x') ylabel('t and A')

Παράδειγμα GRNN στο Matlab

Παράδειγμα GRNN στο Matlab 4 Create and test y network. 3.5 3 2.5 2 T and A 1.5 1 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 X

Παράδειγμα GRNN στο Matlab % We can use the network to approximate the function at a new input value. x = 3.5; y = net(x); plot(x,y,'.','markersize',30,'color',[1 0 0]); title('new input value.') xlabel('x and x') ylabel('t and y')

Παράδειγμα GRNN στο Matlab 4 New input value. 3.5 3 2.5 2 T and y 1.5 1 0.5 0-0.5-1 0 1 2 3 4 5 6 7 8 9 X and x

Παράδειγμα GRNN στο Matlab % Here the network's response is simulated for many values, allowing us to see the function it represents. X2 = 0:.1:9; Y2 = net(x2); plot(x2,y2,'linewidth',4,'color',[1 0 0]) title('function to approximate.') xlabel('x and X2') ylabel('t and Y2')

Παράδειγμα GRNN στο Matlab 4 Function to approximate. 3.5 3 2.5 T and Y2 2 1.5 1 0.5-0.5 0-1 0 1 2 3 4 5 6 7 8 9 X and X2

Πιθανοτικά Δίκτυα Probabilistic Neural Networks (PNN) στο Matlab Τα PNN χρησιμοποιούνται συνήθως σε προβλήματα ταξινόμησης.

PNN στο Matlab Όταν εμφανίζεται μια είσοδος, το 1 ο στρώμα RBF υπολογίζει ένα άνυσμα, τα στοιχεία του οποίου δείχνουν πόσο κοντά είναι η είσοδος στα ανύσματα εκπαίδευσης.

PNN στο Matlab Το 2 ο στρώμα αθροίζει αυτές τις συμμετοχές, για κάθε κλάση των δεδομένων εισόδου, για να δώσει στην έξοδό του ένα άνυσμα πιθανοτήτων.

PNN στο Matlab Τελικά, μια ανταγωνιστική συνάρτηση στην έξοδο του 2 ου στρώματος, ανιχνεύει την μέγιστη των πιθανοτήτων και δίνει 1 γι αυτή την κλάση και 0 για τις άλλες.

PNN στο Matlab Έχουμε Q ζεύγη ανυσμάτων εισόδων/στόχων. Κάθε άνυσμα στόχου έχει Κ στοιχεία (το ένα είναι 1 και τα υπόλοιπα 0). Δηλαδή, κάθε άνυσμα εισόδου αντιστοιχείται σε μία από τις Κ κλάσεις.

% PNN Classification % This example uses functions NEWPNN and SIM. % Here are three two-element input vectors X and their % associated classes Tc. We would like to create a % probabilistic neural network that classifies these % vectors properly. X = [1 2; 2 2; 1 1]'; Tc = [1 2 3]; plot(x(1,:),x(2,:),'.','markersize',30) for i=1:3, text(x(1,i)+0.1,x(2,i),sprintf('class %g',tc(i))), end axis([0 3 0 3]) title('three vectors and their classes.') xlabel('x(1,:)') ylabel('x(2,:)') Παράδειγμα PNN στο Matlab

Παράδειγμα PNN στο Matlab

% First we convert the target class indices Tc to vectors T. Then we design a probabilistic neural network with NEWPNN. We use a SPREAD value of 1 because that is a typical distance between the input vectors. T = ind2vec(tc); spread = 1; net = newpnn(x,t,spread); view(net) Παράδειγμα PNN στο Matlab

Παράδειγμα PNN στο Matlab % Now we test the network on the design input vectors. We do this by simulating the network and converting its vector outputs to indices. Y = net(x); Yc = vec2ind(y); plot(x(1,:),x(2,:),'.','markersize',30) axis([0 3 0 3]) for i=1:3,text(x(1,i)+0.1,x(2,i),sprintf('class %g',yc(i))),end title('testing the network.') xlabel('x(1,:)') ylabel('x(2,:)')

Παράδειγμα PNN στο Matlab 3 Testing the network. 2.5 2 class 1 class 2 X(2,:) 1.5 1 class 3 0.5 0 0 0.5 1 1.5 2 2.5 3 X(1,:)

Παράδειγμα PNN στο Matlab % Let's classify a new vector with our network. x = [2; 1.5]; y = net(x); ac = vec2ind(y); hold on plot(x(1),x(2),'.','markersize',30,'color',[1 0 0]) text(x(1)+0.1,x(2),sprintf('class %g',ac)) hold off title('classifying y new vector.') xlabel('x(1,:) and x(1)') ylabel('x(2,:) and x(2)')

Παράδειγμα PNN στο Matlab 3 Classifying y new vector. 2.5 X(2,:) and x(2) 2 1.5 1 class 1 class 2 class 3 class 2 0.5 0 0 0.5 1 1.5 2 2.5 3 X(1,:) and x(1)

% This diagram shows how the probabilistic neural network divides the input space into the three classes. x1 = 0:.05:3; x2 = x1; [X1,X2] = meshgrid(x1,x2); xx = [X1(:) X2(:)]'; yy = net(xx); yy = full(yy); m = mesh(x1,x2,reshape(yy(1,:),length(x1),length(x2))); set(m,'facecolor',[0 0.5 1],'linestyle','none'); hold on Παράδειγμα PNN στο Matlab m = mesh(x1,x2,reshape(yy(2,:),length(x1),length(x2))); set(m,'facecolor',[0 1.0 0.5],'linestyle','none');

m = mesh(x1,x2,reshape(yy(3,:),length(x1),length(x2))); set(m,'facecolor',[0.5 0 1],'linestyle','none'); plot3(x(1,:),x(2,:),[1 1 1]+0.1,'.','markersize',30) plot3(x(1),x(2),1.1,'.','markersize',30,'color',[1 0 0]) hold off view(2) title('the three classes.') xlabel('x(1,:) and x(1)') ylabel('x(2,:) and x(2)') Παράδειγμα PNN στο Matlab

Παράδειγμα PNN στο Matlab 3 The three classes. 2.5 2 X(2,:) and x(2) 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 X(1,:) and x(1)