Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων



Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Εφαρμοσμένης Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Εφαρμοσμένης Πληροφορικής

ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ. Διπλωματική Εργασία

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

591 Κ.Ι\ ΘΕΜΑ: ΚΑΩΣΤΟΥΦΑΝΤΟΥΡΓΙΑ & ΠΕΡΙΒΑλλΟΝ ΕΙΣΗΓΗΤΗΣ: ΤΜΗΜΑ ΚΛΩΣΤΟΥΦΑΝΤΟΥΡΓΙΑΣ. Τ.Ε.Ι Πειραιά για την απόκτηση του πτυχίου.

ΜΕΡΟΣ Α ΒΙΒΛΙΟ ΕΡΓΑΣΙΩΝ ΟΝΟΜΑ.. ΤΑΞΗ...

74 η ΣΥΝΟΔΟΣ ΠΡΥΤΑΝΕΩΝ & ΠΡΟΕΔΡΩΝ Δ.Ε. ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΩΝ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Θεσσαλονίκη, Δεκεμβρίου 2013

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

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

ΤΟ ΤΑΞΙΔΙ ΕΙΝΑΙ Η ΑΦΟΡΜΗ

2 Η απασχόληση στον τομέα του εμπορίου: Διάρθρωση και εξελίξεις

ΔΕΗ Ανανεώσιμες: Το μέλλον της ΔΕΗ Ομιλία του κ. Τάκη Αθανασόπουλου Προέδρου & Διευθύνοντος Συμβούλου ΔΕΗ Α.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΑΘΗΝΑ,

Α Π Ο Σ Π Α Σ Μ Α. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΒΟΙΩΤΙΑΣ ΔΗΜΟΣ ΟΡΧΟΜΕΝΟΥ Αρ.Πρωτ.: 298/

Η ΑΝΑΣΚΑΦΗ ΜΙΑΣ ΑΝΑΣΚΑΦΗΣ

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

ΕΙΣΑΚΤΕΟΙ 2008 ΝΟΜΙΚΗ ΔΠΘ ΕΜΠΟΡΙΚΟ IV ΔΙΚΑΙΟ ΑΞΙΟΓΡΑΦΩΝ ΑΞΙΟΓΡΑΦΑ

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

Θέμα: Η ΑΓΟΡΑ ΣΤΟΝ ΚΑΠΙΤΑΛΙΣΜΟ

ΚΩΔΙΚΑΣ ΔΕΟΝΤΟΛΟΓΙΑΣ ΤΗΣ ΕΡΕΥΝΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. (Εγκρίθηκε στη 299/ Συνεδρίαση της Συγκλήτου)

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΟΙΚΟΝΟΜΙΑΣ. Πτυχια<η Εργασία. του σπουδαστή ΚΟΥΓΙΟΥΜΤΖΙΔΗ ΠΑΝΑΓΙΩΤΗ. Εισηγητής

Η διαδικασία της εμπλοκής των εφήβων με τα ναρκωτικά

ΒΙΟΗΘΙΚΗ. 4ο Επιστημονικό Συνέδριο - Retreat

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


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

72(Ι)/2014 Ο ΠΕΡΙ ΙΔΡΥΣΕΩΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ ΣΥΝΔΕΣΜΩΝ ΠΡΟΣΤΑΣΙΑΣ ΦΥΤΩΝ ΝΟΜΟΣ ΤΟΥ 2014

μπορούσαμε και θα έπρεπε να το αντισταθμίσουμε με νέες πολιτικές, με άλλες κατακτήσεις και ωφέλειες. Ο κίνδυνος της αποβιομηχάνισης ήταν βέβαια

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

Κώστας Ζάκκας Πτυχιούχος Οικονομικής Επιστήμης Αριστοτέλειου Πανεπιστήμιου Θεσσαλονίκης

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

ΤΑ ΕΘΝΟΜΑΘΗΜΑΤΙΚΑ ΚΑΙ Η ΔΙΔΑΣΚΑΛΙΑ ΜΟΤΙΒΩΝ: ΜΙΑ ΕΡΕΥΝΗΤΙΚΗ ΜΕΛΕΤΗ ΣΕ ΜΑΘΗΤΕΣ Ε ΤΑΞΗΣ

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

Η οικονομική κρίση και ύφεση ανασχεθούν δεν θα αποφύγει να μετεξελιχθεί οι προοπτικές της ευρω- ζώνης αναιμικές η Ευρώπη Κινητήρια δύναμη

Δημόσιες συμβάσεις. Νομική βάση. Στόχοι. Επιτεύγματα

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

Σημείωμα Σύνταξης Η ΓΣΕΕ στα πλαίσια του προσανατολισμού που έχει χαράξει στο 30 ο συνέδριό της, με συγκροτημένο και επιστημονικά τεκμηριωμένο λόγο

ΠΕΡΙΦΕΡΕΙΑ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΘΡΑΚΗΣ. Πρόταση σχεδιασμού και κατάρτισης αναπτυξιακού προγραμματισμού περιόδου

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

Τεύχος 24 / Φεβρουάριος Ηλεκτρονική Έκδοση ΕΡΓΑΤΙΚΗ & ΑΣΦΑΛΙΣΤΙΚΗ ΕΝΗΜΕΡΩΣΗ ΒΙΒΛΙΟ ΤΡΟΠΟΠΟΙΗΣΗΣ ΩΡΑΡΙΟΥ ΚΑΙ ΥΠΕΡΩΡΙΩΝ.

ΥΠΟΜΝΗΜΑ. Στην Επιτροπή Κρίσεως Βαρέων και Ανθυγιεινών επαγγελμάτων του άρθρου 20 ν.3790/2009

7. ΠΕΙΡΑΜΑΤΙΣΜΟΣ ΚΑΙ ΚΡΙΤΙΚΗ ΑΠΟ ΤΟΝ ΙΔΙΟ ΤΟΝ ΔΗΜΙΟΥΡΓΟ, ΣΕ ΚΑΘΕ ΒΗΜΑ ΤΟΥ ΣΧΕΔΙΑΣΜΟΥ. Μακέτα εργασίας 1/50.

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

ΔΗΛΩΣΗ ΤΗΣ ΟΛΓΑΣ ΜΟΥΣΙΟΥ-ΜΥΛΩΝΑ ΓΙΑ ΤΗ ΣΥΝΕΝΤΕΥΞΗ ΤΟΥ ΠΡΟΕΔΡΟΥ ΤΗΣ ΜΕΛΙΤΗΣ κ. Π. ΑΝΑΣΤΑΣΙΑΔΗ

ΔΗΜΟΣ ΟΡΕΣΤIΑΔΑΣ ================== 19 ο /2003 ΠΡΑΚΤΙΚΟ ΣΥΝΕΔΡΙΑΣΗΣ ΔΗΜΟΤΙΚΟΥ ΣΥΜΒΟΥΛΙΟΥ ΤΗΣ

ΣΥΝΔΕΣΜΟΣ ΣΥΝΤΑΞΙΟΥΧΩΝ

«ΑΝΑΠΤΥΞΙΑΚΕΣ ΠΡΟΟΠΤΙΚΕΣ ΣΤΑΘΜΟΥ ΕΜΠΟΡΕΥΜΑΤΟΚΙΒΩΤΙΩΝ Σ.ΕΜΠΟ Ο.Λ.Π.» Η ΔΙΑΧΕΙΡΙΣΗ ΤΩΝ ΛΙΜΕΝΩΝ ΣΤΗΝ ΕΛΛΑΔΑ

ΟΡΙΣΜΟΊ, ΠΕΡΙΕΧΌΜΕΝΟ, ΣΤΌΧΟΙ ΤΟΥ ΝΈΟΥ ΡΥΘΜΙΣΤΙΚΟΎ ΣΧΕΔΊΟΥ

ΘΕΜΑ: «ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΡΑΣΗΣ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ » ΠΕΡΙΕΧΟΜΕΝΑ

ΑΠΟΦΑΣΗ ΜΕ ΑΡΙΘΜΟ 396

FORUM ΣΥΝΕΡΓΑΣΙΑ ΑΡΙΣΤΕΡΩΝ ΑΡΧΙΤΕΚΤΟΝΩΝ

Απαντήσεις Λογοτεχνίας

Μάιος 2010 Ο ΗΓΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑ ΠΟΛΙΤΙΣΜΟΣ ( ) Γενική ιεύθυνση Εκπαίδευσης και Πολιτισµού

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΓΟΝΕΙΣ ΚΑΙ ΚΟΙΝΩΝΙΚΟΣΥΝΑΙΣΘΗΜΑΤΙΚΗ ΑΝΑΠΤΥΞΗ ΤΟΥ ΠΑΙΔΙΟΥ ΚΑΚΟΠΟΙΗΣΗ - ΑΙΤΙΑ - ΕΠΙΠΤΩΣΕΙΣ

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

Κεφάλαιο 6 Συνολικές Μεταολυμπιακές Οικονομικές και Κοινωνικές Επιδράσεις

Αριστοτέλης Ο πατέρας της Δυτικής Επιστήμης

Στον Πανούλη. Γιάννης

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

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

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

ΠΡΟΛΟΓΟΣ ΑΚΙΝΗΤΗ ΑΞΙΑ

3966/2011 (Φ.Ε.Κ. 118 Α

Ομήρου Ιλιάδα Ραψωδία Α και Λοιμός, Μῆνις. Διδακτικό σενάριο

8 η. Καινοτομίες στην εκπαίδευση : Καλές

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

ΚΑΤΑΣΤΑΤΙΚΟ ΕΤΑΙΡΕΙΑ ΠΟΛΙΤΙΣΤΙΚΗΣ ΚΛΗΡΟΝΟΜΙΑΣ ΚΑΤΩΚΟΠΙΑΣ (KATOKOPIA CULTURAL HERITAGE ASSOCIATION)

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

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

σύμφωνα με τα Διεθνή Πρότυπα Χρηματοοικονομικής Αναφοράς

Σ Υ Λ Λ Ο Γ Ο Σ Ε Λ Λ Η Ν Ω Ν Α Ρ Χ Α Ι Ο Λ Ο Γ Ω Ν

Π. Δ. 350 / 1996 ΦΑΚΕΛΟΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ ΣΧΕΔΙΟ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ (Φ.Α.Υ. - Σ.Α.Υ.)

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

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Τέλος, θα ήθελα να ευχαριστήσω την οικογένειά μου και τους φίλους που με στήριξαν στην προσπάθειά μου αυτή.

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

Έτσι ενεργεί ο Θεός. Έτσι ενεργεί η αγάπη. Έτσι ενεργεί η αλήθεια. Η επίδειξη αυτού

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

ΜΑΝΟΛΗΣ ΚΑΛΟΜΟΙΡΗΣ, ΚΥΚΛΟΣ ΤΡΑΓΟΥΔΙΩΝ ΜΑΓΙΟΒΟΤΑΝΑ. Πτυχιακή εργασία της Άλμας Τότσκα 25/04

Μεταμόσχευση νεφρού. Τι είναι οι νεφροί;

Κοινωνική Οικονομία: Μια βιώσιμη εναλλακτική?

ΔΙΑΜΕΣΟΛΑΒΗΣΗ 194/2013. (Άρθρο 77 παρ. 3 Ν.3852/2010) Προς. 3. Kύριο *** *** *** Κοινοποίηση

Ξεκινώντας τον απολογισμό της χρήσης του 2014 θα εξετάσουμε ορισμένα θεμελιώδη μεγέθη των Οικονομικών Καταστάσεων στα οποία παρατηρούνται τα εξής:

Ο ΕΛΑΙΩΝΑΣ ΤΟΥ ΧΩΡΙΟΥ ΜΑΣ

Ε.Β.ΖΑΧΑΡΗΣ Α.Ε. Θεσσαλονίκη 17/12/2013

Κέντρα Προπονητικού Αθλητικού Τουρισμού

E.E., Παρ. I, Αρ. 2639,

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

Ολυμπιακό Κωπηλατοδρόμιο Σχινιά

ΥΠΟΣΤΗΡΙΖΟΜΕΝΗ ΑΠΑΣΧΟΛΗΣΗ ΣΤΗΝ ΕΛΕΥΘΕΡΗ ΑΓΟΡΑ ΕΡΓΑΣΙΑΣ

Πανεπιστήμιο Μακεδονίας Οικονομικών και Κοινωνικών Επιστημών Τμήμα Εφαρμοσμένης Πληροφορικής «ΟΙ ΠΡΟΟΠΤΙΚΕΣ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΓΟΥΝΑΣ»

«Μορφές Εξαρτημένης Εργασίας»

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

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

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

ΕΦΗΜΕΡΙΣΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Η Πρόταση του ΣΥΡΙΖΑ-ΕΚΜ για τη ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΡΡΙΜΜΑΤΩΝ Βιώσιμη και δίκαιη οικονομικά και οικολογικά λύση

Εκατοστή τριακοστή τρίτη ηλεκτρονική έκδοση εβδομαδιαίας εφημερίδας του Υπουργείου Διοικητικής Μεταρρύθμισης και Ηλεκτρονικής Διακυβέρνησης

Transcript:

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών στην Πληροφορική Κατεύθυνση: Πληροφοριακά Συστήματα Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων (Classification based on dynamic number of Nearest Neighbours) Διπλωματική εργασία Ουγιάρογλου Στέφανου (ΑΕΜ: 68) Επίβλεψη & Συνεργασία: Εξεταστική επιτροπή: Καθ. Μανωλόπουλος Ιωάννης Λεκτ. Νανόπουλος Αλέξανδρος Καθ. Μανωλόπουλος Ιωάννης Λέκτ. Παπαδόπουλος Απόστολος Επίκ. Καθ. Βακάλη Αθηνά Θεσσαλονίκη Ιούνιος 2006

(Classification based on dynamic number of Nearest Neighbors)

Διπλωματική εργασία του Ουγιάροογλου Στέφανου stoug[at]csd.auth.gr stefanos.ougiaroglou[at]gmail.com -iii-

ΠΕΡΙΛΗΨΗ Η κατηγοριοποίηση που βασίζεται στην εύρεση και στην εξέταση κοντινότερων γειτόνων (κατηγοριοποίηση KNN) είναι μια από τις πιο γνωστές μεθόδους κατηγοριοποίησης. Ο αριθμός κοντινότερων γειτόνων, ο οποίος χρησιμοποιείται για την επίτευξη της κατηγοριοποίησης με τη μεγαλύτερη δυνατή ακρίβεια, είναι σταθερός και γνωστός εκ των προτέρων. Όταν το μέγεθος της Βάσης Δεδομένων όπου αναζητούνται οι κοντινότεροι γείτονες είναι μεγάλο, οι αλγόριθμοι της σειριακής και της δυαδικής αναζήτηση δε μπορούν να εφαρμοστούν εξαιτίας του χρόνου που απαιτούν. Έτσι είναι απαραίτητη η χρήση κάποιας δομής δεδομένων, όπως το R-Tree, που να δεικτοδοτεί τα δεδομένα ώστε να επιτρέπεται η γρήγορη αναζήτηση. Επίσης, αν ο αριθμός των κοντινότερων γειτόνων που δίνει την υψηλότερη τιμή ακρίβειας κατηγοριοποίησης είναι μεγάλος, τότε, ακόμη και όταν τα δεδομένα δεικτοδοτούνται, η διαδικασία της αναζήτησης εξακολουθεί να είναι χρονοβόρα. Η εργασία αυτή, εκτός από τη βιβλιογραφική παρουσίαση των μεθόδων κατηγοριοποίησης, δεικτοδότησης δεδομένων (χωρικών ή μη) και αναζήτησης κοντινότερων γειτόνων σε δομές δεδομένων δεικτών, προτείνει μια νέα εκδοχή ΚΝΝ κατηγοριοποίησης, η οποία ονομάζεται κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων και σκοπεύει στη διακοπή του αλγόριθμου αναζήτησης κοντινότερων γειτόνων όταν ικανοποιούνται κάποια κριτήρια κόστους και ακρίβειας. Η εργασία προτείνει τρεις ευρεστικές μεθόδους που χρησιμοποιούνται για την υλοποίηση της νέας προσέγγισης. Οι μέθοδοι αυτοί εισάγουν κριτήρια διακοπής και σκοπεύουν στη μεγαλύτερη δυνατή μείωση του χρόνου που απαιτείται από τη διαδικασία κατηγοριοποίησης κρατώντας την ακρίβεια σε υψηλά επίπεδα. Το σημείο όπου θα γίνει η διακοπή εξαρτάται από το αν ο αριθμός των γειτόνων που έχουν βρεθεί μέχρι τη δεδομένη χρονική στιγμή, αρκεί ώστε να εκτελεστεί κατηγοριοποίηση ενός αντικειμένου με υψηλή ακρίβεια. Εύκολα καταλαβαίνει κανείς ότι ο αριθμός γειτόνων που χρησιμοποιείται είναι δυναμικός. Δηλαδή κάθε αντικείμενο προς κατηγοριοποίηση, τοποθετείται σε κατηγορία βάσει διαφορετικού και μη προκαθορισμένου αριθμού κοντινότερων γειτόνων. Η καταλληλότητα της νέας προσέγγισης ΚΝΝ κατηγοριοποίησης αποδεικνύεται από τα πειραματικά αποτελέσματα που παρουσιάζονται σε αυτή την εργασία. -iv-

ABSTRACT Classification based on finding and examination of nearest neighbours (KNN Classification) is one of the most well known methods of Classification. The number of nearest neighbours, used for achieving high accuracy, is constant and a priori known. Furthermore, when the size of database where the nearest neighbours are searched is large, the binary or sequential search algorithm is inapplicable because of the time that they need. So, a data structure (index), such as R-Tree, must be used in order to index the data and so fast search is allowed. Also, if the number of nearest neighbours that gives the best possible classification s precision is high, then, even when data index is used, the search procedure will be timeconsuming. This work, apart from the presentation of known classification methods, data indexing and the search of nearest neighbours in index structures, proposes a new approach of KNN Classification which is named Classification based on dynamic number of nearest neighbours and intends in the interruption of nearest neighbours search algorithm when some criteria are satisfied. This work proposes three heuristics used for the implementation of new classification approach. These heuristics introduce interruption criteria and intend in the most possible reduction of time required by the classification procedure keeping the accuracy high. The moment where the interruption is executed depends on the accuracy that the number of neighbours that have been found achieves. Specifically, the nearest neighbors search is interrupted when the number of nearest neighbors is sufficient for making the classification decision. Easily, we can realize that the number of neighbours is dynamic. It means that in new approach, each item of database is classified by different and not a priori known number of nearest neighbours. The appropriateness of new approach is proved by the experimental results presented in this work. -v-

ΕΥΧΑΡΙΣΤΙΕΣ Κατά τη διάρκεια εκπόνησης αυτής της διπλωματικής εργασίας απέκτησα νέες γνώσεις και ιδέες σε μια περιοχή που μ ενδιαφέρει, αυτή των Βάσεων Δεδομένων. Για το λόγο αυτό θα ήθελα να ευχαριστήσω τους ανθρώπους που με βοήθησαν στην όλη προσπάθεια. Αρχικά, θα ήθελα να ευχαριστήσω τον κ. Αλέξανδρο Νανόπουλο για το ότι μου πρότεινε το εξαιρετικά ενδιαφέρον θέμα «Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων». Επίσης, τον ευχαριστώ για την άριστη συνεργασία που είχαμε σε όλη τη διάρκεια εκπόνησης της διπλωματικής μου εργασίας, για τη βοήθεια που μου έδωσε όπου και όποτε του τη ζήτησα και για το ότι μου έδωσε την ευκαιρία να κάνω μια εισαγωγή στον ερευνητικό χώρο των Βάσεων Δεδομένων. Επίσης, θέλω να ευχαριστήσω τον κ. Ιωάννη Μανωλόπουλο, ο οποίος ανέλαβε την επίβλεψη της εργασίας και τον Antonio Corral, ο οποίος, αν και δεν έτυχε να το γνωρίσω προσωπικά, μου έδωσε τις προγραμματιστικές του υλοποιήσεις. Χωρίς τις προγραμματιστικές υλοποιήσεις του κ. Αλέξανδρου Νανόπουλου και του κ. Antonio Corral, το έργο μου θα ήταν πολύ πιο δύσκολο και ίσως να μην το έφερνα εις πέρας. Τέλος, θέλω να ευχαριστήσω τους γονείς μου, Ανθή και Ανέστη, οι οποίοι δε μου έλυσαν κάποιο πρόβλημα που είχα με την C++, αλλά μου επέτρεψαν, με τη στήριξη τους, να συνεχίσω τις σπουδές μου σε μεταπτυχιακό επίπεδο. Αν δε γινόταν αυτό, δε θα έγγραφα σήμερα το κείμενο της διπλωματικής μου εργασίας και κώδικα σε C++. Στέφανος Ουγιάρογλου, Θεσσαλονίκη, Ιούνιος 2006 -vi-

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1 Εισαγωγή... 1 ΚΕΦΑΛΑΙΟ 2 - Εισαγωγή στην κατηγοριοποίηση... 3 2.1. Βασικές έννοιες κατηγοριοποίησης... 4 2.2 Προεπεξεργασία... 6 2.3 Απόδοση της κατηγοριοποίησης... 7 2.4. Κατηγοριοποίηση: Βάσεις Δεδομένων vs Μηχανική Μάθηση... 11 2.5. Παραδείγματα εφαρμογών κατηγοριοποίησης... 12 2.6. Αλγόριθμοι κατηγοριοποίησης... 13 2.6.1. Αλγόριθμοι Βασισμένοι στην απόσταση... 14 2.6.1.1. Απλή προσέγγιση... 16 2.6.1.2. Κ κοντινότεροι Γείτονες... 17 2.6.2. Αλγόριθμοι κατηγοριοποίησης Στατιστικής... 19 2.6.2.1 Bayesian Κατηγοριοποίηση... 19 2.6.2.2. Παλινδρόμηση... 25 2.6.3. Αλγόριθμοι κατηγοριοποίησης Δένδρων Αποφάσεων... 25 2.6.3.1. Ο αλγόριθμος ID3... 31 2.6.3.2. Ο αλγόριθμος C4.5 και C5.0... 35 2.6.4. Αλγόριθμοι κατηγοριοποίησης Νευρωνικών Δικτύων... 36 2.6.4.1. Διάδοση και Μάθηση... 40 2.6.4.2. Νευρωνικά Δίκτυα Perceptron... 41 2.6.5. Αλγόριθμοι κατηγοριοποίησης κανόνων IF-THEN... 41 ΚΕΦΑΛΑΙΟ 3 Δεικτοδότηση δεδομένων και αλγόριθμοι ικανοποίησης ερωτημάτων κοντινότερων γειτόνων... 46 3.1. Δεικτοδότηση δεδομένων... 47 3.1.1. Δενδρικοί δείκτες δεδομένων... 47 3.1.2. Β-Δένδρα... 48 3.2. Εισαγωγή στις Χωρικές Βάσεις Δεδομένων... 50 3.3. Δεικτοδότηση Χωρικών Δεδομένων... 51 3.3.1. R-Δένδρα... 53 3.3.1.1. Διαδικασία αναζήτησης σε R-Δένδρο... 55 3.3.1.2 Διαδικασία εισαγωγής σε R-Δένδρο... 56 -vii-

3.3.1.3 Διαδικασία διαγραφής από R-Δένδρο... 57 3.3.2. R + - Δένδρο... 59 3.3.3. R*- Δένδρο... 60 3.4. Ερωτήματα Κ κοντινότερων γειτόνων σε R - Δένδρα... 62 3.4.1. Ο αλγόριθμος Branch-and-Bound... 64 3.4.2. Βελτιώσεις στον αλγόριθμο Branch and Bound... 67 3.5. Επαυξητικά Ερωτήματα Κ κοντινότερων γειτόνων σε R Δένδρα... 68 3.6 Σύγκριση αλγορίθμων ικανοποίησης ερωτημάτων Κ κοντινότερων γειτόνων... 73 ΚΕΦΑΛΑΙΟ 4 - Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων... 75 4.1. Εισαγωγή στην Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων... 76 4.2. Κίνητρα και συνεισφορά... 76 4.3. Η προτεινόμενη μέθοδος κατηγοριοποίησης... 77 4.4. Ευρηστικές μέθοδοι διακοπής... 80 4.4.1. Απλή ευρηστική μέθοδος διακοπής (Simple Interruption Heuristic)... 81 4.4.2. Ευρηστική μέθοδος διακοπής ανεξάρτητης κατηγορίας (Independent Class Interruption Heuristic)... 82 4.4.3. Ευρηστική μέθοδος διακοπής M-Times Major Class... 83 4.5. Πειραματικά αποτελέσματα... 84 4.5.1. Περιγραφή του συνόλου δεδομένων... 86 4.5.2. Προετοιμασία εκτέλεσης πειραμάτων... 90 4.5.2.1. Πείραμα παραμέτρου MinNN... 91 4.5.2.2. Πείραμα παραμέτρου IndependencyFactor... 92 4.5.2.3. Πείραμα παραμέτρου MTimes... 94 4.5.2.4. Πείραμα παραμέτρου TStep... 95 4.5.3. Σύγκριση KNN κατηγοριοποίησης με την κατηγοριοποίησης με βάση δυναμικό αριθμό ΝΝ... 97 4.6. Μελλοντική εργασία... 104 4.7. Συμπεράσματα... 105 ΠΑΡΑΡΤΗΜΑ - Σημαντικά τμήματα κώδικα... 106 ΒΙΒΛΙΟΓΡΑΦΙΑ... 114 -viii-

ΕΥΡΕΤΗΡΙΟ ΣΧΗΜΑΤΩΝ ΚΕΦΑΛΑΙΟ 2 - Εισαγωγή στην κατηγοριοποίηση Σχήμα 1: Το πρόβλημα της κατηγοριοποίησης... 6 Σχήμα 2: Εκτίμηση ακρίβειας χρησιμοποιώντας την μέθοδο της κατακράτησης... 8 Σχήμα 3: Σύγκριση της απόδοσης της κατηγοριοποίησης με την ανάκτηση πληροφορίας... 10 Σχήμα 4: Διαδικασία κατηγοριοποίησης. α. Εκπαίδευση, β. κατηγοριοποίηση... 13 Σχήμα 5: Αλγόριθμος απλης προσέγγισης... 17 Σχήμα 6: Κατηγοριοποίηση χρησιμοποιώντας τον απλό αλγόριθμο απόστασης... 17 Σχήμα 7: Κατηγοριοποίηση με χρήση ΚΝΝ... 18 Σχήμα 8: Αλγόριθμος KNN... 18 Σχήμα 9: Αλγόριθμος διάσχισης δένδρου απόφασης... 27 Σχήμα 10: Δένδρο απόφασης για τα δεδομένα του πίνακα 1.3 (κατηγοριοποίηση 2)... 27 Σχήμα 11: Ισοζυγισμένο δένδρο... 28 Σχήμα 12: Βαθύ δένδρο... 28 Σχήμα 13: Θαμπώδες δένδρο... 29 Σχήμα 14: Δένδρο χωρίς το χαρακτηριστικό «φύλο»... 29 Σχήμα 15: Γενικός αλγόριθμος κατασκευής δένδρου απόφασης... 30 Σχήμα 16: Δένδρο απόφασης παραδείγματος 1.10... 35 Σχήμα 17: Νευρωνικό δίκτυο για τα δεδομένα του πίνακα 1.3... 37 Σχήμα 18: Αλγόριθμος μάθησης νευρωνικού δικτύου... 40 Σχήμα 19: Απλό Perceptron κατηγοριοποίησης... 41 Σχήμα 20: Αλγόριθμος παραγωγή κανόνων απο δένδρο απόφασης... 42 Σχήμα 21: Ο αλγόριθμος παραγωγής κανόνων 1R... 44 Σχήμα 22: Ο αλγόριθμος παραγωγής κανόνων PRISM... 45 ΚΕΦΑΛΑΙΟ 3 Δεικτοδότηση δεδομένων και αλγόριθμοι ικανοποίησης ερωτημάτων κοντινότερων γειτόνων Σχήμα 23: Στιγμιότυπο κόμβου Β-Δένδρου τάξης Μ=4... 49 Σχήμα 24: Ερώτηση σημείου... 51 Σχήμα 25: Ερώτηση περιοχής... 51 Σχήμα 26: Ερώτηση κατεύθυνσης (R=Αριστερά)... 51 Σχήμα 27: Ερώτηση κοντινότερου γείτονα... 51 Σχήμα 28: Τομή δύο MBRs χωρίς να τέμνονται τα αντικείμενα... 52 Σχήμα 29: Ορθογώνια στο επίπεδο Σχήμα 30: R-Δένδρο: για τα ορθογώνια στου σχήματος 29... 54 Σχήμα 31: Ερώτηση σε R-Δένδρο (Q: ορθογώνιο ερώτησης)... 55 Σχήμα 32: Αλγόριθμος αναζήτησης σε R-Δένδρα... 55 Σχήμα 33: Αλγόριθμος εισαγωγής αντικείμενου σε R-Δένδρου... 56 Σχήμα 34: Αλγόριθμος διαγραφής αντικείμενου απο R-Δένδρο... 58 -ix-

Σχήμα 35: Αλγόριθμος σύμπτυξης R-Δένδρου μετά από διαγραφή... 58 Σχήμα 36: Παράδειγμα R + -Δένδρου... 59 Σχήμα 37: Εισαγωγή αντικειμένου σε R + -Δένδρο... 60 Σχήμα 38: Διαγραφή αντικειμένου από R-Δένδρο... 60 Σχήμα 39: Αλγόριθμος διάσπασης ενός R*-Δένδρου... 61 Σχήμα 40: Παραδείγματα MINDIST και MINMAXDIST... 63 Σχήμα 41: Ο Αλγόριθμος αναζήτησης κοντινότερων γειτόνων Branch and Bound... 65 Σχήμα 42: R-Δένδρο παραδείγματος 3.2... 66 Σχήμα 43: Βελτιώσεις στον αλγόριθμος Branch and Bound... 67 Σχήμα 44: Κύκλος ορισμού της περιοχή αναζήτησης του επαυξητικού αλγόριθμο... 69 Σχήμα 45: Αλγόριθμος επαυξητικής αναζήτησης κοντινότερων γειτόνων... 70 Σχήμα 46: Χειρότερη περίπτωση αναζήτησης κοντινότερου γείτονα... 72 ΚΕΦΑΛΑΙΟ 4 - Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων Σχήμα 47: Επαυξητικός αλγόριθμος αναζήτησης κοντινότερων γειτόνων με έλεγχο πρόωρης διακοπής... 80 Σχήμα 48: Απλή ευρηστική μέθοδος διακοπής... 82 Σχήμα 49: Ευρηστική μέθοδος διακοπής ανεξάρτητης κλάσης... 83 Σχήμα 50: Ευρηστική μέθοδος διακοπής M-Times Major Class... 84 Σχήμα 51: Αλγόριθμος κατηγοριοποίησης ΚΝΝ χρησιμοποιώντας την επαυξητική αναζήτηση σε R-Δένδρα... 86 Σχήμα 52: Διαδικασία προσθήκης θορύβου στο σύνολο δεδομένων... 88 Σχήμα 53: Precision vs K... 89 Σχήμα 54: I/O vs K... 90 Σχήμα 55: Precision vs I/O... 90 Σχήμα 56: Precision vs MinNN... 92 Σχήμα 57: I/O vs MinNN... 92 Σχήμα 58: Precision vs IndependencyFactor... 93 Σχήμα 59: I/O vs IndependencyFactor... 94 Σχήμα 60: Precision vs MTimes... 95 Σχήμα 61: Ι/Ο vs MTimes... 95 Σχήμα 62: Precision vs TStep... 96 Σχήμα 63: I/O vs TStep... 97 Σχήμα 64: Συγκριτικά αποτελέσματα Precision vs PMaj... 98 Σχήμα 65: Συγκριτικά αποτελέσματα - I/O vs PMaj... 99 Σχήμα 66: Συγκριτικά αποτελέσματα - K vs PMaj... 99 Σχήμα 67: Σύγκριση ακρίβειας μεθόδων... 100 Σχήμα 68: Σύγκριση αριθμού λειτουργιών Ι/Ο που απαιτούνται ανά ερώτημα... 101 Σχήμα 69: Αριθμός κοντινότερων γειτόνων που ανακτώνται ανά ερώτημα... 101 Σχήμα 70: Σύγκριση ακρίβειας μεθόδων (2 ο πείραμα σύγκρισης)... 103 -x-

Σχήμα 71: Σύγκριση αριθμού λειτουργιών Ι/Ο που απαιτούνται ανά ερώτημα (2 ο πείραμα)... 104 Σχήμα 72: Σύγκριση αριθμού κοντινότερων γειτόνων που ανακτώνται ανά ερώτημα (2 ο πείραμα)... 104 -xi-

ΕΥΡΕΤΗΡΙΟ ΠΙΝΑΚΩΝ ΚΕΦΑΛΑΙΟ 2 - Εισαγωγή στην κατηγοριοποίηση Πίνακας 1: Μήτρα σύγχυσης... 10 Πίνακας 2: Διαφορές Βάσεων Δεδομένων και Μηχανικής Μάθησης... 12 Πίνακας 3: Πίνακας δεδομένων του παραδείγματος κατηγοριοποίησης ατόμων στις κατηγορίες "κοντός", "ψηλός", "μέτριος"... 14 Πίνακας 4: Παράδειγμα Bayesian κατηγοριοποίησης στα δεδομένα του παραδείγματος του ύψους... 21 Πίνακας 5: Δεδομένα εκπαίδευσης παραδείγματος 1.7... 22 Πίνακας 6: Δεδομένα εκπαίδευσης παραδείγματος 1.8... 23 Πίνακας 7: Εφαρμογή του αλγόριθμου παραγωγής κανόνων 1R... 43 ΚΕΦΑΛΑΙΟ 3 Δεικτοδότηση δεδομένων και αλγόριθμοι ικανοποίησης ερωτημάτων κοντινότερων γειτόνων Πίνακας 8: Αποστάσεις των ευθύγραμμων τμημάτων και των MBRs από το σημείο q... 66 Πίνακας 9:Χαρακτηριστικά των αλγορίθμων αναζήτησης κοντινότερων γειτόνων... 74 ΚΕΦΑΛΑΙΟ 4 - Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων Πίνακας 10: Κατανομή κατηγοριών του συνόλου δεδομένων pages - blocks μετά την προσθήκη 70% θορύβου... 88 Πίνακας 11: Τιμές παραμέτρων του MinNN πειράματος... 91 Πίνακας 12: Τιμές παραμέτρων του IndependencyFactor πειράματος... 93 Πίνακας 13: Τιμές παραμέτρων του MTimes πειράματος... 95 Πίνακας 14: Τιμές παραμέτρων του TStep πειράματος... 96 Πίνακας 15: Τιμές παραμέτρων πειράματος σύγκρισης... 98 Πίνακας 16: Τιμές παραμέτρων 2 ου πειράματος σύγκρισης... 103 -xii-

ΚΕΦΑΛΑΙΟ 1 Εισαγωγή Οι τεχνικές εξόρυξης δεδομένων έχουν σκοπό την ανακάλυψη ενδιαφερόντων ή πρότυπων σχημάτων μέσα σε μεγάλα σύνολα δεδομένων ώστε αυτά να βοηθήσουν τους ειδικούς να λαμβάνουν αποφάσεις σχετικά με σημαντικές, μελλοντικές δραστηριότητες. Η εξόρυξη γνώσης είναι στενά συνδεδεμένη με τις περιοχές των Βάσεων Δεδομένων, της Στατιστικής και της Τεχνητής Νοημοσύνης (Ανακάλυψη γνώσης, Μηχανική μάθηση). Κάποιος μπορεί να πει ότι όταν εκτελούμε ένα ερώτημα διατυπωμένο σε SQL, στην ουσία κάνουμε εξόρυξη δεδομένων. Τα πράγματα δεν είναι έτσι. Όλες οι τεχνικές εξόρυξης δεδομένων εφαρμόζονται για να ικανοποιήσουμε πιο σύνθετα αιτήματα τα οποία καθορίζονται σε υψηλό επίπεδο με μερικές παραμέτρους που προσδιορίζονται από τον χρήστη. Η ικανοποίηση αυτών των αιτημάτων γίνεται χρησιμοποιώντας εξειδικευμένους αλγορίθμους. Ωστόσο, ένα τέτοιο αίτημα δεν ικανοποιείται απλά εφαρμόζοντας ένα τέτοιο αλγόριθμο. Συγκεκριμένα, οι διαδικασίες εξόρυξης γνώσης σε Βάσεις Δεδομένων (ή διαδικασίες KDD) απαιτούν τέσσερα στάδια. Το πρώτο στάδιο είναι η επιλογή των δεδομένων όπου επιλέγεται το σύνολο δεδομένων και τα χαρακτηριστικά (attributes) που μας ενδιαφέρουν σε σχέση με το στόχο μας. Το δεύτερο στάδιο καλείται καθαρισμός των δεδομένων. Στο στάδιο αυτό, απομακρύνουμε το θόρυβο, χειριζόμαστε τις κενές τιμές, μετασχηματίζουμε τις τιμές των χαρακτηριστικών σε κοινές μονάδες μέτρησης και δημιουργούμε νέα χαρακτηριστικά συνδυάζοντας τα ήδη υπάρχοντα. Το επόμενο στάδιο είναι το στάδιο της εξόρυξης γνώσης οπού εξάγουμε τα πραγματικά πρότυπα σχήματα. Το τέταρτο και τελευταίο στάδιο είναι αυτό της αξιολόγησης όπου τα πρότυπα σχήματα παρουσιάζονται στον χρήστη ο οποίος τα αξιολογεί. Ένα από τα σημαντικό χαρακτηριστικό της εξόρυξης δεδομένων, το οποίο λαμβάνεται υπόψη κυρίως από την περιοχή των Βάσεων Δεδομένων, είναι ο πολύ μεγάλος όγκος των δεδομένων. Η δυνατότητα κλιμάκωσης σε σχέση με το μέγεθος των δεδομένων αποτελεί ένα πολύ σημαντικό κριτήριο σε όλες τις τεχνικές της εξόρυξης δεδομένων. Μια τεχνική λέμε ότι κλιμακώνεται αν ο χρόνος εκτέλεσης αυξάνεται ανάλογα με το μέγεθος του συνόλου δεδομένων όπου ενεργεί (δηλ. γραμμικά), για δεδομένα μεγέθη των διαθέσιμων πόρων του συστήματος (π.χ. μέγεθος της κύριας μνήμης, μέγεθος του δίσκου, κτλ). Όλες οι τεχνικές εξόρυξης γνώσης πρέπει να χαρακτηρίζονται από την δυνατότητα της κλιμάκωσης. Ένα άλλο επιθυμητό χαρακτηριστικό των τεχνικών εξόρυξης δεδομένων είναι το ότι πρέπει να εκτελούνται με τον ταχύτερο δυνατό τρόπο. Αυτό σημαίνει ότι η σειριακή επεξεργασία του συνόλου δεδομένων, το οποίο όπως είπαμε είναι πολύ μεγάλο, δεν αποτελεί σωστή προσέγγιση. Έτσι, οι πλειάδες (ή αντικείμενα) του συνόλου δεδομένων, θα πρέπει να δεικτοδοτούνται ώστε αυτές να είναι άμεσα προσπελάσιμες. Η πιο διαδομένη μέθοδος δεικτοδότησης είναι κάποια παραλλαγή δενδροειδούς δείκτη, όπως τα γνωστά B-Tree, R- Tree, R*-Tree. Αυτά τα είδη δεικτών είναι υλοποιημένα στα περισσότερα Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ). Η δεικτοδότηση δεδομένων απασχολεί μέρος του τρίτου κεφαλαίου αυτής της εργασίας. Ίσως η πιο γνωστή εφαρμογή εξόρυξης δεδομένων είναι η κατηγοριοποίηση η οποία χρησιμοποιείται για να τοποθετήσει τις πλειάδες μιας Βάσης Δεδομένων σε κατηγορίες. Διαφορετικά πεδία της πληροφορικής έχουν αναπτύξει διαφορετικές τεχνικές -1-

κατηγοριοποίησης. Κάποιες έχουν μεγάλη αποδοχή και άλλες λιγότερη. Μερικές από αυτές τις τεχνικές, όπως επίσης και κάποια γενικότερα θέματα σχετικά με την έννοια της κατηγοριοποίησης εξετάζονται στο δεύτερο κεφάλαιο αυτής της εργασίας. Μια από της πιο δημοφιλής τεχνικές κατηγοριοποίησης είναι αυτή των Κ- κοντινότερων γειτόνων. Η κατηγοριοποίηση μιας πλειάδας της Βάσης Δεδομένων βάσει αυτής της τεχνικής πραγματοποιείται αναζητώντας τις πλειάδες που μοιάζουν περισσότερο σε αυτήν. Οι πλειάδες αυτές ονομάζονται κοντινότεροι γείτονες. Η παράμετρος Κ της τεχνικής, ορίζει τον αριθμό των κοντινότερων γειτόνων που έχουν λόγο στην κατηγοριοποίηση. Η υπό εξέταση πλειάδα τοποθετείται στην κατηγορία στην οποία ανήκουν οι περισσότεροι από τους Κ κοντινότερους γείτονες. Το πόσοι κοντινότεροι γείτονες θα ληφθούν υπόψη για να γίνει η κατηγοριοποίηση είναι ένα σημαντικό ζήτημα αφού η ακρίβεια της κατηγοριοποίησης εξαρτάται από αυτόν τον αριθμό. Έτσι, είναι απαραίτητο να βρούμε τον αριθμό Κ που δίνει την καλύτερη κατηγοριοποίηση. Από την άλλη, αν ο αριθμός αυτός είναι ιδιαίτερα μεγάλος, ο χρόνος που θα απαιτηθεί από την τεχνική θα είναι μακρύς και αυτό επειδή η αναζήτηση των Κ αντικειμένων που μοιάζουν περισσότερο με το υπό εξέταση αντικείμενο σε ένα μεγάλο σύνολο δεδομένων είναι μια χρονοβόρα διαδικασία ακόμη και στην περίπτωση όπου έχουμε δεικτοδότηση των δεδομένων (η σειριακή αντιμετώπιση τέτοιου είδους προβλημάτων είναι απαγορευτική λόγω του χρόνου που απαιτεί). Άρα καταλήγουμε στο ότι μπορεί να μας συμφέρει το να αναζητούμε έναν μικρότερο αριθμό κοντινότερων γειτόνων χάνοντας λίγο σε ακρίβεια της κατηγοριοποίησης αλλά κερδίζοντας πολύ σε χρόνο εκτέλεσης. Ένας τέτοιος συμβιβασμός είναι απαραίτητος σε συστήματα πραγματικού χρόνου. Στόχος αυτής της εργασίας είναι να μελετήσει την απόδοση της κατηγοριοποίησης της τεχνικής των Κ-κοντινότερων γειτόνων από την πλευρά της ακρίβειας και της ταχύτητας εκτέλεσης και να προτείνει μια νέα προσέγγιση κατηγοριοποίησης Κ-κοντινότερων γειτόνων η οποία βασίζεται σε δυναμικό αριθμό Κ, ο οποίος ρυθμίζεται αυτόματα με τρόπο ώστε να επιτευχθεί η καλύτερη δυνατή κατηγοριοποίηση, λαμβάνοντας υπόψη το χρόνο που απαιτείται. Σε αυτή την νέα προσέγγιση κατηγοριοποίησης δόθηκε το χαρακτηριστικό όνομα Κατηγοριοποίηση με βάση δυναμικό αριθμό κοντινότερων γειτόνων. Στα πλαίσια υλοποίησης αυτής της νέας μεθόδου, η εργασία αυτή προτείνει ευρεστικές μεθόδους που σταματούν την αναζήτηση κοντινότερων γειτόνων τη στιγμή όπου επιτυγχάνεται ο καλύτερος συμβιβασμός μεταξύ ακρίβειας και χρόνου εκτέλεσης, δηλαδή η ακρίβεια φτάνει σε ικανοποιητικά επίπεδα χωρίς να έχει ολοκληρωθεί η αναζήτηση και των Κ κοντινότερων γειτόνων που αποδίδουν την υψηλότερη ακρίβεια. Η προσπάθεια αυτή παρουσιάζεται στο τέταρτο κεφάλαιο της εργασίας. Σε όλη την μελέτη μας, η αναζήτηση των κοντινότερων γειτόνων πραγματοποιείται χρησιμοποιώντας μια δομή δεικτοδότησης δεδομένων που αποτελεί παραλλαγή του γνωστού R-Δένδρου, το R*-Δένδρο. Η χρήση δεικτοδότησης, όπως είπαμε είναι αναγκαία, αφού το να αναζητήσουμε σειριακά έναν αριθμό στοιχείων σε ένα μεγάλο σύνολο δεδομένων είναι κάτι το απαγορευτικό. Ωστόσο, η ύπαρξη R-Δένδρου απαιτεί εξειδικευμένες τεχνικές αναζήτησης και ανάκτησης των κοντινότερων σε ένα συγκεκριμένο σημείο γειτόνων. Οι τεχνικές αναζήτησης κοντινότερων γειτόνων σε R- Δένδρο που έχουν προταθεί κατά καιρούς παρουσιάζονται αναλυτικά στο δεύτερο κεφάλαιο. -2-

ΚΕΦΑΛΑΙΟ 2 Εισαγωγή στην κατηγοριοποίηση Στο κεφάλαιο αυτό γίνεται μια εισαγωγή στο ζήτημα της κατηγοριοποίησης (classification), το οποίο εμφανίζονται σε πολλά ερευνητικά πεδία της πληροφορικής. Αρχικά, παρουσιάζονται κάποια εισαγωγικά θέματα γύρω από την έννοια της κατηγοριοποίησης, ενώ στην συνέχεια παρουσιάζονται κάποιοι από τους γνωστούς αλγόριθμους που χρησιμοποιούνται για την επίλυση τέτοιου είδους προβλημάτων. -3-

2.1. Βασικές έννοιες κατηγοριοποίησης Η κατηγοριοποίηση (classification) είναι η πιο γνωστή και πιο δημοφιλής τεχνική εξόρυξης γνώσης (data mining). Πολλές εταιρίες του ιδιωτικού και του δημόσιου τομέα χρησιμοποιούν σε καθημερινή βάση συστήματα κατηγοριοποίησης. Παραδείγματα τέτοιου είδους συστημάτων είναι τα συστήματα αναγνώρισης προτύπων, συστήματα ιατρικών διαγνώσεων, συστήματα έγκρισης δανείων και πιστωτικών καρτών, συστήματα ανίχνευσης λαθών σε βιομηχανικές εφαρμογές, συστήματα κατηγοριοποίησης των τάσεων στην οικονομία κ.α. Για παράδειγμα όταν κάποιος προβλέπει μια ηλικία, στην ουσία επιλύει ένα πρόβλημα κατηγοριοποίησης. Ένα άλλο, πιο καλά ορισμένο, παράδειγμα παρουσιάζεται παρακάτω: Παράδειγμα 2.1: Οι δάσκαλοι κατηγοριοποιούν τους μαθητές ως A,B,C,D ή F με βάση τους βαθμούς τους. Χρησιμοποιώντας απλά όρια (60, 70, 80, 90) μπορούμε να έχουμε τον παρακάτω διαχωρισμό των μαθητών σε κλάσεις: 90 βαθμός Α, 80 βαθμός < 90 Β, 70 βαθμός < 80 C, 60 βαθμός < 70 D, Βαθμός < 60 F Όλες οι προσεγγίσεις στην εκτέλεση της κατηγοριοποίησης προϋποθέτουν γνώση των δεδομένων. Συνήθως χρησιμοποιούμε ένα σύνολο εκπαίδευσης για να καθορίσει τις συγκεκριμένες παραμέτρους που απαιτούνται από την τεχνική. Τα δεδομένα εκπαίδευσης (training data) αποτελούνται από ένα δείγμα δεδομένων εισόδου καθώς επίσης και από την κατηγοριοποίηση που έχει δοθεί σε αυτά τα δεδομένα. Το πρόβλημα της κατηγοριοποίησης παρουσιάζεται από τον ορισμό 2.1 και από τον ορισμό 2.2. Ο δεύτερος ορισμός περιγράφει με μαθηματικό τρόπο το πρόβλημα. Ορισμός 2.1: Η κατηγοριοποίηση (classification) είναι η διαδικασία η οποία απεικονίζει ένα σύνολο δεδομένων σε προκαθορισμένες ομάδες. Τις ομάδες αυτές συχνά τις καλούμε κατηγορίες ή κλάσεις. Ορισμός 2.2: Έστω μια Βάση Δεδομένων DB = {t 1,t 2,,t n } πλειάδων (στοιχείων, εγγραφών) και ένα σύνολο από κατηγορίες C = {C 1,C 2,,C m }. Το πρόβλημα της κατηγοριοποίησης είναι ο ορισμός μιας απεικόνισης f: DB C όπου κάθε t i τοποθετείται σε μια κατηγορία. Μια κατηγορία ή κλάση C j, περιέχει ακριβώς αυτές τις πλειάδες όπου έχουν απεικονιστεί σε αυτή, δηλαδή C j = {t i f(t i ) = C j, 1 i n, και t i DB }. Οι ορισμοί 2.1 και 2.2 θεωρούν την κατηγοριοποίηση σαν μια απεικόνιση από τη Βάση Δεδομένων στο σύνολο των κατηγοριών. Πρέπει να υπογραμμιστεί ότι οι κατηγορίες είναι προκαθορισμένες, δεν επικαλύπτονται και διαμερίζουν ολόκληρη την Βάση Δεδομένων. Κάθε στοιχείο της Βάσης Δεδομένων τοποθετείται σε ακριβώς μια κατηγορία. Οι κατηγορίες που υπάρχουν σε ένα πρόβλημα κατηγοριοποίησης είναι στην πραγματικότητα κλάσεις ισοδυναμίας (equivalence classes). -4-

Η επίλυση των προβλημάτων κατηγοριοποίησης περιλαμβάνει δύο βασικά στάδια (σχήμα 4): Δημιουργούμε ένα μοντέλο από την αξιολόγηση και την ανάλυση των δεδομένων εκπαίδευσης. Αυτό το βήμα έχει σαν είσοδο τα δεδομένα εκπαίδευσης και σαν έξοδο ένα ορισμό του μοντέλου που αναπτύχθηκε. Το μοντέλο που δημιουργείται από αυτό το στάδιο είναι σε θέση να κατηγοριοποιεί τα δεδομένα εκπαίδευσης με όσο το δυνατό μεγαλύτερη ακρίβεια. Όταν είναι ήδη γνωστές οι κατηγορίες του συνόλου των δεδομένων εκπαίδευσης, δηλαδή το σύνολο των δεδομένων εκπαίδευσης περιλαμβάνει ένα χαρακτηριστικό το οποίο δείχνει την κλάση στην οποία κατηγοριοποιείται η κάθε πλειάδα, τότε το βήμα αυτό καλείται εποπτευμένη μάθηση (supervised learning), σε αντίθετη περίπτωση, δηλαδή όταν δεν είναι γνωστές οι κατηγορίες του συνόλου των δεδομένων εκπαίδευσης, τότε το βήμα αυτό καλείται μη εποπτευμένη μάθηση (unsupervised learning - clustering). Στην εργασία αυτή δεν εξετάζεται η μη εποπτευόμενη μάθηση. Εφαρμόζουμε το μοντέλο που αναπτύχθηκε στο προηγούμενο βήμα κατηγοριοποιώντας τις πλειάδες της υπό εξέταση Βάσης Δεδομένων (μελλοντικές περιπτώσεις) Εάν και το δεύτερο βήμα στην πραγματικότητα εκτελεί την κατηγοριοποίηση, η περισσότερη έρευνα έχει γίνει για το πρώτο βήμα. Το δεύτερο βήμα είναι συνήθως εύκολο στην υλοποίηση. Υπάρχουν τρεις βασικές μέθοδοι που χρησιμοποιούνται για να λύσουν το πρόβλημα της κατηγοριοποίησης: Καθορισμός των ορίων: Η κατηγοριοποίηση εκτελείται με διαίρεση του χώρου της εισόδου των εν δυνάμει πλειάδων της Βάσης Δεδομένων σε περιοχές όπου κάθε περιοχή συνδέεται με μια κατηγορία Χρήση κατανομών πιθανότητας: Για κάθε κατηγορία που δίνεται C j P(t i C j ) είναι η συνάρτηση κατανομής πιθανότητας (probability distribution function) για την κατηγορία υπολογισμένη σε ένα σημείο, t i. Αν η πιθανότητα εμφάνισης κάθε κατηγορίας P(C j ), είναι γνωστή (ίσως να έχει οριστεί από κάποιον ειδικό του πεδίου εφαρμογής domain expert), τότε P(C j ) P(t i C j ) είναι η εκτίμηση της πιθανότητας ότι η t i ανήκει στην κατηγορία C j Χρήση εκ των υστέρων πιθανοτήτων: Με δεδομένη μια τιμή δεδομένων t i, θέλουμε να καθορίσουμε την πιθανότητα για την οποία η t i ανήκει στην κατηγορία C j. Αυτό υποδηλώνεται με το P(C j t i ) που ονομάζεται εκ των υστέρων πιθανότητα (posterior probability). Μια προσέγγιση κατηγοριοποίησης είναι ο καθορισμός της εκ των υστέρων πιθανότητας για κάθε κατηγορία και στη συνέχεια η τοποθέτηση των πλειάδων στην κατηγορία με τη μεγαλύτερη πιθανότητα. Το παράδειγμα 2.1 ανήκει στην πρώτη κατηγορία όπως επίσης και όλες οι τεχνικές δένδρων απόφασης, ενώ οι προσεγγίσεις των νευρωνικών δικτύων ανήκουν στην τρίτη κατηγορία. Ας υποθέσουμε ότι μας δίνεται μια Βάση Δεδομένων που αποτελείται από πλειάδες της μορφής t = <x,y> όπου 0 x 8 και 0 y 10. Το σχήμα 1 παρουσιάζει το πρόβλημα -5-

της κατηγοριοποίησης. Το σχήμα 1 (α) παρουσιάζει τις προκαθορισμένες κατηγορίες κλάσεις, το σχήμα 1 (β) παρέχει δείγματα δεδομένων εισόδου και το σχήμα 1 (γ) παρουσιάζει την κατηγοριοποίηση των δεδομένων με βάση τις ορισμένες κατηγορίες. α. ορισμός κατηγοριών β. ΒΔ προς κατηγοριοποίηση γ. κατηγοριοποιημένη ΒΔ Σχήμα 1: Το πρόβλημα της κατηγοριοποίησης Ένα πολύ σημαντικό ζήτημα σχετικό με την κατηγοριοποίηση είναι η υπερπροσαρμογή. Συγκεκριμένα, λέγοντας υπερπροσαρμογή εννοούμε το φαινόμενο κατά το οποίο η τεχνική κατηγοριοποίηση ταιριάζει ακριβώς στα δεδομένα εκπαίδευσης και ίσως να μη μπορεί να εφαρμοστεί σε πιο ευρύ πληθυσμό δεδομένων. Για παράδειγμα, ας υποθέσουμε ότι τα δεδομένα εκπαίδευσης περιέχουν λανθασμένα δεδομένα ή δεδομένα με θόρυβο. Σε αυτή την περίπτωση, το ακριβές ταίριασμα των δεδομένων δεν είναι επιθυμητό. 2.2 Προεπεξεργασία Είναι πολύ συχνό το φαινόμενο κατά το οποίο τιμές χαρακτηριστικών (attributes) των πλειάδων των συνόλων δεδομένων είναι λανθασμένες (θόρυβος), ελλιπείς (missing values) και ασυνεπείς. Το φαινόμενο του θορύβου προέρχεται από ανθρώπινα λάθη ή λάθη του υπολογιστή. Αντίστοιχα το φαινόμενο των ελλιπή δεδομένων προέρχεται από μη εισαγωγή στοιχείων για κάποιες συγκεκριμένες πλειάδες την ώρα της εισαγωγής αφού αυτά, την συγκεκριμένη στιγμή δεν είχαν αξία. Επίσης, το φαινόμενο των ασυνεπών δεδομένων προέρχεται από ενοποιήσεις δεδομένων όπου ένα χαρακτηριστικό έχει διαφορετικό όνομα στις διαφορετικές Βάσεις Δεδομένων. Έτσι, πριν ξεκινήσει η διαδικασία της εκπαίδευσης του αλγορίθμου κατηγοριοποίησης και της δοκιμής του, θα πρέπει να γίνει το λεγόμενα καθάρισμα των δεδομένων (data cleaning). Το φαινόμενο των ελλιπή δεδομένων μπορούν να αντιμετωπιστεί με έναν από τους παρακάτω τρόπους: Αγνόησε το παράδειγμα: Αυτό γίνεται όταν λείπει η τιμή του χαρακτηριστικού κλάσης Γέμισε τις τιμές που λείπουν με το χέρι: χρονοβόρα μέθοδο. Δεν είναι εφικτή αν είναι πάρα πολλές οι πλειάδες Χρησιμοποίησε μια σταθερά για το γέμισμα των τιμών που λείπουν (π.χ. «unknown»). Το σύστημα θα χρησιμοποιήσει λανθασμένα αυτού του είδους τις τιμές. Αν και είναι απλή μέθοδο, δεν προτείνεται Χρήση του μέσου όρου των τιμών του χαρακτηριστικού για την συμπλήρωση των τιμών που λείπουν του συγκεκριμένου χαρακτηριστικού -6-

Χρήση του μέσου όρου των τιμών του χαρακτηριστικού για όλες τις πλειάδες που ανήκουν στην ίδια κλάση. π.χ. συμπλήρωση των τιμών που λείπουν με τον μέσο όρο του εισοδήματος για τους πελάτες με το ίδιο credit_risk Χρήση της πιο πιθανής τιμής Το φαινόμενο του θορύβου αντιμετωπίζεται με έναν από τους εξής τρόπους: Binning: Εξομαλύνει τα δεδομένα συμβουλεύοντας τις τιμές των γειτόνων. Υπάρχουν πολλές τεχνικές binning Clustering: Οι πλειάδες που είναι outliers μπορούν να βρεθούν χρησιμοποιώντας τεχνικές clustering Συνδυασμός ελέγχου υπολογιστή και ανθρώπου ώστε να εντοπιστούν οι outliers Regression: μπορούν να χρησιμοποιηθούν τεχνικές Regression ώστε οι τιμές των μεταβλητών να μπορούν να βρεθούν από τις άλλες μεταβλητές 2.3 Απόδοση της κατηγοριοποίησης Όπως έχουμε ήδη πει υπάρχουν αρκετοί αλγόριθμοι κατηγοριοποίησης. Η ερώτηση που γεννιέται τώρα σχετίζεται με το ποιος είναι ο καλύτερος αλγόριθμος κατηγοριοποίησης; Η επίδοση των αλγορίθμων εξετάζεται με την εκτίμηση της ακρίβειας (accuracy) της κατηγοριοποίησης, δηλαδή την ικανότητα του μοντέλου να προβλέπει την κατηγορία μιας νέας περίπτωσης. Η εκτίμηση της ακρίβειας είναι ένα πολύ σημαντικό ζήτημα στο χώρο της κατηγοριοποίησης αφού κάτι τέτοιο μας δείχνει το πόσο καλά ανταποκρίνεται ο αλγόριθμος μας για δεδομένα με τα οποία δεν έχει εκπαιδευτεί. Η εκτίμηση της ακρίβειας είναι επίσης θεμιτή αφού μας επιτρέπει την σύγκριση των διαφόρων αλγορίθμων κατηγοριοποίησης. Αν και η ακρίβεια είναι το πιο σημαντικό μέτρο αποτίμησης της απόδοσης του αλγορίθμου κατηγοριοποίησης που χρησιμοποιούμε, υπάρχουν και άλλα μέτρα σύγκρισης: Ταχύτητα: Κόστος υπολογισμός (συμπεριλαμβανομένου την παραγωγή και τη χρήση του μοντέλου) Rebustness: Σωστή πρόβλεψη με ελλιπή δεδομένα ή δεδομένα με θόρυβο Scalability: Αποδοτική κατασκευή του μοντέλου δοθέντος μεγάλη ποσότητα δεδομένων (μπορεί να εκτιμηθεί μετρώντας τις λειτουργίες I/O που απαιτεί ο αλγόριθμος) Interpretability: Επίπεδο κατανόησης και γνώση που παρέχεται από το μοντέλο. (Μπορεί να εκτιμηθεί μετρώντας το πόσο πολύπλοκο είναι το μοντέλο π.χ. αριθμός κόμβων στα δένδρα απόφασης, αριθμός επιπέδων στα νευρωνικά δίκτυα κ.α.) Τώρα ας επιστρέψουμε στο σημαντικότερο μέτρο μέτρησης απόδοσης, δηλαδή την ακρίβεια στη πρόβλεψη της κλάσης. Το μέτρο αυτό είναι το πιο σημαντικό, ωστόσο δε θα πρέπει να υπολογίζεται ανεξάρτητα από τα υπόλοιπα μέτρα. Για παράδειγμα, δεν έχει νόημα το να έχουμε έναν αλγόριθμο κατηγοριοποίησης που μας δίνει αποτελέσματα με πολύ υψηλή ακρίβεια μετά από πολύ χρόνο. Ίσως να ήταν καλύτερη επιλογή το να έχουμε έναν αλγόριθμο κατηγοριοποίησης που να μας δίνει αποτελέσματα με λίγο χαμηλότερη ακρίβεια από τον καλύτερο (ως προς την ακρίβεια) αλγόριθμο κατηγοριοποίησης αλλά πιο σύντομα. Η ακρίβεια της κατηγοριοποίησης συνήθως υπολογίζεται με τον καθορισμό του ποσοστού -7-

των πλειάδων που τοποθετούνται την σωστή κατηγορία. Υπάρχουν τρεις τρόποι που μας επιτρέπουν να εκτιμήσουμε την ακρίβεια του αλγορίθμου κατηγοριοποίησης: Μπορούμε να χρησιμοποιήσουμε ένα σύνολο δεδομένων αρχικά για να εκπαιδεύσουμε τον αλγόριθμο μας και στην συνέχεια να χρησιμοποιήσουμε το ίδιο σύνολο δεδομένων για να εκτιμήσουμε την ακρίβεια του αλγορίθμου. Μια τέτοια επιλογή θα μας οδηγούσε σε μια πολύ αισιόδοξη εκτίμηση της ακρίβειας αφού ο αλγόριθμος εκπαιδεύεται αλλά και δοκιμάζεται με το ίδιο σύνολο δεδομένων. Άλλος ένας τρόπος εκτίμησης της ακρίβειας ενός αλγορίθμου κατηγοριοποίησης είναι η μέθοδο της κατακράτησης (holdout method) (Σχήμα 2). Χρησιμοποιώντας αυτή την μέθοδο, το σύνολο δεδομένων που έχουμε στην διάθεση μας χωρίζεται με τυχαίο τρόπο σε δυο ανεξάρτητα σύνολα δεδομένων. Το πρώτο ονομάζεται σύνολο δεδομένων εκπαίδευσης και χρησιμοποιείται για την εκπαίδευση του αλγορίθμου κατηγοριοποίησης και το δεύτερο ονομάζεται σύνολο δεδομένων δοκιμής που χρησιμοποιείται για την δοκιμή του αλγορίθμου και την εκτίμηση της ακρίβειας. Στις περισσότερες περιπτώσεις, χρησιμοποιείται τα 2/3 του συνόλου δεδομένων σαν σύνολο εκπαίδευσης και το υπόλοιπο 1/3 σαν σύνολο δοκιμής. Μια παραλλαγή αυτής της μεθόδου είναι γνωστή με το όνομα random subsampling. Η παραλλαγή αυτή εκτελεί την μέθοδο της κατακράτησης κ φορές. Η τελική εκτίμηση της ακρίβειας είναι μέσος όρος των εκτιμήσεων ακρίβειας των επαναλήψεων Σχήμα 2: Εκτίμηση ακρίβειας χρησιμοποιώντας την μέθοδο της κατακράτησης Ένας λίγο πιο σύνθετος τρόπος εκτίμησης της απόδοσης είναι ο k-fold cross validation. Σύμφωνα με αυτόν, το αρχικό σύνολο δεδομένων αρχικά χωρίζεται σε k υποσύνολα ή folds, S 1,S 2,,S k κάθε ένα από τα οποία είναι ίδιου μεγέθους.. Η εκπαίδευση και η δοκιμή εκτελείται k φορές. Στην i επανάληψη, το υποσύνολο S i παίζει τον ρόλο το συνόλου δοκιμής, ενώ τα υπόλοιπα k-1 υποσύνολα χρησιμοποιούνται για την εκπαίδευση του αλγορίθμου. Αυτό σημαίνει ότι στην πρώτη επανάληψη, το S 1 λειτουργεί σαν σύνολο δοκιμής ενώ τα {S 2,S 3,,S k } σαν σύνολο εκπαίδευσης. Αντίστοιχα στην δεύτερη επανάληψη, το S 2 λειτουργεί σαν σύνολο δοκιμής, ενώ τα {S 1,S 3,,S k } σαν σύνολο εκπαίδευσης. Η ακρίβεια υπολογίζεται διαιρώντας το συνολικό αριθμό τον σωστών κατηγοριοποιήσεων με τον αριθμό των πλειάδων του αρχικού συνόλου δεδομένων. Όπως γίνεται εύκολα κατανοητό, αυτή η προσέγγιση απαιτεί k φορές περισσότερο χρόνο από την μέθοδο της κατακράτησης. Από την βιβλιογραφία προτείνεται το 10 σαν καταλληλότερος αριθμός επαναλήψεων (10-fold cross validation) -8-

Έστω ότι θέλουμε να εκπαιδεύσουμε έναν αλγόριθμος κατηγοριοποίησης με ένα σύνολο ιατρικών δεδομένων ώστε αυτός να είναι σε θέση να κατατάσσει τις μελλοντικές πλειάδες στις κατηγορίες «cancer» ή «not_cancer». Μια εκτίμηση της ακριβείας γύρω στο 90% μπορεί να παρουσιάζει τον αλγόριθμο μας αρκετά ακριβή, ωστόσο τι γίνεται αν μόνο το 3-4% των δεδομένων εκπαίδευσης ανήκει στην κατηγορία «cancer». Σε μια τέτοια περίπτωση, ένας αλγόριθμος κατηγοριοποίησης με ακρίβεια 90% ίσως να μην είναι δεκτός αφού στην πραγματικότητα θα μπορεί να αναγνωρίζει και να κατηγοριοποιεί μόνο τις πλειάδες που ανήκουν στην κατηγορία «cancer». Αντίθετα εμείς θέλουμε να είμαστε σε θέση να καταλαβαίνουμε το πόσο καλά ο αλγόριθμός μας αναγνωρίζει τις «cancer» πλειάδες (positive samples) και πόσο καλά αναγνωρίζει τις «non-cancer» πλειάδες (negative samples). Για να γίνει αυτό μπορούμε να χρησιμοποιήσουμε τα μέτρα sensitivity και specificity αντίστοιχα. Επίσης, το μέτρο precision μας δείχνει την ακρίβεια του αλγόριθμου μας, δηλαδή το πόσες πλειάδες κατηγοριοποιήθηκαν σωστά προς τον αριθμό των πλειάδων του συνόλου δεδομένων δοκιμής, χωρίς να εμπεριέχεται σε αυτή το sensitivity και το specificity. Πιο συγκεκριμένα, το precision δίνει μια απάντηση στην ερώτηση «Έχουν κατηγοριοποιηθεί σωστά τα στοιχεία». Τα παραπάνω μέτρα μπορούν να οριστούν ως εξής: sensitivit y t _ pos pos =, specificit y t _ neg neg =, precision t _ pos t _ pos + f _ pos =, accuracy = sensitivit y pos pos + neg + specificit y neg pos + neg t_pos είναι ο αριθμός των true positives («cancer» πλειάδες που σωστά κατηγοριοποιήθηκαν σαν «cancer»), pos είναι ο αριθμός των positive («cancer») πλειάδων, t_neg είναι ο αριθμός των true negatives («not_cancer» πλειάδες που σωστά κατηγοριοποιήθηκαν σαν «not_cancer»), neg είναι ο αριθμός των negative («not_cancer») πλειάδων και f_pos είναι ο αριθμός των false positives («not_cancer» πλειάδες που λανθασμένα κατηγοριοποιήθηκαν σαν «cancer» ) Επίσης, μπορούμε να εξετάσουμε την απόδοση της κατηγοριοποίησης με τρόπο όμοιο με αυτό που εφαρμόζεται στα συστήματα ανάκτησης πληροφοριών. Όταν έχουμε δύο κλάσεις, υπάρχουν τέσσερα πιθανά ενδεχόμενα κατηγοριοποίησης, όπως φαίνεται στο σχήμα 3. Το πάνω αριστερά και κάτω δεξιά τεταρτημόριο υποδηλώνουν λανθασμένες ενέργειες. Η επίδοση της κατηγοριοποίησης θα μπορούσε να καθοριστεί με την απόδοση κάποιου κόστους σε κάθε ένα από τα τεταρτημόρια. Ωστόσο κάτι τέτοιο θα ήταν δύσκολο αφού θα χρειαζόντουσαν m 2 κόστη, όπου m είναι ο αριθμός των κατηγοριών. -9-

α. Ανάκτηση πληροφοριών β. κατηγοριοποίηση στην κλάση Α γ. πρόβλεψη κατηγορίας Σχήμα 3: Σύγκριση της απόδοσης της κατηγοριοποίησης με την ανάκτηση πληροφορίας Με δεδομένη μια συγκεκριμένη κατηγορία, C j και μια πλειάδα της Βάσης Δεδομένων, t i, αυτή η πλειάδα είτε θα καταχωρηθεί σε αυτή την κατηγορία είτε όχι, ενώ στην πραγματικότητα μπορεί να είναι ή να μην είναι μέλος αυτής της κατηγορίας. Αυτή η παρατήρηση πάλι μας δίνει τα τέσσερα τεταρτημόρια που παρουσιάζονται στο σχήμα 3 (γ), τα οποία μπορούν να περιγραφούν με τους παρακάτω τρόπους: Αληθώς θετικό (True Positive - TP): το t i εκτιμάται ότι ανήκει στην κατηγορία Cj και πράγματι ανήκει σε αυτήν Ψευδώς θετικό (False Positive - FP): το t i εκτιμάται ότι ανήκει στην κατηγορία Cj ενώ στην πραγματικότητα δεν ανήκει σε αυτήν. Αληθώς αρνητικό (True Negative - TN): το t i εκτιμάται ότι δεν ανήκει στην κατηγορία Cj και πράγματι δεν ανήκει σε αυτήν Ψευδώς αρνητικό (False Negative - FN): το t i εκτιμάται ότι δεν ανήκει στην κατηγορία Cj ενώ στην πραγματικότητα ανήκει σε αυτήν Ένας άλλος τρόπος που επιδεικνύει την ακρίβεια της λύσης σε ένα πρόβλημα κατηγοριοποίησης είναι ο πίνακας σύγχυσης ή μήτρα σύγχυσης (confusion matrix). Με δεδομένες m κατηγορίες μια μήτρα σύγχυσης είναι μια m x m μήτρα όπου κάθε καταχώρηση Ci,j δείχνει τον αριθμό των πλειάδων οι οποίες τοποθετήθηκαν στην κατηγορία Cj αλλά των οποίων η πραγματική κατηγορία είναι η Ci. Όπως καταλαβαίνουμε, οι καλύτερες λύσεις θα έχουν μόνο μηδενικές τιμές έξω από την κύρια διαγώνιο. Μια μήτρα σύγχυσης για τρεις κατηγορίες παρουσιάζεται στον πίνακα 1. Πίνακας 1: Μήτρα σύγχυσης Πραγματική Εκχώρηση κατηγορία Short Medium Tall Short 0 5 0 Medium 0 4 3 Tall 0 1 2-10-

2.4. Κατηγοριοποίηση: Βάσεις Δεδομένων vs Μηχανική Μάθηση Όπως έχει ήδη αναφερθεί σε αυτή την εργασία, η κατηγοριοποίηση είναι μια εφαρμογή της εξόρυξης δεδομένων. Ωστόσο, η κατηγοριοποίηση ως έννοια «διεκδικείται» από δύο, κυρίως, περιοχές της πληροφορικής, την Τεχνητή Νοημοσύνη (ΤΝ) και συγκεκριμένα την περιοχή της Μηχανικής Μάθησης και την περιοχή των Βάσεων Δεδομένων. Στην παράγραφο αυτή περιγράφονται οι δύο διαφορετικές σκοπιές από τις οποίες ερευνούν την κατηγοριοποίηση οι δύο προαναφερθείσες περιοχές. Η ΤΝ περιλαμβάνει, εκτός την κατηγοριοποίηση, και άλλες τεχνικές εξόρυξης δεδομένων όπως για παράδειγμα τα νευρωνικά δίκτυα. Παρόλο αυτά οι εφαρμογές ΤΝ δεν απασχολούνται με το θέμα αντιμετώπισης μεγάλων όγκων δεδομένων και αυτό γιατί συνήθως χειρίζονται μικρά σύνολα δεδομένων. Η Μηχανική Μάθηση είναι η περιοχή της ΤΝ η οποία εξετάζει πώς γράφονται προγράμματα που να μαθαίνουν. Για της σκοπούς της εξόρυξης γνώσης, η Μηχανική Μάθηση χρησιμοποιείται συχνά για πρόβλεψη και κατηγοριοποίηση. Με τη Μηχανική Μάθηση ο υπολογιστής κάνει μια πρόβλεψη και στη συνέχεια, βασιζόμενος σε ανάδραση περί της ορθότητας της πρόβλεψης, «μαθαίνει» από την ανάδραση αυτή. Όταν εμφανιστεί στο μέλλον μια νέα περίπτωση, χρησιμοποιείται η ανάδραση ώστε να γίνει μια νέα πρόβλεψη. Όταν η μηχανική μάθηση εφαρμόζεται για κατηγοριοποίηση, χρησιμοποιείται ένα μοντέλο για να αναπαραστήσει τα δεδομένα. Κατά τη διάρκεια της διαδικασίας της μάθηση, χρησιμοποιείται ένα δείγμα από την Βάση Δεδομένων για να εκπαιδεύσει το σύστημα ώστε αυτό να είναι σε θέση να εκτελεί την κατηγοριοποίηση με όσο το δυνατό μεγαλύτερη επιτυχία (φάση εκπαίδευσης). Στη συνέχεια, το σύστημα εφαρμόζεται στη γενική Βάση Δεδομένων ώστε να εκτελέσει στην πραγματικότητα την κατηγοριοποίηση (φάση ελέγχου). Παρόλο που η Μηχανική Μάθηση αποτελεί τη βάση για πολλά από τα κεντρικά ερευνητικά θέματα της εξόρυξης γνώσης, υπάρχει μια πολύ μεγάλη διαφορά μεταξύ των προσεγγίσεων, παρμένη από τις αρχές της ΤΝ και των Βάσεων Δεδομένων. Πολλή από την έρευνα της Μηχανικής Μάθησης έχει επικεντρωθεί στο μαθησιακό τμήμα παρά στην δημιουργία χρήσιμων πληροφοριών (προβλέψεων) για το χρήστη. Επίσης, η Μηχανική Μάθηση εξετάζει τα θέματα που ίσων είναι δύσκολα για τους ανθρώπους να τα επιτύχουν ή επικεντρώνεται στο πώς να αναπτυχθούν τεχνικές που να μπορούν να μιμηθούν την ανθρώπινη συμπεριφορά. Αντίθετα, ο στόχος της εξόρυξης γνώσης από την πλευρά των Βάσεων Δεδομένων είναι να ανακαλύψει πληροφορίες οι οποίες μπορούν να χρησιμοποιηθούν για να παρέχουν γνώση σε ανθρώπους (όχι να τους αντικαταστήσουν). Αυτές οι δύο αντικρουόμενες απόψεις συνοψίζονται στον πίνακα 2 Πολλοί από τους αλγόριθμους κατηγοριοποίησης δημιουργήθηκαν από την κοινότητα της ΤΝ και πρόσφατα έχουν χρησιμοποιηθεί σε πιο ρεαλιστικές δραστηριότητες εξόρυξης δεδομένων. Όταν εφαρμόζονται αυτού του είδους οι αλγόριθμοι σε Βάσεις Δεδομένων, γεννώνται επιπρόσθετες ανησυχίες και προβλήματα: μέγεθος, πολύπλοκοι τύποι δεδομένων και συσχετίσεις, δεδομένα ελλιπή και με θόρυβο και Βάσεις Δεδομένων οι οποίες ενημερώνονται συχνά. -11-

Πίνακας 2: Διαφορές Βάσεων Δεδομένων και Μηχανικής Μάθησης Βάσεις Δεδομένων Μηχανική Μάθηση Η βάση δεδομένων είναι ενεργή και Η Βάση Δεδομένων είναι στατική εξελισσόμενη Οι εγγραφές μπορεί να περιέχουν Οι Βάσεις Δεδομένων είναι πλήρεις και εσφαλμένες ή ελλιπείς τιμές χωρίς σφάλματα Τα πιο συνήθη πεδία είναι αριθμητικά Τα πιο συνήθη χαρακτηριστικά είναι δυαδικής λογικής Η βάση Δεδομένων αποτελείται από Η Βάση δεδομένων αποτελείται από εκατομμύρια εγγραφών εκατοντάδες στοιχεία Η ΤΝ πρέπει να προσγειωθεί στην πραγματικότητα Όλα τα προβλήματα των Βάσεων Δεδομένων είναι λυμένα Εκτός από τις περιοχές της ΤΝ και των Βάσεων Δεδομένων υπάρχουν και άλλες περιοχές οι οποίες έχουν ασχοληθεί κατά καιρούς με τις τεχνικές της κατηγοριοποίησης και γενικότερα με όλες τις τεχνικές εξόρυξης γνώσης. Αυτές είναι η Στατιστική και η περιοχή της αναγνώρισης προτύπων. Για παράδειγμα, η αναγνώριση ενός χαρακτήρα του ελληνικού αλφάβητου αποτελεί εφαρμογή αναγνώρισης προτύπων αλλά στην ουσία αποτελεί μια εφαρμογή κατηγοριοποίησης, η οποία τοποθετεί τις μελλοντικές περιπτώσεις σε μια από τις 24 κλάσεις (μια για κάθε χαρακτήρα). Στην εργασία αυτή, η κατηγοριοποίηση εξετάζεται από την πλευρά των Βάσεων Δεδομένων η οποία περιλαμβάνει όχι μόνο την μοντελοποίηση αλλά επίσης την ανάπτυξη αποδοτικών αλγορίθμων και δομών δεδομένων για την εκτέλεση της μοντελοποίησης σε μεγάλα σύνολα δεδομένων. 2.5. Παραδείγματα εφαρμογών κατηγοριοποίησης Το παράδειγμα 2.1 παρουσιάζει μια πιθανή εφαρμογή κατηγοριοποίησης, ωστόσο η ζωή μας είναι γεμάτη με παραδείγματα τέτοιου είδους εφαρμογών. Στην παράγραφο αυτή, για να γίνει καλύτερα κατανοητή η έννοια της κατηγοριοποίησης, παρουσιάζονται κάποια παραδείγματα όπου θα μπορούσαν να εφαρμοστούν οι διάφοροι αλγόριθμοι κατηγοριοποίησης. Παράδειγμα 2.2: Οι εταιρείες πιστωτικών καρτών πρέπει να καθορίζουν, αν θα εγκρίνουν αγορές μέσω πιστωτικών καρτών. Ας υποθέσουμε ότι με βάση το αγοραστικό ιστορικό ενός πελάτη κάθε αγορά τοποθετείται σε μια από τις τέσσερις κατηγορίες: 1. Να εγκριθεί, 2.Να ζητηθούν επιπλέον στοιχεία ταυτότητας πριν την έγκριση, 3.Να μην εγκριθεί, 4.Να μην εγκριθεί και να ενημερωθεί και η αστυνομία Οι λειτουργίες εξόρυξης γνώσης εξυπηρετούν δύο σκοπούς. Κατά πρώτον, τα δεδομένα του ιστορικού των πελατών πρέπει να εξεταστούν ώστε να καθοριστεί πώς αυτά ταιριάζουν στις τέσσερις κατηγορίες. Κατά δεύτερον, το πρόβλημα είναι το πώς θα εφαρμοστεί αυτό το μοντέλο σε κάθε μια από τις νέες αγορές Παράδειγμα 2.3: Έστω ότι μια επιχείρηση θέλει να κατηγοριοποίηση τους πελάτες της σύμφωνα με τα credits ratings αυτών. Η Βάση Δεδομένων που διατηρεί διαθέτει δεδομένα ώστε να είναι δυνατή η κατηγοριοποίηση των πελατών σε «excellent» ή «fair» credit ratings. -12-

Το σχήμα 4 δείχνει την διαδικασία της εκπαίδευσης η οποία χρησιμοποιείται για την κατασκευή του μοντέλου κατηγοριοποίησης το οποίο στη συνέχεια χρησιμοποιείται για την κατηγοριοποίηση μελλοντικών πελατών. Σχήμα 4: Διαδικασία κατηγοριοποίησης. α. Εκπαίδευση, β. κατηγοριοποίηση Παράδειγμα 2.4: Έστω ότι έχουμε μια Βάση Δεδομένων πελατών μιας επιχείρησης που εμπορεύεται ηλεκτρονικούς υπολογιστές. Έστω ότι η Βάση Δεδομένων διατηρεί και της διευθύνσεις ηλεκτρονικού ταχυδρομείου των πελατών. Στις διευθύνσεις αυτές αποστέλλεται σε τακτά χρονικά διαστήματα διαφημιστικό υλικό νέων προϊόντων και εκπτώσεων. Η Βάση Δεδομένων περιέχει χαρακτηριστικά πελατών όπως ονοματεπώνυμο, ηλικία, εισόδημα, επάγγελμα και credit ratings. Οι πελάτες μπορούν να κατηγοριοποιηθούν βάσει του ότι έχουν αγοράσει ή όχι ηλεκτρονικό υπολογιστή από την συγκεκριμένη εταιρία. Το να στείλουμε mail σε όλους τους πελάτες της εταιρίας (είτε έχουν αγοράσει ηλεκτρονικό υπολογιστή είτε όχι) ίσως να μην ήταν μια σωστή μια προσέγγιση. Μια καλύτερη λύση είναι το να στείλουμε mail μόνο σε όσους δεν έχουν αγοράσει ηλεκτρονικό υπολογιστή. Ένας αλγόριθμος κατηγοριοποίησης μπορεί να χρησιμοποιηθεί ώστε να κατηγοριοποιήσει τους νέους πελάτες στις δύο κατηγορίες: πελάτες που αγόρασαν υπολογιστή, πελάτες που δεν αγόρασαν υπολογιστή. 2.6. Αλγόριθμοι κατηγοριοποίησης Στην παράγραφο αυτή παρουσιάζονται κάποιοι από τους γνωστούς αλγόριθμους κατηγοριοποίησης που έχουν προταθεί. Ο πίνακας 3 περιέχει τα δεδομένα που θα χρησιμοποιηθούν κατά την διάρκεια αυτής της παραγράφου για την παρουσίαση των αλγορίθμων. Το παράδειγμα αυτό υποθέτει ότι το πρόβλημα μας είναι να κατηγοριοποιήσουμε ενήλικές σαν short, medium ή tall. Ο πίνακας 3 περιέχει μια στήλη για τα ύψη (σε μέτρα). Οι τελευταίες δύο στήλες του πίνακα παρουσιάζουν δύο κατηγοριοποιήσεις που θα μπορούσαν να γίνουν (κατηγοριοποίηση 1 και κατηγοριοποίηση 2). Η κατηγοριοποίηση 1 χρησιμοποιεί την απλή διαίρεση που φαίνεται παρακάτω: -13-

2μ ύψος ψηλός, 1,7μ ύψος < 2μ μέτριος, Ύψος 1,7 κοντός Τα αποτελέσματα της κατηγοριοποίησης 2 απαιτούν ένα πιο πολύπλοκο σύνολο από διαμερίσεις αφού αυτό χρησιμοποιεί δύο χαρακτηριστικά του πίνακα 3, το φύλο και το ύψος. Καταλαβαίνουμε εύκολα ότι όσο περισσότερα χαρακτηριστικά εμπλέκονται στην διαδικασία της κατηγοριοποίησης, τόσο πιο σύνθετο και πολύπλοκο γίνεται το μοντέλο κατηγοριοποίησης. Μια κατηγοριοποίηση που βασίζεται σε μια μόνο τιμή ενός χαρακτηριστικού δεν είναι αξιόλογη. Πίνακας 3: Πίνακας δεδομένων του παραδείγματος κατηγοριοποίησης ατόμων στις κατηγορίες "κοντός", "ψηλός", "μέτριος" Όνομα Φύλο Ύψος (μ) Κατηγοριοποίηση 1 Κατηγοριοποίηση 2 Kristina Θ 1,6 Κοντός Μέτριος Jim Α 2 Ψηλός Μέτριος Maggie Θ 1,9 Μέτριος Ψηλός Martha Θ 1,88 Μέτριος Ψηλός Stephanie Θ 1,7 Κοντός Μέτριος Bob Α 1,85 Μέτριος Μέτριος Kathy Θ 1,6 Κοντός Μέτριος Dave Α 1,7 Κοντός Μέτριος Worth Α 2,2 Ψηλός Ψηλός Steven Α 2,1 Ψηλός Ψηλός Debbie Θ 1,8 Μέτριος Μέτριος Todd Α 1,95 Μέτριος Μέτριος Kim Θ 1,9 Μέτριος Ψηλός Amy Θ 1,8 Μέτριος Μέτριος Wynette Θ 1,75 Μέτριος Μέτριος Μπορούμε να διακρίνουμε πέντε είδη κατηγοριών αλγορίθμων κατηγοριοποίησης. Συγκεκριμένα, υπάρχουν οι: Στατιστικοί αλγόριθμοι κατηγοριοποίησης Αλγόριθμοι κατηγοριοποίησης βασισμένοι στην απόσταση Αλγόριθμοι κατηγοριοποίησης βασισμένοι στα δένδρα απόφασης Αλγόριθμοι κατηγοριοποίησης βασισμένοι στα Νευρωνικά Δίκτυα Αλγόριθμοι κατηγοριοποίησης βασισμένη σε κανόνες 2.6.1. Αλγόριθμοι Βασισμένοι στην απόσταση Η βασική ιδέα αυτών των αλγορίθμων είναι ότι κάθε στοιχείο του συνόλου δεδομένων που απεικονίζεται στην ίδια κατηγορία θεωρείται ότι είναι πιο κοντά σε στοιχεία της ίδιας κατηγορίας από όσο είναι σε στοιχεία τα οποία ανήκουν σε άλλες κατηγορίες. Έτσι, μπορούν να χρησιμοποιηθούν μέτρα ομοιότητας (ή απόστασης) ώστε να οριστεί η «ομοιότητα» των διαφορετικών στοιχείων της Βάσης Δεδομένων. -14-

Ορισμός 2.3: Η ομοιότητα ανάμεσα σε δύο πλειάδες t i και t j, sim (t i, t j ), σε μια Βάση Δεδομένων είναι μια απεικόνιση από το D x D στο διάστημα [0, 1]. Έτσι sim (t i, t j ) [0, 1]. Ο Αντικειμενικός σκοπός είναι να οριστεί η απεικόνιση της ομοιότητας με τρόπο ώστε οι πλειάδες που μοιάζουν μεταξύ τους περισσότερο να έχουν μεγαλύτερη τιμή ομοιότητας. Έτσι τα παρακάτω είναι επιθυμητά χαρακτηριστικά ενός καλού μέτρου ομοιότητας: t i D, sim( ti, t j ) = 1 t i, t j D, sim( ti, t j ) = 0 αν τα t i και t j δεν μοιάζουν καθόλου μεταξύ τους t i, t j, tk D, sim( ti, t j ) < sim( ti, tk ) αν το t i μοιάζει περισσότερο με το t k παρά με το t j Η δυσκολία στην εφαρμογή των μέτρων ομοιότητας είναι το πώς αυτά θα εφαρμοστούν στα στοιχεία της Βάσης Δεδομένων και αυτό γιατί τα περισσότερα μέτρα ομοιότητας υποθέτουν ότι οι τιμές είναι αριθμητικές (και συχνά διακριτές) και ίσως είναι δύσκολο να χρησιμοποιηθούν σε περισσότερα γενικά και αφηρημένα είδη δεδομένων. Θα πρέπει να αναφερθεί το ότι η χρήση ενός μέτρου ομοιότητας για μια κατηγοριοποίηση οπού οι κατηγορίες έχουν προκαθοριστεί (εποπτευμένη μάθηση), είναι κάπως απλούστερη από την χρήση ενός μέτρου ομοιότητας σε μια συσταδοποίηση (clustering μη εποπτευμένη μάθηση), όπου οι κατηγορίες δεν είναι γνωστές εκ των προτέρων. Τώρα, ας δούμε μερικά είδη αποστάσεων που χρησιμοποιούνται σαν μέτρα ομοιότητας ανάμεσα σε πλειάδες μιας Βάσης Δεδομένων. Το κάθε πεδίο μιας εγγραφής θεωρείται και μια διαφορετική διάσταση. Έτσι μια πλειάδα θεωρείται ένα σημείο στο χώρο το ν διαστάσεων. α. Ευκλείδεια απόσταση d ij = p k = 1 ( x ik x jk ) 2 β. Σταθμισμένη Ευκλείδεια απόσταση d ij = p k = 1 w 2 k ( x ik x jk ) 2 Όπου w k είναι κάποια βάρη που χρησιμοποιούνται για να εξισορροπήσουν την σημαντικότητα των χαρακτηριστικών (διαστάσεων) γ. Απόσταση Manhattan δ. Απόσταση Minkowski d d ij ij = p k = 1 x p = x k = 1 ik ik x x jk jk λ 1/ λ όπου λ είναι ένας ακέραιος. Αν λ=1, τότε έχουμε την απόσταση Manhattan. Αν λ=2, τότε έχουμε την απόσταση Ευκλείδεια απόσταση. Ο ρόλος του λ, όταν αυξάνεται, είναι να μεγεθύνει την απόσταση ανάμεσα στο πιο ανόμοια στοιχεία σε σχέση με τα πιο όμοια. Υπάρχουν και άλλες, λιγότερο γνωστές, αποστάσεις που έχουν εμφανιστεί στην βιβλιογραφία. Συγκεκριμένα, έχουν προταθεί ως μέτρα ομοιότητας η απόσταση Canberra, ο -15-