ΠΛΗ31ΕΝΟΤΗΤΑ 3: ΝΕΥΡΩΝΙΚΑ ∆ΙΚΤΥΑ
Μάθηµα 3.7: WEKA
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
A.Θεωρία
1. Εισαγωγή
1. Σκοπός
2. Εγκατάσταση
2. Το WEKA στην πράξη
1. Προετοιµασία Αρχείου ∆εδοµένων
2. Εκπαίδευση µε Έλεγχο
3. Αρχική Οθόνη
4. Επιλογή Αρχείου ∆εδοµένων
5. Παραµετροποίηση Αλγόριθµου Οπισθοδιάδοσης
1. Αξιολόγηση µε Σύνολο Ελέγχου
2. Αξιολόγηση µε Επικύρωση Κ-δειγµάτων
Β.Ασκήσεις
1. Εφαρµογές
2∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
A. Θεωρία1. Εισαγωγή1. Σκοπός
3∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Το WEKA είναι ένα πρόγραµµα που υλοποιεί ένα σύνολο από αλγόριθµους εξόρυξης γνώσης,
Μεταξύ άλλων υλοποιεί αλγόριθµους εκπαίδευσης νευρωνικών δικτύων όπως ο αλγόριθµος οπισθοδιάδοσης του λάθους.
• Σηµείωση: Το µάθηµα αυτό είναι χρήσιµο για εκπόνηση ερωτηµάτων εργασίας.
A. Θεωρία1. Εισαγωγή2. Εγκατάσταση
4∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
URL εγκατάστασης: http://www.cs.waikato.ac.nz/ml/weka/Επιλογή “Download”
Επειτα επιλογή κατάλληλης έκδοσης “Stable Book 3rd Edition”
x86 – Για 32bit υπολογιστή
x64 – Για 64bit υπολογιστή
A. Θεωρία2. Το WEKA στην πράξη1. Προετοιµασία αρχείου δεδοµένων
5∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Προετοιµάζουµε το αρχείο δεδοµένων µας σε απλό κειµενογράφο (notepad)
@RELATION iris
@ATTRIBUTE sepallength REAL@ATTRIBUTE sepalwidth REAL@ATTRIBUTE petallength REAL@ATTRIBUTE petalwidth REAL
@ATTRIBUTE class Iris-setosa,Iris-versicolor,Iris-virginica
@DATA5.1,3.5,1.4,0.2,Iris-setosa4.9,3.0,1.4,0.2,Iris-setosa4.7,3.2,1.3,0.2,Iris-setosa.........
Ονοµασία Αρχείου
Ιδιοχαρακτηριστικά Προτύπων
(εδώ 4) και τύπος δεδοµένων του κάθε ενός
(REAL, INTEGER, BOOLEAN κ.λπ.)
Ονοµασία κλάσεων στις οποίες χωρί-ζονται τα πρότυπα.
Πρότυπα:Πρώτα τα ονόµατα των ιδιοχαρακτη-ριστικών και επειτα το όνοµα της κλά
σης που ταξινοµείται.
Η επέκταση του αρχείου για να αναγνωρίζεται από το πρόγραµµα είναι .arff
A. Θεωρία2. Το WEKA στην πράξη2. Εκπαίδευση µε Έλεγχο
6∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Η ακόλουθη διαδικασία συνηθίζεται όταν κατασκευάζουµε ένα νευρωνικό δίκτυο.
Έχουµε ένα σύνολο από δεδοµένα του προβλήµατος που θα εκπαιδεύσουµε. Τα χωρίζουµε σε δύο σύνολα.
• Ένα σύνολο δεδοµένων εκπαίδευσης που αποτελείται από αρκετά πρότυπα. Αυτά θα χρησιµοποιήσουµε για να εκπαιδεύσουµε το δίκτυο µας. • Ένα τέτοιο αρχείο είναι το plh31_lesson_3_7_train.arff
• Η αξιολόγηση της επιτυχίας της εκπαίδευσης γίνεται µέσα από το WEKA:• Από ένα σύνολο δεδοµένων ελέγχου που θα το χρησιµοποιήσουµε
για να αξιολογήσουµε το δίκτυο που θα κατασκευαστεί από τα αρχικά δεδοµένα.• Ένα τέτοιο αρχείο είναι το plh31_lesson_3_7_test.arff
• Με έτοιµους αλγόριθµους που παρέχει το WEKA
A. Θεωρία2. Το WEKA στην πράξη3. Αρχική Οθόνη
7∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Εκπαίδευση Νευρωνικού ∆ικτύου:
Επιλογή «Explorer»
A. Θεωρία2. Το WEKA στην πράξη4. Επιλογή Αρχείου ∆εδοµένων
8∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Επιλογή «Open File» και άνοιγµα αρχείου εκπαίδευσης
1
2
3
A. Θεωρία2. Το WEKA στην πράξη5. Παραµετροποίηση Αλγόριθµου Οπισθοδιάδοσης
9∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Επιλογή του αλγορίθµου οπισθοδιάδοσης του Λάθους
1 1. Επιλογή του tab “classify”
2. Επιλογή του “functions”
3. Επιλογή του «Multilayer Perceptron»
2
3
A. Θεωρία2. Το WEKA στην πράξη5. Παραµετροποίηση Αλγόριθµου Οπισθοδιάδοσης
10∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Κλικ στην περιοχή των παραµέτρων
A. Θεωρία2. Το WEKA στην πράξη5. Παραµετροποίηση Αλγόριθµου Οπισθοδιάδοσης
11∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Γραφική Απεικόνιση του Νευρωνικού ∆ικτύου (Συνήθως False)
Κρυφά ΕπίπεδαΠ.χ.: 2,3,2 έχω 3 κρυφά επίπεδα µε 2-3-2 νευρώνες αντίστοιχαDefault τιµη: a=(Νευρώνες_Εισόδου+Νευρώνες_Εξόδου)/2
Οι είσοδοι και οι έξοδοι καθορίζονται από το αρχείο εκπαίδευσης • Τα ιδιοχαρακτηριστικά είναι οι έισοδοι• Έχουµε εξόδους όσες και οι κλάσεις
Τιµή Ρυθµού Εκπαίδευσης
Τιµή Παράγοντα Ορµής
Αριθµός Κύκλων Εκπαίδευσης (Εποχών Εκπαίδευσης)
A. Θεωρία2. Το WEKA στην πράξη5α. Αξιολόγηση: Παροχή Συνόλου Ελέγχου
12∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Επιλέγουµε το σύνολο των δεδοµένων ελέγχου που έχουµε κατασκευάσει σε ξεχωριστό arff αρχείο.
1
2
3
4
1. Επιλέγουµε «supplied test set»
2. Επιλέγουµε «Open File»
3. Επιλέγουµε το αρχείο δεδοµένων µας.
4. Επιλέγουµε «Open»
5. Επιλέγουµε «Start»
5
A. Θεωρία2. Το WEKA στην πράξη5α. Αξιολόγηση: Παροχή Συνόλου Ελέγχου
13∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Αποκωδικοποίηση Αποτελεσµάτων
Αποτέλεσµα για το σύνολο ελέγχου:Εδώ από 187 πρότυπα για έλεγχο:122 ταξινοµήθηκαν σωστά65 ταξινοµήθηκαν λάθος
Στατιστικά Στοιχεία:Mean Absolute Error = Απόλυτο σφάλµα: Λάθος/(Σωστά+Λάθος)
Mean Absolute Error = Μέσο Απόλυτο Σφάλµα=
1
Root Mean Squared Error = Σφάλµα Γενίκευσης=
Confusion Matrix:Από τα 103 δείγµατα ΑΤα 73 ταξινοµήθηκαν σε Α Τα 30 ταξινοµήθηκαν σε Β
Από τα 80 δείγµατα ΒΤα 35 ταξινοµήθηκαν σε ΑΤα 49 ταξινοµήθηκαν σε Β
A. Θεωρία2. Το WEKA στην πράξη5β. Αξιολόγηση: Επικύρωση Κ-∆ειγµάτων
14∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Ενας ∆εύτερος Τρόπος Αξιολόγησης του ∆ικτύου µας χωρίς χρήση δεδοµένων ελέγχου είναι η «Επικύρωση Κ δειγµάτων»
1
2
1. Επιλέγουµε «cross-validation»
2. Εισάγουµε το πλήθος των δειγµάτων που θα χρησιµοποιήσουµε.
3. Επιλέγουµε «Start»
A. Θεωρία2. Το WEKA στην πράξη5β. Αξιολόγηση: Επικύρωση Κ-∆ειγµάτων
15∆ηµήτρης Ψούνης, ΠΛΗ31, Μάθηµα 3.7: WEKA
Η Επικύρωση Κ δειγµάτων (K-cross validation) είναι µια διαδικασία ελέγχου όπου:
• Κάθε ένα από τα υποσύνολα i=1,…,K:• To υποσύνολο i είναι τα δεδοµένα ελέγχου• Τα υπόλοιπα υποσύνολα είναι τα δεδοµένα εκπαίδευσης.