Το
WEKA είναι ένα περιβάλλον ανάπτυξης αλγορίθμων και
εφαρμογών μηχανικής μάθησης που έχει αναπτυχθεί σε Java και διατίθεται ελεύθερα. Το WEKA έχει
αναπτυχθεί και συνεχίζει να αναπτύσσεται στο Πανεπιστήμιο του Waikato στη Νέα Ζηλανδία και το
όνομά του προέρχεται από τα αρχικά των: Waikato Environment for Knowledge Analysis.
Περιλαμβάνει υλοποιήσεις πολλών γνωστών αλγορίθμων μηχανικής μάθησης. Στην εργασία αυτή θα
ασχοληθούμε μόνο με τους αλγορίθμους μηχανικής μάθησης που υλοποιούν νευρωνικά δίκτυα, και
συγκεκριμένα αυτά που εκπαιδεύονται με τον αλγόριθμο της οπισθοδιάδοσης του σφάλματος.
Το WEKA είναι σε θέση να διαβάσει διαφορετικά είδη αρχείων εισόδου, αλλά το πιο συνηθισμένο
είναι το ARFF (Attribute-Relation File Format). Πρόκειται για αρχεία κειμένου με συγκεκριμένη
μορφή και επέκταση .arff στο όνομά τους. Στην εργασία αυτή θα χρησιμοποιήσουμε το συνημμένο
αρχείο letter.arff, το οποίο περιέχει 20000 δεδομένα που αφορούν εικόνες από διαφορετικά
fonts για τα κεφαλαία γράμματα του λατινικού αλφαβήτου. Κάθε πρότυπο προσδιορίζεται από ένα
σύνολο 16 αριθμητικών χαρακτηριστικών (λεπτομέρειες για αυτά υπάρχουν στο συνημμένο .arff
αρχείο) και ανήκει σε μία από τις 26 κλάσεις που αντιστοιχούν στα γράμματα. Ο στόχος είναι να
εκπαιδεύσουμε ένα ΤΝΔ μέσω του αλγορίθμου οπισθοδιάδοσης του σφάλματος, ώστε να είναι σε
θέση να κατηγοριοποιεί κάποιο άγνωστο πρότυπο σε μία από τις 26 κλάσεις.
Α. Εκπαίδευση ΤΝΔ με τις προκαθορισμένες (default) τιμές και όλα τα πρότυπα [4 μονάδες]
Χρησιμοποιήστε όλα τα δεδομένα του αρχείου letter.arff για να εκπαιδεύσετε ένα ΤΝΔ μέσω
του αλγορίθμου οπισθοδιάδοσης του σφάλματος με τις προκαθορισμένες (default) παραμέτρους του
WEKA, δηλαδή:
Αρχιτεκτονική με ένα κρυφό επίπεδο που αποτελείται από πλήθος κόμβων ίσο με το
ημιάθροισμα του πλήθους των χαρακτηριστικών και του πλήθους των κλάσεων (τιμή a στην
παράμετρο hiddenLayers του WEKA ή 21 = (16+26)/2)
Ρυθμός μάθησης: 0.3
Σταθερά ορμής: 0.2
Κύκλοι εκπαίδευσης (εποχές): 500
Συμπεριλάβετε στην απάντησή σας το σχηματικό διάγραμμα του ΤΝΔ (αλλάξτε την τιμή της
παραμέτρου GUI σε True) και εκπαιδεύστε το ΤΝΔ (επιλογή “use training set”). Τι παρατηρείτε κατά
τη διάρκεια της εκπαίδευσης; Στο τέλος της εκπαίδευσης καταγράψτε το ποσοστό των στιγμιοτύπων
που κατηγοριοποιήθηκαν επιτυχώς (correctly classified instances) και το σφάλμα εκπαίδευσης (root
mean squared error). Με βάση τα αποτελέσματα του WEKA, ποια κλάση φαίνεται να έχει τη
μεγαλύτερη αποτυχία στην κατηγοριοποίηση στιγμιοτύπων σε αυτή και γιατί;
Β. Εκπαίδευση ΤΝΔ με σύνολο εκπαίδευσης 80% και σύνολο ελέγχου 20% [3 μονάδες]
Μέσω της επιλογής “percentage split” του WEKA, χρησιμοποιήστε το 80% των δεδομένων εισόδου
ως σύνολο εκπαίδευσης και τα υπόλοιπα δεδομένα για έλεγχο. Κρατήστε την προκαθορισμένη τιμή
του WEKA για τη σταθερά ορμής (0.2), αλλά στην παράμετρο hiddenLayers να θέσετε την τιμή o
(πλήθος κλάσεων) και στο ρυθμό μάθησης την τιμή 1.0. Για τις εποχές, να δοκιμάσετε τις τιμ ές 10,
20, 30, 40, 50, 100, 200 και 500 και συμπληρώστε τον παρακάτω πίνακα:
Εποχές Ποσοστό επιτυχημένων Σφάλμα γενίκευσης
κατηγοριοποιήσεων
10
20
30
40
50
100
200
500
Ποια από τις εναλλακτικές τιμές για το πλήθος των εποχών θα επιλέγατε ως την καταλληλότερη για
τη δεδομένη αρχιτεκτονική του δικτύου και τις άλλες τιμές των παραμέτρων και για ποιο λόγο;
Γ. Εκπαίδευση ΤΝΔ με σύνολα εκπαίδευσης και ελέγχου σε διάφορες αναλογίες [3 μονάδες]
Πάλι μέσω της επιλογής “percentage split” του WEKA, εκτελέστε μία σειρά εκπαιδεύσεων του ΤΝΔ
με σταθερά ορμής ίση με 0.0, hiddenLayers ίσο με t (άθροισμα πλήθους χαρακτηριστικών και
πλήθους κλάσεων), εποχές ίσο με 20, ρυθμό μάθησης ίσο με 0.5 και ποσοστά συνόλου εκπαίδευσης,
σε σχέση με το πλήρες σύνολο δεδομένων, 95%, 90%, 80%, 75%, 66% και 50%. Συμπληρώστε τον
παρακάτω πίνακα και σχολιάστε τα αποτελέσματα.
Ποσοστό συνόλου Ποσοστό επιτυχημένων κατηγοριοποιήσεων Σφάλμα
εκπαίδευσης
95%
90%
80%
75%
66%
50%
Δ. Βέλτιστη επιλογή παραμέτρων με διασταυρωμένη επικύρωση 10-τμημάτων [5 μονάδες]
Εφαρμόστε τη μέθοδο της διασταυρωμένης επικύρωσης 10-τμημάτων (επιλογή “cross-validation” του
WEKA), για να επιλέξετε τον καταλληλότερο συνδυασμό αρχιτεκτονικής (πλήθος κόμβων στο κρυφό
επίπεδο) και ρυθμού μάθησης. Σε κάθε πείραμα, να έχετε τη σταθερά ορμής ίση με 0.2 και το πλήθος
των κύκλων εκπαίδευσης ίσο με 30. Συμπληρώστε τον παρακάτω πίνακα για τις διαφορετικές τιμές
του πλήθους των κόμβων στο κρυφό επίπεδο και του ρυθμού μάθησης.
Πλήθος κόμβων
κρυφού επιπέδου
0 Σχόλια