«Ομαδοποίηση δεδομένων Κοινωνικού Ιστού»

Σχετικά έγγραφα
Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

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

Ομαδοποίηση Ι (Clustering)

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Ανάκτηση πολυμεσικού περιεχομένου

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Ομαδοποίηση ΙΙ (Clustering)

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Ανάλυση κατά Συστάδες. Cluster analysis

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

Εννοιολογική Ομοιογένεια

ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ. Εξόρυξη Δεδομένων. Ανάλυση Δεδομένων. Η διαδικασία εύρεσης κρυφών (ήκαλύτεραμηεμφανών) ιδιοτήτων από αποθηκευμένα δεδομένα,

Εξόρυξη Δεδομένων. Συσταδοποίηση: Βασικές Έννοιες και Μέθοδοι

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

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΚΕΦΑΛΑΙΟ 3. Περιγραφή της Μεθόδου ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΜΕΘΟΔΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

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

Ανάκτηση Πληροφορίας

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

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

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

φροντιστήρια Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής

Μεθοδολογίες Αξιοποίησης Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος

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

Πρόβλημα 37 / σελίδα 207

Ευφυής Προγραμματισμός

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Διδακτική της Πληροφορικής ΙΙ

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15

Προγραμματισμός ΙI (Θ)

P-Μiner : ιαχείριση Πυλών Καταλόγων (Portals) µε Υποστήριξη ιαδικασιών Εξόρυξης εδοµένων Χρήσης

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή

Βιοστατιστική ΒΙΟ-309

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Ενότητα 1: Εισαγωγή. ΤΕΙ Στερεάς Ελλάδας. Τμήμα Φυσικοθεραπείας. Προπτυχιακό Πρόγραμμα. Μάθημα: Βιοστατιστική-Οικονομία της υγείας Εξάμηνο: Ε (5 ο )

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Επαναληπτικές μέθοδοι

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Βιοστατιστική ΒΙΟ-309

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

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining)

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ενδεικτικές Ερωτήσεις Θεωρίας

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

Πληροφορική 2. Δομές δεδομένων και αρχείων

Διαχείριση Πολιτισμικών Δεδομένων

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

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

Περιεχόμενα. 2 Αριθμητικά συστήματα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

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

Μαθησιακές δραστηριότητες με υπολογιστή

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

Εφαρμογές Προσομοίωσης

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΓΙΑΝΝΑΚΙΔΟΥ ΕΙΡΗΝΗ (Α.Μ. 49) «Ομαδοποίηση δεδομένων Κοινωνικού Ιστού» Επιβλ. Καθηγήτρια Αθηνά Βακάλη Θεσσαλονίκη Ιούλιος 2007 1

2

Πίνακας Περιεχομένων Περίληψη... 5 Εισαγωγή... 7 1.1 Αντικείμενο διπλωματικής...7 1.2 Σενάρια χρήσης...9 Ομαδοποίηση δεδομένων Πρακτικές & Αλγόριθμοι... 11 Γενικά Εισαγωγή...11 2.1 Σημειογραφία...14 2.2 Τύποι Δεδομένων στην Ανάλυση Ομάδων και Συναρτήσεις Απόστασης...15 2.2.1 Συνεχείς Αριθμητικές Τιμές...16 2.2.2 Δυαδικές Τιμές...18 2.2.3 Κατηγορικές Τιμές...18 2.2.4 Τιμές κατάταξης...19 2.3 Κατηγοριοποίηση Πρακτικών Ομαδοποίησης...19 2.3.1 Ιεραρχική Ομαδοποίηση...21 2.3.1.1 Αλγόριθμος BIRCH...24 2.3.1.2 Αλγόριθμος CURE...25 2.3.1.3 Αλγόριθμος Chameleon...26 2.3.1.4 Αλγόριθμος COBWEB...28 2.3.2 Ομαδοποίηση με τμηματοποίηση...29 2.3.2.1 Πιθανοκρατική Ομαδοποίηση...30 2.3.2.2 Ομαδοποίηση k-μεσαίων...32 2.3.2.3 Ομαδοποίηση k-μέσων (k-means)...34 2.3.3 Ομαδοποίηση με βάση την πυκνότητα...37 2.3.3.1 Αλγόριθμος DBSCAN...38 2.3.3.2 Αλγόριθμος OPTICS...39 2.3.3.3 Αλγόριθμος DENCLUE...40 2.3.4 Συνεύρεση κατηγορικών δεδομένων...42 2.3.4.1 Αλγόριθμος ROCK...43 2.3.4.2 Αλγόριθμος SNN...44 2.3.4.3 Αλγόριθμος CACTUS...44 2.3.5 Άλλες Τεχνικές Ομαδοποίησης...45 2.3.5.1 Ομαδοποίηση με βάση περιορισμούς...45 2.3.5.2 Εξελικτικές Μέθοδοι...46 2.4 Γενικά Αλγοριθμικά θέματα...49 2.4.1 Επεκτασιμότητα σε μεγάλα σύνολα δεδομένων...49 2.4.2 Δεδομένα με μεγάλο αριθμό διαστάσεων...50 2.4.3 Εκτίμηση αποτελεσμάτων...52 2.4.4 Αριθμός ομάδων...53 2.4.5 Προ-επεξεργασία δεδομένων...54 2.4.6 Μετρικές απόστασης...56 2.4.7 Χειρισμός οριακών τιμών...56 Web 2.0 Κοινωνικά Δεδομένα... 57 Γενικά - Εισαγωγή...57 3.1 Κοινωνικός Ιστός...58 3.1.1 Πλατφόρμα Ανάπτυξης...60 3.1.2 Ρόλος Χρηστών...60 3.1.3 Χειρισμός Δεδομένων...62 3

3.1.4 Εφαρμογές...63 3.1.5 Μοντέλα Προγραμματισμού...64 3.1.6 Διεπαφή με τους χρήστες...65 3.1.7 Συμβατές Συσκευές...66 3.2 Συστήματα Συλλογικής Κοινωνικής Σήμανσης...66 3.2.1 Τυπικό Μοντέλο...69 3.2.2 Κατηγοριοποίηση ΣΣΚΣ...70 3.2.3 Κατηγοριοποίηση ετικετών...73 3.2.4 Δυναμική ΣΣΚΣ...74 3.2.5 Προβληματισμοί και προτεινόμενες λύσεις...78 3.3 Το σύστημα Flickr...79 3.3.1 Σχέσεις μεταξύ οντοτήτων του Flickr...81 3.3.2 Προγραμματιστική Διεπαφή Flickr...82 Ομαδοποίηση μεταδεδομένων Flickr... 87 Γενικά Εισαγωγή...87 4.1 Αρχιτεκτονική Συστήματος...90 4.2 Crawler...92 4.3 Επιλογέας χαρακτηριστικών...96 4.4 Μονάδα Μέτρησης Ομοιότητας μεταξύ ετικετών...97 4.4.1 Υπολογισμός Σημασιολογικής Ομοιότητας...100 4.4.1.1 Το WordΝet...100 4.4.1.2 WordNet.NET...102 4.4.1.3 Αποσαφήνιση Εννοιών...102 4.4.1.4 Σημασιολογική ομοιότητα μεταξύ δύο εννοιών...104 4.4.1.5 Σημασιολογική ομοιότητα μεταξύ προτάσεων...106 4.4.2 Υπολογισμός Κοινωνικής Ομοιότητας...108 4.5 Αλγόριθμοι Ομαδοποίησης...109 4.6 Έξοδος Συστήματος...110 Πειραματικά Αποτελέσματα... 111 Γενικά Εισαγωγή...111 5.1 Σύνολο Δεδομένων...111 5.2 Προγραμματιστικά Εργαλεία...112 5.3 Ανάλυση αποτελεσμάτων...112 5.3.1 Παραλλαγές αλγορίθμων ομαδοποίησης...113 5.3.1.1 Αλγόριθμος k-μέσων...113 5.3.1.2 Ιεραρχικός Αλγόριθμος ομαδοποίησης...122 5.3.1.3 Αλγόριθμος COBWEB...135 5.3.1.4 Γενική Εκτίμηση - Σύγκριση αλγορίθμων...141 5.3.2 Επιλογή χαρακτηριστικών στην ομαδοποίηση...146 5.3.3 Παράγοντας w στην ομαδοποίηση...150 Επίλογος... 151 6.1 Γενικά Συμπεράσματα...151 6.2 Μελλοντικές Κατευθύνσεις...151 Βιβλιογραφία... 152 4

Περίληψη Την τελευταία διετία το ενδιαφέρον μεγάλης μερίδας των χρηστών του διαδικτύου έ- χουν προσελκύσει τα Συστήματα Συλλογικής Κοινωνικής Σήμανσης (π.χ. Flickr, del.icio.us). Τα συστήματα αυτά παρέχουν στο χρήστη τη δυνατότητα να ανεβάζει και να περιγράφει πόρους στο διαδίκτυο, χρησιμοποιώντας ετικέτες που επιλέγει ο ίδιος. Ταυτόχρονα επιτρέπουν στον καθένα να έχει πρόσβαση, τόσο στο περιεχόμενο, όσο και στα μεταδεδομένα άλλων χρηστών. Ο βασικός λόγος για την τεράστια επιτυχία τους είναι ότι δε χρειάζονται εξειδικευμένες γνώσεις για να συμμετέχει κάποιος στην περιγραφή του περιεχομένου και το αποτέλεσμα αυτής της συλλογικής σήμανσης έχει όφελος για όλους τους χρήστες (π.χ. γρήγορη, μόνιμη οργάνωση του περιεχομένου), χωρίς να έχει μεγάλο κόστος. Πράγματι, πολύ μεγάλος αριθμός χρηστών δημιούργησαν, ήδη, χρήσιμη πληροφορία εξαιρετικά σημαντικού μεγέθους σε πολύ μικρό διάστημα. Ωστόσο, η πληροφορία αυτή δε μπορεί να αξιοποιηθεί στο έπακρό της, καθώς δεν έχει δομή. Οι ετικέτες ανήκουν σε ένα επίπεδο (έλλειψη ιεραρχίας), χωρίς σχέσεις μεταξύ τους και αυτό μειώνει την ικανότητα ανάκτησης περιεχομένου από ένα τέτοιο σύστημα. Μία προσέγγιση για την εξόρυξη της πληροφορίας ενός Συστήματος Συλλογικής Κοινωνικής Σήμανσης, εξαλείφοντας ταυτόχρονα τα εγγενή μειονεκτήματά του, είναι η ομαδοποίηση των δεδομένων του και η αξιοποίηση των σχέσεων και της σημασιολογίας που εξάγονται για την κάθε ομάδα δεδομένων (emergent semantics). Στην παρούσα διπλωματική εργασία υλοποιείται η ομαδοποίηση των κοινωνικών δεδομένων που προέρχονται από ένα Σύστημα Συλλογικής Κοινωνικής Σήμανσης. Συγκεκριμένα, χρησιμοποιείται το Flickr και τα κοινωνικά δεδομένα, που θέλουμε να μελετήσουμε και στα οποία θα εφαρμόσουμε την ομαδοποίηση είναι οι εικόνες και οι ετικέτες των χρηστών σε αυτές. Οι ομάδες των εικόνων θα προκύπτουν με βάση την ομοιότητα των ετικετών τους. Κάθε ομάδα δεδομένων, που σχηματίζεται, θα προέρχεται από κάποιο πεδίο και θα αντιστοιχεί σε ένα συγκεκριμένο θέμα. Ο στόχος είναι η ανεύρεση κρυφών θεμάτων (hidden topics), που θα προκύπτουν από την κατηγοριοποίηση και η ανίχνευση των όρων-εννοιών που χρησιμοποιούν οι χρήστες, για να περιγράψουν τα συγκεκριμένα πεδία. Η διάρθρωση της εργασίας είναι η ακόλουθη: Στο πρώτο κεφάλαιο γίνεται μία σύντομη εισαγωγή στο πρόβλημα και παρουσιάζονται ιδέες για τον περιορισμό του. Περιγράφεται συνοπτικά το σύστημα που υλοποιήθηκε στη συγκεκριμένη εργασία και ακολουθούν κάποια σενάρια χρήσης αυτού. Στο δεύτερο κεφάλαιο γίνεται μία εκτενής ανάλυση των πρακτικών ομαδοποίησης που χρησιμοποιούνται για διάφορους τύπους δεδομένων και αναφέρονται μέθοδοι, για να αντιμετωπιστούν δύσκολες καταστάσεις, όπως μεγάλα σύνολα δεδομένων, δεδομένα με θόρυβο, κ.α. Στο τρίτο κεφάλαιο, αρχικά, γίνεται μία εισαγωγή στον Κοινωνικό Ιστό, που αποτελεί ένα γενικότερο πλαίσιο τεχνολογιών, στις οποίες ανήκουν και τα Συστήματα Συλλογικής Κοινωνικής Σήμανσης. Ακολουθεί μία αναλυτική περιγραφή της δομής και των 5

δυναμικών των εν λόγω συστημάτων και καταλήγει με την παρουσίαση του Flickr, καθώς αυτό είναι το σύστημα που θα μας απασχολήσει στην παρούσα εργασία. Στο τέταρτο κεφάλαιο παρουσιάζεται αναλυτικά το σύστημα που υλοποιήθηκε στη συγκεκριμένη εργασία, η αρχιτεκτονική του και οι επί μέρους συνιστώσες του. Στο πέμπτο κεφάλαιο δίνονται τα πειραματικά αποτελέσματα και γίνεται μία ανάλυση αυτών. Τέλος, στο έκτο κεφάλαιο παραθέτονται τελικά συμπεράσματα και ιδέες για μελλοντική έρευνα. 6

Κεφάλαιο 1 Εισαγωγή 1.1 Αντικείμενο διπλωματικής Όπως ο κόσμος αλλάζει διαρκώς, κατά τον ίδιο τρόπο θα πρέπει η γνώση που τον απεικονίζει να εξελίσσεται ασταμάτητα, ώστε να αναπαριστά πιστά τις πληροφορίες, στις οποίες αναφέρεται. Στην εποχή μας, η τεχνολογία, και συγκεκριμένα ο Παγκόσμιος Ι- στός αποτελεί, πλέον, τον κύριο φορέα γνώσης και μετάδοσης πληροφοριών και είναι σαφές ότι δεν πρέπει να απομονώνεται από το κοινωνικό πλαίσιο μέσα στο οποίο διαμορφώνονται και εξελίσσονται οι εκάστοτε πληροφορίες. Τα τελευταία χρόνια γίνεται μια προσπάθεια επέκτασης του Παγκόσμιου Ιστού στο λεγόμενο Σημασιολογικό Ιστό (Semantic Web). Στο Σημασιολογικό Ιστό οι πληροφορίες που βρίσκονται αποθηκευμένες σε ιστοσελίδες, σε βάσεις δεδομένων, σε αρχεία καθορισμού του προφίλ χρηστών, και άλλα δομούνται με τέτοιο τρόπο, ώστε να είναι κατανοητές από τις διαδικασίες αυτού, όπως είναι οι μηχανές αναζήτησης, ανάκτησης και επεξεργασίας πληροφορίας. Με αυτόν τον τρόπο επιτυγχάνονται υψηλά επίπεδα αυτοματοποίησης, αλλά και η ποιότητα των αποτελεσμάτων που επιστρέφονται στο χρήστη είναι η βέλτιστη δυνατή. Για την επίτευξη αυτού του στόχου, η πληροφορία θα πρέπει να διαθέτει αυστηρά καθορισμένη (τυπική) σημασιολογία. Η αρχιτεκτονική που έχει προταθεί είναι αυτή των οντολογιών. Οι οντολογίες κατασκευάζονται από ανθρώπους ειδικούς, πάνω στον τομέα της γνώσης που αναπαριστάται σε αυτές. Οι συνεχείς μεταβολές της κοινωνίας όμως μπορούν πολύ σύντομα να καταστήσουν άκυρη την κωδικοποιημένη γνώση μιας οντολογίας. Αυτή τη μεταβαλλόμενη διάσταση της πληροφορίας προσπαθεί να αποδώσει ένας, σχετικά, νέος τρόπος αναπαράστασης γνώσης, η αναδυόμενη σημασιολογία (emergent semantics). Με τον όρο αναδυόμενη σημασιολογία εννοούμε τη σημασιολογία που προκύπτει από τις αλληλεπιδράσεις ενός μεγάλου αριθμού ανθρώπων ή/και πρακτόρων, που αποτελούν μέλη μιας κοινωνίας. Με αυτόν τον τρόπο, η γνώση θα αναδύεται μέσα από το σύστημα, μέσω των αλληλεπιδράσεων όλων των μελών του και δε θα είναι ένα καθορισμένο τεχνητό δημιούργημα μιας συγκεκριμένης ομάδας ανθρώπων. 7

Τα Συστήματα Συλλογικής / Κοινωνικής Σήμανσης, ΣΣΚΣ (social tagging systems) βασίζονται στην αναδυόμενη σημασιολογία, που προκύπτει από μια κοινωνία χρηστών. Τα ΣΣΚΣ, επιτρέποντας τον κάθε χρήστη να δίνει τη δική του σήμανση, υπό μορφή ετικετών (tags), σε ψηφιακά αντικείμενα και κάνοντας διαθέσιμα αυτά τα μεταδεδομένα στο σύνολο των χρηστών, μπορούν να θεωρηθούν ότι αποτελούν έναν καθρέπτη του τρόπου σκέψης των μελών της κοινωνίας που τα χρησιμοποιεί. Οι χρήστες μέλη ενός ΣΣΚΣ, που αποτελούν βασική συνιστώσα του, δεν είναι ανεξάρτητοι ο ένας από τον άλλο, αλλά υπάρχουν σχέσεις δεσμοί (social networks) μεταξύ τους, όπως σε μια πραγματική κοινωνία. Ωστόσο, ενώ τα κοινωνικά δεδομένα είναι πολλά υποσχόμενα ως πηγή πλούσιας πληροφορίας, η αξιοποίησή τους περιορίζεται εξαιτίας κάποιων μειονεκτημάτων τους. Συγκεκριμένα, το γεγονός ότι διαφορετικοί χρήστες χρησιμοποιούν την ίδια λέξη, για να περιγράψουν διαφορετικές έννοιες (ομωνυμία) ή διαφορετικές λέξεις, για να περιγράψουν την ίδια έννοια (συνωνυμία), μειώνει την ικανότητα ανάκτησης του συστήματος, με αποτέλεσμα οι χρήστες είτε να χάνουν σχετική πληροφορία είτε να πρέπει να ψάξουν αυτό που τους ενδιαφέρει σε πολλά περιττά δεδομένα, που τους έχει επιστρέψει το σύστημα. Ένα άλλο μειονέκτημα είναι η έλλειψη ιεραρχίας στη δομή της πληροφορίας. Πράγματι, όλες οι ετικέτες ενός ΣΣΚΣ βρίσκονται σε ένα επίπεδο και αυτό μειώνει την αποτελεσματικότητα της πλοήγησης σε ένα τέτοιο σύστημα. Συγχρόνως, καθιστά δύσκολη τη σύνδεση τέτοιων συστημάτων με οντολογίες και την εξαγωγή συμπερασμάτων. Μία προσέγγιση για την εξόρυξη της πληροφορίας ενός ΣΣΚΣ, εξαλείφοντας ταυτόχρονα τα εγγενή μειονεκτήματα ενός τέτοιου συστήματος είναι η ομαδοποίηση των δεδομένων του και η αξιοποίηση των σχέσεων και της σημασιολογίας που προκύπτουν για την κάθε ομάδα δεδομένων (emergent semantics). Συγκεκριμένα, κάθε ομάδα δεδομένων θα προέρχεται από κάποιο πεδίο και θα αντιστοιχεί σε ένα συγκεκριμένο θέμα, συνεπώς θα αντανακλά τις γνώμες των χρηστών για το συγκεκριμένο θέμα. Η άντληση των δεδομένων κάθε ομάδας αναμένεται να αναδείξει συσχετιζόμενες έννοιες (έννοιες που οι χρήστες, για κάποιον λόγο, συνηθίζουν να χρησιμοποιούν μαζί). Από τις συσχετιζόμενες έννοιες μπορεί να προκύψουν ιεραρχίες μεταξύ των εννοιών και συνώνυμες έννοιες. Επίσης, μέσω της πληροφορίας πλαισίου (υπόλοιπες έννοιες στην ομάδα, context) μπορεί να γίνει διαχωρισμός μεταξύ των ομώνυμων εννοιών. H σημασιολογία που θα προκύψει μπορεί να χρησιμοποιηθεί για εμπλουτισμό κλασσικών μεθόδων αναπαράστασης γνώσης (π.χ. οντολογιών), με αποτέλεσμα οι τελευταίες να ενσωματώσουν τις γνώσεις απόψεις όλων των χρηστών, καθώς και τη διάσταση του χρόνου. Στην παρούσα διπλωματική υλοποιείται το πρώτο βήμα της παραπάνω προσέγγισης, δηλαδή η ομαδοποίηση των κοινωνικών δεδομένων που προέρχονται από ένα ΣΣΚΣ. Συγκεκριμένα, χρησιμοποιείται το ΣΣΚΣ Flickr και τα κοινωνικά δεδομένα, που θέλουμε να μελετήσουμε και στα οποία θα εφαρμόσουμε την ομαδοποίηση είναι οι εικόνες και οι ετικέτες των χρηστών σε αυτές. Οι ομάδες των εικόνων θα προκύπτουν με βάση την ομοιότητα των ετικετών τους. Στην ομοιότητα μεταξύ ετικετών λαμβάνεται υπόψη η σημασιολογική και κοινωνική τους ομοιότητα. Με τον όρο Κοινωνική Ο- μοιότητα αναφερόμαστε στη σχέση ομοιότητα μεταξύ δύο ετικετών, η οποία αναδεικνύεται αποκλειστικά και μόνο από τη δραστηριότητα των χρηστών του ΣΣΚΣ. Κάθε ομάδα δεδομένων, που προκύπτει, θα προέρχεται από κάποιο πεδίο και θα αντιστοιχεί σε ένα συγκεκριμένο θέμα. Ο στόχος είναι η ανεύρεση κρυφών θεμάτων (hid- 8

den topics), που θα προκύπτουν από την κατηγοριοποίηση και η ανίχνευση των όρωνεννοιών που χρησιμοποιούν οι χρήστες, για να περιγράψουν τα συγκεκριμένα πεδία. Η ομαδοποίηση αναμένεται να συντελέσει στην ανάδειξη ιεραρχικών σχέσεων μεταξύ των ετικετών και γενικότερα στην ανάδειξη σημασιολογίας (emergent semantics). 1.2 Σενάρια χρήσης Η εφαρμογή κοινωνικών δεδομένων μπορεί να έχει τις ακόλουθες εφαρμογές: Χρήση εννοιών και αναδυόμενων σχέσεων για εμπλουτισμό κλασσικών μεθόδων αναπαράσταση γνώσης (π.χ. οντολογίες). Σε ένα ΣΣΚΣ η συλλογή και αναπαράσταση των μεταδεδομένων είναι μια κατανεμημένη διαδικασία, η οποία ανατίθεται αποκλειστικά στους χρήστες του συστήματος. Σε αντίθεση με τα συγκεντρωτικά συστήματα, όπου κάποιος, κατά κανόνα ειδικός, αναλαμβάνει την οργάνωση της πληροφορίας (π.χ. οντολογίες), στα ΣΣΚΣ οι ίδιοι οι χρήστες οργανώνουν το περιεχόμενο, περιγράφοντας τους πόρους του συστήματος με ετικέτες. Οι ετικέτες έχουν ζωτική σημασία, σε ένα τέτοιο σύστημα, αφού με βάση αυτές γίνεται η αναζήτηση και πλοήγηση. Τα συστήματα αυτά έχουν το πλεονέκτημα ότι δεν είναι στατικά, αλλά εξελίσσονται στο χρόνο, καθώς εμπλουτίζονται διαρκώς με νέο περιεχόμενο, νέες περιγραφές και νέους χρήστες-μέλη. Συνεπώς, οι σύνδεσή τους με οντολογίες θα κρατάει τις τελευταίες ενημερωμένες και θα γεφυρώσει το χάσμα που συνήθως υπάρχει μεταξύ των οντολογιών και των χρηστών. Ένα εντυπωσιακό χαρακτηριστικό των ΣΣΚΣ, το οποίο αναλύεται στο Κεφάλαιο 3 είναι ότι ύστερα από έναν αριθμό περιγραφών σε έναν πόρο (συνήθως 100 χρήστες), τα ποσοστά των ετικετών που αποδίδονται σε αυτόν παγώνουν και δε μεταβάλλονται, παρόλο που νέοι χρήστες συνεχίζουν να του αποδίδουν ετικέτες. Όταν επιτευχθεί αυτή η σύγκλιση στα ποσοστά των ετικετών, τότε μπορούμε να πάρουμε σχέσεις μεταξύ των ετικετών (αναδυόμενες), όπως σχέσεις κλάσης υπερκλάσης (π.χ. η ετικέτα music συναντάται πολύ συχνά με την ετικέτα piano και με άλλες ετικέτες, ενώ δε η ετικέτα piano δε συναντάται συχνά χωρίς τη music η music αντιστοιχεί σε μία πιο ευρεία έννοια της λέξης piano). Συνεισφορά στην Ανάλυση Εικόνων. Στην Ανάλυση Εικόνων επιχειρείται η περιγραφή μιας εικόνας αυτόματα (από ένα υπολογιστικό σύστημα) κυρίως με εξαγωγή οπτικών χαρακτηριστικών της εικόνας (visual features) σε συνδυασμό με κάποια προϋπάρχουσα γνώση (πληροφορία) για το πεδίο. Ένα συχνό πρόβλημα που αντιμετωπίζεται στη διαδικασία της συλλογιστικής των πολυμέσων είναι η έλλειψη επαρκούς ποσότητας πληροφορίας, η οποία δυσχεραίνει την ακριβή και αποτελεσματική σύνθεση περιγραφών ανώτερου σημασιολογικού περιεχομένου. Για το λόγο αυτό κρίνεται απαραίτητη η μελέτη και ανάπτυξη μεθόδων εξαγωγής και αξιοποίησης της πληροφορίας πλαισίου (contextual information) κατά τη διαδικασία της συλλογιστικής. Η μοντελοποίηση και εκμετάλλευση της πληροφορίας πλαισίου θα οδηγήσει στην εξαγωγή περιγραφών ανώτερου σημασιολογικού περιεχομένου με μεγαλύτερη ακρίβεια και αποτελεσματικότητα, αλλά ακόμα και στο σχηματισμό πιο εξειδικευμένων περιγραφών ανάλογα με το εκάστοτε πεδίο εφαρμογής. 9

Οι ετικέτες των χρηστών μπορούν να παίξουν το ρόλο της πληροφορίας πλαισίου για τις εικόνες και να βοηθήσουν στην αυτόματη εξαγωγή της περιγραφής. Αντίστροφα, και η ανάλυση εικόνων μπορεί να βοηθήσει, ώστε να ξεπεραστούν ορισμένα προβλήματα των ΣΣΚΣ (π.χ. συνωνυμία) και να συμβάλλει στη βελτίωση της ανάκτησης πληροφορίας. Προτάσεις Συστάσεις (Recommendations). Όπως αναλύεται στο Κεφάλαιο 3, σε ένα ΣΣΚΣ ορίζονται σχέσεις μεταξύ όλων των συνιστωσών του (χρήστες ετικέτες πόροι). Οι σχέσεις αυτές υποδηλώνουν ενδιαφέροντα χρηστών και μπορούν να αξιοποιηθούν, για να χτίσουν προφίλς. Τα προφίλς θα χρησιμοποιηθούν ως βάση, για να γίνονται προτάσεις στους χρήστες από το σύστημα. 10

Κεφάλαιο 2 Ομαδοποίηση δεδομένων Πρακτικές & Αλγόριθμοι Γενικά Εισαγωγή Σε αυτό το κεφάλαιο θα κάνουμε μία ανασκόπηση σχετικά με τις πρακτικές ομαδοποίησης, που χρησιμοποιούνται σε διάφορα σύνολα δεδομένων. Ομαδοποίηση (clustering) ονομάζεται η διαδικασία της ένταξης ενός συνόλου αντικειμένων σε ομάδες (clusters) ομοειδών αντικειμένων. Στόχος της ομαδοποίησης είναι να υπάρχει μεγάλη ομοιότητα ανάμεσα στα αντικείμενα που ανήκουν στην ίδια ομάδα και, ταυτόχρονα, ανομοιομορφία μεταξύ αντικειμένων διαφορετικών ομάδων. Η αναπαράσταση των δεδομένων σαν ένα σύνολο από ομάδες, αναπόφευκτα έχει ως αποτέλεσμα την απώλεια κάποιου μικρού μέρους της πληροφορίας που εμπεριέχεται σε αυτά, αλλά καθιστά την διαχείρισή τους πιο εύκολη, ταχύτατη και αποδοτική και για το λόγο αυτό, έχει απασχολήσει μεγάλη μερίδα ερευνητών από αρκετά επιστημονικά πεδία Η διαδικασία της ομαδοποίησης έχει τις ρίζες της στον άνθρωπο και, συγκεκριμένα, αποτελεί, μία σημαντική έμφυτη ανθρώπινη λειτουργία. Από τα πρώτα στάδια της ζωής του, ένας άνθρωπος οργανώνει ασυναίσθητα τα ερεθίσματα που δέχεται σε ομάδες. Με αυτόν τον τρόπο μαθαίνει υποσυνείδητα να κάνει διάκριση μεταξύ ανόμοιων αντικειμένων. Τα πρωταρχικά αυτά σχήματα ομαδοποίησης εμπλουτίζονται και βελτιώνονται καθ όλη τη διάρκεια ζωής του ατόμου. Στις μέρες μας, η ανάγκη για ομαδοποίηση δεδομένων σε σχήματα, ομάδες ή μορφές είναι ένα πρόβλημα που εμφανίζεται σε πάρα πολλές περιπτώσεις περιεχομένων, κειμένων και, γενικότερα, αναπαραστάσεων και αποτελεί βασικό αντικείμενο έρευνας σε επιστημονικές περιοχές, όπως η Εξόρυξη Δεδομένων, η Στατιστική, η Αναγνώριση Προτύπων, η Μηχανική Μάθηση και πολλές άλλες. Αυτός είναι και ο λόγος για τον οποίο έγιναν και γίνονται πολυάριθμες ερευνητικές εργασίες και αναλύσεις στο χώρο αυτό, που έχουν οδηγήσει στην ανάπτυξη ενός πλήθους εφαρμογών. Συγκεκριμένα, ο- ρισμένες ενδεικτικές εφαρμογές της ομαδοποίησης αφορούν τη χρήση της από επιχειρήσεις για εύρεση ομάδων πελατών με παρόμοια συμπεριφορά, τη χρήση της από τη βιολογία για την ταξινόμηση φυτών, ζώων, γονιδίων, καθώς και τη χρήση της από την πληροφορική για ανάκτηση πληροφορίας από ένα σύνολο δεδομένων. 11

Στη Στατιστική, η ανάλυση ομάδων μελετάται συστηματικά τα τελευταία χρόνια με ιδιαίτερη έμφαση στην ομαδοποίηση που προκύπτει με βάση την απόσταση (distancebased). Πράγματι, στα κυριότερα πακέτα λογισμικού στατιστικής ανάλυσης, όπως τα S-Plus 1, SPSS 2 και SAS 3, έχουν συμπεριληφθεί αρκετοί υλοποιημένοι αλγόριθμοι ο- μαδοποίησης δεδομένων. Στη Μηχανική Μάθηση, η ομαδοποίηση αποτελεί ένα παράδειγμα μάθησης χωρίς επίβλεψη, η οποία οδηγεί στην εύρεση προτύπων μεταξύ των δεδομένων, καθένα από τα οποία αντιστοιχίζεται σε μία ξεχωριστή ομάδα. Σε αντίθεση με την κατηγοριοποίηση, που είναι ένας τρόπος μάθησης με επίβλεψη και απαιτεί τη χρήση ενός συνόλου δεδομένων εκπαίδευσης, στην ομαδοποίηση δεν υπάρχει προκαθορισμένος αριθμός ομάδων ούτε δεδομένα εκπαίδευσης. Για αυτό το λόγο η ομαδοποίηση μπορεί να θεωρηθεί ως ένας τρόπος μάθησης με παρατήρηση, σε αντίθεση με την μάθηση μέσα από παραδείγματα. Στην Εξόρυξη Δεδομένων, προστίθενται στο πρόβλημα της ομαδοποίησης κι άλλες παράμετροι δυσκολίας, εξαιτίας του πολύ μεγάλου μεγέθους και της πολυδιάστατης φύσης των δεδομένων. Συγκεκριμένα, οι αλγόριθμοι ομαδοποίησης που εφαρμόζονται σε μεγάλα σύνολα δεδομένων, όπως για παράδειγμα ο Παγκόσμιος Ιστός, απαιτείται να έχουν τα ακόλουθα χαρακτηριστικά [1]: Επεκτασιμότητα: Πολλοί αλγόριθμοι ομαδοποίησης έχουν ικανοποιητικά αποτελέσματα σε σύνολα δεδομένων με μέγεθος μικρότερο από 200. Για να εφαρμοστούν σε μεγάλα σύνολα δεδομένων, της τάξεως των εκατομμυρίων αντικειμένων, χρειάζεται να γίνει δειγματοληψία, με αποτέλεσμα πολλές φορές να έ- χουμε υπερμοντελοποίηση και μεροληψία (biased) στα αποτελέσματα. Ικανότητα διαχείρισης διαφορετικών τύπων δεδομένων: Η πλειονότητα των αλγορίθμων ομαδοποίησης είναι σχεδιασμένοι για να χειρίζονται αποκλειστικά αριθμητικούς τύπους δεδομένων. Πολλές εφαρμογές, όμως, απαιτούν ομαδοποίηση δεδομένων άλλων τύπων, όπως κατηγορικών (nominal), σειράς κατάταξης (ordinal) ή μίξης αυτών. Εύρεση ομάδων με ακανόνιστο σχήμα: Μεγάλη πληθώρα των αλγορίθμων ο- μαδοποίησης διαμορφώνουν τις ομάδες, με βάση την Ευκλείδεια ή την Manhattan απόσταση των δεδομένων. Οι αλγόριθμοι που βασίζονται στις προαναφερόμενες μετρικές έχουν την τάση να βρίσκουν σφαιρικές ομάδες με ομοιόμορφα μεγέθη και πυκνότητες. Στην πραγματικότητα, όμως, μία ομάδα δεδομένων μπορεί να έχει οποιαδήποτε μορφή. Συνεπώς, απαιτείται η ανάπτυξη αλγορίθμων ικανών να ανιχνεύουν ομάδες οποιουδήποτε σχήματος. Καθορισμός παραμέτρων εισόδου, χωρίς εξειδικευμένη γνώση του πεδίου: Πολλοί αλγόριθμοι ομαδοποίησης περιμένουν από το χρήστη να εισάγει δεδομένα - παραμέτρους εισόδου, προκειμένου να προχωρήσουν στην ανάλυση ο- μάδων. Ένα παράδειγμα μιας τέτοιας παραμέτρου είναι ο αριθμός των αναμενόμενων ομάδων. Τα αποτελέσματα της διαδικασίας, συχνά, εξαρτώνται από αυτές τις παραμέτρους, οι οποίες τις περισσότερες φορές είναι πολύ δύσκολο να είναι γνωστές εκ των προτέρων, ιδιαίτερα για δεδομένα με μεγάλο αριθμό δια- 1 http://www.insightful.com/products/splus/default.asp 2 http://www.spss.com/ 3 http://www.sas.com/technologies/analytics/statistics/index.html 12

στάσεων. Αυτό προκαλεί κινδύνους για την ποιότητα της ομαδοποίησης και, ταυτόχρονα, είναι μία έξτρα επιβάρυνση για το χρήστη. Ικανότητα χειρισμού δεδομένων με θόρυβο: Οι περισσότερες εφαρμογές που χειρίζονται πραγματικά δεδομένα αντιμετωπίζουν προβλήματα με δεδομένα που είτε λείπουν είτε περιέχουν λάθη. Ένα, επίσης, κοινό αγκάθι σε δεδομένα που πρόκειται να διαχωριστούν σε ομάδες αποτελούν οι ακραίες τιμές (outliers). Πολλοί αλγόριθμοι ομαδοποίησης είναι ευαίσθητοι σε τέτοιου είδους δεδομένα και μπορούν να οδηγήσουν σε ομαδοποίηση χαμηλής ποιότητας. Έλλειψη ευαισθησίας στη σειρά των δεδομένων: Πολλοί αλγόριθμοι ομαδοποίησης παρουσιάζουν ευαισθησία στη σειρά με την οποία εισάγονται τα δεδομένα για ομαδοποίηση. Έτσι, μπορεί, για παράδειγμα, για το ίδιο σύνολο δεδομένων, να προκύψουν τελείως διαφορετικές ομαδοποιήσεις, όταν τα δεδομένα εισάγονται με διαφορετική σειρά στον αλγόριθμο. Ικανότητα χειρισμού δεδομένων με υψηλό αριθμό διαστάσεων: Τα δεδομένα που ανήκουν σε μια συλλογή δεδομένων μπορεί να έχουν μεγάλο αριθμό διαστάσεων (χαρακτηριστικών). Πολλοί αλγόριθμοι ομαδοποίησης είναι καλοί στο να χειρίζονται δεδομένα μέχρι δύο ή τριών διαστάσεων. Ένα κοινό ανθρώπινο μάτι μπορεί να διακρίνει δεδομένα σε ομάδες, λαμβάνοντας υπόψη μέχρι τρεις διαστάσεις το πολύ. Η ομαδοποίηση δεδομένων με μεγάλο αριθμό διαστάσεων αποτελεί μια πρόκληση για τον επιστημονικό χώρο, καθώς τέτοιου είδους δεδομένα είναι συνήθως πολύ αραιά και ιδιαιτέρως στρεβλωμένα. Ομαδοποίηση με βάση περιορισμούς: Στις εφαρμογές με πραγματικά δεδομένα, συχνά, υπάρχει ανάγκη για ομαδοποίηση με βάση κάποιους περιορισμούς. Για παράδειγμα, έστω ότι πρέπει να καθοριστούν οι θέσεις για τοποθέτηση μηχανών αυτόματης τραπεζικής ανάληψης (ΑΤΜs) σε μια πόλη. Για να ληφθεί η παραπάνω απόφαση, θα πρέπει να γίνει μια ομαδοποίηση των κτηρίων της πόλης που θα αντιστοιχούν στο καθένα μηχάνημα, λαμβάνοντας υπόψη περιορισμούς, όπως ποταμούς που διασχίζουν την πόλη, το οδικό της δίκτυο και τις απαιτήσεις των χρηστών στην εκάστοτε περιοχή. Ερμηνεία και χρηστικότητα: Οι χρήστες έχουν την απαίτηση να μπορούν να καταλάβουν, να εξηγήσουν και να χρησιμοποιήσουν τα αποτελέσματα της ομαδοποίησης. Συνεπώς, οι ομάδες που προκύπτουν θα πρέπει να έχουν μια σημασιολογική ερμηνεία στις εκάστοτε εφαρμογές. Η ύπαρξη όμως ενός κοινού ή ενός μικρού αριθμού αλγορίθμων ομαδοποίησης δεν είναι εφικτή λύση, γιατί η εκάστοτε υλοποίηση εξαρτάται και περιορίζεται από τα δεδομένα που πρόκειται να ομαδοποιηθούν, από τον τρόπο δόμησης αυτών, από τις διαφορετικές μετρικές που μπορούν να εφαρμοστούν άλλα και από διάφορους άλλους περιορισμούς και προβλήματα που μπορεί να εμφανιστούν. Έτσι κάθε υλοποίηση πρέπει να αναφέρεται σε κάποια συγκεκριμένη εφαρμογή και τύπο δεδομένων. Σε αυτή τη διπλωματική εργασία, στόχος είναι η ομαδοποίηση μιας συλλογής δεδομένων από το χώρο του Παγκόσμιου Ιστού και, πιο συγκεκριμένα, από το χώρο του Κοινωνικού Ιστού (Social Web). Το πρόβλημα εντάσσεται στην περιοχή της Εξόρυξης Δεδομένων και γι αυτό θα ληφθούν υπόψη όλες οι προαναφερθείσες παράμετροι που αφορούν πολύ μεγάλα και ποικίλα σύνολα δεδομένων. 13

Πρέπει να τονίσουμε ότι η προαναφερόμενη λίστα παραμέτρων σε καμία περίπτωση δεν έχει εξαντλήσει όλα τα προβλήματα που συναντώνται σε ομαδοποίηση πολύ μεγάλων συνόλων δεδομένων, απλά προσπαθεί να τονίσει τα πιο συχνά από αυτά. Σε κάθε αλγόριθμο που παρουσιάζεται στη συνέχεια θα τονίζεται ποια από τα παραπάνω ζητήματα αντιμετωπίζει ικανοποιητικά. Η δομή του υπόλοιπου κεφαλαίου είναι η εξής: Στην αρχή παρουσιάζεται η σημειογραφία (notation) που χρησιμοποιείται για την ομαδοποίηση δεδομένων στην παρούσα διπλωματική. Ακολουθεί μία περιγραφή των πιο συχνά χρησιμοποιούμενων συναρτήσεων απόστασης, ανάλογα με τον τύπο δεδομένων των χαρακτηριστικών των αντικειμένων προς ομαδοποίηση. Έπειτα αναλύονται οι κυριότερες κατηγορίες των αλγορίθμων ομαδοποίησης, καθώς και οι κυριότεροι αλγόριθμοι κάθε κατηγορίας. Στο τέλος, παρουσιάζονται κάποια γενικά αλγοριθμικά θέματα, που πρέπει να λαμβάνονται υπόψη στην ομαδοποίηση πολύ μεγάλων συνόλων δεδομένων. 2.1 Σημειογραφία Πριν αρχίσουμε την αναλυτική περιγραφή των τεχνικών ομαδοποίησης που χρησιμοποιούνται, παραθέτουμε κάποια απαραίτητη σημειογραφία, η οποία τηρείται στην παρούσα διπλωματική εργασία. Έστω Χ ένα σύνολο N δεδομένων, αντικειμένων ή στοιχείων και Α ένας χώρος d διαστάσεων ή χαρακτηριστικών των αντικειμένων που ανήκουν στο Χ. Κάθε αντικείμενο που ανήκει στο Χ αναπαρίσταται ως x, x,..., x ) i 1,.., N και οι τιμές x =, όπου [ ] i ( i1 i2 id xi 1,..., xid A, i. Συγκεκριμένα, για κάθε αντικείμενο xi, η κάθε συνιστώσα xil Al, l [ 1,.., d] και αντιστοιχεί σε ένα χαρακτηριστικό του, το οποίο μπορεί να είναι είτε ποσοτικό, δηλαδή να παίρνει αριθμητικές τιμές, είτε ονομαστικό, δηλαδή να παίρνει κατηγορικές τιμές. Για κάθε χαρακτηριστικό, ανάλογα με τον τύπο του, ορίζεται μια μετρική απόστασης μεταξύ των τιμών του. Ο συνυπολογισμός των μετρικών αυτών για όλα τα χαρακτηριστικά δύο στοιχείων x, οδηγεί στη συνάρτηση απόστασης μεταξύ των δύο αυτών στοιχείων, d x i, x ). ( j i x j Κάθε συνάρτηση απόστασης πρέπει να ικανοποιεί τα εξής κριτήρια: 1. d x i, x ) 0 : Η απόσταση μεταξύ δύο αντικειμένων δε μπορεί να είναι ( j ( j ( i αρνητικός αριθμός. 2. d( x i, x i ) = 0: Η απόσταση ενός αντικειμένου από τον εαυτό του ισούται με μηδέν. 3. d x i, x ) = d x j, x ) : Κάθε συνάρτηση απόστασης είναι συμμετρική συνάρτηση. 4. d x i, x ) d x, x ) + d( x, x ) : Ισχύει η αρχή της τριγωνικής ανισότη- ( j ( i k k j τας, δηλαδή η απόσταση πηγαίνοντας από το αντικείμενο xi στο αντικείμενο x j απευθείας είναι πάντα μικρότερη από ότι αν κάνουμε την ίδια διαδρομή δια μέσω οποιουδήποτε άλλου σημείου x k. 14

Στη συνέχεια ακολουθεί μια περιγραφή των τύπων δεδομένων των στοιχείων προς ο- μαδοποίηση και των συναρτήσεων απόστασης κατά περίπτωση. Ο τελικός σκοπός της ομαδοποίησης είναι να αναθέσει τα Ν στοιχεία του Χ σε k ομάδες. Οι ομάδες δε θα πρέπει να έχουν επικαλύψεις, δηλαδή κανένα στοιχείο δε μπορεί να ανήκει ταυτόχρονα σε δύο ομάδες (στην πράξη αυτός ο περιορισμός δεν τηρείται πάντα, αλλά αυτό δεν πρόκειται να μας απασχολήσει στην παρούσα διπλωματική). Συνεπώς, η ένωση των ομάδων μαζί με τα στοιχεία που έχουν ακραίες τιμές και δε συμπεριλήφθηκαν σε ομάδες θα πρέπει να έχει ως αποτέλεσμα το αρχικό σύνολο Χ. UU... CkUCoutliers CiI C = X = C1, j, i j 2.2 Τύποι Δεδομένων στην Ανάλυση Ομάδων και Συναρτήσεις Απόστασης Το είδος των δεδομένων που συμμετέχουν σε μια ομαδοποίηση καθορίζει και τη διαδικασία που θα ακολουθηθεί. Σύμφωνα με το [1], οι αλγόριθμοι ομαδοποίησης που εκτελούνται μόνο στην κύρια μνήμη (memory-based) χρησιμοποιούν μία από τις δύο παρακάτω δομές δεδομένων. Πίνακας Δεδομένων (Data matrix): Πρόκειται για έναν Ν x d πίνακα, που α- πεικονίζει τα Ν στοιχεία με τα d χαρακτηριστικά τους. Πίνακας Ανομοιότητας (Dissimilarity matrix): Πρόκειται για έναν πίνακα Ν x N, στον οποίο κάθε στοιχείο (i, j) ισούται με την απόσταση των αντικειμένων x i και x j, υπολογισμένη με βάση κάποια συνάρτηση απόστασης. Όπως προκύπτει από τις ιδιότητες κάθε συνάρτησης απόστασης, ο Πίνακας Ανομοιότητας είναι ένας τριγωνικός πίνακας. Ο υπολογισμός της συνάρτησης απόστασης μεταξύ δύο στοιχείων ουσιαστικά καθοδηγεί το διαχωρισμό τους σε ομάδες. Ο υπολογισμός της εξαρτάται από τον τύπο δεδομένων 15

των χαρακτηριστικών των στοιχείων και στη συνέχεια θα παρουσιαστούν οι συναρτήσεις απόστασης που χρησιμοποιούνται ευρέως, όταν τα πεδία ορισμού των χαρακτηριστικών περιέχουν τις εξής τιμές: i) αριθμητικές συνεχείς τιμές, ii) δυαδικές τιμές, και iii) κατηγορικές τιμές, iv) τιμές κατάταξης. 2.2.1 Συνεχείς Αριθμητικές Τιμές Σε αυτή την ενότητα, θα δούμε μετρικές που χρησιμοποιούνται για την ομαδοποίηση αντικειμένων, όταν τα χαρακτηριστικά αυτών παίρνουν τιμές από ένα συνεχές αριθμητικό διάστημα. Γενικά ως αριθμητικά δεδομένα καλούνται αυτά των οποίων το πεδίο ορισμού είναι ένα διατεταγμένο σύνολο. Κάποια ενδεικτικά παραδείγματα που ανήκουν σε αυτή την κατηγορία είναι η ομαδοποίηση ανθρώπων με βάση το ύψος και το βάρος τους, η ομαδοποίηση σπιτιών με βάση τις συντεταγμένες τους, η ομαδοποίηση χωρών με βάση τις θερμοκρασίες τους και άλλα σχετικά. Σε τέτοιου είδους δεδομένα χρειάζεται να εφαρμοστεί μια διαδικασία κανονικοποίησης, πριν τη χρήση της συνάρτησης απόστασης, έτσι ώστε χαρακτηριστικά που έχουν μεγάλο εύρος τιμών (όπως για παράδειγμα, το εισόδημα) να μην επηρεάζουν περισσότερο την ομαδοποίηση σε σχέση με χαρακτηριστικά με μικρότερο εύρος τιμών (όπως για παράδειγμα, η ηλικία). Με την κανονικοποίηση όλες οι τιμές των χαρακτηριστικών κλιμακώνονται σε ένα μικρό προκαθορισμένο διάστημα, (συνήθως στο [-1,1] ή στο [0,1]. Οι πιο ευρέως χρησιμοποιούμενες πρακτικές κανονικοποίησης, σύμφωνα με το [1] είναι οι εξής: min-max normalization, z-score normalization και normalization by decimal scaling. Κατά την κανονικοποίηση min-max, εκτελείται ένας γραμμικός μετασχηματισμός στα αρχικά δεδομένα. Έστω ότι min A και max A είναι η ελάχιστη και μέγιστη τιμή, αντίστοιχα, του χαρακτηριστικού Α. Με την κανονικοποίηση min-max κάθε τιμή v του χαρακτηριστικού Α αντιστοιχίζεται στην τιμή v, η οποία πλέον ανήκει στο νέο διάστημα [new_min A, new_max A ] ως εξής: v min max min A v = ( new _ max A new _ min A ) + new _ min A A A Στη z-score κανονικοποίηση, οι τιμές ενός χαρακτηριστικού Α κανονικοποιούνται με βάση τη μέση τιμή, A, και την τυπική απόκλιση, σ A του Α. Συγκεκριμένα κάθε τιμή v του Α αντιστοιχίζεται στην τιμή ν ως εξής: v A ν = σ A Η παραπάνω μέθοδος κανονικοποίησης είναι ιδιαιτέρως χρήσιμη σε περιπτώσεις όπου η πραγματική ελάχιστη και μέγιστη τιμή του Α δεν είναι δυνατό να είναι γνωστές εκ των προτέρων και είναι ιδιαίτερα ανθεκτική όταν υπάρχουν ακραίες τιμές στα δεδομένα, που επεκτείνουν τα όρια. 16

Τέλος, στην κανονικοποίηση με δεκαδική κλιμάκωση (decimal normalization), για κάθε τιμή v του Α προκύπτει η τιμή ν, μετακινώντας την υποδιαστολή τόσες θέσεις, ώστε να ισχύει max( v ) < 1. ν v =, j 10 όπου j είναι ο μικρότερος ακέραιος για τον οποίο ισχύει ο παραπάνω περιορισμός. Μετά την κανονικοποίηση των χαρακτηριστικών των αντικειμένων που ανήκουν στη συγκεκριμένη κατηγορία, ο υπολογισμός του ποσοστού ομοιότητας μεταξύ τους γίνεται μετρώντας την απόσταση όλων των χαρακτηριστικών τους. Η πιο δημοφιλής συνάρτηση απόστασης (για την συγκεκριμένη, πάντα, κατηγορία) είναι η Ευκλείδεια απόσταση, η οποία ορίζεται ως εξής: d 2 2 2 ( xi, x j ) xi 1 x j1 + xi2 x j2 + + xip x jp = L, όπου x i = (x i1,x i2,,x ip ) και x j = (x j1,x j2,, x jp ) είναι δύο αντικείμενα p- διαστάσεων. Μία άλλη συχνά χρησιμοποιούμενη μετρική απόστασης είναι η λεγόμενη απόσταση Manhattan, ή αλλιώς city block distance, η οποία ορίζεται ως εξής: d( x, x ) = x x + x x + L+ x x. i j i1 j1 i2 j2 ip jp Τέλος, η απόσταση Minkowski αποτελεί μια γενίκευση των παραπάνω συναρτήσεων απόστασης, όπως προκύπτει από τον παρακάτω ορισμό της: i j 1 q q q ( x ) q i1 x j1 + xi2 x j 2 + + xip x jp d( x, x ) = L, όπου q ένας θετικός ακέραιος. Σημειώνεται ότι για q=1 προκύπτει η απόσταση Manhattan, ενώ για q=2 προκύπτει η Ευκλείδεια απόσταση. Οι συναρτήσεις απόστασης που περιγράφηκαν μπορούν να προσαρμοστούν σε περίπτωση που θέλουμε να δώσουμε βαρύτητα σε κάποιο/α χαρακτηριστικά των αντικειμένων προς ομαδοποίηση. Με αυτόν τον τρόπο προκύπτουν οι ζυγισμένες συναρτήσεις απόστασης, στις οποίες κάθε χαρακτηριστικό συμμετέχει στην ομαδοποίηση με κάποιο βάρος w. H ζυγισμένη Ευκλείδεια απόσταση ορίζεται ως εξής: d 2 2 ( xi, x j ) = w1 xi 1 x j1 + w2 xi2 x j 2 + L + wp xip x jp 2 Ένα παράδειγμα, όπου χρειάζεται να γίνει χρήση ζυγισμένης συνάρτησης απόστασης, είναι η ομαδοποίηση καλαθοσφαιριστών, όπου θέλουμε το χαρακτηριστικό ύψος να έχει μεγαλύτερη βαρύτητα από τα υπόλοιπα χαρακτηριστικά των παικτών. 17

2.2.2 Δυαδικές Τιμές Σε αυτή την ενότητα, θα δούμε μετρικές που χρησιμοποιούνται για την ομαδοποίηση αντικειμένων, όταν τα χαρακτηριστικά αυτών έχουν δυαδικές τιμές. Το πεδίο ορισμού μίας δυαδικής τιμής, όπως φαίνεται άλλωστε από το όνομά της, έχει δύο επιτρεπτές τιμές, το 0 και το 1. Η τιμή 0 δηλώνει την απουσία του συγκεκριμένου χαρακτηριστικού, ενώ η τιμή 1 την παρουσία του. Για παράδειγμα, στην ομαδοποίηση ασθενών το χαρακτηριστικό καπνιστής παίρνει δυαδικές τιμές και η τιμή 1 δηλώνει ότι ο συγκεκριμένος ασθενής είναι καπνιστής, ενώ η τιμή 0 ότι δεν είναι. Η αντιμετώπιση των συγκεκριμένων χαρακτηριστικών ως αριθμητικά δεδομένα και η χρήση των αναλόγων συναρτήσεων απόστασης οδηγεί σε ομαδοποίηση χαμηλής ποιότητας. Ο υπολογισμός της απόστασης στα χαρακτηριστικά με δυαδικές τιμές εξαρτάται από το αν αυτά είναι συμμετρικά (symmetric) ή ασύμμετρα (asymmetric). Σε ένα συμμετρικό δυαδικό χαρακτηριστικό και οι δύο καταστάσεις του (1 ή 0) έχουν την ίδια βαρύτητα. Παράδειγμα ενός τέτοιου χαρακτηριστικού είναι το φύλο ενός ανθρώπου με τιμές άντρας και γυναίκα. Αντίθετα, ένα δυαδικό χαρακτηριστικό είναι ασύμμετρο, αν η βαρύτητά του εξαρτάται από την τιμή την οποία παίρνει. Παραδείγματα ασύμμετρων δυαδικών χαρακτηριστικών είναι τα αποτελέσματα των ιατρικών εξετάσεων. Κατά κανόνα συνηθίζεται να κωδικοποιείται με 1 η κατάσταση η οποία έχει μεγαλύτερο βάρος, η οποία τις περισσότερες φορές συναντάται πιο σπάνια (π.χ. όταν κάποιος είναι θετικός σε κάποιον ιό), και με 0 η άλλη κατάσταση (π.χ. όταν είναι αρνητικός σε κάποιον ιό). Έστω ότι έχουμε ένα σύνολο αντικειμένων προς ομαδοποίηση X. Κάθε στοιχείο του Χ έχει p δυαδικά χαρακτηριστικά. Για δύο οποιαδήποτε αντικείμενα x i, x j X, έστω ότι q ο αριθμός των δυαδικών χαρακτηριστικών που ισούται με 1 και στα δύο αντικείμενα, r o αριθμός των δυαδικών χαρακτηριστικών που ισούται με 1 στο x i και με 0 στο x j, s ο αριθμός των δυαδικών χαρακτηριστικών που ισούται με 0 στο x i και με 1 στο x j και t ο αριθμός των δυαδικών χαρακτηριστικών που ισούται με 0 και στα δύο αντικείμενα (Είναι p = q + r + s + t). Για την ομαδοποίηση αντικειμένων που έχουν συμμετρικά δυαδικά χαρακτηριστικά χρησιμοποιείται η ακόλουθη μετρική απόστασης: r + s d( xi, x j ) =, q + r + s + t ενώ όταν τα δυαδικά χαρακτηριστικά είναι ασύμμετρα για τον υπολογισμό της απόστασης χρησιμοποιείται η Jaccard coefficient: r + s d( xi, xj) = q + r + s Βλέπουμε ότι στα ασύμμετρα δυαδικά χαρακτηριστικά η ταυτόχρονη απουσία ενός χαρακτηριστικού σε δύο αντικείμενα δε θεωρείται σημαντική και, συνεπώς, δεν προσμετρήθηκε στον υπολογισμό της μεταξύ τους απόστασης. Αυτός είναι ο λόγος που, συχνά, αυτά τα χαρακτηριστικά θεωρούνται ότι έχουν μόνο μία κατάσταση. 2.2.3 Κατηγορικές Τιμές Κατηγορικά Δεδομένα καλούνται εκείνα των οποίων το πεδίο ορισμού είναι ένα μη διατεταγμένο σύνολο. Ένα χαρακτηριστικό που παίρνει κατηγορικές τιμές μπορεί να θεωρηθεί μια γενικευμένη περίπτωση ενός δυαδικού χαρακτηριστικού, στην οποία το 18

πεδίο ορισμού μπορεί να περιέχει και παραπάνω από δύο τιμές. Ένα παράδειγμα, κατηγορικού χαρακτηριστικού ενός αντικειμένου είναι το χρώμα του, το οποίο μπορεί να πάρει μία από τις ακόλουθες τιμές: κόκκινο, κίτρινο, πράσινο, ροζ και μπλε. Όταν το πεδίο ορισμού ενός κατηγορικού χαρακτηριστικού είναι μεγάλο (περιέχει πολύ μεγάλο αριθμό τιμών), τότε αυτό το χαρακτηριστικό, συνήθως, δεν περιέχει χρήσιμη πληροφορία για την ομαδοποίηση των δεδομένων, οπότε δε λαμβάνεται υπόψη. Για παράδειγμα, στην ομαδοποίηση πελατών, το χαρακτηριστικό Κωδικός Πελάτη, το οποίο μπορεί να πάρει εκατομμύρια τιμές, δε λαμβάνεται υπόψη. Η μετρική απόστασης που χρησιμοποιείται σε αντικείμενα με κατηγορικά χαρακτηριστικά είναι η εξής: p m d( xi, x j ) =, p όπου m είναι ο αριθμός των κατηγορικών χαρακτηριστικών που έχουν κοινή τιμή στα x i, x j, ενώ p o συνολικός αριθμός των κατηγορικών χαρακτηριστικών των αντικειμένων. Ένα χαρακτηριστικό που παίρνει κατηγορικές τιμές μπορεί να κωδικοποιηθεί και σαν μία ομάδα δυαδικών ασύμμετρων χαρακτηριστικών, όπου κάθε δυαδικό χαρακτηριστικό θα αναπαριστά μία από τις πιθανές τιμές. Συγκεκριμένα, για την κωδικοποίηση του χαρακτηριστικού χρώμα ενός αντικειμένου, θα έχουμε 5 δυαδικά χαρακτηριστικά (ένα για κάθε πιθανό χρώμα). Έτσι, όταν ένα αντικείμενο έχει χρώμα κίτρινο, έχει τιμή 1 στο δυαδικό χαρακτηριστικό που αναλογεί στην τιμή κίτρινο και 0 στα δυαδικά χαρακτηριστικά που αναλογούν στις υπόλοιπες τιμές (κόκκινο, πράσινο, ροζ, μπλε). Η μετρική απόστασης που χρησιμοποιείται, συνήθως, σε αυτή την περίπτωση είναι η Jaccard coefficient, που περιγράφηκε στην προηγούμενη ενότητα. 2.2.4 Τιμές κατάταξης Τα χαρακτηριστικά που παίρνουν τιμές κατάταξης μοιάζουν με αυτά που έχουν κατηγορικές τιμές, με τη διαφορά ότι το σύνολο Μ του πεδίου τιμών τους είναι διατεταγμένο. Τα χαρακτηριστικά αυτά χρησιμοποιούνται για να δηλώσουν ποιότητα, σειρά κατάταξης ή κάποιο βαθμό. Για παράδειγμα, όταν θέλουμε να δηλώσουμε τα αποτελέσματα ενός αγώνα στίβου είναι προτιμότερο για κάθε αθλητή να αποθηκεύεται η σειρά κατάταξής του (ή το μετάλλιο που, ενδεχομένως, έχει κερδίσει), παρά η ακριβής επίδοσή του. Τα χαρακτηριστικά αυτής της κατηγορίας αντιμετωπίζονται όπως αυτά που παίρνουν συνεχείς αριθμητικές τιμές (αντιστοιχίζοντας την πρώτη τιμή στο 1, κοκ μέχρι την τελευταία τιμή, η οποία αντιστοιχίζεται στο Μ). Επειδή κάθε χαρακτηριστικό μπορεί να έχει διαφορετικό πλήθος από επιτρεπτές τιμές Μ, πριν την εφαρμογή μετρικών απόστασης, καλό είναι να γίνει μια κανονικοποίηση στο διάστημα [0, 1]. 2.3 Κατηγοριοποίηση Πρακτικών Ομαδοποίησης Στη βιβλιογραφία υπάρχει ένας πολύ μεγάλος αριθμός από αλγορίθμους που χρησιμοποιούνται για την ομαδοποίηση δεδομένων. Η επιλογή της κατάλληλης πρακτικής κατά περίπτωση εξαρτάται τόσο από τον τύπο των δεδομένων, όσο και το στόχο της συγκε- 19

κριμένης εφαρμογής. Σύμφωνα με το [2], οι αλγόριθμοι ομαδοποίησης ταξινομούνται στις ακόλουθες κατηγορίες. Ιεραρχικές μέθοδοι (Hierarchical Methods): Μία ιεραρχική μέθοδος ομαδοποίησης έχει ως αποτέλεσμα μια ιεραρχική (δενδροειδή) διάσπαση των αντικειμένων σε ομάδες. Οι αλγόριθμοι αυτής της κατηγορίας διακρίνονται σε συγχωνευτικούς (agglomerative) και σε διαιρετικούς (divisive). Στην πρώτη προσέγγιση (η οποία εναλλακτικά λέγεται και από-κάτω-προς-τα-πάνω μέθοδος) η ομαδοποίηση ξεκινάει θεωρώντας ότι κάθε αντικείμενο ανήκει σε διαφορετική ομάδα. Σε κάθε επανάληψη του αλγορίθμου τα περισσότερο όμοια αντικείμενα συγχωνεύονται σε μία ομάδα. Ο αλγόριθμος σταματάει όταν όλα τα αντικείμενα έχουν τοποθετηθεί σε μία ομάδα, που είναι και το κορυφαίο επίπεδο της ιεραρχίας ή όταν επιτευχθεί κάποια εναλλακτική συνθήκη τερματισμού. Στη διαιρετική προσέγγιση (η οποία εναλλακτικά λέγεται και από-κάτωπρος-τα-πάνω μέθοδος), αρχικά όλα τα αντικείμενα τοποθετούνται στην ίδια ομάδα. Σε κάθε επανάληψη του αλγορίθμου, η ομάδα με τη μεγαλύτερη ανομοιομορφία σπάει σε δύο ομάδες. Ο αλγόριθμος σταματάει όταν κάθε αντικείμενο αποτελεί από μόνο του μία ομάδα ή όταν επιτευχθεί κάποια εναλλακτική συνθήκη τερματισμού. Οι ιεραρχικές μέθοδοι έχουν το μειονέκτημα ότι δεν επιτρέπουν την επιστροφή σε προηγούμενο στάδιο της διαδικασίας. Κάθε συγχώνευση ή διαίρεση που γίνεται είναι οριστική. Αυτός ο περιορισμός αποσκοπεί στη μείωση του υπολογιστικού κόστους των ιεραρχικών αλγορίθμων, αλλά στερεί από αυτούς τη δυνατότητα να διορθώνουν κάποιες λανθασμένες αποφάσεις. Για τη βελτίωση της ποιότητας της ομαδοποίησης των ιεραρχικών αλγορίθμων, οι [1] αναφέρουν i) επιλογή διαφορετικών μετρικών συνδεσμικότητας (linkage) μεταξύ των μελών μιας ομάδας και των ομάδων (αλγόριθμοι CURE [2][3], Chameleon [2][4]), ii) συνδυασμό ιεραρχικής μεθόδου με επαναληπτικές επανατοποθετήσεις των αντικειμένων σε ομάδες, με στόχο την καλύτερη ομαδοποίηση (αλγόριθμος BIRCH [2][5]). Μέθοδοι Τμηματοποίησης (Partitioning Methods): Ένας αλγόριθμος τμηματοποίησης χωρίζει τα αντικείμενα προς ομαδοποίηση σε k τμήματα, όπου το κάθε τμήμα αντιστοιχεί σε μία ομάδα. Τα αντικείμενα κατηγοριοποιούνται εξαρχής σε ομάδες και στη συνέχεια γίνονται μετακινήσεις, με στόχο να βελτιωθεί η ομαδοποίηση. Οι μετακινήσεις σταματούν, όταν επιτευχθεί κάποιος στόχος που ορίζει την τελική ομαδοποίηση. Το κριτήριο για μια καλή ομαδοποίηση είναι τα αντικείμενα που ανήκουν στην ίδια ομάδα να έχουν ομοιότητα μεταξύ τους, και ταυτόχρονα αυτά που ανήκουν σε διαφορετικές ομάδες να είναι ανόμοια. Οι αλγόριθμοι τμηματοποίησης χωρίζονται περαιτέρω σε: i) πιθανοκρατικούς αλγορίθμους ομαδοποίησης (probabilistic clustering), όπως είναι ο Expectation -Maximization (EM) και οι παραλλαγές αυτού [2][6], οι αλγόριθμοι του SNOB [2][7], o AUTOCLASS [8], οι αλγόριθμοι που είναι υλοποιημένοι στο πακέτο λογισμικού MCLUST [9], ii) αλγορίθμους που χρησιμοποιούν τη μέθοδο των k-μεσαίων (k-medoids), όπως είναι οι PAM [1], CLARA [1], CLARANS [1], και iii) αλγορίθμους που χρησιμοποιούν τη μέθοδο των k-μέσων (k-means). Σε γενικές γραμμές, οι αλγόριθμοι που χρησιμοποιούν μεθόδους τμηματοποίησης για ομαδοποίηση τείνουν να σχηματίζουν σφαιρικές ομάδες. Μέθοδοι με βάση την πυκνότητα (Density-Based Methods): Μπορούν να χαρακτηριστούν και ως μέθοδοι τμηματοποίησης, με τη διαφορά ότι η τμηματοποίηση δε γίνεται με βάση την απόσταση μεταξύ αντικειμένων, όπως συμβαίνει στην πληθώρα 20

των μεθόδων τμηματοποίησης, αλλά με βάση την πυκνότητα αυτών. Συγκεκριμένα, η κεντρική ιδέα σε αυτές τις μεθόδους είναι ότι μία ομάδα σχηματίζεται, όταν η πυκνότητα (αριθμός αντικειμένων) σε μία περιοχή υπερβαίνει κάποιο κατώφλι. Το πλεονέκτημα αυτών των μεθόδων είναι ότι επιτρέπουν την εύρεση ομάδων αυθαιρέτου σχήματος και δεν επηρεάζονται από την ύπαρξη οριακών τιμών στα δεδομένα. Συνήθως εφαρμόζονται σε χωρικά (spatial) δεδομένα, που έχουν μικρό αριθμό διαστάσεων και αριθμητικά χαρακτηριστικά. Γνωστοί αλγόριθμοι, που εκτελούν ομαδοποίηση με βάση την πυκνότητα, είναι οι DBSCAN [10], OPTICS [11], και DENCLUE [12]. Μέθοδοι για κατηγορικά δεδομένα: Στις περιπτώσεις όπου τα δεδομένα προς ομαδοποίηση είναι κατηγορικά (έχουν κατηγορικά χαρακτηριστικά), μία νέα έννοια παίζει καθοριστικό ρόλο στη διαδικασία, αυτή της συνύπαρξης (co-occurrence). Δύο κατηγορικές τιμές τοποθετούνται στην ίδια ομάδα, όταν συνυπάρχουν (co-occur) σε μεγάλο αριθμό αντικειμένων. Οι αλγόριθμοι ROCK [13], SNN [14] και CACTUS [15] βασίζονται σε τέτοιες πρακτικές. Η κατάσταση σε τέτοιου είδους δεδομένα επιδεινώνεται, όσο αυξάνεται ο αριθμός των αντικειμένων. Αυτός είναι και ο λόγος που, πολύ συχνά, εφαρμόζεται μια προ-ομαδοποίηση (pre-clustering) είτε αντικειμένων είτε τιμών κατηγορικών χαρακτηριστικών, πριν προχωρήσουμε στην καθ αυτή διαδικασία της ομαδοποίησης. Άλλες Τεχνικές Ομαδοποίησης: με τον όρο αυτό θα αναφερόμαστε σε μεθόδους ομαδοποίησης αντικειμένων, οι οποίες δεν εντάσσονται στις προαναφερόμενες κατηγορίες. Ανάμεσα στα άλλα, σε αυτή την ενότητα θα δούμε γενετικούς αλγορίθμους, όπως επίσης και αλγορίθμους που κάνουν ομαδοποίηση, λαμβάνοντας υπόψη περιορισμούς στα δεδομένα (constraint-based clustering). 2.3.1 Ιεραρχική Ομαδοποίηση Η ιεραρχική ομαδοποίηση έχει ως αποτέλεσμα μια ιεραρχία από ομάδες ή, αλλιώς, ένα δένδρο από ομάδες, γνωστό και ως δενδρόγραμμα (dendrogram). Κάθε κόμβος στο δένδρο αντιστοιχεί σε μία ομάδα. Η ρίζα του δένδρου αντιστοιχεί στο σύνολο των αντικειμένων και κάθε φύλλο του σε κάθε ένα αντικείμενο χωριστά. Τα παιδιά ενός κόμβου απαρτίζουν τα τμήματα (ομάδες) στα οποία έχει διαιρεθεί η ομάδα που αντιστοιχεί στον πατέρα τους. Έτσι, οι αποστάσεις μεταξύ αντικειμένων, ομάδων ή ενός αντικειμένου και μιας ομάδας μπορούν να υπολογιστούν από τις αντίστοιχες αποστάσεις τους στο δένδρο. Εναλλακτικές περιπτώσεις ομαδοποίησης των αντικειμένων (με διαφορετικά επίπεδα λεπτομέρειας η καθεμιά) μπορούν να προκύψουν κόβοντας το δένδρο σε διάφορα επίπεδα. Συνεπώς, μπορούμε να πούμε ότι το δενδρόγραμμα αποτελεί μία αναπαράσταση ομαδοποίησης αφ ενός πολύ πλούσια σε πληροφορία και αφ ετέρου πολύ εύχρηστη για τον τελικό χρήστη, αφού του παρέχει οπτικοποιημένα όλες τις πιθανές ομαδοποιήσεις των αντικειμένων. Η δομή είναι ιδιαιτέρως αποδοτική ειδικά σε περιπτώσεις όπου υπάρχουν εγγενείς ιεραρχικές σχέσεις μεταξύ των αντικειμένων. Για να δώσουμε έναν πιο μαθηματικό ορισμό, σύμφωνα με τον [16] μπορούμε να πούμε ότι η ιεραρχική ομαδοποίηση ενός συνόλου αντικειμένων X, έχει ως αποτέλεσμα μια δενδροειδή δομή Η = {H 1,, H Q }, (Q N), έτσι ώστε αν C i H m, C j H l και m > l, τότε C i C j ή C i C j =, i, j i, m, l = 1,, Q. 21

Στα πλεονεκτήματα των ιεραρχικών αλγορίθμων, σύμφωνα με τον [2] συμπεριλαμβάνονται η ενσωματωμένη ευελιξία που έχουν σχετικά με τον έλεγχο του επιπέδου λεπτομέρειας της ομαδοποίησης, η δυνατότητα χρησιμοποίησης οποιασδήποτε μετρικής σχετικά με ομοιότητα ή απόσταση αντικειμένων και η εφαρμογή τους σε δεδομένα με χαρακτηριστικά οποιουδήποτε τύπου δεδομένων. Αντίθετα, στα μειονεκτήματά τους (σύμφωνα πάντα με τον [2]) κυρίαρχο ρόλο παίζει η έλλειψη δυνατότητας οπισθοδρόμησης σε ομαδοποιήσεις προηγουμένων επιπέδων (όπως αυτές απεικονίζονται στο δενδρόγραμμα), χαρακτηριστικό που στερεί από τους (καθαρά) ιεραρχικούς αλγορίθμους το περιθώριο της βελτίωσης. Επίσης, ένα άλλο αδύνατο σημείο των ιεραρχικών αλγορίθμων είναι ότι πολλές φορές, σε πραγματικά σύνολα δεδομένων, δε μπορεί να είναι γνωστή εκ των προτέρων η συνθήκη τερματισμού και επικρατεί μια ασάφεια σχετικά με το πότε πρέπει να σταματάει ο αλγόριθμος. H υπολογιστική πολυπλοκότητα των περισσοτέρων ιεραρχικών αλγορίθμων ομαδοποίησης είναι, τουλάχιστον, Ο(Ν 2 ), γεγονός που περιορίζει την εφαρμογή τους σε μεγάλα σύνολα δεδομένων. Οι ιεραρχικοί αλγόριθμοι διαχωρίζονται σε συγχωνευτικούς (agglomerative) και διαιρετικούς (divisive). Η συγχωνευτική ομαδοποίηση ξεκινάει με ομάδες που περιέχουν η καθεμιά μόνο ένα αντικείμενο (singleton clusters) και αναδρομικά ενώνει τις δύο περισσότερο όμοιες ομάδες σε μία. Η διαιρετική ομαδοποίηση ξεκινάει με μία ομάδα, που περιέχει όλα τα αντικείμενα, και αναδρομικά τι διαιρεί σε δύο ή περισσότερες ομάδες, προσπαθώντας να κρατήσει τα όμοια αντικείμενα σε μία ομάδα και να βάλει τα ανόμοια σε διαφορετικές ομάδες. Η διαδικασία, και στις δύο περιπτώσεις, σταματάει, όταν ικανοποιηθεί κάποια συνθήκη τερματισμού (συνήθως όταν επιτευχθεί ο ζητούμενος αριθμός ομάδων k). Για τη διαίρεση μια ομάδας, που έχει Ν αντικείμενα, σε δύο υπο-ομάδες, υπάρχουν 2 Ν- 1-1 δυνατές υποδιαιρέσεις. Το υπολογιστικό κόστος που προκύπτει είναι πολύ μεγάλο και γι αυτό σπάνια χρησιμοποιούνται οι διαιρετικές μέθοδοι ομαδοποίησης σε πραγματικά σύνολα δεδομένων. Συνεπώς, στα πλαίσια της συγκεκριμένης διπλωματικής θα εστιάσουμε στην περιγραφή κυρίως συγχωνευτικών αλγορίθμων, οι οποίοι έχουν σχεδιαστεί για εφαρμογή σε μεγάλα σύνολα δεδομένων. Αν κάποιος ενδιαφέρεται να εμβαθύνει στις διαιρετικές μεθόδους ομαδοποίησης, μπορεί να δει δύο αλγορίθμους που χρησιμοποιούν αυτές τέτοιες μεθόδους, τους MONA και DIANA (DIvisive ANAlysis) στο [17]. Η δομή αναπαράστασης δεδομένων που χρησιμοποιείται κατά κόρον από τους αλγορίθμους ιεραρχικής ομαδοποίησης είναι αυτή του Πίνακα Ανομοιότητας (βλ. Ενότ. 2.2). Πρόκειται για έναν πίνακα Ν x N, (όπου Ν ο αριθμός των αντικειμένων) o oποίος περιέχει τις αποστάσεις μεταξύ των αντικειμένων και λέγεται, εναλλακτικά, Πίνακας Συνδεσμικότητας (Connectivity Matrix). Η ιδέα της αποθήκευσης αυτού του πίνακα στην κύρια μνήμη δεν είναι ρεαλιστική για μεγάλα σύνολα δεδομένων. Γι αυτό χρησιμοποιούνται διάφορες τεχνικές συμπίεσης των στοιχείων του πίνακα, όπως παράλειψη των τιμών κάτω από κάποιο κατώφλι, δειγματοληψία των δεδομένων ή αποθήκευση για κάθε σημείο μόνο ενός συγκεκριμένου αριθμού πλησιεστέρων γειτόνων. Για τη συγχώνευση ή διαίρεση ομάδων, χρειάζεται μία μετρική που να υπολογίζει την απόσταση μεταξύ συνόλων αντικειμένων. Μία τέτοια μετρική ονομάζεται μετρική συνδεσμικότητας (linkage metric). Είναι φανερό ότι η μετρική συνδεσμικότητας, που εφαρμόζει ένας ιεραρχικός αλγόριθμος, επηρεάζει το αποτέλεσμα της ομαδοποίησης. Οι κυριότερες μετρικές συνδεσμικότητας μεταξύ ομάδων στοιχείων είναι οι απλού συν- 22

δέσμου (single link), μέσου συνδέσμου (average link) και μέγιστου συνδέσμου (complete link) [18]. Για τον υπολογισμό αυτών, υπολογίζεται, καταρχήν, η απόσταση μεταξύ όλων των σημείων p, p, όπου το p ανήκει στη μία ομάδα και το p στην άλλη. Έστω ότι p - p είναι η απόσταση μεταξύ των σημείων p, p και n i το πλήθος αντικειμένων στην ομάδα C i. Τότε [1]: Minimum distance: dmin ( Ci, C j ) = min p C p C p p i, j Maximum distance: dmax ( Ci, C j ) = max p C p C p p i, j 1 Average distance : davg ( Ci, C j ) = p p n n p C i p C j i Ανάλογα με το ποια από τις παραπάνω μετρικές απόστασης χρησιμοποιείται, οι αλγόριθμοι διακρίνονται σε: i) Aλγορίθμους απλού συνδέσμου (single link), στους οποίους η απόσταση μεταξύ δύο ομάδων ορίζεται ως η απόσταση μεταξύ των δύο πλησιεστέρων σημείων τους (Minimum distance). Η μέθοδος αυτή είναι γνωστή και ως μέθοδος πλησιέστερου γείτονα. Παράδειγμα ενός τέτοιου αλγορίθμου είναι ο SLINK [19], ii) Αλγορίθμους πλήρους συνδέσμου (complete link), στους οποίους η απόσταση μεταξύ δύο ο- μάδων ορίζεται ως η απόσταση μεταξύ των δύο πιο απομακρυσμένων τους σημείων (Maximum distance). Παράδειγμα τέτοιου αλγορίθμου είναι ο CLINK [20], και iii) Αλγορίθμους μέσου συνδέσμου (average link), στους οποίους η απόσταση μεταξύ δύο ο- μάδων ορίζεται ως η μέση απόσταση μεταξύ όλων των σημείων τους (Average distance). Παράδειγμα ενός τέτοιου αλγορίθμου συναντάται στο [21]. H κατηγοριοποίηση των ιεραρχικών αλγορίθμων απεικονίζεται στο Σχήμα 2.1. j Σχήμα 2.1: Κατηγοριοποίηση Ιεραρχικών Αλγορίθμων Ομαδοποίησης Όπως έχει, ήδη, αναφερθεί ένα σοβαρό μειονέκτημα των καθαρά ιεραρχικών αλγορίθμων ομαδοποίησης είναι η έλλειψη δυνατότητας οπισθοδρόμησης, γεγονός που τους στερεί την ικανότητα να διορθώνουν λανθασμένες αποφάσεις. Αυτό, σε συνδυασμό με το ότι σε πραγματικά σύνολα δεδομένων είναι πολύ δύσκολο να είναι γνωστός εκ των προτέρων ο αριθμός των ομάδων, έτσι ώστε ο αλγόριθμος να γνωρίζει, ακριβώς, σε ποιο βήμα πρέπει να σταματήσει, οδηγεί πολλές φορές σε ομαδοποιήσεις πολύ χαμηλής ποιότητας. 23