You are on page 1of 2

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

ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ


ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ
Εργασία Εαρινού Εξαμήνου 2018
Προσθετικές Μονάδες: 2
Η εργασία αφορά ομαδοποίηση και ταξινόμηση χειρόγραφων αριθμητικών ψηφίων από τη δημόσια
βάση δεδομένων MNIST. Η MNIST αποτελείται από 70000 ψηφιακές εικόνες μεγέθους 28 × 28
pixel, διαμερισμένες σε 10 κλάσεις (0-9). Κάθε pixel λαμβάνει μία ακέραιη τιμή φωτεινότητας στο
διάστημα [0, 255]. Η συνολική βάση είναι χωρισμένη σε 60000 εικόνες εκπαίδευσης και 10000 εικόνες
ελέγχου. Τα δεδομένα και οι αντίστοιχες ετικέτες τους παρέχονται, σε κατάλληλη μορφή δυαδικών
αρχείων, από την ιστοσελίδα http://yann.lecun.com/exdb/mnist/.
Ερωτήματα:

1. Κατεβάστε τη βάση και φορτώστε στο MATLAB ένα υποσύνολό της, αποτελούμενο από τις
κλάσεις i = 0, 1, 2, 3. ΄Εστω ότι Mi , Ni είναι το πλήθος των εικόνων εκπαίδευσης και ελέγχου,
αντιστοίχως, για την κλάση i. Τελικά,  θα πρέπει να έχετε φορτώσει στη μνήμη τέσσερις
P3
πίνακες: τον M (μεγέθους i=0 Mi × 784) με τα δεδομένα εκπαίδευσης, τον N (μεγέθους
P  P 
3 3
i=0 Ni × 784) με τα δεδομένα ελέγχου, καθώς και τους Ltr , Lte , (μεγέθους i=0 Mi × 1
P 
3
και i=0 Ni × 1, αντιστοίχως) με τις κατάλληλες ακέραιες ετικέτες i.

2. Μετατρέψτε κάθε γραμμή του πίνακα M (δηλαδή, κάθε εικόνα εκπαίδευσης) σε ένα τετραγω-
νικό πλέγμα 28 × 28 pixel. Στη συνέχεια, από κάθε εικόνα, εξάγετε ένα διδιάστατο διάνυσμα
χαρακτηριστικών m ως εξής: η πρώτη συνιστώσα του είναι η μέση τιμή φωτεινότητας όλων των
γραμμών του πλέγματος, ενώ η δεύτερη συνιστώσα του είναι η μέση τιμή φωτεινότητας όλων
των στηλών
Pτου πλέγματος.
 Διατάξτε όλα τα προκύπτοντα διανύσματα σε έναν πίνακα M̂,
3
μεγέθους i=0 Mi × 2. Οπτικοποιείστε σε ένα διάγραμμα διασκόρπισης (scatter plot) όλες
τις γραμμές του M̂, θεωρώντας ότι ο οριζόντιος άξονας αντιστοιχεί στην πρώτη συνιστώσα
τους, ενώ ο κατακόρυφος άξονας στη δεύτερη συνιστώσα τους. Αξιοποιήστε τον πίνακα Ltr
για να αναθέσετε διαφορετικό χρώμα στα δεδομένα διαφορετικών κλάσεων (π.χ., κόκκινο για
i = 0, πράσινο για i = 1, γαλάζιο για i = 2, κίτρινο για i = 3).

3. Υλοποιήστε και εκτελέστε τον αλγόριθμο ομαδοποίησης Κ-Μέσων, χρησιμοποιώντας ως δε-


δομένα τις γραμμές του M̂. Θέστε K = 4 και χρησιμοποιήστε μία δική σας υλοποίηση του
αλγορίθμου Maximin για αρχικοποίηση των Κ-Μέσων. Οπτικοποιείστε ξανά όλες τις γραμμές
του M̂ σε ένα διάγραμμα διασκόρπισης, αξιοποιώντας τα αποτελέσματα της ομαδοποίησης για
να αναθέσετε διαφορετικό χρώμα στα δεδομένα διαφορετικών κλάσεων. Χρησιμοποιήστε τον
πίνακα Ltr για να υπολογίσετε την καθαρότητα (purity) της προκύπτουσας ομαδοποίησης.

4. Υλοποιήστε την Ανάλυση Κυρίων Συνιστωσών (PCA). Εφαρμόστε την για μείωση διάστασης
στις  του πίνακα M, ώστε να προκύψει ένας μετασχηματισμένος πίνακας M̃, μεγέθους
P γραμμές
3
i=0 Mi ×V , όπου V = 2 το μειωμένο πλήθος των διαστάσεων. Οπτικοποιήστε τις γραμμές
του M̃, χρησιμοποιώντας ξανά τον πίνακα Ltr για την ανάθεση χρωμάτων. Στη συνέχεια,
εκτελέστε τον αλγόριθμο Κ-Μέσων, για K = 4 και με αρχικοποίηση δοθείσα από μία εκτέλεση
του αλγορίθμου Maximin, με είσοδο τις γραμμές του M̃. Οπτικοποιήστε τα αποτελέσματα της
νέας ομαδοποίησης και υπολογίστε την καθαρότητά της. Επαναλάβετε τα ανωτέρω (πλην των
οπτικοποιήσεων) για V = 25, 50, 100. Βρείτε για ποια τιμή του V προκύπτει η ομαδοποίηση
με τη μεγαλύτερη καθαρότητα (έστω Vmax ).

5. Υλοποιήστε έναν γκαουσιανό αφελή μπεϋζιανό ταξινομητή (Gaussian Naive Bayes Classifier).
Εκπαιδεύστε τον με δεδομένα τις γραμμές του M̃ για V = Vmax και ετικέτες δοθείσες από
τον πίνακα Ltr . Στη συνέχεια, εφαρμόστε την ίδια τακτική μείωσης διάστασης στα δεδομένα
ελέγχου του πίνακα N, ώστε να προκύψει ο Ñ. Δοκιμάστε τον εκπαιδευμένο ταξινομητή
στα δεδομένα του Ñ. Χρησιμοποιήστε την έξοδο της ταξινόμησης και τον πίνακα Lte για να
υπολογίσετε το ποσοστό ορθής ταξινόμησης.

Προθεσμία Παράδοσης στο E-Learning: 04/5/2018

You might also like