Backpropagation Multilayer Feedforward Δίκτυα. Κυριακίδης Ιωάννης 2013

Σχετικά έγγραφα
Α. ΤΕΙ ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής και Πολυµέσων Εργαστήριο Νευρωνικών Δικτύων

Δίκτυα Perceptron. Κυριακίδης Ιωάννης 2013

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

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

Αρχιτεκτονική Νευρωνικών Δικτύων

Εισαγωγή στους Νευρώνες. Κυριακίδης Ιωάννης 2013

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

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

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

Α.Τ.Ε.Ι ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΕΡΓΑΣΤΗΡΙΟ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ. Σχήμα 1 Η λειτουργία του νευρώνα

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

Το μοντέλο Perceptron

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

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

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

Ρεφανίδης Γιάννης. Οκτώβριος

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

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

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

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

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ με το EXCEL

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

Κινητά Δίκτυα Επικοινωνιών. Συμπληρωματικό υλικό. Προσαρμοστική Ισοστάθμιση Καναλιού

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

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

Γ. Πειραματισμός Βιομετρία

Συστήματα Διακριτού Χρόνου (Discrete-Time Systems) Κυριακίδης Ιωάννης 2011

ΚΑΤΗΓΟΡΙΕΣ ΤΑΞΙΝΟΜΗΣΗΣ

Υπολογιστική Νοημοσύνη. Μάθημα 4: Μάθηση στον απλό τεχνητό νευρώνα (2)

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

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

Primjena neuronskih mreža

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

ΚΕΦΑΛΑΙΟ 3. Περιγραφή της Μεθόδου ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΜΕΘΟΔΟΥ

ΣΥΣΧΕΤΙΣΗ και ΓΡΑΜΜΙΚΗ ΠΑΛΙΝΔΡΟΜΗΣΗ

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

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

Ασκήσεις μελέτης της 19 ης διάλεξης

Εισαγωγή στα Σήματα. Κυριακίδης Ιωάννης 2011

Στατιστική είναι το σύνολο των μεθόδων και θεωριών που εφαρμόζονται σε αριθμητικά δεδομένα προκειμένου να ληφθεί κάποια απόφαση σε συνθήκες

Πολυτεχνείο Κρήτης. Σεπτεμβρίος 2013 Επεξεργασία μηχανικών ιδιοτήτων χαρακτηριστικού κελύφους περιοδικότητας με τη χρήση νευρωνικών δικτύων.

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 4 o Φροντιστήριο

z = c 1 x 1 + c 2 x c n x n

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012

Εισαγωγή στην Ανάλυση Δεδομένων

Εισόδημα Κατανάλωση

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μετασχηματισμός Z. Κυριακίδης Ιωάννης 2011

Μη γραµµικοί ταξινοµητές Νευρωνικά ίκτυα

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

4.4 Βάσεις Δεδομένων με πολλές Μεταβλητές

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

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ

Non Linear Equations (2)

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 3ο Φροντιστήριο

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

Εισαγωγή στο GNU Octave/MATLAB

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

turnin Lab4.pro

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

Υλοποίηση Συστήματος Ανίχνευσης Εισβολών σε Περιβάλλον Android για Ασύρματα Δίκτυα Πρόσβασης

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΔΕ. 11 ΙΟΥΝΙΟΥ 2012

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Απλή Γραμμική Παλινδρόμηση και Συσχέτιση 19/5/2017

Διδάσκουσα: Χάλκου Χαρά,

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 7 ο Εργαστήριο. Διανύσματα-Πίνακες 2 ο Μέρος

ΣΥΝΕΛΙΚΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΑΡΑΓΩΓΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ. Διπλωματική Εργασία. Κουγιουμτζόγλου Χριστόδουλος. Επιβλέπων καθηγητής

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

Παραδείγματα (2) Διανυσματικοί Χώροι

Project 1: Principle Component Analysis

Υπολογιστική Νοημοσύνη. Μάθημα 12: Παραδείγματα Ασκήσεων 2

2.Τι εννοούμε με βαθμό συνέχειας μιας συνάρτησης; Ποια είναι η χρησιμότητα της από πλευράς εφαρμογών;

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

ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΦΥΣΙΚΟΥ ΑΕΡΙΟΥ

Σημειώσεις διαλέξεων: Βελτιστοποίηση πολυδιάστατων συνεχών συναρτήσεων 1 / 20

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

Transcript:

Backpropagation Multilayer Feedforward Δίκτυα Κυριακίδης Ιωάννης 2013

Εισαγωγή Τα νευρωνικά δίκτυα Perceptron που εξετάσαμε μέχρι τώρα είχαν το μειονέκτημα ότι δεν μπορούσαν να αντιμετωπίσουν προβλήματα που απαιτούσαν µη γραμμικό διαχωρισμό των προτύπων που εισάγουμε. Τα δίκτυα Backpropagation λόγω των πολλών επιπέδων που διαθέτουν και κυρίως της µη γραμμικής συνάρτησης μεταφοράς που υλοποιούν οι νευρώνες τους έρχονται να αντιμετωπίσουν το πρόβλημα αυτό.

Δίκτυα Backpropagation Το πλήθος των προβλημάτων που μπορούν να αντιμετωπίσουν τα δίκτυα αυτά είναι ευρύ. Είναι κατάλληλα στο να συσχετίζουν τα διανύσματα εισόδου ενός νευρωνικού δικτύου µε τα διανύσματα εξόδου. Έτσι μπορούμε να τα χρησιμοποιήσουμε για παράδειγμα: Στη κατάταξη διανυσμάτων σε προκαθορισμένες κλάσεις Στη πρόβλεψη τιμών Στο συγκεκριμένο εργαστήριο θα κατασκευάσουμε ένα πολύ-επίπεδο δίκτυο και στην συνέχεια θα το εκπαιδεύσουμε προκειμένου να το χρησιμοποιήσουμε σε εφαρμογές αναγνώρισης προτύπων.

Βήματα Διαδικασίας Τα βήματα που θα ακολουθήσουμε είναι: Παρουσίαση των δεδομένων χρήσης Προ-επεξεργασία δεδομένων εκπαίδευσης. Κατασκευή του νευρωνικού δικτύου. Εκπαίδευση του δικτύου. Δοκιμή Βελτιστοποίηση του δικτύου.

Αρχιτεκτονική Δικτύου Σε ένα πολύ-επίπεδο δίκτυο το πρώτο επίπεδο που συναντούν τα δεδομένα εισαγωγής ονομάζεται επίπεδο εισόδου (input layer), το τελευταίο ονομάζεται επίπεδο εξόδου (output layer) και τα ενδιάμεσα ονομάζονται κρυφά επίπεδα (hidden layers). Τα multilayer feedforward backpropagation δίκτυα αποτελούνται από επίπεδα νευρώνων τα οποία συνδέονται μεταξύ τους νευρώνα προς νευρώνα.

Αρχιτεκτονική Δικτύου Από το παραπάνω παράδειγμα βλέπουμε ότι: Μεταξύ των επιπέδων δημιουργούνται δισδιάστατοι πίνακες βαρών. Το κάθε επίπεδο έχει έναν μονοδιάστατο πίνακα με με τα biases του κάθε νευρώνα.

Συναρτήσεις Μεταφοράς Λόγω του ότι επιθυμούμε το δίκτυο να μας επιλύσει μηγραμμικά προβλήματα, η συνάρτηση μεταφοράς που θα υλοποιεί ο κάθε νευρώνας θα πρέπει να είναι μηγραμμική. Σιγμοειδή συνάρτηση μεταφοράς: αποδώσει στην έξοδό της οποιοδήποτε αριθμό που βρίσκεται μεταξύ του 0 και του 1 Συνάρτηση μεταφοράς tan sigmoid: αποδώσει στην έξοδό της οποιοδήποτε αριθμό που βρίσκεται μεταξύ του -1 και του 1

Συναρτήσεις Μεταφοράς Όπως παρατηρούμε οι προηγούμενες συναρτήσεις μεταφοράς περιορίζουν το εύρος τιμών που έχουμε στην έξοδο του δικτύου. Αν σε μια εφαρμογή απαιτείται να έχουμε ως έξοδο από το νευρωνικό δίκτυο, τιμές που δεν είναι στο διάστημα 0 έως 1 ή -1 έως 1 Τότε μπορούμε εναλλακτικά στο τελευταίο επίπεδο του δικτύου να βάλουμε την γραμμική συνάρτηση μεταφοράς η οποία μπορεί να μας προσφέρει οποιαδήποτε τιμή εξόδου.

Συναρτήσεις Μεταφοράς Όπως παρατηρούμε οι προηγούμενες συναρτήσεις μεταφοράς περιορίζουν το εύρος τιμών που έχουμε στην έξοδο του δικτύου. Αν σε μια εφαρμογή απαιτείται να έχουμε ως έξοδο από το νευρωνικό δίκτυο, τιμές που δεν είναι στο διάστημα 0 έως 1 ή -1 έως 1 Τότε μπορούμε εναλλακτικά στο τελευταίο επίπεδο του δικτύου να βάλουμε την γραμμική συνάρτηση μεταφοράς η οποία μπορεί να μας προσφέρει οποιαδήποτε τιμή εξόδου.

Η συνάρτηση newff() Η συνάρτηση newff() δημιουργεί ένα feedforward δίκτυο απαιτώντας τέσσερις παραμέτρους για να καθορίσει την δομή του δικτύου. Η σύνταξη της συνάρτησης είναι: net = newff(f, A, B, C) Όπου: F = Είναι ένας πίνακας 2 στηλών. Σε κάθε γραμμή του πίνακα θα πρέπει να υπάρχει η ελάχιστη και η μέγιστη τιμή για κάθε χαρακτηριστική τιμή του διανύσματος εισόδου. A: Μονοδιάστατος πίνακας ο οποίος μας δίδει πληροφορία για τον αριθμό των νευρώνων που βρίσκονται στο κάθε επίπεδο του δικτύου. B: Μονοδιάστατος πίνακας χαρακτήρων που μας δίδει την πληροφορία για το ποια συνάρτηση μεταφοράς υλοποιούν τα επίπεδα του δικτύου. C: Τιμή η οποία υποδεικνύει την μεθοδολογία με την οποία γίνεται η εκπαίδευση του νευρωνικού δικτύου.

Παράδειγμα Έστω ότι έχουμε την συνάρτηση: net = newff([-1 2; 0 5], [3, 1], { logsig, purelin }, traingd ); Η συνάρτηση αυτή μας κατασκευάζει ένα δίκτυο το οποίο θα δέχεται διανύσματα εισόδου με δύο χαρακτηριστικές τιμές. Οι ελάχιστες και οι μέγιστες τιμές τους φαίνονται στον πίνακα του πρώτου ορίσματος της συνάρτησης. Επίσης όπως παρατηρούμε από το δεύτερο όρισμα της συνάρτησης κατασκευάζουμε ένα νευρωνικό με δύο επίπεδα το οποίο έχει στο επίπεδο εισόδου τρεις νευρώνες ενώ στο επίπεδο εξόδου έναν. Στο πρώτο επίπεδο οι νευρώνες υλοποιούν την σιγμοειδή συνάρτηση μεταφοράς ενώ στο τελευταίο επίπεδο υλοποιούν την γραμμική συνάρτηση μεταφοράς. Η μεθοδολογία εκπαίδευσης του δικτύου είναι η traingd (Gradient Descent)

Συναρτήσεις Εκπαίδευσης όπου εφαρμόζουν την τεχνική Backpropagation: Συνάρτηση trainlm trainbr trainbfg trainrp trainscg traincgb traincgf traincgp trainoss traingdx traingdm traingd Αλγόριθμος Levenberg-Marquardt Bayesian Regularization BFGS Quasi-Newton Resilient Backpropagation Scaled Conjugate Gradient Conjugate Gradient with Powell/Beale Restarts Fletcher-Powell Conjugate Gradient Polak-Ribiére Conjugate Gradient One Step Secant Variable Learning Rate Gradient Descent Gradient Descent with Momentum Gradient Descent

Εκπαίδευση του δικτύου Στο συγκεκριμένο εργαστήριο θα ασχοληθούμε µε την εκπαίδευση µε επίβλεψη (supervised learning). Η συνάρτηση που χρησιμοποιούμε για την εκπαίδευση του δικτύου είναι η train() και συντάσσεται ως εξής: net = train(net, X, T); όπου net είναι το αρχικοποιημένο δίκτυο, Χ είναι το διάνυσμα εισόδου, και Τ είναι το διάνυσμα του στόχου

Εκμάθηση Backpropagation Αν για παράδειγμα, έχουμε ένα νευρωνικό δίκτυο όπου στο τελευταίο επίπεδο έχει έναν νευρώνα και η πραγματική τιμή εξόδου είναι το α ενώ η επιθυμητή τιμή είναι το t προκύπτει σφάλμα εξόδου ίσο με: e = t-α Λόγω των πολλών τιμών που χρησιμοποιούμε για την εκπαίδευση του δικτύου, προκύπτουν και πολλές τιμές σφάλματος οι οποίες ορίζουν τελικά μια συνάρτηση με διακριτές τιμές. Η οπισθοδρομική διάδοση του σφάλματος (Backpropagation) ξεκινά από το τέλος του δικτύου και αναπροσαρμόζει τα βάρη και τα biases με μοναδικό στόχο την μείωση του σφάλματος.

Εκμάθηση Backpropagation Δηλαδή, αναπροσαρμόζει τα βάρη και τα biases προς την κατεύθυνση της αρνητικής παραγώγου της συνάρτησης του σφάλματος. Ο γενικός τύπος με τον οποίο γίνεται η αναπροσαρμογή είναι ο: x k+1 = x k lr * gk Όπου: x θα μπορούσε να είναι οποιαδήποτε τιμή βάρους ή bias x k είναι η αρχική του τιμή. x κ+1 είναι η τιμή μετά την προσαρμογή της εκπαίδευσης Η τιμή του gk αφορά την αντίστοιχη παράγωγο του σφάλματος ενώ ο συντελεστής lr (learning rate-συντελεστής εκμάθησης) καθορίζει το μέγεθος της επιρροής του gk στην αναπροσαρμογή.

Εκμάθηση Backpropagation Δηλαδή, αναπροσαρμόζει Μεγάλη τιμή τα του βάρη lr σημαίνει και τα biases και προς την κατεύθυνση της μεγάλη αρνητικής αναπροσαρμογή παραγώγου της στις συνάρτησης του σφάλματος. τιμές των βαρών και των biases Ο γενικός τύπος Είναι με τον μια οποίο παράμετρος γίνεται η οποία αναπροσαρμογή είναι ο: x k+1 = x k lr ρυθμίζεται * gk από εμάς ανάλογα με Όπου: τις ανάγκες της εκπαίδευσης. x θα μπορούσε να είναι οποιαδήποτε τιμή βάρους ή bias x k είναι η αρχική του τιμή. x κ+1 είναι η τιμή μετά την προσαρμογή της εκπαίδευσης Η τιμή του gk αφορά την αντίστοιχη παράγωγο του σφάλματος ενώ ο συντελεστής lr (learning rate-συντελεστής εκμάθησης) καθορίζει το μέγεθος της επιρροής του gk στην αναπροσαρμογή.

Παραμετροποίηση Εκπαίδευσης Ρυθμός Εκμάθησης (net.trainparam.lr) Το 0,05 είναι µια τυπική τιμή, εμείς για το δικό µας δίκτυο μπορούμε να επιλέξουμε µια διαφορετική τιμή. Πολλαπλά περάσματα (net.trainparam.epochs) Το batch training είναι µια μέθοδος εκπαίδευσης σύμφωνα µε την οποία η εκπαίδευση αρχίζει µε το που έχουν περάσει όλα τα διανύσματα εκπαίδευσης από το δίκτυο. Το σφάλμα του δικτύου μειώνεται αν τα διανύσματα περάσουν αρκετές φορές. Κάθε πέρασμα όλων των διανυσμάτων το ονομάζουμε epoch και για την εκπαίδευση του δικτύου, ανάλογα και µε το πρόβλημα απαιτούνται αρκετά (και διανύσματα και epochs).

Παραμετροποίηση Εκπαίδευσης Επιθυμητό Σφάλμα Εκπαίδευσης (net.trainparam.goal) Το 10-5 είναι μια τυπική τιμή που μπορούμε να διαλέξουμε. Η παράμετρος αυτή καθορίζει το όριο στο οποίο αν πέσει το σφάλμα θεωρούμε ότι το δίκτυο έχει εκπαιδευτεί και σταματάμε την διαδικασία της εκπαίδευσης. Η καλύτερη περίπτωση ασφαλώς είναι να ορίσουμε μηδενικό σφάλμα ως στόχο. Το πρόβλημα είναι ότι την τιμή αυτή δεν την καταφέρνει κανένα νευρωνικό δίκτυο για την συντριπτική πλειοψηφία των προβλημάτων που έχουμε να αντιμετωπίσουμε.

Απόδοση Εκπαίδευσης Ως απόδοση του δικτύου για ένα σύστημα αναγνώρισης προτύπων ορίζουμε το ποσοστό των σωστών αναγνωρίσεων σε άγνωστα πρότυπα. Δηλαδή, δοκιμάζουμε την ικανότητα του δικτύου να κατηγοριοποιεί διανύσματα τα οποία δεν έχουν χρησιμοποιηθεί για την εκπαίδευση του. Αυτή η ικανότητα ενός νευρωνικού δικτύου ονομάζεται Generalization. Εάν έχουμε ένα σετ δεδομένων για τα οποία γνωρίζουμε την κατηγορία τους, τότε χρησιμοποιούμε ένα ποσοστό 70 80% για την εκπαίδευση και το υπόλοιπο 30 20 % για τον έλεγχο της απόδοσης του δικτύου.

Δεδομένα Παραδείγματος Στο επόμενο παράδειγμα θα χρησιμοποιήσουμε το σετ δεδομένων (wine_dataset) του Matlab. Στο οποίο υπάρχουν 2 πίνακες: Ο πίνακα wineinputs, στον οποίο υπάρχουν: 178 κρασιά - πρότυπα εκπαίδευσης (στις στήλες) Με 13 χαρακτηριστικές τιμές (στις γραμμές) Ο πίνακα winetargets, στον οποίο υπάρχουν: 3 οινοποιοί (στήλες) για κάθε πρότυπο εκπαίδευσης. Στα δεδομένα υπάρχουν 59, 71 και 48 κρασιά για τον πρώτο, δεύτερο και τρίτο οινοποιό αντίστοιχα.

Χαρακτηριστικές Τιμές 1. Alcohol 2. Malic acid 3. Ash 4. Alcalinity of ash 5. Magnesium 6. Total phenols 7. Flavanoids 8. Nonflavanoid phenols 9. Proanthocyanins 10. Color intensity 11. Hue 12. OD280/OD315 of diluted wines 13. Proline

Εισαγωγή Δεδομένων Για να φορτώσουμε τα δεδομένα: load wine_dataset; P = wineinputs; T = winetargets;

Χωρίζουμε τα δεδομένα Για να χωρίσουμε τα δεδομένα σε 2 ομάδες. Όπου η πρώτη ομάδα θα χρησιμοποιηθεί στην εκπαίδευση του δικτύου (70%) και η δεύτερη ομάδα θα χρησιμοποιηθεί στον έλεγχο απόδοσης του δικτύου. TrainIndexes = [1:41, 60:(60+49), 131:(131+33)]; TestIndexes = [42:59, 110:130, 165:178]; Ptrain = P(:, TrainIndexes); Ttrain = T(:, TrainIndexes); Ptest = P(:, TestIndexes); Ttest = T(:, TestIndexes);

Προ-επεξεργασία (Preprocessing) Η εκπαίδευση ενός νευρωνικού δικτύου μπορεί να γίνει αποτελεσματικότερη εάν πραγματοποιήσουμε ορισμένα βήματα προ-επεξεργασίας (Preprocessing) στις εισόδους και τους στόχους των δεδομένων εκπαίδευσης του δικτύου. Είναι συχνά χρήσιμο πριν από την εκπαίδευση ενός Νευρωνικού δικτύου να αλλάξουμε την κλίμακα στις εισόδους και τους στόχους έτσι ώστε να εμπίπτουν πάντα σε μια καθορισμένη περιοχή τιμών.

Προ-επεξεργασία (Preprocessing) Η συνάρτηση premnmx μπορεί να χρησιμοποιηθεί για την αλλαγή της κλίμακας των εισόδων και των στόχων, έτσι ώστε να εμπίπτουν στο εύρος [-1, 1]. [Ptrain, minp, maxp, Ttrain, mint, maxt] = premnmx(ptrain,ttrain); Μια άλλη προσέγγιση για την κλιμάκωση της εισόδου και των στόχων του δικτύου είναι η ομαλοποίηση της μέσης τιμής και της τυπικής απόκλισης των δεδομένων εκπαίδευσης. [Ptrain, meanp, stdp, Ttrain, meant, stdt] = prestd(ptrain,ttrain);

Post-Processing Ανάλογα με την συνάρτηση προ-επεξεργασίας που θα χρησιμοποιήσουμε για να αλλάξουμε την κλίμακα των δεδομένων επεξεργασίας, θα πρέπει να χρησιμοποιήσουμε την αντίστοιχη για να επαναφέρουμε τα δεδομένα στην αρχική κλίμακα. Παρακάτω μπορούμε να δούμε τις αντίστοιχες συναρτήσεις επαναφοράς της κλίμακας. a = postmnmx(an, mint, maxt); %(για premnmx) a = poststd(an, meant, stdt); %(για prestd)

Αρχικοποίηση του Δικτύου net=newff(minmax(ptrain),[13,5,3],{'tansig','tansig','tan sig'},'trainlm'); net.trainparam.lr = 0.05; net.trainparam.epochs = 1000; net.trainparam.goal = 1e-5; net = init(net);

Εκπαίδευση Δικτύου %Pragmatopoioume tin ekpaideusi: net = train(net, Ptrain, Ttrain); %Pragmatopoioume tin proswmoiwsi me ta Test Dedomena an = sim(net, Ptest); %Epanaferoume twn apotelesmatwn stin arxiki klimaka twn dedomenwn a = postmnmx(an, mint, maxt);

Υπολογισμός Απόδοσης %Ypologizoume tin apodosi gia ka8e protypo anagnwrisis for i=1:3 figure(i) [m(i),b(i),r(i)] = postreg(a(i,:),ttest(i,:)); end To R, θα μας δώσει την γραμμικής παλινδρόμησης μεταξύ του στόχου και την εξόδου του δικτύου. Το R θα έχει τιμή 1 όταν θα έχουμε τέλεια συσχέτιση.

Έξοδος Παραδείγματος

Έξοδος Παραδείγματος

Απορίες - Ερωτήσεις ;

Ασκήσεις για το σπίτι Οι ασκήσεις είναι ατομικές!!! 1. Συμπιέστε όλα τα αρχεία σας σε ένα αρχείο με όνομα: lab05_ομx_yyyy (όπου X ο αριθμός ομάδας εργαστηρίου και YYYY το ΑΜ σας) 2. Υποβάλετε το αρχείο στην αντίστοιχη άσκηση στο eclass

Άσκηση Να πραγματοποιήσετε αναγνώριση προτύπων για το σετ δεδομένων fisheriris του Matlab, τροποποιώντας κατάλληλα τον κώδικας του παραδείγματος, ώστε: Το ποσοστό δεδομένων προς εκπαίδευση να είναι 80% Η μέση τιμή και η τυπική απόκλιση των δεδομένων εκπαίδευσης να έχουν ομαλοποιηθεί (Preprocessing). Η συνάρτηση μεταφοράς σε όλους τους νευρώνες να είναι η logsig και να χρησιμοποιηθεί ο αλγόριθμος εκμάθησης Gradient Descent. Να εκπαιδεύσετε το ΝΝ με δύο διαφορετικές αρχιτεκτονικές της επιλογής σας (να το τρέξετε δύο φορές), και να συγκρίνετε την απόδοση πρόβλεψης R.

Σημειώσεις για την Άσκηση Προσοχή: Ως αρχιτεκτονική εννοούμε τον αριθμό των επιπέδων και των νευρώνων σε κάθε επίπεδο. Προσοχή: Στον πίνακα meas τα λουλούδια- πρότυπα εκπαίδευσης είναι στις γραμμές. Προσοχή: Θα πρέπει να κωδικοποιήσετε τον πίνακα species με την ίδια λογική που είναι κωδικοποιημένος ο πίνακας winetargets. Ως παραδοτέο θεωρείτε ένα συμπιεσμένο αρχείο που να περιέχει: Ένα.m αρχείο με τον κώδικα σας Ένα.doc αρχείο με τα συμπεράσματα σύγκρισης της απόδοσης πρόβλεψης.