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

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

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

Το μοντέλο Perceptron

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

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

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

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

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

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

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

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

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

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

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

Υπερπροσαρμογή (Overfitting) (1)

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

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

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

LOGO. Εξόρυξη Δεδομένων. Δειγματοληψία. Πίνακες συνάφειας. Καμπύλες ROC και AUC. Σύγκριση Μεθόδων Εξόρυξης

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

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

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

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

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

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

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

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

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

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

Μηχανική Μάθηση: γιατί;

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

Πληροφοριακά Συστήματα Διοίκησης

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

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

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

Αντικείμενο του κεφαλαίου είναι: Ανάλυση συσχέτισης μεταξύ δύο μεταβλητών. Εξίσωση παλινδρόμησης. Πρόβλεψη εξέλιξης

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

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

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

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

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

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

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

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

Είδη Διορθωτών: Υπάρχουν πολλών ειδών διορθωτές. Μία βασική ταξινόμησή τους είναι οι «Ειδικοί Διορθωτές» και οι «Κλασσικοί Διορθωτές».

5. ΤΟ ΓΕΝΙΚΟ ΓΡΑΜΜΙΚΟ ΜΟΝΤΕΛΟ (GENERAL LINEAR MODEL) 5.1 Εναλλακτικά μοντέλα του απλού γραμμικού μοντέλου: Το εκθετικό μοντέλο

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Component Analysis, PCA)

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

ΣΥΝΘΕΤΑ ΜΟΝΤΕΛΑ. Αριθμητικός Μέσος Εξομάλυνση Μοντελοποίηση. Συνδυασμός κάποιου μοντέλου και εξομάλυνσης. Διαχείριση Πληροφοριών 10.

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

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

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

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (

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

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


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

Ζητήματα ηήμ με τα δεδομένα

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

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

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

Αλγόριθμος Ομαδοποίησης

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

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

Συμπίεση Δεδομένων

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

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

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

DIP_04 Σημειακή επεξεργασία. ΤΕΙ Κρήτης

Δειγματοληψία στην Ερευνα. Ετος

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

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Data Mining) Πανδή Αθηνά

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

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

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

Διαχείριση Υδατικών Πόρων

Ανάλυση διακύμανσης (Μέρος 1 ο ) 17/3/2017

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3

ΧΡΟΝΙΚΕΣ ΣΕΙΡΕΣ. Παπάνα Αγγελική

Αριθμητικές μέθοδοι σε ταλαντώσεις μηχανολογικών συστημάτων

ΟΙΚΟΝΟΜΕΤΡΙΑ. Β μέρος: Ετεροσκεδαστικότητα. Παπάνα Αγγελική

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

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

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

Transcript:

Μάθηση και Γενίκευση Ο Mark Twain, το 1897, έγραφε στο βιβλίο του «Following the Equator»: «Θα πρέπει με προσοχή να εξάγουμε από μια εμπειρία μόνο την σοφία που υπάρχει μέσα της και όχι να παρερμηνεύουμε, όπως η γάτα που κάθισε πάνω στο καπάκι της αναμμένης σόμπας και δεν θα ξανακαθίσει ποτέ στο μέλλον, όχι μόνον στο ζεστό, αλλά ούτε και στο κρύο». Σκοπός μας είναι να εκπαιδεύσουμε το ΝΝ ώστε να πάρει από τα δεδομένα μόνο την «σοφία» που υπάρχει μέσα τους. Αυτή είναι η έννοια της γενίκευσης.

Μάθηση και Γενίκευση Η βασική στρατηγική γι αυτό, είναι να βρούμε το απλούστερο μοντέλο που εξηγεί («κατανοεί») τα δεδομένα. Είναι μια παραλλαγή της αρχής που λέγεται: «Το ξυράφι του Ockham s» (από τον Άγγλο William of Ockham, 14 ος αιώνας) και η βασική του ιδέα είναι πως όσο πιο περίπλοκο ΝΝ έχουμε, τόσο αυξάνεται η δυνατότητα για σφάλματα. Αυτό, στα ΝΝ, μεταφράζεται ως εξής: Το απλούστερο ΝΝ είναι αυτό που έχει τις λιγότερες ελεύθερες παραμέτρους (δηλαδή βάρη και πολώσεις (bias), ή ισοδύναμα τους λιγότερους νευρώνες.

Γενικές Κατευθύνσεις Για τον σωστό σχεδιασμό ενός ΝΝ πρέπει: 1. Να κατανοήσουμε και να εξειδικεύσουμε το πρόβλημα. 2. Συλλογή και ανάλυση των δεδομένων, καθορισμός εισόδων-εξόδων, κατάργηση των ακραίων τιμών, εφαρμογή μεθόδων προ-επεξεργασίας (αλλαγή κλίμακας (rescale), τυποποίηση, ομαλοποίηση), σωστή κωδικοποίηση εξόδων,... 3. Έρευνα και εφαρμογή της γνώσης στην επιλογή των χαρακτηριστικών (features) και στην εξαγωγή τους, στην επιλογή τύπου του ΝΝ, της πολυπλοκότητάς του, κ.λ.π.

Γενικές Κατευθύνσεις 4. Αρχίζουμε με απλά ΝΝ (απλή αρχιτεκτονική, λίγα στρώματα, λίγοι νευρώνες). 5. Εκπαιδεύουμε το ΝΝ και ελέγχουμε την καλή του επίδοση στα δεδομένα εκπαίδευσης. Εάν αυτό δεν συμβαίνει, τότε αυξάνουμε την πολυπλοκότητα του ΝΝ. 6. Ελέγχουμε την επίδοση της γενίκευσης του ΝΝ με νέα δεδομένα για τον έλεγχό του. Εάν η επίδοση δεν ικανοποιεί, ελέγχουμε τα δεδομένα και την κατανομή τους στα υποσύνολα train/test, ελέγχουμε και μεταβάλλουμε την αρχιτεκτονική του ΝΝ,...

Μάθηση και Γενίκευση Μάθηση είναι η διαδικασία αυτοπροσαρμογής ενός συστήματος, για την επίλυση ενός προβλήματος, με κάποιο κριτήριο καταλληλότητας. Ένα ΝΝ λέμε ότι μαθαίνει (εκπαιδεύεται) όταν αλλάζει τις εσωτερικές του παραμέτρους (συνήθως τα βάρη των συνάψεών του) με στόχο να ελαχιστοποιήσει ένα κριτήριο (συνήθως το κριτήριο του σφάλματος, π.χ. το Μέσο Τετραγωνικό Σφάλμα MSE). Αυτό ισχύει γενικότερα για όλα τα «Ευφυή Συστήματα» που μπορούν και μαθαίνουν (η μάθηση είναι βασικό στοιχείο της ευφυΐας). «Μηχανή Μάθησης»: Αυτόματο σύστημα που μαθαίνει (ή εκπαιδεύεται χρησιμοποιώντας κάποια πρότυπα εισόδου. Τα ΝΝ είναι τυπικές «μηχανές μάθησης».

Μάθηση και Γενίκευση Η χρησιμότητα της μάθησης είναι περιορισμένη, αν προσφέρει απλώς την δυνατότητα καλής προσέγγισης μόνον των στόχων, για τα πρότυπα που χρησιμοποιήθηκαν στην εκπαίδευση, και δεν προσφέρει την ικανότητα επιτυχίας στην εκτίμηση των στόχων για πρότυπα εισόδου για τα οποία δεν έχει εκπαιδευτεί. Η ικανότητα αυτή (δηλαδή της επιτυχούς πρόβλεψης των στόχων για πρότυπα για τα οποία η μηχανή μάθησης δεν έχει εκπαιδευτεί), λέγεται γενίκευση.

Μάθηση και Γενίκευση Για να εκτιμήσουμε την ικανότητα γενίκευσης ενός ΝΝ πρέπει πρώτα να ορίσουμε τον τρόπο με τον οποίο μπορεί να γίνει αυτό. Εάν έχουμε έναν ορισμένο αριθμό δεδομένων, είναι σημαντικό, κατά την φάση της εκπαίδευσης να κρατήσουμε εκτός ένα μέρος αυτών των δεδομένων (ένα υποσύνολο δηλαδή του συνολικού συνόλου των δεδομένων, το Test Set). Αφού το ΝΝ εκπαιδευτεί, θα υπολογίσουμε το σφάλμα που εμφανίζει σ αυτά τα δεδομένα (τα εκτός) και αυτό θα μας δώσει μια ένδειξη για το πώς θα συμπεριφέρεται το ΝΝ στο μέλλον. Είναι η μέτρηση της ικανότητας προς γενίκευση του ΝΝ.

Μάθηση και Γενίκευση Το Test Set δεν πρέπει να έχει χρησιμοποιηθεί ποτέ για την εκπαίδευση του ΝΝ, ούτε για την επιλογή ενός ΝΝ, μεταξύ περισσοτέρων υποψηφίων ΝΝ. Δηλαδή πρέπει είναι παντελώς άγνωστο στο ΝΝ. Πρέπει να χρησιμοποιείται μόνο, αφού όλη η εκπαίδευση και η επιλογή έχουν ολοκληρωθεί. Το Test Set πρέπει να είναι αντιπροσωπευτικό όλων των καταστάσεων στις οποίες το ΝΝ θα χρησιμοποιηθεί. Αυτό, μερικές φορές, είναι δύσκολο να εξασφαλισθεί, ειδικά αν η είσοδος (data) είναι πολυδιάστατη ή έχει πολύπλοκη μορφή. Το Test Set χρησιμοποιείται μετά την εκπαίδευση για να μετρήσει την ικανότητα γενίκευσης του ΝΝ.

Μάθηση και Γενίκευση Υπάρχουν 5 διαφορετικοί τρόποι για την δημιουργία απλών ΝΝ: Growing (Καλλιέργεια): Αρχίζουμε χωρίς νευρώνες στο ΝΝ και προσθέτουμε νευρώνες μέχρι η επίδοσή του να είναι ικανοποιητική. Pruning (Κλάδεμα): Αρχίζουμε έχοντας ένα μεγάλο ΝΝ, το οποίο υπερπροσαρμόζει (overfit) και αφαιρούμε νευρώνες (ή βάρη), ένα κάθε φορά, μέχρι που το overfit να πέφτει σημαντικά.

Μάθηση και Γενίκευση Global searches (Συνολική αναζήτηση): Όπως στους γενετικούς αλγόριθμους, αναζητούμε όλες τις δυνατές αρχιτεκτονικές ΝΝ για τον εντοπισμό του απλούστερου που εξηγεί τα δεδομένα. Regularization (Κανονικοποίηση): Early stopping (Πρόωρη παύση): Οι δύο αυτοί τρόποι, κρατούν το ΝΝ μικρό, περιορίζοντας τα βάρη του και όχι τον αριθμό των βαρών του (συνάψεων).

Μάθηση με Επίβλεψη: Για κάθε πρότυπο εισόδου x p Μάθηση και Γενίκευση d p και ορίζεται μια συνάρτηση κόστους: J x 1, d 1,.., x p, d p ; w δίνεται ένα διάνυσμα στόχος Στόχος της εκπαίδευσης είναι να επιλεγεί η τιμή του w ώστε να ελαχιστοποιηθεί η τιμή του J. Μάθηση χωρίς Επίβλεψη: Εδώ, καθώς δεν υπάρχουν τα διανύσματα στόχοι, δίνεται κάποιο κριτήριο καταλληλότητας το οποίο βελτιστοποιείται από την μάθηση. Στο ΝΝ SOM για παράδειγμα, το κριτήριο είναι η ομοιότητα του νευρώνα νικητή (και της γειτονιάς του) με το διάνυσμα εισόδου. Παρόμοια κριτήρια υπάρχουν σε κάθε μοντέλο με μάθηση χωρίς επίβλεψη.

Μάθηση και Γενίκευση Συνάρτηση κόστους ή Συνάρτηση Σφάλματος Εκπαίδευσης J train = P p=1 M i=1 d i p yi p 2 Όπου: P = το πλήθος των προτύπων στα οποία εκπαιδεύτηκε το δίκτυο (Training set) p p d i, yi πρότυπο p = στόχοι και έξοδοι του δικτύου για το Μ = το πλήθος των εξόδων του δικτύου

Μάθηση και Γενίκευση Συνάρτηση Κόστους ή Συνάρτηση Σφάλματος Ελέγχου J test = T M d i t y i t 2 t=1 i=1 Τ = το πλήθος των προτύπων στα οποία δεν εκπαιδεύτηκε το δίκτυο αλλά τα χρησιμοποιούμε για έλεγχο γενίκευσης (Test set) Μ = το πλήθος των εξόδων του δικτύου d t i, y t i = στόχοι και έξοδοι του δικτύου για το πρότυπο t

d Μάθηση και Γενίκευση Πρότυπα εκμάθησης αυτό μάθαμε αληθές μοντέλο x Μάθηση με Επίβλεψη: Να μάθουμε ακριβώς τις τιμές των στόχων d i γιά κάθε διάνυσμα εισόδου x i.

Μάθηση και Γενίκευση Σκοπός του ΝΝ δεν είναι να αντιστοιχεί τα πρότυπα (να τα μαθαίνει ή να τα αναγνωρίζει) αλλά να χτίσει το στατιστικό μοντέλο που τα «γεννάει»*. Να μάθει δηλαδή την κρυμμένη «αλήθεια». Μην ξεχνάμε ότι μπορεί να υπάρχει και ο θόρυβος παρατήρησης. Στόχος η γενίκευση. Γενίκευση: Η ικανότητα να εκτιμάμε τη σωστή έξοδο d i για πρότυπα εισόδου x i που δεν έχουμε δει κατά την εκπαίδευση. * Υποτίθεται πως τα δεδομένα που χρησιμοποιούνται για την εκπαίδευση και για τον έλεγχο, προέρχονται από τον ίδιο πληθυσμό δεδομένων.

Μάθηση και Γενίκευση Η ικανότητα αυτή της γενίκευσης είναι που διακρίνει τα ευφυή συστήματα (από μία απλή απομνημόνευση, π.χ. μια RAM). Ποιός ο λόγος να χρησιμοποιήσουμε ένα ΝΝ εάν πρόκειται μόνο να απομνημονεύσουμε τα ζεύγη των προτύπων-στόχων: x 1, d 1,.., x p, d p ; Ισχύει κι εδώ το γνωστό: «Δεν είναι καλό να μαθαίνουμε παπαγαλία».

Επιλογή μοντέλου Μάθηση και Γενίκευση Έστω ότι χρησιμοποιούμε MLP και Back-Propagation. (Το ίδιο ισχύει και για τα δίκτυα RBF ή για οποιοδήποτε άλλο δίκτυο που εκπαιδεύεται με επίβλεψη). Χρήση πολλών νευρώνων το δίκτυο μπορεί να περιγράψει ιδιαίτερα πολύπλοκες καμπύλες (ή επιφάνειες) Χρήση λίγων νευρώνων το δίκτυο μπορεί να περιγράψει απλές καμπύλες (ή επιφάνειες) Ποια επιλογή να κάνω? Η διαδικασία εκπαίδευσης μπορεί να ειδωθεί και ως ένα πρόβλημα προσαρμογής καμπύλης (curve fitting).

Μάθηση και Γενίκευση d αυτό μάθαμε αληθές μοντέλο Σφάλμα υπερ-προσαρμογής (Overfitting). Περισσότεροι νευρώνες απ όσους πρέπει. Κακή γενίκευση, αν και μπορεί να έχουμε τέλεια προσέγγιση των προτύπων εισόδου (κουκίδες). x

Μάθηση και Γενίκευση d αυτό μάθαμε αληθές μοντέλο Σφάλμα υπο-προσαρμογής (Underfitting). Λιγότεροι νευρώνες απ όσους πρέπει. Μέτρια ή κακή γενίκευση και φτωχή προσέγγιση των προτύπων εισόδου (κουκίδες). x

Μάθηση και Γενίκευση Γενίκευση στην ταξινόμηση (καλή γενίκευση)

Μάθηση και Γενίκευση Γενίκευση στην ταξινόμηση (Overfitting)

Παράδειγμα Neural Network DESIGN Generalization Target 2 1.5 1 0.5 Function Approximation Click the [Train] button to train the logsig-linear netw ork on the data points at left. Use the slide bar to choose the number of neurons in the hidden layer. 0-2 -1 0 1 2 Input Number of Hidden Neurons S1: 5 1 9 Difficulty Index: 4 1 9 Chapter 11 nnd11gn

Επιλογή μεγέθους δικτύου Μάθηση και Γενίκευση Καταλληλότερο μέγεθος δικτύου: Όταν η καμπύλη J test αρχίζει να αυξάνεται J test J train Πλήθος Νευρώνων N

Βελτιώνοντας την Γενίκευση Πως μπορούμε να αντιμετωπίσουμε το underfitting? 1. Να έχουμε αρκετούς κρυφούς νευρώνες για να αντιπροσωπεύονται οι απαραίτητες αντιστοιχίσεις. 2. Να εκπαιδεύσουμε το ΝΝ αρκετά ώστε το SSE να ελαχιστοποιηθεί αρκετά. Πως μπορούμε να αντιμετωπίσουμε το overfitting? 1. Να σχεδιάσουμε σωστά τα δεδομένα εκπαίδευσης πολλά δεδομένα εκπαίδευσης. 2. Διασταυρωμένη Επικύρωση (Cross-validation) έλεγχος της ικανότητας γενίκευσης στα δεδομένα ελέγχου. 3. Πρόωρη Παύση πριν το NN εκπαιδευτεί στα δεδομένα αρκετά καλά.

Βελτιώνοντας την Γενίκευση 4. Περιορισμός του αριθμού των ρυθμιζόμενων παραμέτρων a) Μείωση του αριθμού των κρυφών νευρώνων, ή b) Αύξηση των συνάψεων για να μοιραστούν τα βάρη. 5. Προσθέτουμε όρο ελέγχου στην συνάρτηση σφάλματος, για πιο ομαλή αντιστοίχιση. 6. Πρόσθεση θορύβου στα δεδομένα εκπαίδευσης για να γίνει πιο «ανεκτικό» το ΝΝ.

Cross-validation (Διασταυρωμένη Επικύρωση) Χρησιμοποιείται για την εκτίμηση του σφάλματος γενίκευσης με βάση επαναπροσδιορισμένα δεδομένα. Τα διαθέσιμα δεδομένα κατανέμονται τυχαία σε: Δεδομένα Εκπαίδευσης (Training set ) Δεδομένα Ελέγχου (Test set ) Το Training set κατανέμεται περεταίρω σε: Estimation subset, για την εκπαίδευση του NN. Validation subset, για την επικύρωση του NN. Το Training set χρησιμοποιείται για την δημιουργία και την επικύρωση διαφόρων δοκιμαστικών μοντέλων (NN), για την επιλογή του «καλύτερου». Η επίδοση της γενίκευσης του επιλεγμένου ΝΝ δοκιμάζεται με το Test set που είναι διαφορετικό από το Validation subset.

Παραλλαγές της Cross-validation Πολλαπλή cross-validation Εάν έχουμε λίγα δεδομένα: Διαιρούμε τα N διαθέσιμα δεδομένα σε K υποσύνολα Το μοντέλο εκπαιδεύεται σε όλα τα υποσύνολα (εκτός ενός) Το Σφάλμα Επικύρωσης μετριέται με το υποσύνολο αυτό Η διαδικασία επαναλαμβάνεται K φορές Η επίδοση του μοντέλου από τον Μ.Ο. των Κ επαναλήψεων

Παραλλαγές της Cross-validation Leave-one-out cross-validation Ακραία εκδοχή της cross-validation N-1 δεδομένα χρησιμοποιούνται για την εκπαίδευση Το μοντέλο επικυρώνεται με το δεδομένο που έμεινε εκτός Η διαδικασία επαναλαμβάνεται Ν φορές Το αποτέλεσμα είναι ο Μ.Ο. των Ν επαναλήψεων

Πρόωρη Παύση Η βασική ιδέα πίσω από την μέθοδο αυτή είναι πως: καθώς η εκπαίδευση προχωράει χρησιμοποιεί όλο και περισσότερο τα βάρη του ΝΝ, ώσπου όλα τα βάρη να έχουν πλήρως χρησιμοποιηθεί, όταν το σφάλμα εκπαίδευσης αγγίζει το ελάχιστό του. Αυξάνοντας τον αριθμό των εποχών εκπαίδευσης, αυξάνουμε την περιπλοκότητα του ΝΝ.

Πρόωρη Παύση Εάν η εκπαίδευση σταματήσει πριν φτάσουμε στο ελάχιστο, τότε το ΝΝ θα χρησιμοποιεί λιγότερες παραμέτρους και θα έχει μικρότερη πιθανότητα να υπερπροσαρμόζει (Overfit). Ο αριθμός των παραμέτρων αλλάζει καθώς αυξάνει ο αριθμός των εποχών. Για να κάνουμε σωστή χρήση της μεθόδου της πρόωρης παύσης, πρέπει να ξέρουμε πότε θα σταματήσουμε την εκμάθηση. Αυτό μας το λέει η cross-validation και χρησιμοποιεί προς τούτο το Validation Set.

Μάθηση και Γενίκευση Πρόωρη Παύση Τα διαθέσιμα δεδομένα, τα χωρίζουμε σε Training Set και Test Set. Το Training Set χωρίζεται σε δύο υποσύνολα, το Estimation subset και το Validation subset. To Estimation χρησιμοποιείται για τον υπολογισμό του σφάλματος εκπαίδευσης και την επικαιροποίηση των βαρών σε κάθε βήμα εκπαίδευσης. Το validation είναι ένας δείκτης για το τι θα συμβεί στην συνάρτηση του ΝΝ «στο ενδιάμεσο των σημείων εκπαίδευσης», και το σφάλμα του φαίνεται κατά την διάρκεια της εκπαίδευσης.

Πρόωρη Παύση Μάθηση και Γενίκευση Όταν το σφάλμα στο validation set αυξάνεται, για μερικές συνεχόμενα εποχές, η εκπαίδευση σταματάει και τα βάρη που έδωσαν το ελάχιστο αυτό σφάλμα στο validation set χρησιμοποιούνται ως τα τελικά βάρη του εκπαιδευμένου ΝΝ. Δηλαδή το Validation τρέχει κατά την διάρκεια της εκπαίδευσης μαζί με το Estimation (και τα δύο μαζί συναποτελούν το Training Set), αλλά δεν συμμετέχει στην επικαιροποίηση των βαρών του ΝΝ. Είναι δηλαδή όπως το Test set, τρέχει κατά την εκπαίδευση και μας δείχνει πότε πρέπει να σταματήσουμε.

Πρόωρη Παύση Μάθηση και Γενίκευση Τα ΝΝ συχνά γίνονται με παραπάνω ελεύθερες παραμέτρους (δηλαδή το σύνολο των συναπτικών βαρών και των πολώσεων) από όσο χρειάζεται, πράγμα που μπορεί να δημιουργήσει over-fitting. Για την εκπαίδευση του ΝΝ με επαναληπτική οπισθοδιάδοση του gradient (backpropagation,...), το σφάλμα εκπαίδευσης λογικά μειώνεται όσο αυξάνονται οι εποχές εκπαίδευσης. Το σφάλμα ωστόσο, στα Test set και Validation set τα οποία δεν γνωρίζει το ΝΝ, θα αρχίσει να μειώνεται, καθώς η υπομοντελοποίηση μειώνεται, αλλά θα αρχίσει να ξαναμεγαλώνει όταν προκύψει υπέρ-μοντελοποίηση.

Μάθηση και Γενίκευση Ενώ το σφάλμα εκπαίδευσης (training set) συνεχίζει να πέφτει, το σφάλμα στο validation set φτάνει στο ελάχιστό του και εν συνεχεία αυξάνεται. Εδώ είναι το σημείο της πρόωρης παύσης.

Μάθηση και Γενίκευση Η απόκριση του ΝΝ όταν έχουμε πρόωρη παύση (είναι ικανοποιητική) ενώ εάν η εκπαίδευση συνεχισθεί θα έχουμε overfiting.

Μάθηση και Γενίκευση Διαδικασία Πρόωρης Παύσης Πως γίνεται η εκπαίδευση με την πρόωρη παύση? 1. Χωρίζουμε τα training data σε υποσύνολα estimation set και validation set 2. Χρησιμοποιούμε μεγάλο αριθμό κρυφών νευρώνων 3. Χρησιμοποιούμε πολύ μικρές τυχαίες αρχικές τιμές 4. Χρησιμοποιούμε συντελεστή για αργή εκπαίδευση 5. Υπολογίζουμε περιοδικά το σφάλμα επικύρωσης κατά την εκπαίδευση 6. Σταματάμε την εκπαίδευση όταν το σφάλμα επικύρωσης (validation) αρχίζει να αυξάνεται

Μάθηση και Γενίκευση Εφ όσον το σφάλμα επικύρωσης δεν αποτελεί καλή εκτίμηση του σφάλματος γενίκευσης, ένα 3 ο test set πρέπει να εφαρμοστεί για την εκτίμηση της επίδοσης γενίκευσης Τα διαθέσιμα δεδομένα χωρίζονται, όπως στην περίπτωση της cross-validation σε: Training set Estimation subset Validation subset Test set

Μάθηση και Γενίκευση Πρακτικές διαπιστώσεις για την πρόωρη παύση Πιθανό Πρόβλημα: Το σφάλμα επικύρωσης μπορεί να αυξομειώνεται πολλές φορές κατά την διάρκεια της εκπαίδευσης η πιο σίγουρη προσέγγιση γενικώς, είναι να εκπαιδεύουμε μέχρι την σύγκλιση, να αποθηκεύουμε τα βάρη σε κάθε εποχή, και μετά να πάμε πίσω στα βάρη, όταν προκύψει η εποχή με το μικρότερο σφάλμα επικύρωσης. Η πρόωρη παύση μοιάζει με την ρύθμιση ελάττωσης βαρών η οποία φαίνεται να λειτουργεί καλύτερα εάν η εκπαίδευση αρχίζει με πολύ μικρές τυχαίες τιμές για τα αρχικά βάρη.

Μάθηση και Γενίκευση Γενικά πρακτικά προβλήματα Πως διαχωρίζονται καλύτερα τα διαθέσιμα δεδομένα σε υποσύνολα training και validation? Τι ποσοστό των δεδομένων πρέπει να είναι στο validation set? Τα δεδομένα πρέπει να χωρίζονται τυχαία, ή με κάποιον συστηματικό αλγόριθμο? Τα ερωτήματα αυτά εξαρτώνται από την υφή του κάθε προβλήματος. Η προεπιλογή των παραμέτρων για το Matlab είναι: (train, validation, test): 70%, 15%, 15%.

Μάθηση και Γενίκευση Περιορισμοί και μοίρασμα βαρών Ο πιο εύλογος τρόπος για να αποφύγουμε το overfitting στα ΝΝ είναι να περιορίσουμε τον αριθμό των ελεύθερων παραμέτρων (Βάρη και Bias) Η απλούστερη λύση είναι ο περιορισμός των κρυφών νευρώνων, πράγμα που θα μειώσει αυτόματα και τον αριθμό των βαρών. Ο βέλτιστος αριθμός για ένα δεδομένο πρόβλημα- μπορεί να ορισθεί από την cross-validation.

Μάθηση και Γενίκευση Κανονικοποίηση (Regularization) Η τεχνική αυτή ενθαρρύνει ομαλότερες αντιστοιχίσεις στο ΝΝ προσθέτοντας ένα όρο-ποινή στην συνάρτηση κόστους SSE: E reg = E SSE + λω Η παράμετρος κανονικοποίησης λ ελέγχει την ισορροπία μεταξύ της μείωσης του σφάλματος E SSE και της αύξησης της εξομάλυνσης. Αυτό μεταβάλλει την κλίση καθόδου (gradient descent) της ενημέρωσης βαρών: n n E m SSE w ij Ω w ij Δw kl = η ηλ w kl m w kl m Η αντιστοίχηση που προκύπτει στο ΝΝ είναι μια συμφωνία μεταξύ προσαρμογής δεδομένων (fitting) και ελαχιστοποίησης του κανονικοποιητή Ω (Regularizer).

Μάθηση και Γενίκευση Κανονικοποίηση (Regularization) με ελάττωση των βαρών Μια από τις πιο απλές μορφές Regularizer ονομάζεται κατάβασης βαρών (weight decay) και συνίσταται στο άθροισμα των τετραγώνων των βαρών του ΝΝ: Ω = 1 2 k,l,m w kl m 2 Στο συμβατικό curve fitting ο regularizer είναι γνωστός ως ridge regression. Παρατηρώντας τον επιπρόσθετο όρο στην ενημέρωση των βαρών: ηλ Ω w ij n w kl m = ηλw kl αντιλαμβανόμαστε προς τι η ονομασία weight decay: Σε κάθε εποχή τα βάρη μειώνονται ανάλογα με το μέγεθός τους. Εμπειρικά αυτό οδηγεί σε αξιοσημείωτη βελτίωση της γενίκευσης. Η μείωση των βαρών κρατά μικρές τις τιμές τους και έτσι οι αντιστοιχήσεις είναι ομαλές. m

Μάθηση και Γενίκευση Εκπαίδευση με θόρυβο / Jittering Προσθέτοντας θόρυβο (jitter) στις εισόδους, κατά την εκπαίδευση, βρέθηκε εμπειρικά πως αυτό βελτιώνει την γενίκευση του ΝΝ. Ο θόρυβος «θολώνει» τα σημεία-δεδομένα εισόδου και κάνει πιο δύσκολη, για το ΝΝ, την επακριβή αντιστοίχισή τους, μειώνοντας έτσι το over-fitting. Η θορυβοποίηση (Jittering) ολοκληρώνεται με την παραγωγή νέων εισόδων, χρησιμοποιώντας τις αρχικές και προσθέτοντας λίγο θόρυβο. Εάν προσθέσουμε θόρυβο στους στόχους, αυτό δεν θα αλλάξει τα βέλτιστα βάρη, αλλά απλά θα επιβραδύνει την εκπαίδευση. Η θορυβοποίηση συνδέεται επίσης στενά και με τις μεθόδους συστηματοποίησης (regularization), όπως η weight decay και η ridge regression.

Μάθηση και Γενίκευση Επισκόπηση Generalization Πρόληψη underfitting 1. Να έχουμε αρκετούς κρυφούς νευρώνες 2. Να εκπαιδεύσουμε αρκετά το ΝΝ Πρόληψη overfitting 1. Σωστή επιλογή των δεδομένων εκπαίδευσης 2. Cross-validation (Διασταυρωμένη Επικύρωση) 3. Πρόωρη παύση 4. Περιορισμός του αριθμού των ρυθμιζόμενων παραμέτρων 5. Regularization (Συστηματοποίηση) 6. Jittering (Θορυβοποίηση )

Γενικές Κατευθύνσεις Συλλογή/ Προεπεξεργασία Δεδομένων Επιλογή ΝΝ Τύπος/ Αρχιτεκτονική Επιλογή Αλγορίθμου Εκπαίδευσης Ανάλυση Επίδοσης ΝΝ Αρχικοποίηση Βαρών & Εκπαίδευση ΝΝ Χρήση ΝΝ Μπλοκ Διάγραμμα Μελέτης ΝΝ

Γενικές Κατευθύνσεις Πριν την εκπαίδευση Συλλογή των Δεδομένων Προεπεξεργασία Δεδομένων Επιλογή ΝΝ (Τύπος και Αρχιτεκτονική) Εκπαίδευση Ανάλυση ΝΝ μετά την Εκπαίδευση

Συλλογή των Δεδομένων Καθώς τα ΝΝ είναι μια τεχνολογία που βρίσκεται στο «έλεος» των δεδομένων, όσο καλύτερη επιλογή δεδομένων έχουμε, τόσο καλύτερο μπορεί να γίνει το ΝΝ. Τα δεδομένα πρέπει να καλύπτουν όλη την περιοχή στην οποία είναι δυνατό να κινείται η είσοδος του ΝΝ. Υπάρχουν μέθοδοι εκπαίδευσης που εξασφαλίζουν ότι το ΝΝ θα ανταποκρίνεται με ακρίβεια σε όλο το εύρος των δεδομένων (interpolation) που του χορηγούνται (καλή γενίκευση).

Συλλογή των Δεδομένων Εάν όμως τα δεδομένα εισόδου είναι εκτός της περιοχής του training set, τότε η επίδοση του ΝΝ δεν μπορεί να εξασφαλισθεί. Τα ΝΝ, όπως και άλλες μη γραμμικές black box, δεν προεκτείνουν καλά (extrapolation). Interpolation: όταν ανταποκρίνεται στο ενδιάμεσο διάστημα μιας περιοχής δεδομένων Extrapolation: όταν ανταποκρίνεται στο διάστημα εκτός μιας περιοχής δεδομένων

Συλλογή των Δεδομένων Δεν είναι πάντα δεδομένο πως η περιοχή εισόδου αντιπροσωπεύεται επαρκώς από τα δεδομένα εκπαίδευσης (training set). Για απλά προβλήματα με ανύσματα εισόδου μικρών διαστάσεων (π.χ. 2), όπου το κάθε στοιχείο του ανύσματος μπορεί να επιλεγεί ανεξάρτητα, μπορούμε να αναπαραστήσουμε την περιοχή εισόδου σε πλέγμα. Αυτό όμως δεν είναι σύνηθες, καθώς οι διαστάσεις είναι περισσότερες των 2 και μπορεί να είναι και εξαρτημένες.

Συλλογή των Δεδομένων

Συλλογή των Δεδομένων Η σκιασμένη επιφάνεια αντιπροσωπεύει την περιοχή στην οποία μπορούν να κινηθούν οι είσοδοι. Δεν είναι πάντα δεδομένο πως η περιοχή εισόδου αντιπροσωπεύεται επαρκώς από τα δεδομένα εκπαίδευσης (training set). Ακόμα κι αν η κάθε μεταβλητή μπορεί να κινηθεί μεταξύ [-1 1], δεν χρειαζόμαστε πλέγμα στο οποίο και οι δύο μεταβλητές κινούνται σε όλο τους το φάσμα. Το ΝΝ χρειάζεται να βρει (fit) την συνάρτηση μόνον στην σκιασμένη επιφάνεια, καθώς εκεί μόνο θα χρησιμοποιηθεί. Εκτός αυτής είναι ανώφελο. Αυτό ισχύει κυρίως για πολυδιάστατες εισόδους.

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

Συλλογή των Δεδομένων Αυτό μπορεί να γίνει στην φάση: Post-Training Analysis. Αναλύοντας το εκπαιδευμένο ΝΝ μπορούμε συχνά να πούμε αν τα δεδομένα εκπαίδευσης ήταν επαρκή. Υπάρχουν τεχνικές που δείχνουν πότε ένα ΝΝ χρησιμοποιήθηκε εκτός της περιοχής δεδομένων με τα οποία εκπαιδεύτηκε. Αυτό βέβαια δεν βελτιώνει την επίδοση του ΝΝ, αλλά μας προφυλάσσει από το να το χρησιμοποιήσουμε σε περιπτώσεις που δεν είναι αξιόπιστο.

Τα δεδομένα που έχουν επιλεγεί, χωρίζονται σε τρία σύνολα: Training set, 70% Validation set, 15% Testing set, 15% Συλλογή των Δεδομένων Είναι σημαντικό και τα τρία σύνολα να καλύπτουν όλο το εύρος των εισόδων. Αυτό μπορεί να γίνει με την κατανομή των δεδομένων στα τρία σύνολα με τυχαίο τρόπο, αν και θα πρέπει να γίνεται κι ένας έλεγχος για τυχόν μεγάλες διαφορές μεταξύ τους.

Συλλογή των Δεδομένων Μια άλλη εύλογη ερώτηση είναι: Τα δεδομένα που έχουν επιλεγεί, είναι αρκετά? Αυτό είναι δύσκολο να απαντηθεί, ιδίως πριν την εκπαίδευση του ΝΝ. Τα απαιτούμενα δεδομένα εξαρτώνται από την πολυπλοκότητα της συνάρτησης που θέλουμε να προσεγγίσουμε (ή από την πολυπλοκότητα των ορίων των περιοχών που θέλουμε να χωρίσουμε). Όσο πιο μεγάλη πολυπλοκότητα υπάρχει, τόσο περισσότερα δεδομένα χρειάζονται, ενώ αντίθετα όσο πιο ομαλή, τόσο λιγότερα (εκτός κι αν τα δεδομένα έχουν θόρυβο).

Συλλογή των Δεδομένων Η επιλογή του πλήθους δεδομένων συναρτάται στενά με τον αριθμό των νευρώνων του ΝΝ. Γενικά βέβαια δεν γνωρίζουμε την πολυπλοκότητα της συνάρτησης ή των περιοχών, πριν την εκπαίδευση του ΝΝ, γι αυτό και η συνολική εκπαίδευσή του γίνεται με τρόπο επαναληπτικό (όπως φαίνεται στο μπλοκ διάγραμμα). Με την ολοκλήρωση της εκπαίδευσης μπορούμε να αναλύσουμε την επίδοση του ΝΝ και να αποφασίσουμε αν τα δεδομένα ήταν επαρκή.

Σκοπός της προεπεξεργασίας των δεδομένων είναι να διευκολύνει την εκπαίδευση του ΝΝ ώστε να εξάγει την χρήσιμη πληροφορία. Μπορεί κατά περίπτωση- να περιλαμβάνει: rescaling detrending εξαγωγή χαρακτηριστικών γνωρισμάτων Principal Component Analysis (PCA) κανονικοποίηση μη γραμμικό μετασχηματισμό επανάκτηση δεδομένων ψηφιακή κωδικοποίηση εισόδων/εξόδων κλπ. Προεπεξεργασία των Δεδομένων

Κανονικοποίηση (normalization) Στα MLP, όπου χρησιμοποιείται συχνά η σιγμοειδής συνάρτηση στα κρυφά στρώματα, έχουμε κορεσμό όταν η είσοδός της είναι μεγαλύτερη του 3 (e 3 0,05), πράγμα που δεν επιθυμούμε στην αρχή της εκπαίδευσης. Εάν πάλι οι είσοδοι είναι πολύ μεγάλες, τότε τα βάρη πρέπει να είναι μικρά για να μην οδηγηθούμε στον κορεσμό. Και στις δύο περιπτώσεις, είναι κοινή πρακτική πριν εφαρμόσουμε τις εισόδους στο ΝΝ- να τις κανονικοποιούμε, πράγμα που εξασφαλίζει χαμηλές τιμές διεγέρσεων για το στρώμα εισόδου. Προεπεξεργασία των Δεδομένων

Κανονικοποίηση Υπάρχουν δύο μέθοδοι κανονικοποίησης: 1. Οδηγεί τις τιμές σε μια standard περιοχή, π.χ. -1 μέχρι 1. p n = 2 p p min./ p max p min 1 Όπου: p n : κανονικοποημένη είσοδος p min : το άνυσμα, που περιέχει τις μικρότερες τιμές για κάθε στοιχείο, από τα ανύσματα εισόδου p max : το άνυσμα, που περιέχει τις μεγαλύτερες τιμές για κάθε στοιχείο, από τα ανύσματα εισόδου./: συμβολίζει την διαίρεση στοιχείο προς στοιχείο δύο ανυσμάτων Προεπεξεργασία των Δεδομένων

Προεπεξεργασία των Δεδομένων Κανονικοποίηση 2. Μία άλλη μέθοδος είναι να οδηγήσουμε τις τιμές ώστε να έχουν μέση τιμή και διακύμανση 0 και 1 αντίστοιχα: p n = p p mean./p std Όπου: p mean : η μέση τιμή των ανυσμάτων εισόδου p std : το άνυσμα, που περιέχει τις τυπικές αποκλίσεις κάθε στοιχείου των ανυσμάτων εισόδου Γενικά η κανονικοποίηση εφαρμόζεται και στα ανύσματα εισόδου και στα ανύσματα στόχους της εξόδου.

Προεπεξεργασία των Δεδομένων Μη Γραμμικός Μετασχηματισμός (Nonlinear Transformation) Ο μη γραμμικός μετασχηματισμός σε αντίθεση με την κανονικοποίηση που είναι γραμμικός- δεν εφαρμόζεται σε όλα τα δεδομένα, αλλά κατά περίπτωση. Π.χ., στα οικονομικά δεδομένα, πολλές μεταβλητές έχουν μια λογαριθμική εξάρτηση, πράγμα που μας οδηγεί να βρούμε τον λογάριθμο των δεδομένων πριν τα εφαρμόσουμε στο ΝΝ. Ο μη γραμμικός μετασχηματισμός κατά κάποιο τρόπο- δίνει την δυνατότητα να συμπεριλάβουμε την πρότερη γνώση στην εκπαίδευση του ΝΝ και εάν είναι σωστά επιλεγμένος, κάνει την εκπαίδευση του ΝΝ πιο αποτελεσματική, απαλλάσσοντάς το από την εργασία που χρειάζεται για την εύρεση του μετασχηματισμού μεταξύ εισόδων-εξόδων.

Προεπεξεργασία των Δεδομένων Εξαγωγή χαρακτηριστικών (Feature Extraction) Όταν η διάσταση των δεδομένων εισόδου είναι πολύ μεγάλη και στοιχεία του ανύσματος εισόδου είναι περιττά, τότε είναι δόκιμο να ελαττώσουμε την διάσταση του ανύσματος εισόδου, υπολογίζοντας από αυτό ένα άνυσμα με χαρακτηριστικά του στοιχεία και μικρότερη διάσταση, το οποίο και θα αποτελέσει τα δεδομένα εισόδου στο ΝΝ. Π.χ. στην μελέτη ηλεκτροκαρδιογραφημάτων (EKG) μπορεί να έχουμε 12-15 σήματα στην διάρκεια μερικών λεπτών, πράγμα που δημιουργεί πάρα πολλά δεδομένα για το ΝΝ. Αντ αυτού μπορούμε να εξάγουμε μερικά χαρακτηριστικά από το σήμα (EKG), όπως π.χ. την μέση τιμή του, την μέση χρονική απόσταση μεταξύ κάποιων κυματομορφών του, την διακύμανσή του, κ.λ.π.

Προεπεξεργασία των Δεδομένων Ανάλυση Κυρίων Συνιστωσών (Principal Component Analysis) Υπάρχουν μερικές μέθοδοι γενικού σκοπού για την εξαγωγή των χαρακτηριστικών, με την πιο γνωστή να είναι η Ανάλυση Κυρίων Συνιστωσών (principal component analysis (PCA). Η μέθοδος μετασχηματίζει τα αρχικά ανύσματα, έτσι ώστε τα στοιχεία των μετασχηματισμένων ανυσμάτων να μην έχουν σχέση μεταξύ τους, και κατατάσσει τα στοιχεία κατά σειρά, σύμφωνα με την μεγαλύτερη διακύμανση που έχει το καθένα. Συνήθως κρατάμε τα πρώτα στοιχεία, με την μεγαλύτερη διακύμανση, επιτυγχάνοντας έτσι σημαντική μείωση στην διάσταση του ανύσματος εισόδου, ιδίως αν τα αρχικά στοιχεία έχουν ισχυρή συσχέτιση.

Προεπεξεργασία των Δεδομένων Ανάλυση Κυρίων Συνιστωσών (Principal Component Analysis) Το μειονέκτημα της μεθόδου είναι ότι «βλέπει» μόνο τις γραμμικές σχέσεις που υπάρχουν μεταξύ των στοιχείων του ανύσματος εισόδου. Όταν μειώνουμε την διάσταση του ανύσματος με γραμμικό μετασχηματισμό, μπορεί να χάσουμε κάποιες μη γραμμικές πληροφορίες. Καθώς τα ΝΝ προορίζονται κυρίως να χρησιμοποιηθούν για την ικανότητά τους στην μη γραμμική αντιστοίχιση, όταν μειώνουμε την διάσταση της εισόδου, χρειάζεται προσοχή στην εφαρμογή. Υπάρχει μια μη γραμμική εκδοχή της PCA, η kernel PCA.

Προεπεξεργασία των Δεδομένων Κωδικοποίηση των στόχων (Coding Targets) Μία άλλη σημαντική προεπεξεργασία που απαιτείται, είναι όταν οι είσοδοι (ή οι στόχοι) παίρνουν μόνο διακριτές τιμές. Εάν π.χ. έχουμε να αναγνωρίσουμε δεδομένα εισόδου σε 4 κλάσεις και κάθε στόχος (επιθυμητή έξοδος) πρέπει να αντιπροσωπεύει μία εκ των 4 κλάσεων, τότε χρειάζεται μία κωδικοποίηση των στόχων:

Προεπεξεργασία των Δεδομένων Κωδικοποίηση των στόχων (Coding Targets) Μπορούμε να έχουμε για στόχο έναν αριθμό για κάθε κλάση (1,2,3,4). Μπορούμε να έχουμε στόχο με 2 ψηφία: (0,0), (0,1), (1,0), (1,1)). Μπορούμε να έχουμε 4 εξόδους και να ενεργοποιείται η κάθε μία ανάλογα με την κλάση: (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1) (η καλύτερη ταξινόμηση). Με τον ίδιο τρόπο κωδικοποιούνται και οι είσοδοι.

Προεπεξεργασία των Δεδομένων Κωδικοποίηση των στόχων (Coding Targets) Στην κωδικοποίηση των στόχων, χρειάζεται να δούμε και την συνάρτηση ενεργοποίησης του στρώματος εξόδου του ΝΝ. Για αναγνώριση δεδομένων συνήθως χρησιμοποιούμε τις σιγμοειδείς συναρτήσεις: log-sigmoid ή tangentsigmoid. Στην περίπτωση της tangent-sigmoid (που δίνει έξοδο [- 1 έως 1]) είναι λογικό να κάνουμε κωδικοποίηση στόχων με -1 ή 1, που είναι οι ασύμπτωτές της.

Προεπεξεργασία των Δεδομένων Κωδικοποίηση των στόχων (Coding Targets) Όμως αυτό μπορεί δημιουργεί δυσκολίες στον αλγόριθμο εκπαίδευσης του ΝΝ που προσπαθεί να πάει στον κορεσμό της σιγμοειδούς συνάρτησης για να βρει την τιμή στόχου. Εδώ είναι καλύτερα να αντιστοιχίσουμε τις τιμές στόχους εκεί που είναι το μέγιστο της 2 ας παραγώγου της σιγμοειδούς συνάρτησης. Για την tangent-sigmoid, αυτό προκύπτει όταν η είσοδος είναι -1 και 1, πράγμα που αντιστοιχεί στις τιμές εξόδου -0.76 και +0.76.

Προεπεξεργασία των Δεδομένων Detrending Αφαίρεση της γραμμικής τάσης στις χρονοσειρές Μετά την πραγματοποίηση και την εφαρμογή του ΝΝ η αρχική γραμμική τάση μπορεί να προστεθεί ξανά Προσοχή: Είναι πολύ εύκολο να δημιουργήσουμε trend εκεί που δεν υπάρχουν!

Detrending Προεπεξεργασία των Δεδομένων

Απολεσθέντα Δεδομένα (Missing Data) Μερικές φορές, ειδικότερα στις οικονομικές εφαρμογές, έχουμε απώλεια δεδομένων. Εάν π.χ. έχουμε, στο άνυσμα εισόδου, 20 στοιχεία που συλλέγονται κάθε μήνα, αλλά μερικά από αυτά (1-2) δεν έχουν συλλεχθεί σωστά για κάποιους μήνες, η απλούστερη λύση είναι να απορρίψουμε όλα τα δεδομένα από αυτούς τους μήνες. Αν όμως έχουμε ανάγκη από δεδομένα, τότε πρέπει να τα χρησιμοποιήσουμε όλα όσα έχουμε. Υπάρχουν διάφορες στρατηγικές προς τούτο. Η πιο συνήθης είναι να τα αντικαταστήσουμε με τον Μ.Ο. αυτών που υπάρχουν για το στοιχείο αυτό του ανύσματος. Προεπεξεργασία των Δεδομένων

Ο βασικός τύπος του ΝΝ καθορίζεται από τον τύπο του προβλήματος που έχουμε να επιλύσουμε. Αφού γίνει η αρχική επιλογή, μετά εξειδικεύουμε παραπέρα, με τον αριθμό των νευρώνων και των στρωμάτων του, τον αριθμό των εξόδων και την επίδοση που θέλουμε να έχει στην εκπαίδευση. Επιλογή Βασικής Αρχιτεκτονικής Τα πιο διαδεδομένα προβλήματα προς επίλυση είναι: Fitting (Προσαρμογή) Pattern recognition (Αναγνώριση Μορφών) Clustering (Ομαδοποίηση) Prediction (Πρόβλεψη) Επιλογή Αρχιτεκτονικής ΝΝ

Επιλογή Αρχιτεκτονικής ΝΝ Fitting (Προσαρμογή) Αναφέρεται και ως προσέγγιση συνάρτησης (Function Approximation) ή παλινδρόμηση (Regression). Θέλουμε το ΝΝ να κάνει την αντιστοίχιση μεταξύ των δεδομένων εισόδου και των στόχων που τα αντιστοιχούν. Π.χ.: Ένας μεσίτης θέλει να εκτιμήσει τις τιμές ακινήτων, από δεδομένα εισόδου του τύπου: φορολογικός συντελεστής, σχέση μαθητών/δασκάλων στην περιοχή, εγκληματικότητα. Ένας μηχανολόγος μηχανικός θέλει να εκτιμήσει τους ρύπους της μηχανής με βάση την κατανάλωση καυσίμου και την ταχύτητα. Ένας γιατρός θέλει να προβλέψει το πάχος σε έναν άρρωστο με βάση τις μετρήσεις στο σώμα του.

Επιλογή Αρχιτεκτονικής ΝΝ Fitting (Προσαρμογή) Για τις περιπτώσεις αυτές, η έξοδος έχει συνεχείς τιμές. Το ΝΝ που ενδείκνυται περισσότερο είναι το MLP, με νευρώνες tansig στα κρυφά στρώματα και linear στο στρώμα εξόδου. Η συνάρτηση tansig προτιμάται, σε σχέση με την logsig, για τους ίδιους λόγους που κάνουμε κανονικοποίηση των δεδομένων εισόδου. Δίνει εξόδους που γίνονται είσοδοι για το επόμενο στρώμα και είναι κεντραρισμένες γύρω από το 0, ενώ η logsig δίνει όλο θετικές εξόδους.

Επιλογή Αρχιτεκτονικής ΝΝ Fitting (Προσαρμογή) Για τις περισσότερες περιπτώσεις fitting, ένα κρυφό στρώμα επαρκεί. Αν το αποτέλεσμα δεν μας ικανοποιεί, μπορούμε να χρησιμοποιήσουμε και δύο κρυφά στρώματα. Σπάνια χρησιμοποιούνται πάνω από 2 κρυφά στρώματα. Οι νευρώνες με γραμμική συνάρτηση ενεργοποίησης χρησιμοποιούνται στην έξοδο καθώς ο στόχος είναι μια συνεχής μεταβλητή. Το ΝΝ με 2 στρώματα, sigmoid συνάρτηση στο κρυφό στρώμα και γραμμική στο στρώμα εξόδου, λέγεται και universal approximator (MLP).

Επιλογή Αρχιτεκτονικής ΝΝ Fitting (Προσαρμογή) Τα RBF NN μπορούν επίσης να χρησιμοποιηθούν σε προβλήματα fitting. Η συνάρτηση Gaussian χρησιμοποιείται συνήθως στο κρυφό στρώμα και η linear στο στρώμα εξόδου.

Επιλογή Αρχιτεκτονικής ΝΝ Pattern recognition (Αναγνώριση Μορφών) Αναφέρεται και ως ταξινόμηση μορφών (pattern classification). Θέλουμε το ΝΝ να κατηγοριοποιεί τις εισόδους σε κατηγορίες στόχους της εξόδου. Ένας πωλητής κρασιών θέλει να αναγνωρίζει το αμπέλι από το οποίο προέρχεται ένα μπουκάλι κρασί, με βάση την χημική ανάλυσή του. Ένας γιατρός θέλει να ταξινομεί έναν όγκο ως καλοήθη ή κακοήθη, με βάση την ομοιομορφία του μεγέθους των κυττάρων, το πάχος και την δομή τους.

Επιλογή Αρχιτεκτονικής ΝΝ Pattern recognition (Αναγνώριση Μορφών) Το MLP μπορεί να χρησιμοποιηθεί και σ αυτήν την περίπτωση, με την διαφορά πως, η συνάρτηση ενεργοποίησης στο στρώμα εξόδου που χρησιμοποιείται γενικώς είναι η σιγμοειδής και όχι η γραμμική. Το RBF επίσης μπορεί να χρησιμοποιηθεί σε προβλήματα αναγνώρισης μορφών.

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

Επιλογή Αρχιτεκτονικής ΝΝ Clustering (Ομαδοποίηση) Μπορούν να χρησιμοποιηθούν ανταγωνιστικά ΝΝ. Το Self-Organizing Feature Map (SOFM) είναι το πιο δημοφιλές. Το μεγάλο του πλεονέκτημα είναι πως δίνει την δυνατότητα της οπτικής αναπαράστασης των πολυδιάστατων ανυσμάτων εισόδου.

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

Prediction (Πρόβλεψη) Η πρόβλεψη απαιτεί την χρήση δυναμικών ΝΝ. Το είδος του δυναμικού ΝΝ για κάθε περίπτωση συνδέεται με την συγκεκριμένη εφαρμογή. Το απλούστερο ΝΝ, για μη γραμμική πρόβλεψη, είναι το επικεντρωμένο (Focused) TDNN. Το TDNN ανήκει στα δυναμικά ΝΝ με την δυναμικότητα να προσδιορίζεται μόνο στο στρώμα εισόδου ενός στατικού MLP. Εκπαιδεύεται με τους στατικούς backpropagation αλγόριθμους, αφού, η σειρά της χρονοκαθυστέρησης στην είσοδο, μπορεί να αντικατασταθεί με ένα άνυσμα με στοιχεία τις καθυστερημένες τιμές εισόδου. Επιλογή Αρχιτεκτονικής ΝΝ

Prediction (Πρόβλεψη) Επιλογή Αρχιτεκτονικής ΝΝ Focused TDNN

Επιλογή Αρχιτεκτονικής ΝΝ Prediction (Πρόβλεψη) Για προβλήματα ελέγχου δυναμικών συστημάτων, είναι δημοφιλές το δίκτυο NARX (Nonlinear AutoRegressive model with exogenous input). NARX Neural Network

Επιλογή Αρχιτεκτονικής ΝΝ Prediction (Πρόβλεψη) Το σήμα εισόδου μπορεί να είναι η τάση που εφαρμόζεται στο μοτέρ και η έξοδος η γωνιακή θέση του ρομποτικού βραχίονα. Όπως και στο TDNN, το NARX μπορεί να εκπαιδευτεί με στατικό backpropagation αλγόριθμο. Μπορούμε να χρησιμοποιήσουμε στόχους, αντί να επανατροφοδοτήσουμε με τις εξόδους του ΝΝ (πράγμα που απαιτεί δυναμικό backpropagation για την εκπαίδευση), γιατί η έξοδος του ΝΝ πρέπει να βρίσκει τους στόχους όταν η εκπαίδευση είναι πλήρης. Υπάρχουν κι άλλα δυναμικά ΝΝ πιο πολύπλοκα.

Επιλογή Αρχιτεκτονικής ΝΝ Επιλογή στρωμάτων (layers) στα ΝΝ Αφού αρχικά έχει επιλεγεί ο τύπος του ΝΝ, στην συνέχεια επιλέγουμε τα ειδικότερα στοιχεία του (π.χ. αριθμός στρωμάτων, αριθμός νευρώνων, κ.λ.π.). Σε μερικές περιπτώσεις ο αριθμός των στρωμάτων προκύπτει αυτόματα με την επιλογή του τύπου του ΝΝ. Στο SOFM (self-organizing feature map) π.χ. που χρησιμοποιείται για ομαδοποίηση θα έχουμε ένα στρώμα.

Επιλογή Αρχιτεκτονικής ΝΝ Επιλογή στρωμάτων (layers) στα ΝΝ Στα MLP που χρησιμοποιούνται για fitting ή pattern recognition, ο αριθμός των κρυφών στρωμάτων δεν ορίζεται από τον τύπο του ΝΝ αλλά μπορεί να είναι οποιοσδήποτε. Συνήθως αρχίζουμε με 1 στρώμα και μπορούμε να συνεχίσουμε στα 2 ή 3, βλέποντας, ανάλογα με την επίδοση. Συνήθως δεν πάμε πέρα από τα 2 κρυφά στρώματα, γιατί η εκπαίδευση του ΝΝ γίνεται πιο δύσκολη και βέβαια υπάρχει και το θέμα του χρόνου εκπαίδευσης, που πρέπει να βρίσκεται μέσα σε λογικά πλαίσια.

Επιλογή Αρχιτεκτονικής ΝΝ Επιλογή αριθμού νευρώνων σε κάθε στρώμα Στο στρώμα εξόδου, ο αριθμός των νευρώνων ισούται φυσικά με το μέγεθος του ανύσματος στόχου και της ενδεχόμενης κωδικοποίησης που έχουμε κάνει. Ο αριθμός των νευρώνων στα κρυφά στρώματα καθορίζεται από την πολυπλοκότητα της συνάρτησης που έχουμε να προσεγγίσουμε (fitting). Καθώς όμως δεν γνωρίζουμε την πολυπλοκότητα του προβλήματος (πριν την εκπαίδευση), συνήθως αρχίζουμε με περισσότερους νευρώνες -από όσοι είναι απαραίτητοι- και κάνουμε πρόωρη παύση στην εκπαίδευση, ή ρύθμιση Bayesian, για να προλάβουμε το overfitting.

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

Εκπαιδεύοντας το ΝΝ Αρχικοποίηση των βαρών Για τα MLP συνήθως βάζουμε τα βάρη σε μικρές τυχαίες τιμές, με ομοιόμορφη κατανομή, μεταξύ -0.5 και 0.5, αν οι είσοδοι έχουν κανονικοποιηθεί μεταξύ -1 και 1. Αν βάλουμε πολύ μικρές (ή πολύ μεγάλες) αρχικές τιμές, ενδέχεται να πέσουμε σε τοπικό ελάχιστο (ή σε «πλάτωμα»), κατά την εκπαίδευση, που οφείλονται στον κορεσμό των σιγμοειδών συναρτήσεων. Υπάρχουν κι άλλες -πιο προχωρημένες- μέθοδοι αρχικοποίησης των βαρών και των πολώσεων για ΝΝ.

Εκπαιδεύοντας το ΝΝ Επιλογή Αλγορίθμου εκπαίδευσης Στα MLP χρησιμοποιούμε αλγορίθμους gradient (που βασίζονται στον ρυθμό μεταβολής του σφάλματος) ή Jacobian. Για τα MLP που έχουν μερικές εκατοντάδες βάρη και πολώσεις και χρησιμοποιούνται για fitting, πιο γρήγορος είναι ο αλγόριθμος εκπαίδευσης Levenberg- Marquardt. Για μεγαλύτερα ΝΝ, πιο αποτελεσματικός είναι ο αλγόριθμος Scaled Conjugate Gradient. Τα ίδια περίπου ισχύουν και για τα ΝΝ που χρησιμοποιούνται για pattern recognition. Υπάρχουν κι άλλοι πολλοί αλγόριθμοι που είναι περισσότερο ειδικού σκοπού.

Εκπαιδεύοντας το ΝΝ Κριτήρια Παύσης Εκπαίδευσης Το σφάλμα εκπαίδευσης στα ΝΝ είναι σχεδόν αδύνατο να μηδενιστεί. Αυτό μπορεί να γίνει στο Perceptron αλλά στα MLP δεν μπορεί να συμβεί. Έτσι χρειάζονται άλλα κριτήρια. Το πιο απλό είναι να ορίσουμε ένα κατώφλι για το σφάλμα. Καθώς όμως δεν είναι εύκολα προβλέψιμο για το πότε θα φθάσουμε και αν φτάσουμε- εκεί, είναι πιο λογικό να ορίσουμε έναν αριθμό εποχών εκπαίδευσης ως τέρμα. Ο αριθμός αυτός συνήθως ορίζεται να είναι σχετικά μεγάλος.

Εκπαιδεύοντας το ΝΝ Κριτήρια Παύσης Εκπαίδευσης Εάν στο τέλος των εποχών το ΝΝ δεν καταφέρει να φτάσει στο επιθυμητό σφάλμα, μπορούμε να το ξαναεκπαιδεύσουμε ακόμα μία φορά, έχοντας ως αρχικές τιμές των βαρών, αυτές που πέτυχε η 1 η εκπαίδευση. Ένα άλλο κριτήριο παύσης είναι να θέσουμε ένα όριο για την μεταβολή του gradient, που όταν επιτυγχάνεται να σταματάει η εκπαίδευση. Έτσι πλησιάζουμε αρκετά στο minimum, καθώς, όταν το όριο μηδενίζεται δεν έχουμε πια μεταβολές στα βάρη. Το πρόβλημα εδώ είναι τα σημεία όπου έχουμε τοπικά ελάχιστα ή «πλατώματα», όπου το gradient μηδενίζεται.

Εκπαιδεύοντας το ΝΝ Κριτήρια Παύσης Εκπαίδευσης Γι αυτό πρέπει να θέσουμε πολύ χαμηλή τιμή (π.χ. για το MSE) ώστε η εκπαίδευση να μην σταματάει πρόωρα. Μπορούμε επίσης να σταματήσουμε την εκπαίδευση όταν πέφτει η επίδοση/εποχή. Όμως κι αυτό το κριτήριο μπορεί να σταματήσει την εκπαίδευση πριν την ώρα της. Κατά την εκπαίδευση του MLP μπορεί να έχουμε «πλάτωμα» για κάποιον αριθμό εποχών και μετά απότομη πτώση. Είναι χρήσιμο να μελετάται η καμπύλη log-log μετά το πέρας της εκπαίδευσης.

Εκπαιδεύοντας το ΝΝ

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

Εκπαιδεύοντας το ΝΝ Κριτήρια Παύσης Εκπαίδευσης Τα προηγούμενα κριτήρια παύσης αφορούν κυρίως την εκπαίδευση με gradient αλγορίθμους. Για τα ανταγωνιστικά ΝΝ (SOFM) δεν υπάρχει σαφής δείκτης επίδοσης για την σύγκλιση και η εκπαίδευση σταματάει όταν φτάσουμε στον προκαθορισμένο αριθμό εποχών. Ο ρυθμός εκμάθησης και η γειτονιά ελαττώνεται με τον χρόνο. Τυπικά η γειτονιά μειώνεται σε έναν νευρώνα στο τέλος της εκπαίδευσης. Έτσι ο μέγιστος αριθμός εποχών ορίζει το τέλος της εκπαίδευσης όσο την ορίζει και η ελάττωση της γειτονιάς ή η ελάττωση του ρυθμού εκμάθησης.

Εκπαιδεύοντας το ΝΝ Κριτήρια Παύσης Εκπαίδευσης Ο αριθμός των εποχών εκπαίδευσης είναι μια σημαντική παράμετρος. Συνήθως ορίζεται περίπου δεκαπλάσιος από των αριθμό των νευρώνων του ΝΝ. Το ΝΝ πρέπει να αναλυθεί με το τέλος της εκπαίδευσης για να δούμε αν έχει καλή επίδοση.