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

Σχετικά έγγραφα
Α.Τ.Ε.Ι ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΕΡΓΑΣΤΗΡΙΟ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ 4

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

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

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

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

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

οµή δικτύου ΣΧΗΜΑ 8.1

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

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

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ

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

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

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

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

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

4.3. Γραµµικοί ταξινοµητές

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

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

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

Σηµειώσεις στις σειρές

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

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

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

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

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

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

4. Ο αισθητήρας (perceptron)

Ο ΗΓΟΣ ΧΡΗΣΗΣ ΓΕΩΜΕΤΡΙΑ

Το μοντέλο Perceptron

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

Ελεγκτικής. ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας)


Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

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

ΕΡΩΤΗΜΑΤΑ σε ΝΕΥΡΩΝΙΚΑ

Παρεµβολή και Προσέγγιση Συναρτήσεων

Δυναμική ενέργεια στο βαρυτικό πεδίο. Θετική ή αρνητική;

/5

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

3 Αναδροµή και Επαγωγή

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

1 Πολυωνυµική Παρεµβολή

προβλήµατος Το φίλτρο Kalman διαφέρει από τα συνηθισµένα προβλήµατα ΜΕΤ σε δύο χαρακτηριστικά: παραµέτρων αγνώστων

α) Κύκλος από δύο δοσµένα σηµεία Α, Β. Το ένα από τα δύο σηµεία ορίζεται ως κέντρο αν το επιλέξουµε πρώτο. β) Κύκλος από δοσµένο σηµείο και δοσµένο ευ

ιαφορική εντροπία Σεραφείµ Καραµπογιάς

Πληροφοριακά Συστήµατα ιοίκησης Τµήµα Χρηµατοοικονοµικής και Ελεγκτικής Management Information Systems Εργαστήριο 5 ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας)

Αριθµητική Ανάλυση. ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ. 16 Ιανουαρίου 2015

Κεφάλαιο 6. Εισαγωγή στη µέθοδο πεπερασµένων όγκων επίλυση ελλειπτικών και παραβολικών διαφορικών εξισώσεων

11 Το ολοκλήρωµα Riemann

Σχήµα 2.1: Εισαγωγή array στο Front Panel.

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους.

Πανεπιστήµιο Κρήτης - Τµήµα Επιστήµης Υπολογιστών. ΗΥ-217: Πιθανότητες-Χειµερινό Εξάµηνο 2015 ιδάσκων : Π. Τσακαλίδης. Λύσεις Τρίτης Σειράς Ασκήσεων

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών

Παρουσίαση 1 ΙΑΝΥΣΜΑΤΑ

Γραµµικοί Ταξινοµητές

3.9 Πίνακας συνδιακύμανσης των παραμέτρων

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

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

ζωγραφίζοντας µε τον υπολογιστή

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

, όπου οι σταθερές προσδιορίζονται από τις αρχικές συνθήκες.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-217: Πιθανότητες - Χειµερινό Εξάµηνο 2016 ιδάσκων : Π. Τσακαλίδης. Λύσεις Τρίτης Σειράς Ασκήσεων

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

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος;

Εξαγωγή κανόνων από αριθµητικά δεδοµένα

Παλαιότερες ασκήσεις

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

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 5 Μαίου 2012

ΒΙΒΛΙΟ ΠΑΓΙΩΝ Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟ CALCULUS ULTRA.

Οδηγίες για την κατασκευή του αρχείου «Ταυτότητα (α+β) 2» 1. Αποκρύπτουµε τους άξονες και το παράθυρο άλγεβρας: Παράθυρο προβολή

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

ΕΡΓΑΣΤΗΡΙΟ ΠΙΘΑΝΟΤΗΤΩΝ

squared error, Mean absolute error, Root mean squared error) µεγάλωσαν,

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

Ευστάθεια Συστηµάτων Αυτοµάτου Ελέγχου: Αλγεβρικά κριτήρια

Πληροφοριακά Συστήµατα ιοίκησης Τµήµα Χρηµατοοικονοµικής και Ελεγκτικής Management Information Systems Εργαστήριο 6 ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας)

Πρακτική µε στοιχεία στατιστικής ανάλυσης

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

o AND o IF o SUMPRODUCT

Γραµµατικές για Κανονικές Γλώσσες

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ιδάσκοντες :Τµήµα Α ( Αρτιοι) : Καθηγητής Ν. Μισυρλής,Τµήµα Β (Περιττοί) : Αριθµητική Επίκ. Καθηγητής νάλυση Φ.Τζαφέρης (ΕΚΠΑ) 27 Μαΐου / 20

ΕΥΑΙΣΘΗΣΙΑ ΗΛΕΚΤΡΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

Ενότητα 5. Αναγνώριση Προτύπων και Νευρωνικά Δίκτυα. Θεόδωρος Αλεξόπουλος Αικατερίνη Τζαμαριουδάκη

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

ΕΠΙΤΑΧΥΝΣΗ- ΕΠΙΤΑΧΥΝΟΜΕΝΗ ΚΙΝΗΣΗ

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Αναγνώριση Προτύπων - Νευρωνικά ίκτυα

Ανάλυση Δεδοµένων µε χρήση του Στατιστικού Πακέτου R

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

Κεφάλαιο 1. Αριθµητική ολοκλήρωση συνήθων διαφορικών εξισώσεων και συστηµάτων

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης

αx αx αx αx 2 αx = α e } 2 x x x dx καλείται η παραβολική συνάρτηση η οποία στο x

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

Μετασχηµατισµοί Laplace, Αναλογικά Συστήµατα, ιαφορικές Εξισώσεις

ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ

Transcript:

Α. ΤΕΙ ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής και Πολυµέσων Εργαστήριο Νευρωνικών Δικτύων 5 BACKPROPAGATION MULTILAYER FEEDFORWARD ΔΙΚΤΥΑ Α. ΕΙΣΑΓΩΓΗ Τα νευρωνικά δίκτυα που εξετάσαµε µέχρι τώρα είχαν το µειονέκτηµα ότι δεν µπορούσαν να αντιµετωπίσουν προβλήµατα που απαιτούσαν µη γραµµικό διαχωρισµό των προτύπων που εισάγουµε. Τα Backpropagation δίκτυα λόγω των πολλών επιπέδων που διαθέτουν και κυρίως της µη γραµµικής συνάρτησης µεταφοράς που υλοποιούν οι νευρώνες τους έρχονται να αντιµετωπίσουν το πρόβληµα αυτό. Το πλήθος των προβληµάτων που µπορούν να αντιµετωπίσουν τα δίκτυα αυτά είναι ευρύ. Είναι κατάλληλα για να συσχετίσουν τα διανύσµατα εισόδου στο νευρωνικό µε τα διανύσµατα εξόδου, να προσεγγίσουν συναρτήσεις, ακόµα και να κατατάξουν διανύσµατα σε προκαθορισµένες κλάσεις. Στο συγκεκριµένο εργαστήριο θα κατασκευάσουµε ένα πολυεπίπεδο δίκτυο και στην συνέχεια θα το εκπαιδεύσουµε προκειµένου να το χρησιµοποιήσουµε σε εφαρµογές αναγνώρισης προτύπων καθώς και προσοµοίωσης συναρτήσεων. Τα βήµατα που θα ακολουθήσουµε είναι: Προεπεξεργασία παρουσίαση των δεδοµένων εισόδου. Κατασκευή του νευρωνικού δικτύου. εκπαίδευση του δικτύου. Δοκιµή Βελτιστοποίηση του δικτύου. Β. ΑΡΧΙΤΕΚΤΟΝΙΚΗ Τα multilayer feedforward backpropagation δίκτυα αποτελούνται από επίπεδα νευρώνων τα οποία συνδέονται µεταξύ τους νευρώνα προς νευρώνα. Το χαρακτηριστικό της κάθε σύνδεσης είναι το βάρος wij το οποίο σταθµίζει την έξοδο του j νευρώνα και την αποδίδει στον i νευρώνα. Είναι φανερό λοιπόν ότι µεταξύ των επιπέδων δηµιουργούνται δισδιάστατοι πίνακες βαρών. Ο κάθε νευρώνας επίσης έχει επιπλέον µοναδιαία είσοδο µε βάρος b (bias). Το κάθε επίπεδο δηλαδή έχει έναν µονοδιάστατο πίνακα µε τα biases του κάθε νευρώνα. Σε ένα πολυεπίπεδο δίκτυο το πρώτο επίπεδο που συναντούν τα δεδοµένα εισαγωγής ονοµάζεται επίπεδο εισόδου (input layer) το τελευταίο ονοµάζεται επίπεδο εξόδου (output layer) και τα ενδιάµεσα Σελίδα 1 από 9

ονοµάζονται κρυφά επίπεδα (hidden layers). Στο Σχήµα 1 παρουσιάζεται η µαθηµατική γραφική αναπαράσταση ενός επιπέδου του δικτύου και συγκεκριµένα του επιπέδου εισόδου. Σχήµα 1: Επίπεδο εισόδου ενός multilayer feedforward δικτύου Λόγω του ότι επιθυµούµε το δίκτυο να µας επιλύσει µη γραµµικά προβλήµατα, η συνάρτηση µεταφοράς που θα υλοποιεί ο κάθε νευρώνας θα πρέπει να είναι µη γραµµική. Για το λόγο αυτό οι νευρώνες ενός backpropagation multilayer feedforward δικτύου υλοποιούν την σιγµοειδή συνάρτηση µεταφοράς, της οποίας η γραφική παράσταση παρουσιάζεται στο Σχήµα 2. Σχήµα 2: Η σιγµοειδής συνάρτηση Σελίδα 2 από 9

Όπως βλέπουµε από το Σχήµα 2 η συγκεκριµένη συνάρτηση µπορεί να αποδώσει στην έξοδό της οποιοδήποτε αριθµό που βρίσκεται µεταξύ του 0 και του 1. Μπορούµε επίσης να χρησιµοποιήσουµε στο νευρωνικό και την tan sigmoid συνάρτηση µεταφοράς που δεν είναι άλλη από µια σιγµοειδή η οποία µας προσφέρει στην έξοδο αριθµούς που βρίσκονται στο διάστηµα -1 έως 1, όπως φαίνεται από την γραφική παράσταση του Σχήµατος 3: Σχήµα 3: Η tan sigmoid συνάρτηση Όπως παρατηρούµε οι συναρτήσεις αυτές περιορίζουν το εύρος τιµών που έχουµε στην έξοδο του δικτύου. Αν λοιπόν σε µια εφαρµογή απαιτείται να έχουµε έξοδο από το νευρωνικό όχι απαραίτητα στο διάστηµα 0 έως 1 ή -1 έως 1 τότε µπορούµε εναλλακτικά στο τελευταίο επίπεδο του δικτύου να βάλουµε την γραµµική συνάρτηση η οποία µπορεί να µας προσφέρει οποιαδήποτε τιµή εξόδου (Σχήµα 4). Σχήµα 4: Η γραµµική συνάρτηση µεταφοράς Γ. ΚΑΤΑΣΚΕΥΗ ΤΟΥ ΔΙΚΤΥΟΥ Η ΣΥΝΑΡΤΗΣΗ NEWFF( ) Από την στιγµή που έχουµε τα δεδοµένα εισόδου τα οποία στο matlab θα πρέπει να τα παρουσιάσουµε ως ένα ενιαίο πίνακα, το επόµενο βήµα είναι η κατασκευή του Σελίδα 3 από 9

πολυεπίπεδου δικτύου. Η συνάρτηση newff( ) δηµιουργεί ένα feedforward δίκτυο απαιτώντας τέσσερις παραµέτρους για να καθορίσει την δοµή του δικτύου. Η σύνταξη της συνάρτησης είναι: net=newff(pr, a, b, c) Όπου: pr: είναι ο πίνακας µε τις ελάχιστες και τις µέγιστες τιµές για κάθε χαρακτηριστική τιµή των διανυσµάτων εισόδου. α: Μονοδιάστατος πίνακας ο οποίος µας δίδει πληροφορία για τον αριθµό των νευρώνων που βρίσκονται στο κάθε επίπεδο του δικτύου. b: Μονοδιάστατος πίνακας χαρακτήρων που µας δίδει την πληροφορία για το ποια συνάρτηση µεταφοράς υλοποιούν τα επίπεδα του δικτύου. c: Τιµή η οποία υποδεικνύει την µεθοδολογία µε την οποία γίνεται η εκπαίδευση του νευρωνικού δικτύου. Παράδειγµα: Έστω ότι έχουµε την συνάρτηση net=newff([-1 2; 0 5], [3,1],{ logsig, purelin }, traingd ); Η συνάρτηση αυτή µας κατασκευάζει ένα δίκτυο το οποίο θα δέχεται διανύσµατα εισόδου µε δύο χαρακτηριστικές τιµές. Οι ελάχιστες και οι µέγιστες τιµές τους φαίνονται στον πίνακα του πρώτου ορίσµατος της συνάρτησης. Επίσης όπως παρατηρούµε από το δεύτερο όρισµα της συνάρτησης κατασκευάζουµε ένα νευρωνικό µε δύο επίπεδα το οποίο έχει στο επίπεδο εισόδου τρεις νευρώνες ενώ στο επίπεδο εξόδου έναν. Στο πρώτο επίπεδο οι νευρώνες υλοποιούν την σιγµοειδή συνάρτηση µεταφοράς ενώ στο τελευταίο επίπεδο υλοποιούν την γραµµική συνάρτηση. Η µεθοδολογία εκπαίδευσης του δικτύου είναι η traingd η οποία είναι µια εφαρµογή του Backpropagation. Δ. ΕΚΠΑΙΔΕΥΣΗ ΤΟΥ ΔΙΚΤΥΟΥ Η ΣΥΝΑΡΤΗΣΗ TRAIN( ) Το επόµενο βήµα µετά την κατασκευή του δικτύου είναι η εκπαίδευσή του. Στο συγκεκριµένο εργαστήριο θα ασχοληθούµε µε την εκπαίδευση µε επίβλεψη (supervised learning) η οποία προϋποθέτει την εκ των προτέρων γνώση για την κατηγορία στην οποία ανήκουν τα διανύσµατα που θα χρησιµοποιήσουµε για την εκπαίδευση του δικτύου. Για το σκοπό αυτό κατασκευάζουµε τον πίνακα των στόχων (targets). Ο πίνακας αυτός µας δείχνει το κάθε διάνυσµα εισόδου σε ποια κατηγορία ανήκει. Ο πίνακας αυτός θα πρέπει να έχει τόσα διανύσµατα όσα και τα διανύσµατα εισόδου, ενώ το µέγεθος του κάθε διανύσµατος καθορίζεται από τον αριθµό των νευρώνων που έχουµε στο εξωτερικό επίπεδο. Με άλλα λόγια το κάθε διάνυσµα εισόδου έχει το Σελίδα 4 από 9

διάνυσµα εξόδου και το αντίστοιχο διάνυσµα του στόχου. Το διάνυσµα εξόδου είναι η πραγµατική έξοδος του νευρωνικού. Ο στόχος είναι η τιµή που επιθυµούµε να βγάλει το δίκτυο αν ως είσοδο βάλουµε το αντίστοιχο διάνυσµα εισόδου. Το ανεκπαίδευτο δίκτυο όµως δεν µας προσφέρει τις τιµές που επιθυµούµε και ως εκ τούτου προκύπτει ένα σφάλµα. Αν για παράδειγµα έχουµε ένα νευρωνικό που στο τελευταίο επίπεδο έχει µονάχα έναν νευρώνα και η πραγµατική τιµή εξόδου είναι το α ενώ η επιθυµητή τιµή είναι το t προκύπτει σφάλµα εξόδου ίσο µε e=t-α. Λόγω των πολλών τιµών που χρησιµοποιούµε για την εκπαίδευση του δικτύου, προκύπτουν και πολλές τιµές σφάλµατος οι οποίες ορίζουν τελικά µια συνάρτηση µε διακριτές τιµές. Η οπισθοδροµική διάδοση του σφάλµατος (Backpropagation) ξεκινά από το τέλος του δικτύου και αναπροσαρµόζει τα βάρη και τα biases µε µοναδικό στόχο την µείωση του σφάλµατος. Με άλλα λόγια αναπροσαρµόζει τα βάρη και τα biases προς την κατεύθυνση της αρνητικής παραγώγου της συνάρτησης του σφάλµατος. Ο γενικός τύπος µε τον οποίο γίνεται η αναπροσαρµογή είναι ο: xk+1=xk-lr*gk Όπου x θα µπορούσε να είναι οποιαδήποτε τιµή βάρους ή bias xκ+1 είναι η τιµή µετά την προσαρµογή της εκπαίδευσης ενώ xk είναι η αρχική του τιµή. Η τιµή του gk αφορά την αντίστοιχη παράγωγο του σφάλµατος ενώ ο συντελεστής lr (learning rateσυντελεστής εκµάθησης) καθορίζει το µέγεθος της επιρροής του gk στην αναπροσαρµογή. Μεγάλη τιµή του lr σηµαίνει και µεγάλη αναπροσαρµογή στις τιµές των βαρών και των biases και είναι µια παράµετρος η οποία ρυθµίζεται από εµάς και ανάλογα µε τις ανάγκες της εκπαίδευσης. Η συνάρτηση η οποία πραγµατοποιεί την εκπαίδευση του δικτύου στο matlab είναι η train( ) η οποία δέχεται τα ακόλουθα ορίσµατα: net=train(net,a,t); Για να χρησιµοποιήσουµε την συνάρτηση αυτή υποτίθεται ότι έχουµε δηµιουργήσει µε την συνάρτηση newff( ) το νευρωνικό δίκτυο (net), έχουµε έτοιµο τον πίνακα των διανυσµάτων εισόδου a και έχουµε κατασκευάσει τον αντίστοιχο πίνακα µε τους στόχους t. Πριν από την χρήση της συνάρτησης εκπαίδευσης θα πρέπει να ρυθµίσουµε τις παραµέτρους εκπαίδευσης του νευρωνικού οι οποίες είναι: net.trainparam.lr=0.05; Το 0,05 είναι µια τυπική τιµή, εµείς για το δικό µας δίκτυο µπορούµε να επιλέξουµε µια διαφορετική. net.trainparam.epochs=1000; Το batch training είναι µια µέθοδος εκπαίδευσης σύµφωνα µε την οποία τα βάρη και τα biases του δικτύου δεν αναπροσαρµόζονται κάθε φορά που εισέρχεται ένα διάνυσµα στο δίκτυο και βγάλει ένα αποτέλεσµα, αλλά η εκπαίδευση αρχίζει µε το που έχουν Σελίδα 5 από 9

περάσει όλα τα διανύσµατα εκπαίδευσης από το δίκτυο. Το σφάλµα του δικτύου µειώνεται αν τα διανύσµατα περάσουν αρκετές φορές. Κάθε πέρασµα όλων των διανυσµάτων το ονοµάζουµε epoch και για την εκπαίδευση του δικτύου, ανάλογα και µε το πρόβληµα απαιτούνται αρκετά (και διανύσµατα και epochs). net.trainparam.goal=1e-5; Και πάλι το 10-5 είναι µια τυπική τιµή που µπορούµε να διαλέξουµε, σε κάθε περίπτωση πάντως η παράµετρος αυτή καθορίζει το όριο στο οποίο αν πέσει το σφάλµα θεωρούµε εµείς ότι το δίκτυο έχει εκπαιδευτεί και σταµατάµε την διαδικασία της εκπαίδευσης. Η καλύτερη περίπτωση ασφαλώς είναι να ορίσουµε µηδενικό σφάλµα ως στόχο. Το πρόβληµα είναι ότι την τιµή αυτή δεν την καταφέρνει κανένα νευρωνικό δίκτυο για την συντριπτική πλειοψηφία των προβληµάτων που έχουµε να αντιµετωπίσουµε. Υπάρχουν λοιπόν δύο δυνατότητες για να τερµατίσει η εκπαίδευση του δικτύου. Να τερµατίσουν τα epochs συνήθως χωρίς να έχουµε καταφέρει να προσεγγίσουµε ικανοποιητικά το όριο του σφάλµατος ή το δίκτυο να ικανοποιήσει το κριτήριο του ορίου του σφάλµατος. net.trainparam.show=50; Η ρύθµιση αυτή µας προσφέρει στην οθόνη για κάθε 50 epochs το σηµείο που έχει φτάσει το σφάλµα µαζί µε την αντίστοιχη γραφική παράσταση. Είναι µια πολύ χρήσιµη εντολή διότι µπορούµε να δούµε άµεσα αν το δίκτυο εκπαιδεύεται (πτώση του σφάλµατος) ή αν χρειάζεται να κάνουµε κάποιες αλλαγές στις παραµέτρους ή και στην δοµή του δικτύου. net=init(net) Την αρχικοποίηση των τιµών των βαρών και των biases την αναλαµβάνει µε την συνάρτηση rand( ) αυτόµατα το matlab. Παρόλα αυτά ύστερα από µια αποτυχηµένη διαδικασία εκπαίδευσης του δικτύου (σφάλµα το οποίο δεν µειώνεται από υψηλή τιµή) καλό θα είναι πριν τον επαναπροσδιορισµό των παραµέτρων να αρχικοποιήσουµε ξανά το δίκτυο µε την συγκεκριµένη εντολή. ΠΑΡΑΔΕΙΓΜΑ Στο ακόλουθο παράδειγµα έχουµε 6 διανύσµατα εισόδου για τα οποία γνωρίζουµε εκ των προτέρων ότι τα δύο πρώτα ανήκουν σε µια κατηγορία ενώ τα τέσσερα επόµενα ανήκουν στην δεύτερη κατηγορία. Το νευρωνικό που κατασκευάζουµε έχει 3 επίπεδα µε 3, 4, 2 νευρώνες αντίστοιχα και µε τις συναρτήσεις µεταφοράς που εµφανίζονται στην συνάρτηση newff( ). a=[-1; 2; 9; -7]; b=[-4; 6; 5; 0 ]; c=[2; 5; 6; 2]; Σελίδα 6 από 9

d=[9; 15; 3; 1]; e=[5; 12; 11; 3]; f=[8; 14; 2; 2]; v=[a b c d e f]; pr=minmax(v); net=newff(pr,[3,4,2],{'logsig','logsig','logsig'},'traingd'); net.trainparam.show=15; net.trainparam.lr=0.005; net.trainparam.epochs=30000; net.trainparam.goal=1e-5; t=[[1 ;0] [1;0] [0;1] [0;1] [0;1] [0;1]]; net=train(net,v,t); Στο Σχήµα 5 φαίνεται µια χαρακτηριστική περίπτωση όπου µετά από 20040 epochs το σφάλµα παραµένει σταθερό χωρίς να παρουσιάζει καµιά ιδιαίτερη πτωτική τάση. Κατά πάσα πιθανότητα το δίκτυο µας θα µείνει ανεκπαίδευτο µε τις συγκεκριµένες ρυθµίσεις που έχουµε κάνει. Σχήµα 5: Η πτώση; του σφάλµατος σε σχέση µε τα epochs της εκπαίδευσης. Ε π α ν ε κ π α ι δ ε ύ ο υ µ ε τ ο δ ί κ τ υ ο µ ε τ α β ά λ λ ο ν τ α ς µ ο ν ά χ α τ η ν π α ρ ά µ ε τ ρ ο net.trainparam.lr=0.05; και παρατηρούµε µια µείωση του σφάλµατος µετά από αρκετά epochs καθώς και µια δραµατική µείωση του σφάλµατος προς το τέλος των epochs (Σχήµα 6) Σελίδα 7 από 9

Σχήµα 6: Το σφάλµα σε σχέση µε τα epochs µε ρύθµιση του learning rate. Η καθοδική τάση του σφάλµατος ανακόπτεται λόγω του ότι έχουµε δηλώσει ως ανώτατο όριο για τα epochs το νούµερο 30000. Καλό θα ήταν να το αυξήσουµε για να πετύχουµε τελικά µικρότερη τιµή σφάλµατος. Ε. ΔΟΚΙΜΗ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ Η ΣΥΝΑΡΤΗΣΗ SIM( ) Μετά την εκπαίδευση του δικτύου και αφού έχουµε επιτύχει το µικρότερο αριθµό σφάλµατος που είναι δυνατό µέσα από ένα πλήθος δοκιµών µε αλλαγές παραµέτρων, δοκιµάζουµε το δίκτυο προκειµένου να βγάλουµε ένα συµπέρασµα για την απόδοση του. Ως απόδοση του δικτύου για ένα σύστηµα αναγνώρισης προτύπων ορίζουµε το ποσοστό των σωστών αναγνωρίσεων σε άγνωστα πρότυπα. Με άλλα λόγια δοκιµάζουµε την ικανότητα του δικτύου να κατηγοριοποιεί διανύσµατα τα οποία δεν έχουν χρησιµοποιηθεί για την εκπαίδευση του. Ο λόγος είναι απλός: Θέλουµε να διαπιστώσουµε αν µε την εκπαίδευση του δικτύου φτιάξαµε ένα σύστηµα το οποίο είναι ικανό να αναγνωρίζει τα χαρακτηριστικά εκείνα των προτύπων τα οποία διαχωρίζουν τις κλάσεις µεταξύ τους. Σε καµιά περίπτωση πάντως δεν θέλουµε να φτιάξουµε ένα σύστηµα το οποίο να µαθαίνει τέλεια τα διανύσµατα εκπαίδευσης και να καταφέρνει να κατηγοριοποιεί αυτά και µόνο αυτά (υπερεκπαίδευση του δικτύου). Επειδή ασχοληθήκαµε µε την επιβλεπόµενη εκπαίδευση εάν έχουµε ένα σετ δεδοµένων για τα οποία γνωρίζουµε την κατηγορία τους, χρησιµοποιούµε ένα ποσοστό 70 80% για την εκπαίδευση και το υπόλοιπο 30 20 % για τον έλεγχο της απόδοσης του δικτύου. Επίσης είναι πολύ σηµαντικό να παρατηρήσουµε ότι στο σετ διανυσµάτων εκπαίδευσης όλες οι κατηγορίες των προτύπων θα πρέπει να εκπροσωπούνται ισάξια. Για παράδειγµα στο σετ δεδοµένων του fisheriris (load fisheriris) το οποίο στον πίνακα meas περιέχει 150 πρότυπα από 3 κατηγορίες (setosa verginica versicolor) επιλέγουµε Σελίδα 8 από 9

ως σετ εκπαίδευσης 40 πρότυπα από τα verginica, 40 πρότυπα από τα versicolor και 40 πρότυπα από τα setosa. Τα υπόλοιπα 30 διανύσµατα που αποµένουν τα χρησιµοποιούµε για το τεστ απόδοσης του δικτύου. Σελίδα 9 από 9