Μελέτη του αλγορίθμου ομαδοποίησης k-means σε δεδομένα του παγκόσμιου ιστού

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μελέτη του αλγορίθμου ομαδοποίησης k-means σε δεδομένα του παγκόσμιου ιστού"

Transcript

1 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Πληροφορικής Μελέτη του αλγορίθμου ομαδοποίησης k-means σε δεδομένα του παγκόσμιου ιστού Διπλωματική εργασία της Ακακιάδου Γεωργίας Επιβλέπων : Παπαδημητρίου Γεώργιος Θεσσαλονίκη, Σεπτέμβριος 2007

2 Περίληψη Στη διπλωματική εργασία, στόχος είναι η εξόρυξη δεδομένων από επισκέψεις χρηστών σε ιστοσελίδες, καθώς αυτές συλλέγονται στα αρχεία καταγραφής του Web Server (server access logs). Πιο συγκεκριμένα, η διπλωματική εργασία στοχεύει να ομαδοποιήσει τους χρήστες με παρόμοια πρότυπα συμπεριφοράς πλοήγησης. Αυτό επιτυγχάνεται με την εφαρμογή μιας διαμεριστικής τεχνικής ομαδοποίησης (partitional clustering) και συγκεκριμένα μέσω ενός αλγορίθμου που ανήκει σε αυτή την κατηγορία τεχνικών ομαδοποίησης, του k-means. Η ομαδοποίηση των χρηστών (user s clustrering) αποτελεί αρκετά χρήσιμη πληροφορία, που μπορεί να αξιοποιηθεί με πολλούς τρόπους σε ευρύ πεδίο εφαρμογών του Διαδικτύου. Στη διπλωματική εργασία η εφαρμογή του αλγορίθμου k-means, διαχωρίζει τους χρήστες σε k ομάδες (clusters). Η τιμή του k δίνεται από τον χρήστη κάθε φορά που επιθυμεί να εκτελέσει τον αλγόριθμο σε ένα σύνολο δεδομένων. Η ομοιότητα των χρηστών υπολογίζεται με την χρήση κάποιου μέτρου ομοιότητας. Υπάρχουν πολλά διαδεδομένα μέτρα ομοιότητας που χρησιμοποιούνται στις τεχνικές ομαδοποίησης, στην διπλωματική εργασία για αυτό τον σκοπό προτιμήθηκε η Ευκλείδεια απόσταση. Επιπλέον, όταν ολοκληρώνεται η διαδικασία της ομαδοποίησης, εκτιμώνται τα αποτελέσματα μέσω κάποιων δεικτών εγκυρότητας. Ο λόγος που συμβαίνει αυτό, είναι για να μπορούν τα αποτελέσματα να θεωρούνται έγκυρα. Γιατί μόνο έγκυρα αποτελέσματα μπορούν να εφαρμοστούν αξιόπιστα σε πραγματικές εφαρμογές. Έτσι λοιπόν, όλοι οι πειραματισμοί που έγιναν αρχικά αφορούν συνθετικά δεδομένα, που έχουν μία γνωστή δομή και τα αποτελέσματα είναι γνωστά εκ των προτέρων. Η εκτίμηση των αποτελεσμάτων που προέκυψαν από τα συνθετικά δεδομένα έγινε με την βοήθεια ενός ειδικού για αυτό τον σκοπό δείκτη εκτίμησης των clusters, τον λεγόμενο F-measure. Έπειτα, αφού πιστοποιήθηκε η εκτέλεση του αλγορίθμου με δοκιμές στα συνθετικά δεδομένα, ακολούθησαν και πειραματισμοί σε πραγματικά δεδομένα. Ομοίως και στα πραγματικά δεδομένα χρησιμοποιήθηκε ο κατάλληλος δείκτης εκτίμησης των clusters που προέκυψαν, ώστε να εξαχθούν τα κατάλληλα και ορθά συμπεράσματα. Συγκεκριμένα χρησιμοποιήθηκε ο DB δείκτης. Μεταξύ άλλων εξετάσαμε και τον αριθμό των αντιμεταθέσεων που λαμβάνουν χώρα κατά την ομαδοποίηση ενός συνόλου δεδομένων, σε σχέση με τις τιμές που λαμβάνει αντίστοιχα ο DB δείκτης. Καταλήξαμε στο γεγονός ότι ο αριθμός των αντιμεταθέσεων που συμβαίνουν δεν μειώνεται ούτε και αυξάνεται σε σχέση με την μικρότερη-καλύτερη τιμή του DB δείκτη. Επομένως, το καλό clustering ενός συνόλου δεδομένων δεν σημαίνει απαραίτητα και έναν συγκεκριμένο ρυθμό μείωσης ή αύξησης του αριθμού των αντιμεταθέσεων των στοιχείων του. 2

3 Ευχαριστίες Η διπλωματική εργασία εκπονήθηκε στο Εργαστήριο Αρχιτεκτονικής και Δικτύων Υπολογιστών, ( του Αριστοτέλειου Πανεπιστήμιου Θεσσαλονίκης. Αποτέλεσε μια πολύ καλή αφορμή για την ενασχόληση μου με τον πολύ ενδιαφέροντα τομέα της εξόρυξης γνώσης από δεδομένα (data mining) και πιο συγκεκριμένα του κλάδου της ομαδοποίησης (clustering). Στο σημείο αυτό θα ήθελα να ευχαριστήσω τον αναπληρωτή καθηγητή κ. Γεώργιο Παπαδημητρίου για την ευκαιρία που μου πρόσφερε να ασχοληθώ με ένα τέτοιο θέμα. Επίσης θα ήθελα να ευχαριστήσω θερμά τη Δρ. Σοφία Πετρίδου για την πολύτιμη καθοδήγηση και εποπτεία της, αλλά και για το χρόνο που μου αφιέρωσε κατά τη διάρκεια εκπόνησης της διπλωματικής. Τέλος, ευχαριστώ τους γονείς μου και ιδιαίτερα την αδερφή μου και τον φίλο μου και συνάδελφο, γιατί ήταν κοντά μου σε ότι χρειάστηκα αυτό το διάστημα. Με εκτίμηση, Γεωργία Ακακιάδου 3

4 Στο φίλο μου που είναι πάντα κοντά μου 4

5 1 Εισαγωγή Αντικείμενο της διπλωματικής Οργάνωση κεφαλαίων 9 2 Σχετικές εργασίες Αναφορές εργασιών Εξόρυξη δεδομένων με τη χρήση Web logs Εξόρυξη δεδομένων από βιολογικά δεδομένα Διαδικασία εξόρυξης από δεδομένα του Παγκόσμιου Ιστού Web δεδομένα Πηγές δεδομένων Web Usage Mining Προ-επεξεργασία δεδομένων (pre processing) Ανακάλυψη pattern Ανάλυση patterns 21 3 Η τεχνική της ομαδοποίησης (Clustering) Εισαγωγή στην ομαδοποίηση Στόχοι και εφαρμογές ομαδοποίησης Στάδιο ομαδοποίησης Ιεραρχική Ομαδοποίηση (Ηierarchical Clustering) Διαμεριστική ομαδοποίηση (Partitional clustering) Ασαφής ομαδοποίηση (Fuzzy clustering) Επιλογή του κατάλληλου αλγορίθμου και εμπειρία Διαμεριστικοί ή Ιεραρχικοί αλγόριθμοι σε Web δεδομένα 30 4 Θεωρητική μελέτη Ορισμοί και Συμβολισμός Αναπαράσταση στοιχείων, Επιλογή και Εξαγωγή χαρακτηριστικών 4.2 Μέτρα ομοιότητας Εκτίμηση του αριθμού των ομάδων (clusters) Δείκτες εκτίμησης του αριθμού των ομάδων (clusters) Μαθηματικοί τύποι internal δεικτών εκτίμησης των clusters External F-measure δείκτης Η έννοια της ευστάθειας Αναπαράσταση των clusters 45 5 Αλγόριθμος k-means k-means

6 5.2 X-means Ορισμοί Εκτίμηση του k BIC scoring Επιτάχυνση Παραδείγματα Συμπεράσματα G-means Ανακάλυψη του k μέσω του G-means Έλεγχος των clusters για Gaussian Παραδείγματα 66 6 Σχεδίαση και Υλοποίηση του συστήματος Σχεδίαση του συστήματος Υλοποίηση Γλώσσα προγράμματος Περιγραφή κλάσεων Πειράματα και αποτελέσματα Πειράματα σε συνθετικά δεδομένα Πειράματα σε πραγματικά δεδομένα 84 Έλεγχος των μετακινήσεων των στοιχείων σε σχέση με την τιμή του DB δείκτη 86 Συμπεράσματα, Προτάσεις 89 Βιβλιογραφία 91 Πηγαίος Κώδικας 95 6

7 1 Εισαγωγή Λόγω της ραγδαίας ανάπτυξης της τεχνολογίας των υπολογιστών και των δικτύων, το Διαδίκτυο (Internet) έχει καταστεί η κύρια πηγή πληροφόρησης. Στις μέρες μας, το Διαδίκτυο προτιμάται από τους περισσότερους, από τη στιγμή που υπάρχει η δυνατότητα και η ευκολία άμεσης πρόσβασης σε δεδομένα και πληροφορίες. Δοθέντος όμως του τεράστιου όγκου δεδομένων που βρίσκονται αποθηκευμένα στον Παγκόσμιο Ιστό, δημιουργούνται συχνά προβλήματα στους χρήστες του Παγκόσμιου Ιστού. Πολλές φορές μπορεί τα αποτελέσματα των μηχανών αναζήτησης μπορεί να μην ικανοποιήσουν τις απαιτήσεις των χρηστών. Τα περισσότερα από αυτά απέχουν πολύ από αυτό που πραγματικά ενδιαφέρει τον χρήστη που ενδεχομένως πραγματοποίησε την αναζήτηση. Επιπλέον, προβλήματα υπάρχουν και σε περιπτώσεις με «κρυμμένες» πληροφορίες που πρέπει να ανακτηθούν, προκειμένου να αποτελέσουν χρήσιμη πηγή γνώσεων σε ανώτερου επιπέδου εφαρμογές, όπως το e- commerce και το e-learning. Σε πολλές περιπτώσεις, προκύπτει η ανάγκη για μελέτη των πλοηγήσεων που πραγματοποιούνται από τους χρήστες. Τέτοιες περιπτώσεις, είναι η ανάγκη για γνώση της συμπεριφοράς των χρηστών, αλλά και η ανάγκη αναδιοργάνωσης των δικτυακών τόπων με τρόπο που να εξυπηρετούν αποτελεσματικότερα τους χρήστες κατά την αναζήτηση. Από αυτή την μελέτη μπορούν να εξαχθούν σημαντικά συμπεράσματα για τις προτιμήσεις των χρηστών, τα οποία με την σειρά τους να χρησιμοποιηθούν για την βελτίωση των δυνατοτήτων ενός δικτυακού τόπου. Για παράδειγμα, μετά την εύρεση των δημοφιλέστερων πλοηγήσεων, αυτές μπορούν να δίνονται στο πάνω μέρος ενός δικτυακού τόπου έτσι ώστε να είναι άμεσα ορατές από όλους τους χρήστες. Ακόμα, με γνώση παρόμοιων πλοηγήσεων μεταξύ χρηστών, μπορούν να ενταχθούν οι χρήστες με πανομοιότυπα ενδιαφέροντα σε κοινές ομάδες και να παρέχεται στις ομάδες αυτές πιο άμεση πρόσβαση στις κατηγορίες μεγαλύτερου ενδιαφέροντος. Η διαδικασία εξόρυξης από δεδομένα χρήσης του Παγκόσμιου Ιστού, γνωστή ως Web Usage Mining, σχετίζεται άμεσα με τα παραπάνω και αποτελεί το γενικότερο πλαίσιο στο οποίο εντάσσεται αυτή διπλωματική εργασία. Πιο συγκεκριμένα, η διαδικασία Web Usage Mining εμπλέκει την ανακάλυψη προτύπων πρόσβασης χρηστών μέσω των δεδομένων χρήσης του Παγκόσμιου Ιστού, που συνήθως παράγονται από εξυπηρέτες του Παγκόσμιου Ιστού (Web servers) και συλλέγονται σε αρχεία καταγραφής του εξυπηρέτη (server access logs) [1,2]. Καθώς ολοένα και περισσότεροι οργανισμοί βασίζονται στο Διαδίκτυο για να διεξάγουν την επιχειρηματικότητα τους, η συλλογή πληροφοριών σχετικά με την συμπεριφορά των χρηστών και η εξαγωγή των προτύπων χρήσης τους μπορεί να φανεί 7

8 ιδιαίτερα σημαντική για δικτυακούς τόπους με δυναμικό περιεχόμενο. Η εξατομίκευση και η προσωποποίηση αυτών των δικτυακών τόπων βασίζεται σε παρόμοια πρότυπα επισκεψιμότητας χρηστών που ανήκουν σε ομάδες (clusters), οι οποίες αποτελούν αποτέλεσμα εφαρμογής τεχνικών εξόρυξης από δεδομένα χρήσης του Παγκόσμιου Ιστού. Επιπροσθέτως, η διαδικασία εξόρυξης από δεδομένα χρήσης του Παγκόσμιου Ιστού μπορεί να είναι αρκετά χρήσιμη για την καλύτερη δομή και διαχείριση ενός δικτυακού τόπου, γιατί τον καθιστά πιο αποτελεσματικό και ενισχύει επομένως την λειτουργία ολόκληρου του συστήματος, καθώς βελτιώνεται η ανάκτηση πληροφοριών και η διανομή περιεχομένου μέσω του Διαδικτύου. Ακόμα, η εξαγόμενη γνώση μπορεί να χρησιμοποιηθεί για πρόβλεψη και βελτίωση ειδικών εφαρμογών όπως το e-commerce και συνεπώς μπορεί να συμβάλλει τόσο στην αύξηση της ικανοποίησης των χρηστών, όσο και στην διευκόλυνση των διαχειριστών των δικτυακών τόπων. 1.1 Αντικείμενο της διπλωματικής Στη διπλωματική αυτή εργασία, στόχος είναι η εξόρυξη δεδομένων από επισκέψεις χρηστών σε ιστοσελίδες, καθώς αυτές συλλέγονται στα αρχεία καταγραφής του Web Server (server access logs). Πιο συγκεκριμένα, η διπλωματική εργασία στοχεύει να ομαδοποιήσει τους χρήστες με παρόμοια πρότυπα συμπεριφοράς πλοήγησης. Αυτό επιτυγχάνεται με την εφαρμογή μιας διαμεριστικής τεχνικής ομαδοποίησης (partitional clustering) και συγκεκριμένα μέσω ενός αλγορίθμου που ανήκει σε αυτή την κατηγορία τεχνικών ομαδοποίησης, του k-means. Η ομαδοποίηση των χρηστών αποτελεί αρκετά χρήσιμη πληροφορία, που μπορεί να αξιοποιηθεί με πολλούς τρόπους σε ευρύ πεδίο εφαρμογών του Διαδικτύου. Για παράδειγμα, η πληροφορία αυτή μπορεί στη συνέχεια να αξιοποιηθεί από τους διαχειριστές των ιστοσελίδων, οι οποίοι ενδιαφέρονται να παρακολουθούν τους επισκέπτες των ιστοσελίδων, με στόχο την αναδιοργάνωσή τους ώστε να είναι πιο χρηστικές. Επιπλέον, μπορεί να παραχθεί γνώση των πιο δημοφιλών επισκέψεων, και έτσι να εξαχθούν χρήσιμα συμπεράσματα για τις προτιμήσεις και τα ενδιαφέροντα των χρηστών. Γενικά η εξαγόμενη γνώση μπορεί να αξιοποιηθεί προκειμένου να επιτευχθούν αρκετοί στόχοι προερχόμενοι από διαφορετικούς τομείς. Στην παρούσα ωστόσο διπλωματική, ο κύριος στόχος είναι να ομαδοποιηθούν οι χρήστες με παρόμοια συμπεριφορά, δηλαδή αυτοί οι χρήστες που επισκέφθηκαν κοινές ιστοσελίδες με παρόμοια συχνότητα να ανήκουν σε μία ομάδα. Αυτοί οι χρήστες φαίνεται να έχουν όπως λέγεται τις ίδιες προτιμήσεις και με βάση τις επισκέψεις που πραγματοποίησαν τοποθετούνται στην ίδια ομάδα, ενώ κάποιοι άλλοι χρήστες που φαίνεται να προτίμησαν άλλες ιστοσελίδες και περίπου ίσες φορές διαφέρουν από τους πρώτους. Οι δεύτεροι, ομοίως ανήκουν σε μία άλλη ομάδα. Αξίζει να τονιστεί ότι οι χρήστες μιας ομάδας μοιάζουν μεταξύ τους, ενώ οι χρήστες διαφορετικών ομάδων διαφέρουν. Η ομαδοποίηση των χρηστών (users clustering) με βάση τις επισκέψεις που πραγματοποίησαν μπορεί να γίνει με χρήση διάφορων τεχνικών ομαδοποίησης. Στη διπλωματική εργασία υλοποιήθηκε η τεχνική ομαδοποίησης με βάση το διαμεριστικό αλγόριθμο k-means (Κ-Μέσων) που διαχωρίζει τους χρήστες σε k ομάδες (clusters). Η ομοιότητα των χρηστών υπολογίζεται με χρήση μετρικής απόστασης. Υπάρχουν πολλές διαδεδομένες μετρικές που χρησιμοποιούνται στις τεχνικές ομαδοποίησης, στην διπλωματική εργασία 8

9 για αυτό τον σκοπό χρησιμοποιήθηκε η Ευκλείδεια απόσταση. Επιπλέον, όταν ολοκληρώνεται η διαδικασία της ομαδοποίησης, εκτιμώνται τα αποτελέσματα μέσω κάποιων δεικτών εγκυρότητας. Ο λόγος που συμβαίνει αυτό, είναι για να μπορούν τα αποτελέσματα να θεωρούνται έγκυρα. Γιατί μόνο έγκυρα αποτελέσματα μπορούν να εφαρμοστούν αξιόπιστα σε πραγματικές εφαρμογές. Έτσι λοιπόν, όλοι οι πειραματισμοί που έγιναν αρχικά αφορούν συνθετικά δεδομένα, που έχουν μία γνωστή δομή και τα αποτελέσματα είναι γνωστά εκ των προτέρων. Η εκτίμηση των αποτελεσμάτων που προέκυψαν από τα συνθετικά δεδομένα έγινε με την βοήθεια ειδικών δεικτών εκτίμησης του αριθμού των clusters. Έπειτα, αφού πιστοποιήθηκε η εκτέλεση του αλγορίθμου με δοκιμές στα συνθετικά δεδομένα, ακολούθησαν και πειραματισμοί σε πραγματικά δεδομένα. Ομοίως και στα πραγματικά δεδομένα χρησιμοποιήθηκαν οι κατάλληλοι δείκτες εκτίμησης του αριθμού των clusters που προέκυψαν, ώστε να εξαχθούν τα κατάλληλα και ορθά συμπεράσματα. 1.2 Οργάνωση κεφαλαίων Η διπλωματική εργασία οργανώνεται στα παρακάτω κεφάλαια: Στο κεφάλαιο 2, παρατίθεται μια σύντομη αναφορά μερικών σχετικών εργασιών και παράλληλα δίνονται κάποιες γενικές πληροφορίες πάνω στη διαδικασία εξόρυξης από δεδομένα του Παγκόσμιου Ιστού. Στο κεφάλαιο 3, αναλύονται κάποια βασικά ζητήματα της τεχνικής της ομαδοποίησης, στο πλαίσιο της οποίας εντάσσεται και η παρούσα διπλωματική εργασία. Παρουσιάζονται οι κατηγορίες αλγορίθμων που υπάρχουν. Ακόμη, εξηγείται γιατί είναι προτιμότερο να χρησιμοποιούνται διαμεριστικοί αλγόριθμοι ομαδοποίησης σε Web δεδομένα από ότι ιεραρχικοί. Στο κεφάλαιο 4, παρατίθενται οι βασικοί ορισμοί και τα απαραίτητα θεωρητικά εργαλεία στα οποία στηρίζεται η ομαδοποίηση και επομένως η διπλωματική εργασία. Πιο συγκεκριμένα, εξηγούνται τα μέτρα ομοιότητας που χρησιμοποιούνται στην διαδικασία της ομαδοποίησης προκειμένου να μετρηθούν οι απαραίτητες αποστάσεις. Ακόμη, γίνεται λόγος για την εκτίμηση των αποτελεσμάτων, δηλαδή των clusters που προκύπτουν, με τη βοήθεια ειδικών για αυτό τον σκοπό δεικτών. Στο κεφάλαιο 5, περιγράφεται ο αλγόριθμος k-means και διάφορα θέματα γύρω από αυτόν, όπως το πώς δουλεύει, τι πλεονεκτήματα, τι αδυναμίες παρουσιάζει και άλλα. Ακόμη, παρουσιάζονται σχετικές εργασίες που αφορούν επεκτάσεις του αλγορίθμου και εμφανίζουν ιδιαίτερο ενδιαφέρον. Στο κεφάλαιο 6, γίνεται λόγος για την σχεδίαση του συστήματος που υλοποιήσαμε. Πιο συγκεκριμένα περιγράφονται οι μέθοδοι και τα εργαλεία που χρησιμοποιήσαμε, αναλύονται κάποιες λεπτομέρειες της υλοποίησης και αναφέρονται κάποια στοιχεία για το περιβάλλον στο οποίο εργαστήκαμε. Επιπλέον υπάρχει στο τέλος του κεφαλαίου μία ενότητα με τίτλο πειράματα, όπου παραθέτουμε τα αποτελέσματα των δοκιμών που κάναμε αφού ολοκληρώθηκε η υλοποίηση του συστήματος. 9

10 2 Σχετικές εργασίες Σε αυτό το κεφάλαιο παρατίθεται μια σύντομη αναφορά μερικών εργασιών, σχετικών με το αντικείμενο αυτής της διπλωματικής. Όλες οι εργασίες που θα αναφερθούν εντάσσονται στο πλαίσιο της εξόρυξης δεδομένων, όπως και η διπλωματική εργασία. Επίσης, στο τέλος του κεφαλαίου δίνονται κάποιες γενικές πληροφορίες πάνω στη διαδικασία εξόρυξης από δεδομένα του Παγκόσμιου Ιστού. 2.1 Αναφορές εργασιών Υπάρχει πληθώρα εργασιών που βασίζονται στην εξόρυξη δεδομένων. Παρακάτω αναφέρονται μερικές τέτοιες εργασίες. Έτσι εντάσσεται καλύτερα και η διπλωματική εργασία, ενώ από τις διαφορές που προκύπτουν γίνεται κατανοητό ότι υπάρχουν πολλά θέματα γύρω από την ομαδοποίηση και τις εφαρμογές της ανάλογα με τις διάφορες οπτικές γωνίες. Ακόμη, αυτές οι εργασίες αποτελούν πηγή ιδεών και έμπνευσης για μελλοντική δουλεία και μπορούν πολλές φορές να συνδυαστούν μεταξύ τους. Μια ανασκόπηση τέτοιων εργασιών, που περιέχει τις σύγχρονες τάσεις, μεθόδους και υλοποιήσεις γύρω από τις τεχνικές ομαδοποίησης υπάρχει στην [3] Εξόρυξη δεδομένων με τη χρήση Web logs Μια κατηγορία εργασιών οι οποίες ασχολούνται με θέματα σχετικά με αυτή τη διπλωματική εργασία, είναι αυτές οι οποίες χρησιμοποιούν τα Web logs για να εξάγουν χρήσιμα δεδομένα, κατά αντίστοιχο τρόπο με αυτόν της διπλωματικής, που ομαδοποιούνται οι χρήστες με βάση τις σελίδες που επισκέφθηκαν. Στην εργασία [4], παρουσιάζεται ένας αποδοτικός τρόπος για την ομαδοποίηση χρηστών του Web σε κοινότητες με βάση τις προτιμήσεις τους, με στόχο την προσωποποίηση των υπηρεσιών του Web. Συγκεκριμένα, γίνεται χρήση ενός συνδυασμού από μεθόδους clustering, μιας μεθόδου agglomerative clustering (συσσωρευτικής ομαδοποίησης) και μιας εξόρυξης από δεδομένα χρήσης, οι οποίες είναι βασισμένες στο περιεχόμενο των ιστοσελίδων. Ωστόσο, στην παρούσα διπλωματική δεν εξετάζεται το 10

11 περιεχόμενο των ιστοσελίδων αλλά ο αριθμός των επισκέψεων που έγινε στην κάθε μία. Ακόμη, διαφορά υπάρχει και στην τεχνική ομαδοποίησης μιας και χρησιμοποιείται αποκλειστικά ο k-means. Μια άλλη επίσης σχετική εργασία είναι αυτή των F.Toolan και N.Kusmerick [5], οι οποίοι βασίζονται σε τεχνικές εξόρυξης γνώσης από τη χρήση του Διαδικτύου με στόχο τη δημιουργία προσωποποιημένων χαρτών ιστοσελίδων, εξειδικευμένων στα ενδιαφέροντα του κάθε χρήστη. Αν και στη διπλωματική εργασία παρατίθενται απλά οι ομαδοποιήσεις των χρηστών, αξίζει να ειπωθεί ότι αυτές μπορούν στη συνέχεια να χρησιμοποιηθούν και για προσωποποίηση όπως στην [5]. Επίσης, στην αναφορά [6] έχουν συνδυαστεί δεδομένα χρήσης με το περιεχόμενο ιστοσελίδων. Στην προσέγγιση αυτή, διάφορα προφίλ περιεχομένου έχουν δημιουργηθεί με τη χρήση τεχνικών ομαδοποίησης. Τα προφίλ περιεχομένου αντιπροσωπεύουν το ενδιαφέρον των χρηστών για κάποιες ιστοσελίδες με παρόμοιο περιεχόμενο και συνδυάζονται με αντίστοιχα προφίλ χρησιμοποίησης για να υποστηρίξουν τη διαδικασία της πρότασης συγκεκριμένων ιστοσελίδων. Η διαφορά με την παρούσα διπλωματική, έγκειται στο γεγονός ότι εξετάζεται το περιεχόμενο των ιστοσελίδων που επισκέπτονται οι χρήστες, ενώ στη διπλωματική μόνο οι επισκέψεις. Μία ακόμη ενδιαφέρουσα εργασία με αρκετά όμοια στοιχεία με την παρούσα διπλωματική εργασία, κυρίως στον τρόπο που αντιμετωπίζονται διάφορα θέματα, είναι η [7]. Σε αυτή την εργασία, παρουσιάζεται μία προσέγγιση για την ομαδοποίηση των χρηστών του Διαδικτύου και στη συνέχεια ελέγχεται η εγκυρότητα του παραγόμενου αποτελέσματος, μέσω δεικτών εκτίμησης. Στην εργασία αυτή, εξετάζεται η χρήση της Kullback-Leibler απόκλισης, σαν μία εναλλακτική προσέγγιση για να μετρηθούν οι αποστάσεις μεταξύ των χρηστών. Αυτή η KL-απόκλιση συγκρίνεται με άλλα γνωστά μέτρα απόστασης και τα αποτελέσματα της ομαδοποίησης εκτιμούνται μέσω κάποιου κριτηρίου, μέσω δεικτών και μέσω γραφικών αναπαραστάσεων. Και στην διπλωματική εργασία εξετάζεται η εγκυρότητα των αποτελεσμάτων ενώ χρησιμοποιείται μόνο η Ευκλείδεια απόσταση. Επίσης, σε αυτή την εργασία εκτιμάται και η επίδραση του θορύβου, αφού είναι αναγκαίο να προσδιοριστεί εάν η διαδικασία ομαδοποίησης που ακολουθήθηκε είναι ανθεκτική σε περιβάλλοντα με θόρυβο, όπως είναι το Διαδίκτυο. Από συγκρίσεις που έγιναν φαίνεται ότι η KL-απόκλιση έχει παρόμοια επίδοση σε σχέση με άλλα μέτρα απόστασης, τόσο για τα συνθετικά όσο και για τα πραγματικά δεδομένα. Ακόμη, κοινό στοιχείο μεταξύ της εργασίας αυτής και της παρούσας διπλωματικής εργασίας αποτελεί η χρήση και υλοποίηση του k-means Εξόρυξη δεδομένων από βιολογικά δεδομένα Ένας από τους ταχύτατα αναπτυσσόμενους κλάδους στον οποίο έχουν πραγματοποιηθεί αρκετές σχετικές ερευνητικές εργασίες, είναι ο κλάδος της Βιοπληροφορικής. Πολλά από τα συστήματα που έχουν αναπτυχθεί πραγματοποιούν εξόρυξη πάνω σε πληροφορία αποθηκευμένη σε βάση δεδομένων. Υπάρχουν αρκετά κοινά χαρακτηριστικά μεταξύ των βιολογικών δεδομένων και των Web δεδομένων, ώστε η απόκλιση να χρησιμοποιείται και για την ομαδοποίηση των χρηστών του Web όπως και στα βιολογικά δεδομένα. Και οι δύο τύποι δεδομένων χαρακτηρίζονται από τεράστιους χώρους δεδομένων, που εμφανίζουν μεγάλη πολυπλοκότητα και έχουν δυναμική φύση. Δηλαδή, τόσο τα Web δεδομένα 11

12 όσο και τα βιολογικά δεδομένα αλλάζουν συνεχώς με τον χρόνο και περιέχουν πολύπλοκες δομές. Επιπλέον, υπάρχει η κοινή ανάγκη για γρήγορη και αποτελεσματική εξόρυξη και ανάκτηση πληροφοριών. Ακόμη, η αναπαράσταση που χρησιμοποιείται στα πειράματα που γίνονται και στους δύο τύπους δεδομένων είναι κοινή. Φαίνεται, πως οι πίνακες αποτελούν κοινή τακτική που υιοθετείται για την αναπαράσταση τόσο των Web δεδομένων όσο και των βιολογικών δεδομένων. Μία εργασία που ανήκει στο χώρο της εξόρυξης δεδομένων είναι η [8]. Σε αυτήν εξετάζονται ακολουθίες βιολογικών αντιδράσεων με στόχο, όπως και στην παρούσα διπλωματική, την ομαδοποίηση, στην προκειμένη περίπτωση βέβαια, των βιολογικών δεδομένων. 2.2 Διαδικασία εξόρυξης από δεδομένα του Παγκόσμιου Ιστού Τα τελευταία χρόνια σημειώθηκε ραγδαία ανάπτυξη στον τομέα του ηλεκτρονικού εμπορίου (ecommerce). Κινητήρια δύναμη προς αυτή την κατεύθυνση, αποτέλεσε η ευκολία και η ταχύτητα με την οποία πραγματοποιούν και διεκπεραιώνουν επιτυχώς τις εμπορικές συναλλαγές τους οι επιχειρήσεις. Ιδίως οι δραστηριότητες του e-commerce που εμπλέκουν τον τελικό χρήστη, σημείωσαν επανάσταση λόγω των πολλών πλεονεκτημάτων που επιφέρουν. Η ικανότητα να ιχνηλατείται η συμπεριφορά ενός χρήστη κατά την διάρκεια που πλοηγείται, ακόμη και μέσω των clicks που πραγματοποιεί ο κάθε χρήστης, οδήγησαν σε μία πολύ στενή σχέση πωλητές και πελάτες. Με αυτό τον τρόπο δίνεται η δυνατότητα σε έναν πωλητή να εξατομικεύσει το προϊόν του, ώστε να προορίζεται για κάποιους συγκεκριμένους πελάτες, που εμφανίζουν κοινά χαρακτηριστικά σε μια κλίμακα. Το φαινόμενο αυτό είναι γνωστό και ως mass customization, και αποτελεί μία από τις πολλές πιθανές εφαρμογές του Web Usage Mining. Με την φράση Web Usage Mining, εννοείται η διαδικασία εκείνη μέσω της οποίας εφαρμόζονται τεχνικές εξόρυξης δεδομένων (data mining) που έχουν σαν αποτέλεσμα την ανακάλυψη προτύπων χρήσης (usage patterns) από δεδομένα του Web. Οι τεχνικές εξόρυξης δεδομένων που σχετίζονται με το Web, ονομάζονται Web Mining και ευρέως διαχωρίζονται σε τρεις κατηγορίες, την εξόρυξη περιεχομένου (content mining), την εξόρυξη χρησιμότητας (usage mining), και την εξόρυξη δομής (structure mining). Μία κατηγοριοποίηση των τεχνικών Web Mining υπάρχει στην [9] Web δεδομένα Ένα από τα βήματα κλειδιά στην διαδικασία ανακάλυψης γνώσης από βάσεις δεδομένων (Knowledge Discovery in Databases) [10], είναι η δημιουργία ενός κατάλληλου συνόλου δεδομένων. Αυτό θα αποτελεί τον στόχο για τις εργασίες της εξόρυξης δεδομένων. Στο Web Mining, τα δεδομένα μπορούν να συλλέγονται στην πλευρά του εξυπηρέτη (server-side), στην πλευρά του πελάτη (client-side), σε έναν πληρεξούσιο εξυπηρέτη (proxy server) ή και σε μια βάση δεδομένων κάποιου οργανισμού. Κάθε ένας από τους παραπάνω τρόπους με τους οποίους μπορούν να συλλέγονται δεδομένα, έχει σαν αποτέλεσμα μια συλλογή δεδομένων που διαφέρει από τις υπόλοιπες όχι μόνο στην τοποθεσία της 12

13 πηγής των δεδομένων, αλλά επιπλέον και στο τύπο των δεδομένων που διατίθενται, στα τμήματα του πληθυσμού από τα οποία προέρχονται τα δεδομένα και στην μέθοδο υλοποίησης της όλης διαδικασίας. Υπάρχουν πολλά είδη δεδομένων που μπορούν να χρησιμοποιηθούν στο Web Mining, μια κατηγοριοποίηση που μπορεί να γίνει είναι η εξής: περιεχόμενο, πρόκειται για τα πραγματικά δεδομένα που υπάρχουν στις ιστοσελίδες, αυτά που σχεδιάστηκαν για μεταβίβαση στους χρήστες μέσω των ιστοσελίδων ( π.χ κείμενο, γραφικά). δομή, δεδομένα που περιγράφουν την οργάνωση του περιεχομένου. Πρόκειται για πληροφορίες δομής που περιλαμβάνουν ρυθμίσεις διάφορων HTML και XML tags μέσα σε μια σελίδα. Αναπαρίστανται συνήθως μέσω δένδρων δομής. Η θεμελιώδης πληροφορία δομής μιας σελίδας είναι οι υπερσύνδεσμοι (hyper-links) που συνδέουν την μια σελίδα με την άλλη. χρησιμοποίηση (usage), πρόκειται για δεδομένα που περιγράφουν την χρησιμοποίηση των patterns στις ιστοσελίδες, όπως IP διευθύνσεις, αναφορές σελίδων, και ημερομηνία και χρόνο πρόσβασης. προφίλ χρήστη, πρόκειται για δεδομένα που παρέχουν δημογραφικές πληροφορίες σχετικά με τους χρήστες ενός δικτυακού τόπου. Τέτοια είναι τα δεδομένα καταχώρησης και οι πληροφορίες από προφίλ πελατών Πηγές δεδομένων Τα δεδομένα usage, επειδή συλλέγονται από πολλές διαφορετικές πηγές, μπορούν να αναπαραστήσουν patterns που δείχνουν την πλοήγηση διάφορων τμημάτων της συνολικής Web κυκλοφορίας. Συλλογή επιπέδου server Ένα αρχείο log ενός Web server, είναι μια πολύ σημαντική πηγή για την πραγματοποίηση του Web Usage Mining, διότι σε αυτό καταγράφεται άμεσα η συμπεριφορά πλοήγησης που έχουν οι επισκέπτες ενός δικτυακού τόπου. Τα δεδομένα καταγράφονται σε αρχεία logs στον server, αντανακλώντας έτσι την ενδεχόμενη ταυτόχρονη πρόσβαση σε έναν δικτυακό τόπο από πολλούς χρήστες. Αυτά τα log αρχεία καταγραφής μπορούν να αποθηκευτούν με πολλές διαφορετικές μορφοποιήσεις. Ωστόσο, τα δεδομένα usage ενός δικτυακού τόπου που καταγράφονται σε αυτά τα server logs αρχεία, ίσως δεν είναι πέρα ως πέρα αξιόπιστα, εξαιτίας των ποικίλων επιπέδων κρυφών εναποθηκεύσεων (caching) που υπάρχουν σε ένα Web περιβάλλον. Οι όψεις των cached σελίδων δεν αποθηκεύονται σε ένα server log αρχείο. Επιπλέον, κάθε σημαντική πληροφορία που περνάει μέσω της PASS μεθόδου δεν είναι διαθέσιμη σε ένα server log αρχείο. Η τεχνική της εμπόδισης πακέτων (packet sniffing), είναι μία εναλλακτική μέθοδος για την συλλογή usage δεδομένων από server logs αρχεία. Μέσω αυτής της τεχνικής παρακολουθείται η δικτυακή κίνηση στον Web server και εξάγονται usage δεδομένα απευθείας από τα TCP/IP πακέτα. Ο Web server μπορεί ακόμη να αποθηκεύει και άλλα είδη usage δεδομένων μέσω των γνωστών Cookies και των ερωτημάτων. Βέβαια εκτός από τα usage δεδομένα, ο server έχει την δυνατότητα αποθήκευσης τόσο δεδομένων περιεχομένου όσο και δομής και επιπλέον μετα-δεδομένων για κάποιες ιστοσελίδες. Συλλογή επιπέδου client 13

14 Η συλλογή δεδομένων στην πλευρά του client, μπορεί να υλοποιηθεί χρησιμοποιώντας έναν απομακρυσμένο πράκτορα (όπως τα Javascripts) ή τροποποιώντας την πηγή κώδικα ενός υπάρχοντος προγράμματος πλοήγησης (όπως το Mozilla) προκειμένου να γίνουν ισχυρότερες οι δυνατότητες του για συλλογή δεδομένων. Η υλοποίηση της τεχνικής για συλλογή δεδομένων στην πλευρά του client, προϋποθέτει την συνεργασία του χρήστη, είτε ενισχύοντας την λειτουργικότητα των Javascripts και των Java Applets είτε με την εθελοντική χρήση ενός τροποποιημένου προγράμματος πλοήγησης. Η συλλογή στην πλευρά του client εμφανίζει πλεονέκτημα σε σχέση με την συλλογή στην πλευρά του server, εξαιτίας της βελτίωσης τόσο των caching όσο και των προβλημάτων αναγνώρισης συνόδων (sessions identifications). Όμως, τα Java Applets υστερούν σε σχέση με τα server logs από την οπτική γωνία του υπολογισμού του ακριβή χρόνου παραμονής σε κάποια σελίδα. Το πρόβλημα εντείνεται όταν το Java Applet φορτώνεται για πρώτη φορά λόγω μεγαλύτερου overhead. Αν και το τελευταίο πρόβλημα επιλύεται από τα Javascripts, εντούτοις σε αυτή την περίπτωση δεν μπορούν να συλληφθούν όλα τα clicks των χρηστών. Το τροποποιημένο πρόγραμμα πλοήγησης είναι πιο χρήσιμο τελικά, μιας και επιτρέπει την συλλογή δεδομένων σχετικά με τη συμπεριφορά ενός χρήστη σε πολλά sites. Η μόνη δυσκολία εδώ είναι να πειστούν οι χρήστες να χρησιμοποιήσουν ένα τροποποιημένο πρόγραμμα πλοήγησης για τις δραστηριότητες τους. Για αυτό δίνονται κάποια κίνητρα που προσελκύουν τους χρήστες. Συλλογή επιπέδου Proxy Ένας Web proxy δρα σαν ένας ενδιάμεσος ανάμεσα σε client browsers και Web servers. Το caching μέσω του proxy μειώνει τον χρόνο φόρτωσης μιας σελίδας και την κίνηση στο δίκτυο τόσο στην πλευρά του server όσο και του client[11]. Αυτά είναι απόρροια της ικανότητας του proxy να προβλέπει μελλοντικά αιτήματα σελίδων σωστά. Έτσι είναι εφικτή η ιχνηλάτηση αιτημάτων πολλών χρηστών σε πολλούς servers. Για αυτό με την χρήση proxy επιτυγχάνεται ο προσδιορισμός της συμπεριφοράς πλοήγησης μίας ομάδας ανώνυμων χρηστών, που μοιράζονται τον ίδιο proxy server. Αφαιρετικά δεδομένα Όλες οι πληροφορίες που παρέχονται από τις παραπάνω πηγές δεδομένων, μπορούν να χρησιμοποιηθούν για να κατασκευαστούν ειδικά αφαιρετικά δεδομένα. Μερικά από τα πιο σημαντικά είναι οι χρήστες, τα server sessions, τα επεισόδια, τα click-streams, και οι όψεις σελίδων. Σύμφωνα με τους ορισμούς που προτάθηκαν από το W3C Web Characterization Activity (WCA) [12], σαν χρήστης ορίζεται, ένα απλό άτομο που έχει δυνατότητα πρόσβασης σε ένα αρχείο από έναν ή περισσότερους Web servers μέσω ενός προγράμματος πλοήγησης. Αν και ο ορισμός αυτός φαίνεται να είναι τετριμμένος, εντούτοις δεν είναι αν σκεφτεί κανείς ότι είναι πολύ δύσκολη η αναγνώριση χρηστών. Αυτό συμβαίνει γιατί ένας χρήστης μπορεί να έχει πρόσβαση στο Web μέσω πολλών διαφορετικών μηχανημάτων ή να χρησιμοποιεί περισσότερους του ενός πράκτορες σε μια απλή μηχανή. Μία όψη σελίδας αποτελείται από οποιοδήποτε αρχείο που συμβάλλει στο αποτέλεσμα που παρουσιάζεται στον χρήστη μέσω του προγράμματος πλοήγησης, σε κάποια χρονική στιγμή. Συνήθως οι όψεις σελίδων σχετίζονται με τη δραστηριότητα ενός απλού χρήστη και μπορούν να περιλαμβάνουν διάφορα αρχεία, όπως πλαίσια, γραφικά και scripts. Γενικά, όταν γίνεται λόγος και αναλύεται η συμπεριφορά ενός χρήστη, η συνολική όψη σελίδας είναι που παρουσιάζει ενδιαφέρον. Ένας χρήστης δε ζητάει ουσιαστικά ν πλαίσια και μ γραφικά να φορτωθούν στον browser του, αλλά ζητάει μια ιστοσελίδα. 14

15 Όλες οι πληροφορίες για το ποια αρχεία αποτελούν μία όψη σελίδας είναι προσβάσιμες από έναν Web server. Ένα click-stream ορίζεται ως μία ακολουθία διαδοχικών αιτημάτων για όψεις σελίδων. Και πάλι τα δεδομένα που είναι διαθέσιμα από την πλευρά του server, δεν αρκούν για την ανάκτηση του πλήρους click-stream ενός site. Κάθε όψη σελίδας που προσπελάσθηκε από έναν client ή έναν proxy, δεν θα είναι ορατή στην πλευρά του server. Ένα user session (σύνοδος χρήστη) ορίζεται σαν ένα clickstream των όψεων σελίδας ενός απλού χρήστη. Τυπικά από ένα user session μόνο το τμήμα που αφορά την πρόσβαση σε ένα συγκεκριμένο site χρησιμοποιείται στην ανάλυση. Το σύνολο των όψεων σελίδας σε έναν user session που αφορούν ένα συγκεκριμένο site αποτελούν το server session (ή αλλιώς μία επίσκεψη). Ένα σύνολο server sessions είναι η απαραίτητη είσοδος για κάθε διαδικασία Web Usage ανάλυσης. Το τέλος ενός server session, ορίζεται σαν το σημείο το οποίο το browsing session του χρήστη για κάποιο site τερμάτισε. Και πάλι υπάρχει δυσκολία αξιόπιστης ανάκτησης της πληροφορίας. Κάθε σημασιολογικά λογικό υποσύνολο ενός user ή server session αναφέρεται ως επεισόδιο. 2.3 Web Usage Mining Όπως φαίνεται και από το Σχήμα 1, υπάρχουν τρία κύρια στάδια που λαμβάνουν μέρος κατά την εκτέλεση της Web Usage Mining[13]. Ακολουθεί ανάλυση και των τριών αυτών σταδίων. Σχήμα 1. Υψηλού επιπέδου Web Usage Mining Προ-επεξεργασία δεδομένων (pre processing) Η προ-επεξεργασία δεδομένων εκτελεί μετατροπές usage, περιεχομένου και δομής που περιέχονται σε πολλές διαθέσιμες πηγές δεδομένων. Το αποτέλεσμα αυτών των μετατροπών είναι μόνο εκείνα τα δεδομένα που είναι αναγκαία για την ανακάλυψη των patterns (προτύπων). Η προ-επεξεργασία 15

16 δεδομένων είναι μια από τις πιο δύσκολες φάσεις της Web Usage Mining, ενώ η ποιότητα των δεδομένων που θα προκύψουν αποτελεί σημείο κλειδί για την ευστοχία και την αξιοπιστία όλης της διαδικασίας που ακολουθεί μετά την προ-επεξεργασία. Usage Προ-επεξεργασία Η Usage προ-επεξεργασία είναι ομολογουμένως η πιο δύσκολη φάση στη διαδικασία της Web Usage Mining, εξαιτίας των ατελειών των διαθέσιμων δεδομένων. Αν δεν χρησιμοποιηθεί μηχανισμός ιχνηλάτισης στην πλευρά του client, μόνο η IP διεύθυνση, ο πράκτορας και το click-stream του server είναι διαθέσιμα, προκειμένου να αναγνωριστούν οι χρήστες και τα server sessions. Κάποια από τα πιο κύρια προβλήματα που εμφανίζονται και δημιουργούν αναξιοπιστία σχετικά με τα διαθέσιμα δεδομένα είναι τα εξής: Μία IP διεύθυνση/ πολλά server sessions. Οι Internet service providers (ISPs) έχουν μία δεξαμενή από proxy servers στους οποίους οι διάφοροι χρήστες μπορούν να έχουν πρόσβαση μέσω του Web. Ένας απλός proxy server ίσως έχει διάφορους χρήστες που έχουν πρόσβαση σε ένα δικτυακό τόπο ενδεχομένως την ίδια χρονική περίοδο. Πολλές IP διευθύνσεις/ ένα server session. Μερικοί ISPs αναθέτουν κάθε αίτημα κάποιου χρήστη σε μία IP διεύθυνση που επιλέγεται τυχαία ανάμεσα σε άλλες. Σε αυτή την περίπτωση, ένα server session μπορεί να αντιστοιχεί σε πολλές IP διευθύνσεις. Πολλές IP διευθύνσεις/ ένας χρήστης. Ένας χρήστης που μπορεί να έχει πρόσβαση στο Web μέσω πολλών διαφορετικών μηχανημάτων, θα έχει και μία διαφορετική IP διεύθυνση από session σε session. Αυτό καθιστά την ιχνηλάτιση των διαδοχικών επισκέψεων του ίδιου χρήστη δύσκολη. Πολλοί πράκτορες/ ένας χρήστης. Πάλι ένας χρήστης χρησιμοποιεί περισσότερους του ενός browsers. Σε αυτή την περίπτωση ακόμη και στο ίδιο μηχάνημα, θα εμφανίζεται σαν να είναι πολλοί χρήστες και όχι ένας. Επιπλέον προβλήματα δημιουργούνται επειδή στα log αρχεία καταγράφονται επισκέψεις χρηστών που έγιναν είτε τυχαία είτε από λάθος. Τέτοια λάθη θεωρούνται σαν θόρυβος, τον οποίο το στάδιο της προεπεξεργασίας στοχεύει να μειώσει στο ελάχιστο. Σε μεγάλο βαθμό έχει γίνει εφικτό να απομακρυνθεί ο θόρυβος αλλά το πρόβλημα δεν επιλύεται εξίσου εύκολα σε περίπτωση μεγάλων ποσοτήτων δεδομένων. Υποθέτοντας ότι κάθε χρήστης έχει τελικά αναγνωριστεί (μέσω των Cookies, logins, ή IP/agent/path analysis), το click-stream για κάθε χρήστη πρέπει να διαιρεθεί σε sessions. Επειδή τα αιτήματα για σελίδες από άλλους servers δεν είναι διαθέσιμα, είναι αναγκαίο να γνωρίζει κανείς πότε ένας χρήστης εγκατέλειψε το site. Ένα 30 λεπτών διάλειμμα χρησιμοποιείται συνήθως σαν την εξορισμού μέθοδο για τη διάσπαση ενός click-stream ενός χρήστη σε sessions. Όταν ένα session ID ενσωματώνεται σε κάθε URI, ο ορισμός ενός session καθορίζεται από το περιεχόμενο του server. Ενώ το ακριβές περιεχόμενο προκύπτει σαν αποτέλεσμα κάθε δραστηριότητας κάποιου χρήστη, είναι συχνά διαθέσιμο και από τα logs του server που περιέχουν πεδίο αιτημάτων, κάτι που πολλές φορές είναι χρήσιμο. Επειδή το περιεχόμενο των servers μπορεί να διατηρεί σταθερές μεταβλητές για κάθε ενεργό session, δεν είναι πάντα διαθέσιμο στο URI το ακριβές περιεχόμενο που στάλθηκε για κάποιο αίτημα χρήστη. Το πρόβλημα συμβαίνει όταν τα δεδομένα της usage προ-επεξεργασίας μεσολαβούν για την εξαγωγή συμπερασμάτων που αφορούν αναφορές cached σελίδων[14]. Όπως αναφέρθηκε και 16

17 πιο πριν, ο μόνος τρόπος για την ιχνηλάτιση cached όψεων σελίδας είναι η παρακολούθηση usage από την πλευρά του client. Στο Σχήμα 2 φαίνεται ένα log. Παρατηρούνται εύκολα πολλά από τα προβλήματα που περιγράφηκαν (η πρώτη στήλη δεν αποτελεί μέρος του log απλά υπάρχει για επεξηγηματικούς σκοπούς). Σχήμα 2. Παράδειγμα Web server log Προ-επεξεργασία περιεχομένου Η προ-επεξεργασία περιεχομένου εκτελεί μετατροπές κειμένου, εικόνας, scripts και άλλων αρχείων όπως πολυμεσικών μέσα σε φόρμες που είναι αρκετά χρήσιμες για την διαδικασία της Web Usage Mining. Συχνά περιλαμβάνει εξόρυξη περιεχομένου μέσω clustering ή classification. Η εφαρμογή εξόρυξης δεδομένων στο περιεχόμενο των Web sites είναι μια πολύ ενδιαφέρουσα ερευνητική περιοχή από μόνη της. Όμως σε συνδυασμό με την Web Usage Mining μπορεί να χρησιμοποιηθεί ώστε το περιεχόμενο ενός site να μπορεί να φιλτράρει την είσοδο, ή την έξοδο από τους αλγορίθμους ανακάλυψης patterns. Για παράδειγμα, τα αποτελέσματα ενός αλγορίθμου κατηγοριοποίησης μπορούν να χρησιμοποιηθούν για να περιορίσουν την ανακάλυψη patterns σε εκείνα που περιέχονται σε όψεις σελίδας σχετικά με ένα καθορισμένο υποκείμενο ή κλάση προϊόντων. Επιπλέον η κατηγοριοποίηση ή ομαδοποίηση όψεων σελίδων βασίζεται σε θεματικές ενότητες αλλά σχετίζεται και με τους σκοπούς που εξυπηρετεί μια σελίδα. Ομαδοποιούνται δηλαδή, σύμφωνα με την χρήση που προορίζεται να έχουν. Μπορεί να χρησιμοποιούνται για μεταφορά πληροφοριών, συγκέντρωση πληροφοριών, για πλοήγηση ή και συνδυασμό αυτών. Η χρήση που πρόκειται να έχει μια όψη σελίδας, μπορεί ακόμη, να φιλτράρει τα sessions πριν ή μετά την ανακάλυψη των patterns. Προκειμένου να τρέξουν αλγόριθμοι εξόρυξης περιεχομένου σε όψεις σελίδας, είναι απαραίτητη η μετατροπή των πληροφοριών σε μετρήσιμη μορφή. Σε αυτό βοηθάει η χρήση του διανυσματικού χώρου. Έτσι αρχεία κειμένου σπάνε σε διανύσματα λέξεων. Ακόμη, λέξεις κλειδιά ή περιγραφές κειμένου μπορούν να αντικατασταθούν. Οι στατικές όψεις σελίδας δημιουργούν λιγότερα προβλήματα από τις δυναμικές. Γενικά, εάν μόνο 17

18 κάποια τμήματα όψεων σελίδας που είναι προσπελάσιμα υποστούν προ-επεξεργασία, τότε οι έξοδοι των αλγορίθμων ομαδοποίησης και κατηγοριοποίησης μπορεί να μην είναι σωστές. Προ-επεξεργασία δομής Η δομή ενός site προκύπτει από τους υπερσύνδεσμους ανάμεσα στις όψεις σελίδας. Η δομή μπορεί να ανακτηθεί και να προ-επεξεργαστεί με παρόμοιο τρόπο με το περιεχόμενο. Και σε αυτή την περίπτωση το δυναμικό περιεχόμενο προκαλεί περισσότερα προβλήματα από το στατικό. Μια διαφορετική δομή ενός site μπορεί να υπάρχει για κάθε server session Ανακάλυψη pattern Η διαδικασία ανακάλυψης pattern (προτύπου) τροφοδοτείται από τις μεθόδους και τους αλγορίθμους που αναπτύχθηκαν για διάφορα ερευνητικά πεδία όπως την στατιστική, την εξόρυξη δεδομένων, την μηχανική μάθηση και την αναγνώριση pattern. Ακολουθεί ανάλυση σχετικά με τα είδη των διάφορων δραστηριοτήτων εξόρυξης στο Web. Ειδικές μέθοδοι και αλγόριθμοι που υλοποιούνται ειδικά για την ανακάλυψη προτύπων στο πεδίο του Web υπάρχουν στην [15]. Οι μέθοδοι που αναπτύχθηκαν από άλλα πεδία πρέπει να συμπεριλάβουν τα διάφορα είδη αφαιρετικών δεδομένων και προηγούμενη γνώση διαθέσιμη για τη Web Mining. Για παράδειγμα, στην ανακάλυψη κανόνων συσχέτισης, η ιδέα για μια συναλλαγή σε ένα σούπερ-μάρκετ για την ανάλυση του καλαθιού με τα ψώνια, δεν λαμβάνει η υπόψη την σειρά επιλογής των προϊόντων. Ωστόσο, στην Web Usage Mining, ένα server session είναι μια ταξινομημένη ακολουθία σελίδων που ζητούνται από έναν χρήστη. Επιπλέον, εξαιτίας της δυσκολίας στην αναγνώριση μοναδικών sessions, επιπρόσθετη προηγούμενη γνώση απαιτείται (όπως η εκμετάλλευση ενός χρονικού διαλείμματος). Στατιστική ανάλυση Οι στατιστικές τεχνικές είναι οι πιο κοινές μέθοδοι για την εξαγωγή γνώσης σχετικά με τους επισκέπτες ενός Web site. Με την ανάλυση του session αρχείου, μπορεί κανείς να πραγματοποιήσει διαφορετικά είδη από περιγραφικές στατιστικές αναλύσεις (π.χ συχνότητας, μέσου) σε μεταβλητές όπως όψεις σελίδας, χρόνος και μήκος ενός μονοπατιού πλοήγησης. Πολλά εργαλεία ανάλυσης της κίνησης στο Web παράγουν μία περιοδική αναφορά που περιέχει στατιστικές πληροφορίες όπως τις πιο συχνά προσπελάσιμες σελίδες, τον μέσο χρόνο που εκτίθεται κάποια σελίδα ή το μέσο μήκος ενός μονοπατιού μέσω ενός site. Αν και μια τέτοια γνώση μπορεί να είναι περιορισμένη και χαμηλού επιπέδου από την οπτική γωνία της ανάλυσης λαθών (π.χ εύρεση των πιο κοινών άκυρων URI), εντούτοις μια τέτοια γνώση εξαιτίας ακριβώς της έλλειψης βάθους στην ανάλυση είναι χρήσιμη γιατί βελτιώνει την απόδοση του συστήματος. Αυτό συμβαίνει γιατί ενισχύει την ασφάλεια του συστήματος, διευκολύνει την αναδιαμόρφωση του site, και παρέχει υποστήριξη για επιχειρηματικές αποφάσεις. Κανόνες συσχέτισης Η παραγωγή κανόνα συσχέτισης μπορεί να χρησιμοποιηθεί για να συσχετίσει σελίδες που αναφέρονται πιο συχνά, ταυτόχρονα σε ένα server session. Στα πλαίσια της Web Usage Mining, οι κανόνες συσχέτισης αναφέρονται σε σύνολα σελίδων που είναι προσπελάσιμες ταυτόχρονα με την υποστήριξη μιας τιμής που ορίζει ένα ανώτατο όριο [16,17]. Αυτές οι σελίδες ίσως δεν συνδέονται 18

19 απευθείας μεταξύ τους μέσω υπερσυνδέσμων. Για παράδειγμα, η ανακάλυψη κανόνα συσχέτισης με χρήση του αλγορίθμου Apriori ή κάποιου όμοιου του, μπορεί να έχει σαν αποτέλεσμα την αποκάλυψη μίας συσχέτισης ανάμεσα σε χρήστες, που επισκέφθηκαν μία σελίδα η οποία περιέχει ηλεκτρονικά προϊόντα, και σε χρήστες που απέκτησαν πρόσβαση σε μία σελίδα με αθλητικό εξοπλισμό. Έτσι οι κανόνες συσχέτισης εκτός του ότι είναι χρήσιμοι για τις επιχειρήσεις και για διάφορες εμπορικές εφαρμογές, η απουσία ή παρουσία τους μπορεί να βοηθήσει τους σχεδιαστές δικτυακών εφαρμογών στην ανακατασκευή και προσαρμογή των sites. Οι κανόνες συσχέτισης μπορεί ακόμη να δρουν σαν ευριστικοί μηχανισμοί για την προσκόμιση εντολών σε έγγραφα με σκοπό την μείωση της καθυστέρησης των χρηστών όταν φορτώνουν μια σελίδα από απομακρυσμένο site. Clustering Το clustering είναι μια τεχνική για την ομαδοποίηση ενός αριθμού τμημάτων που εμφανίζουν παρόμοια χαρακτηριστικά. Στο πεδίο του Web Usage, υπάρχουν δύο είδη clusters (ομάδων) με ενδιαφέροντα χαρακτηριστικά, που αξίζει να ανακαλυφθούν. Αυτά είναι τα users clusters (ομάδες χρηστών) και τα pages clusters (ομάδες σελίδων). Το clustering με βάση τους χρήστες στοχεύει στην εξακρίβωση ομάδων χρηστών με παρόμοια πλοηγητική συμπεριφορά. Τέτοια γνώση μπορεί να φανεί ιδιαίτερα χρήσιμη για να εξαχθούν συμπεράσματα για τα δημογραφικά στοιχεία των χρηστών, προκειμένου αργότερα να χρησιμοποιηθούν στα πλαίσια διάφορων εφαρμογών του e-commerce. Ουσιαστικά αυτή η γνώση προάγει τις εμπορικές δραστηριότητες εκσυγχρονίζοντας τους παραδοσιακούς μηχανισμούς του marketing με αποτέλεσμα την αύξηση των εσόδων των επιχειρήσεων. Επιπλέον, αυτού του είδους η γνώση δίνει τη δυνατότητα παροχής εξατομικευμένου Web περιεχομένου στους χρήστες. Από την άλλη πλευρά, το clustering των σελίδων προσφέρει την ανακάλυψη ομάδων σελίδων με συγγενικό περιεχόμενο. Μια τέτοια γνώση μπορεί να φανεί χρήσιμη για τις μηχανές αναζήτησης του Internet και για τους Web assistance providers. Και στις δύο εφαρμογές, τόσο σταθερές όσο και δυναμικές HTML σελίδες μπορούν να δημιουργηθούν για να προτείνουν σχετικούς υπερσύνδεσμους στον χρήστη σύμφωνα πάντα με τα ερωτήματα του και το ιστορικό των αναγκών του. Classification Η classification είναι η διαδικασία της κατάταξης (ή χαρτογράφησης) ενός δεδομένου μέσα σε μία από πολλές προκαθορισμένες κλάσεις. Στο πεδίο του Web, ενδιαφέρον παρουσιάζει η ανάπτυξη ενός προφίλ για χρήστες που ανήκουν σε μία συγκεκριμένη κλάση ή κατηγορία [18,19]. Αυτή η διαδικασία απαιτεί εξαγωγή και επιλογή των χαρακτηριστικών εκείνων που περιγράφουν καλύτερα τις ιδιότητες μίας συγκεκριμένης κλάσης ή κατηγορίας. Η classification μπορεί να επιτευχθεί χρησιμοποιώντας αλγορίθμους επαγωγής που υπάγονται στην ευρύτερη κατηγορία μάθησης με επίβλεψη. Τέτοιοι είναι decision tree classifiers (κατηγοριοποίηση με δένδρα αποφάσεων), naive Bayesian classifiers (κατηγοριοποίηση με βάση τον απλό Bayes), k-nearest neighbor classifiers (κατηγοριοποίηση με βάση τον k-κοντινότερο γείτονα) και άλλοι. Σαν ένα παράδειγμα, έστω εφαρμόζεται η classification σε ένα server log. Τότε θα προκύψουν κανόνες της μορφής: 30% των χρηστών οι οποίοι έθεσαν μία online εντολή /Product/Music είναι μεταξύ 18 και 25 ετών και ζουν στην West Coast. Ακολουθιακά πρότυπα 19

20 Αυτή η τεχνική, δηλαδή η ανακάλυψη ή εξόρυξη ακολουθιακών προτύπων αποτελεί ένα από τα σημαντικότερα είδη μάθησης από ακολουθιακά δεδομένα [20,21]. Ακολουθιακά δεδομένα είναι αυτά που βρίσκονται σε κάποια διάταξη, όπως για παράδειγμα χρονική. Με την τεχνική αυτή είναι εφικτή η ανακάλυψη των μέγιστων συχνών ακολουθιών σε μία βάση δεδομένων. Για την ανακάλυψη των ακολουθιακών προτύπων χρησιμοποιούνται αλγόριθμοι που αποτελούν παραλλαγές των αλγορίθμων ανακάλυψης κανόνων συσχέτισης, όπως ο GSP και ο PrefixSpan. Επίσης, χρησιμοποιούνται και νέοι αλγόριθμοι που δημιουργήθηκαν για αυτόν ακριβώς τον σκοπό, όπως αλγόριθμοι εξόρυξης επεισοδίων. Ας σημειωθεί ότι όταν η ακολουθία είναι χρονική τότε τα αντικείμενα ονομάζονται γεγονότα. Οι χρονικοί κανόνες συσχέτισης είναι ένα είδος ακολουθιακών προτύπων, που συσχετίζουν γεγονότα που συμβαίνουν στην ίδια εγγραφή ή συναλλαγή ή σε μια ομάδα συνεχόμενων εγγραφών. Για παράδειγμα, 40% των πελατών που αγοράζουν ψηφιακή φωτογραφική μηχανή, μετά από δύο μήνες αγοράζουν φωτογραφικό εκτυπωτή. Ακόμη ένα άλλο είδος κανόνων που σχετίζονται με αυτή την τεχνική είναι οι δια-συναλλακτικοί κανόνες συσχέτισης, όπου υπάρχει η δυνατότητα να συσχετισθούν αντικείμενα από διαφορετικές συναλλαγές και όχι μόνο της ίδιας συναλλαγής. Έτσι μπορούν αν προκύψουν κανόνες της μορφής: Όταν οι τιμές των μετοχών Α και Β πέφτουν ταυτόχρονα για δύο συνεχόμενες μέρες τότε την τρίτη μέρα πέφτει και η τιμή της Γ. Οι δια-συναλλακτικοί κανόνες συσχέτισης εξασφαλίζουν μεγάλη ικανότητα πρόβλεψης επιφέροντας θετικές συνέπειες στις επιχειρήσεις και κυρίως στον διαφημιστικό τομέα τους. Τέλος εκτός της ικανότητας μάθησης από χρονικά δεδομένα, υπάρχει δυνατότητα πρόβλεψης γεγονότων, η μάθηση από ρεύματα δεδομένων και η ανακάλυψη περιοδικοτήτων. Τεχνική μοντέλου εξαρτήσεων Η εξαρτώμενη από το μοντέλο τεχνική είναι μία ακόμη μέθοδος, χρήσιμη για την ανακάλυψη patterns στα πλαίσια του Web Mining. Ο στόχος εδώ είναι να αναπτυχθεί ένα μοντέλο, ικανό να αναπαραστήσει τις σημαντικές εξαρτήσεις ανάμεσα σε διάφορες μεταβλητές στο πεδίο του Web. Σαν παράδειγμα, κάποιος μπορεί να ενδιαφέρεται να κατασκευάσει ένα μοντέλο που θα αναπαριστά τα διάφορα επίπεδα από τα οποία περνάει ένας χρήστης καθώς ψωνίζει online. Βάση για κάτι τέτοιο, αποτελούν οι επιλεγμένες ενέργειες του χρήστη (π.χ από έναν απλό επισκέπτη σε έναν σοβαρό και συχνό αγοραστή). Υπάρχουν μερικές πιθανοθεωρητικές τεχνικές μάθησης που μπορούν να εφαρμοστούν για να μοντελοποιήσουν την πλοηγητική συμπεριφορά των χρηστών. Τέτοιες τεχνικές είναι: τα Hidden Markov Models και τα Bayesian Belief Δίκτυα. Μοντελοποιώντας τα patterns των χρηστών όχι μόνο δίνεται η δυνατότητα θεωρητικής ανάλυσης της συμπεριφοράς τους αλλά επιπλέον υπάρχει και η δυνατότητα πρόβλεψης χρήσης πόρων του Web. Έτσι παρέχεται υποστήριξη στον σχεδιασμό και την ανάπτυξη στρατηγικών που θα οδηγήσουν σε αυξήσεις των πωλήσεων που προσφέρονται από κάποιο Web site. Παράλληλα βελτιώνεται και η ικανοποίηση των χρηστών από τις προσφερόμενες υπηρεσίες γιατί ανταποκρίνονται στις ανάγκες τους. 20

21 2.3.3 Ανάλυση patterns Η ανάλυση των patterns είναι το τελευταίο στάδιο στην διαδικασία του Web Usage Mining. Ο στόχος αυτού του τελικού σταδίου είναι να εξαλειφθούν όσο γίνεται τα άσχετα πρότυπα ή κανόνες και να εξαχθούν μόνο αυτά που ενδιαφέρουν από την διαδικασία του προηγούμενου σταδίου. Δηλαδή σε αυτή την φάση γίνεται ένα φιλτράρισμα όλων εκείνων των κανόνων ή patterns που δεν εμφανίζουν κάποιο ενδιαφέρον και προέκυψαν από την προηγούμενη φάση, της ανακάλυψης. Η ακριβής μεθοδολογία της ανάλυσης συνήθως διέπεται από την εφαρμογή για την οποία έγινε όλη η διαδικασία της εξόρυξης. Η πιο κοινή μορφή της ανάλυσης των patterns αποτελείται από έναν μηχανισμό γνώσης μέσω ερωτημάτων, όπως SQL. Μία άλλη μέθοδος είναι η φόρτωση των usage δεδομένων σε μία αποθήκη δεδομένων με σκοπό την εκτέλεση OLAP (On-Line Analytical Processing) εργασιών. Τεχνικές απεικονίσεων, όπως γραφικά πρότυπα ή ανάθεση χρωμάτων σε διαφορετικές τιμές, μπορούν συχνά να δώσουν έμφαση στα patterns ή σε τάσεις που εμπεριέχουν τα δεδομένα. Πληροφορίες περιεχομένου και δομής μπορούν να χρησιμοποιηθούν για να φιλτράρουν patterns που περιέχουν σελίδες με ένα συγκεκριμένο περιεχόμενο ή τύπο περιεχομένου ή τέλος σελίδες που ταιριάζουν με μία συγκεκριμένη δομή υπερσυνδέσμου. 21

22 3 Η τεχνική της ομαδοποίησης (Clustering) Σε αυτό το κεφάλαιο θα αναλυθεί η τεχνική της ομαδοποίησης, καθώς η διπλωματική εργασία βασίζεται στην ομαδοποίηση, συγκεκριμένα μέσω του αλγορίθμου k-means. Ακόμη, αφού αναλυθούν κάποια βασικά ζητήματα της ομαδοποίησης εξηγείται γιατί είναι προτιμότερο να χρησιμοποιούνται διαμεριστικοί αλγόριθμοι ομαδοποίησης σε Web δεδομένα από ότι ιεραρχικοί. Έτσι εξηγείται και η επιλογή του k-means στη διπλωματική εργασία. 3.1 Εισαγωγή στην ομαδοποίηση Ένας απλός ορισμός για την ομαδοποίηση ή συσταδοποίηση (clustering): ομαδοποίηση ονομάζεται η διαδικασία που οργανώνει πρότυπα (παρατηρήσεις, δεδομένα ή διανύσματα χαρακτηριστικών) σε ομάδες (συστάδες-clusters), όπου τα μέλη μιας ομάδας είναι παρόμοια μεταξύ τους σύμφωνα με κάποιο κριτήριο. Σκοπός είναι να προσδιοριστούν οι ομάδες που ανήκουν διάφορες ποσότητες δεδομένων, με βάση κάποια κριτήρια ομοιογένειας. Η τεχνική της ομαδοποίησης υπάγεται στην ευρύτερη κατηγορία των τεχνικών μάθησης χωρίς επίβλεψη. Η διαφορά της ομαδοποίησης δεδομένων (data clustering) από την ταξινόμηση δεδομένων (data classification) είναι ότι, στην ταξινόμηση οι ομάδες στις οποίες θα τοποθετηθούν τα δεδομένα είναι προκαθορισμένες. Αυτό σημαίνει, ότι είναι εκ των προτέρων γνωστός ο αριθμός των ομάδων, τα ονόματα και οι ταυτότητες τους. Είναι και αυτό ένα σύστημα μάθησης μιας και οι ετικέτες που δίνονται από τα διαθέσιμα πρότυπα χρησιμοποιούνται ώστε να μάθει το σύστημα ταξινόμησης την περιγραφή κάθε κλάσης και να είναι σε θέση να ταξινομήσει ένα νέο πρότυπο. Αντίθετα, στην ομαδοποίηση δεδομένων τονίζεται ιδιαίτερα ότι οι ομάδες δεν προϋπάρχουν αλλά αποφασίζονται από τον αλγόριθμο κατά δυναμικό τρόπο. Στην ομαδοποίηση δεδομένων δηλαδή, υπάρχει ένα σύνολο δεδομένων το οποίο πρέπει να διαχειριστεί ώστε από αυτό να προκύψουν δυναμικά οι ομάδες (είναι δηλαδή data driven). Σκοπός είναι να δημιουργηθούν ομάδες, που η καθεμία από αυτές θα συγκεντρώνει ομοιογενή στοιχεία. Κάθε μία από αυτές τις ομάδες διατηρεί ένα κέντρο, συνήθως το πιο κεντρικό στοιχείο της. Ένα παράδειγμα ομαδοποίησης δίνεται στην παρακάτω εικόνα, όπου αριστερά παρουσιάζεται το αρχικό σύνολο των στοιχείων πριν την ομαδοποίηση και δεξιά η καταχώρηση των στοιχείων σε clusters. 22

23 Σχήμα 3. Ομαδοποίηση δεδομένων Στόχοι και εφαρμογές ομαδοποίησης Τα προβλήματα της ομαδοποίησης είναι πλέον διαδεδομένα και ταχέως αναπτυσσόμενα τα τελευταία χρόνια. Φυσικά το γεγονός αυτό δεν είναι τυχαίο μιας και η τεχνική της ομαδοποίησης εφαρμόζεται σε πολλά προβλήματα της σύγχρονης εποχής και δίνει λύσεις. Προφανώς είναι μία τεχνική που βοηθάει στη λήψη αποφάσεων. Η ποικιλία των εφαρμογών της ομαδοποίησης είναι μεγάλη σε πολλά επιστημονικά πεδία. Σημαντικές εφαρμογές εμφανίζονται στον χώρο του marketing, όπου είναι δυνατόν να ανακαλυφθούν ομάδες πελατών με παρόμοια συμπεριφορά, μέσω μια μεγάλης βάσης δεδομένων που έχει καταχωρημένα πολλά δεδομένα σχετικά με τα χαρακτηριστικά της αγοραστικής συμπεριφοράς των πελατών, όπως και τις αγορές που έχουν κατά καιρούς πραγματοποιήσει αυτοί στο παρελθόν. Στην ιατρική, χρησιμοποιείται για την κατηγοριοποίηση των ασθενών ανάλογα με την σοβαρότητα της κατάστασης της υγείας τους. Επίσης, είναι δυνατόν να χρησιμοποιηθεί για τον εντοπισμό ασθενειών ή μολυσμένων κυττάρων. Στον χώρο της βιολογίας, είναι δυνατόν, να ομαδοποιηθούν φυτά και ζώα με παρόμοια χαρακτηριστικά. Στον κλάδο της αστρονομίας υπάρχουν εφαρμογές για την κατηγοριοποίηση των ουράνιων σωμάτων. Στον ολοένα αναπτυσσόμενο τομέα της διοίκησης επιχειρήσεων, όπου με την εφαρμογή τεχνικών ομαδοποίησης αναλύονται η συμπεριφορά και αγοραστική δύναμη και άλλα σχετικά στοιχεία των πελατών. Φυσικά η τεχνική της ομαδοποίησης σχετίζεται άμεσα με την τεχνική της βελτιστοποίησης και έτσι οι εφαρμογές της πολλαπλασιάζονται σε εύρεση ομοιογενών ομάδων στοιχείων με πληρωμή ελάχιστου κόστους, μέγιστου κέρδους, μικρότερης δυνατής διαδρομής και άλλα. Στον χώρο των ασφαλιστικών εταιριών, αναγνωρίζονται οι ομάδες των ασφαλιζόμενων και ομαδοποιούνται ανάλογα με τις απαιτήσεις τους, το κόστος του ασφαλιστικού συμβολαίου και άλλα χαρακτηριστικά. Υπάρχει ακόμη και η δυνατότητα να αναγνωριστούν οι δολιοφθορές εις βάρος της εταιρείας. Πολύ σημαντικές εφαρμογές στο Web, κατηγοριοποίηση εγγράφων, κατηγοριοποίηση χρηστών με βάση διάφορα χαρακτηριστικά που μπορεί να ενδιαφέρουν τους σκοπούς της εκάστοτε έρευνας και άλλες πολλές εφαρμογές. Έτσι ανακαλύπτονται ομάδες παρόμοιων προτύπων. 23

24 Το πρόβλημα της ομαδοποίησης, μπορεί να εκφραστεί μαθηματικά ως εξής: Έστω το σύνολο των δεδομένων X = { x κ, κ = 1, 2,.../ i = 1, 2... n. Έστω το σύνολο των i ομάδωνc = { cj / j = 1,2,... m και m>1, τέτοιο ώστε κάθε xi να ανήκει σε κάποιο c j. Πρακτικά δίνεται ένα μεγάλο σύνολο δεδομένων που πρέπει να διαχειριστεί. Σκοπός είναι να δημιουργηθούν ομάδες όπου η καθεμία θα συγκεντρώνει ομοιογενή στοιχεία. Η αποδοτικότητα των αλγορίθμων ομαδοποίησης σχετίζεται άμεσα με το είδος των δεδομένων που θα διαχειριστούν καθώς και τα κριτήρια ομοιογένειας ή ανομοιογένειας που θα χρησιμοποιηθούν Στάδια ομαδοποίησης Για την επίλυση ενός προβλήματος ομαδοποίησης δεδομένων συνήθως ακολουθούνται τα παρακάτω βήματα[22]: Αναπαράσταση των προτύπων (επιλεκτικά μπορεί να περιέχει εξαγωγή χαρακτηριστικών, και/ή επιλογή) Καθορισμός μιας μετρικής, ενδεικτικής της γειτνίασης των προτύπων, ανάλογα με τον τύπο δεδομένων Τεχνική ομαδοποίησης των δεδομένων Αφαίρεση δεδομένων (αν χρειαστεί) Αξιολόγηση του τελικού αποτελέσματος Είναι χαρακτηριστικό ότι η ομαδοποίηση είναι μια διαδικασία με επανατροφοδότηση: το αποτέλεσμα της διαδικασίας επανατροφοδοτείται στο σύστημα, το οποίο συνδυάζοντας το αποτέλεσμα αυτό με τις υπόλοιπες εισόδους, προχωράει στην εξαγωγή χαρακτηριστικών και στους υπολογισμούς των σχέσεων ομοιότητας, με στόχο την τελική εξαγωγή των ομάδων. Η αναπαράσταση των προτύπων αναφέρεται στο πλήθος των κλάσεων, το πλήθος των διαθέσιμων προτύπων και το πλήθος, τύπο και κλίμακα των χαρακτηριστικών που είναι διαθέσιμα στον συγκεκριμένο αλγόριθμο ομαδοποίησης. Ωστόσο, μερικά από τα προηγούμενα δεν είναι πάντα άμεσα διαθέσιμα. Ενδιαφέρον παρουσιάζει η διαδικασία της επιλογής χαρακτηριστικών (features selection), κατά την οποία επιλέγονται τα πιο σημαντικά χαρακτηριστικά των στοιχείων τα οποία θα χρησιμοποιηθούν στο clustering. Επιπλέον, η διαδικασία της εξαγωγής χαρακτηριστικών (features extraction) χρησιμοποιεί έναν ή περισσότερους μετασχηματισμούς των χαρακτηριστικών εισόδου, για την παραγωγή άλλων νέων, τα οποία πιθανόν να είναι πιο ενδιαφέροντα. Οποιαδήποτε από τις τεχνικές αυτές, μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός συνόλου με τα πιο κατάλληλα χαρακτηριστικά, που θα χρησιμοποιηθεί για την αναπαράσταση των στοιχείων που προορίζονται για ομαδοποίηση. Η γειτνίαση των προτύπων συνήθως μετριέται με βάση μία συνάρτηση απόστασης που ορίζεται για ζεύγη προτύπων. Η πιο απλή συνάρτηση απόστασης είναι η Ευκλείδεια (περισσότερα για τις μετρικές στο κεφάλαιο 4). Η συνάρτηση απόστασης η οποία επιλέγεται, αποτελεί κάθε φορά το μέτρο της ομοιότητας μεταξύ των προτύπων. Με βάση αυτό το μέτρο γίνεται η καταχώρηση τους στην ίδια ή σε 24

25 διαφορετικές ομάδες. Το πόσο επιτυχημένο θεωρείται το αποτέλεσμα της ομαδοποίησης δεδομένων [23,24], εξαρτάται από τα κριτήρια που θα χρησιμοποιηθούν για τον διαχωρισμό των στοιχείων σε ομάδες. Η σωστή επιλογή των κριτηρίων αυτών είναι ένα πολύ σημαντικό ζήτημα. Το στάδιο της ομαδοποίησης μπορεί να πραγματοποιηθεί με πολλούς τρόπους. Υπάρχουν πολλοί αλγόριθμοι ομαδοποίησης (αναλύονται παρακάτω), καθένας μπορεί να έχει διαφορετικό αποτέλεσμα είτε αυστηρό, είτε ασαφές. Το στάδιο αυτό αποτελεί και το κυρίως μέρος της όλης διαδικασίας της ομαδοποίησης. Εδώ είναι το σημείο που πρέπει να επιλεγεί ο αλγόριθμος που θα χρησιμοποιηθεί για την επίλυση του προβλήματος. Φυσικά το μέτρο ομοιότητας που επιλέχτηκε παραπάνω θα χρησιμοποιηθεί από τον αλγόριθμο που θα επιλεγεί. Οι αλγόριθμοι που επιλύουν προβλήματα ομαδοποίησης είναι πολλοί και στηρίζονται σε διαφορετικές τεχνικές. Η επιλογή εξαρτάται από τη μορφή των δεδομένων και από τον χρήστη. Οι κύριες κατηγορίες των αλγόριθμων ομαδοποίησης είναι δύο, οι διαμεριστικές και οι ιεραρχικές [22]. Οι ιεραρχικοί αλγόριθμοι προσπαθούν να δημιουργήσουν μια ιεραρχία μεταξύ των σημείων που προορίζονται για ομαδοποίηση. Δημιουργούν ένα δενδρόγραμμα που υποδηλώνει το μέγεθος και τον αριθμό των ομάδων που δημιούργησαν. Κάθε κόμβος του δέντρου έχει παιδιά τα σημεία που συγχωνεύτηκαν στην ίδια ομάδα. Ανάλογα με το αν βρίσκονται κοντά ή μακριά από τη ρίζα προκύπτουν λίγες ομάδες με πολλά σημεία ή πολλές ομάδες με λίγα σημεία αντίστοιχα. Οι ιεραρχικοί αλγόριθμοι χωρίζονται στους συσωρευτικούς και στους διαιρετικούς. Οι συσωρευτικοί ξεκινούν θεωρώντας ότι κάθε σημείο είναι ένα από μόνο του μια ομάδα που περιέχει μόνο τον εαυτό του και στη συνέχεια πραγματοποιούν συγχωνεύσεις. Οι διαιρετικοί λειτουργούν αντίστροφα. Θεωρούν ότι αρχικά υπάρχει μία ομάδα με μέσα όλα τα σημεία και στη συνέχεια διαιρούν την ομάδα αυτή σε μικρότερες. Οι διαμεριστικοί αλγόριθμοι χωρίζουν τα δεδομένα από την αρχή σε ένα συγκεκριμένο αριθμό από ομάδες και έπειτα βελτιστοποιούν το αποτέλεσμα. Και αυτοί χωρίζονται σε περεταίρω κατηγορίες (αναφέρονται παρακάτω). Οι αλγόριθμοι που είναι βασισμένοι στην πυκνότητα δημιουργούν ομάδες με βάση την πυκνότητα των αντικειμένων στο χώρο. Ένα σημείο το οποίο ανήκει σε κάποια ομάδα θα πρέπει να έχει στη γειτονιά του (ορίζεται η ακτίνα της γειτονιάς του σημείου) ένα συγκεκριμένο αριθμό από άλλα σημεία. Δύο άλλες κατηγορίες αλγορίθμων που επιλύουν προβλήματα ομαδοποίησης είναι οι αυστηροί και οι ασαφείς αλγόριθμοι. Οι αυστηροί αλγόριθμοι θεωρούν ότι τα σημεία ανήκουν κατά απόλυτο τρόπο στις ομάδες τους. Αυτό πρακτικά σημαίνει ότι δεν μπορεί ένα σημείο να βρίσκεται ταυτόχρονα σε παραπάνω από μία ομάδα. Σε αντίθεση με αυτή τη λογική οι ασαφείς αλγόριθμοι θεωρούν ότι τα σημεία ανήκουν σε όλες τις ομάδες σε κάποιο βαθμό. Διαθέτουν μια συνάρτηση συμμετοχής η οποία μας δίνει το βαθμό συμμετοχή του κάθε σημείου σε κάποια ομάδα. Προφανώς από την ασαφή ομαδοποίηση μπορεί να προκύψει αυστηρή ομαδοποίηση. Τέλος υπάρχουν οι αυξητικοί και μη αυξητικοί αλγόριθμοι. Στους αυξητικούς αλγόριθμους το σύνολο των δεδομένων που τίθεται προς ομαδοποίηση προσέρχεται σταδιακά. Αυτό σημαίνει ότι τα σημεία έρχονται ένα ένα ή κατά ομάδες. Εδώ γίνεται ομαδοποίηση από τον αλγόριθμο χωρίς να γνωρίζει εκ των προτέρων όλο το σύνολο των δεδομένων (on line προβλήματα ομαδοποίησης). Στους μη αυξητικούς αλγόριθμους είναι γνωστό ολόκληρο το σύνολο των δεδομένων εξ αρχής. 25

26 Η αφαίρεση δεδομένων, είναι η διαδικασία η οποία έχει σαν αποτέλεσμα μια απλή και συμπαγή αναπαράσταση του συνόλου των δεδομένων. Ο όρος απλή αναπαράσταση μπορεί να εξηγηθεί είτε από την οπτική γωνία της αυτοματοποιημένης ανάλυσης είτε από την οπτική γωνία του ανθρώπου. Στην πρώτη περίπτωση, το επιθυμητό για τα δεδομένα είναι να αναπαρίστανται με τέτοιο σαφή και απλό τρόπο, ώστε μια περεταίρω υπολογιστική επεξεργασία να είναι εξίσου εφικτή. Στη δεύτερη περίπτωση, η απλή αναπαράσταση των δεδομένων τα κάνει πιο κατανοητά στους ειδικούς που πρόκειται να τα επεξεργαστούν και να εξάγουν συμπεράσματα. Συνήθως, η αφαίρεση δεδομένων στο clustering είναι μια συνοπτική αναπαράσταση κάθε ομάδας μέσω κάποιου αντιπροσώπου-πρωτότυπου στοιχείου το οποίο καλείται centroid (κεντροειδές). Τέλος στο στάδιο της αξιολόγησης του αποτελέσματος ελέγχεται η εγκυρότητα των ομάδων. Εδώ εξετάζεται εάν το τελικό αποτέλεσμα του αλγορίθμου είναι επιτυχές οπότε ο αλγόριθμος θεωρείται αξιόπιστος. Πρακτικά εξετάζεται αν οι ομάδες είναι αντιπροσωπευτικές σε σχέση με τα σημεία που έπρεπε να ομαδοποιηθούν, αν τα σημεία τελικά τοποθετήθηκαν στις κατάλληλες ομάδες κ.ο.κ. Η αξιολόγηση συνήθως γίνεται συγκρίνοντας τη ληφθείσα δομή με μια δεδομένη εκ των προτέρων δομή. Για την ανάλυση που γίνεται σε αυτό το στάδιο, χρησιμοποιείται ένα συγκεκριμένο κριτήριο βελτιστοποίησης, ανάλογα με το πρόβλημα που αντιμετωπίζεται κάθε φορά. Σχήμα 4. Κατηγοριοποίηση των τεχνικών clustering 3.2 Ιεραρχική Ομαδοποίηση (Ηierarchical Clustering) Στην ιεραρχική ομαδοποίηση τα στιγμιότυπα ομαδοποίησης δίνονται με μορφή δενδρογράμματος. Στα δενδρογράμματα αυτά, επιλέγεται ένα επίπεδο που θα τα κλαδευτούν. Το σημείο που θα κλαδευτεί κάποιο δενδρόγραμμα δείχνει τον αριθμό των ομάδων που θα προκύψουν καθώς και τα σημεία που περιέχει η κάθε ομάδα. Οι ιεραρχικές τεχνικές χωρίζονται στις Συσωρευτικές και Διαιρετικές. Οι συσωρευτικές τεχνικές αρχικά θεωρούν ότι κάθε σημείο είναι από μόνο του μια ξεχωριστή ομάδα και προχωρούν σε συγχωνεύσεις αυτών, μέχρι όλα τα σημεία να τοποθετηθούν σε μία (bottom-up). Οι διαιρετικές τεχνικές λειτουργούν αντίστροφα. Αρχικά θεωρούν ότι όλα τα σημεία ανήκουν σε μία 26

27 ομάδα. Στη συνέχεια την διαιρούν έως ότου κάθε ομάδα να περιέχει ένα μόνο σημείο (top-down). Παρακάτω φαίνεται ένα δενδρόγραμμα κομμένο σε ένα επιλεγμένο επίπεδο. Διαφαίνονται τρεις ομάδες. Η πρώτη περιέχει τα σημεία A, B και C. Η δεύτερη τα D και E, ενώ η τρίτη τα F και G. Σχήμα 5. Δενδρόγραμμα ιεραρχικής ομαδοποίησης Στην γενική τους μορφή οι συσωρευτικές τεχνικές λειτουργούν ως εξής: 1. Αρχικά θεωρούν κάθε σημείο σαν μία ομάδα. Αν δηλαδή υπάρχει ένα σύνολο από Ν σημεία τα οποία πρέπει να ομαδοποιηθούν, τότε αρχικά υπάρχουν Ν ομάδες, όπου κάθε ομάδα θα περιέχει ένα σημείο από τα Ν. Μετρώνται οι μεταξύ τους αποστάσεις. 2. Βρίσκεται το πιο κοντινό ζευγάρι ομάδων. Το ζευγάρι αυτό συγχωνεύεται σε ένα. Πλέον υπάρχει μία ομάδα λιγότερη. 3. Υπολογίζονται εκ νέου οι αποστάσεις των ομάδων μεταξύ τους. 4. Επαναλαμβάνονται τα βήματα 2 και 3 έως ότου και τα Ν σημεία τοποθετηθούν σε μία και μοναδική ομάδα. 5. Τέλος σχεδιάζεται το αντίστοιχο δενδρόγραμμα και επιλέγεται σε πιο σημείο θα το κλαδευτεί. Το βήμα 3 μπορεί να πραγματοποιηθεί με διαφορετικούς τρόπους: Στην ιεραρχική ομαδοποίηση [25] απλού συνδέσμου (single-linkage), θεωρείται ως απόσταση μεταξύ δύο ομάδων η μικρότερη απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Στην ιεραρχική ομαδοποίηση ολοκληρωμένου συνδέσμου (complete-linkage), θεωρείται ως απόσταση μεταξύ δύο ομάδων η μεγαλύτερη απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Στην ιεραρχική ομαδοποίηση μέσου συνδέσμου (average-linkage), θεωρείται ως απόσταση μεταξύ δύο ομάδων η μέση απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Παρακάτω φαίνονται οι αποστάσεις δύο ομάδων, στο Σχήμα 6(a) αν εφαρμοστεί ομαδοποίηση απλού συνδέσμου (single-linkage) και στο Σχήμα 6(b) αν εφαρμοστεί ομαδοποίηση ολοκληρωμένου συνδέσμου(complete-linkage). Σχήμα 6.(α) Παράδειγμα απόστασης δύο ομάδων αλγορίθμου απλού συνδέσμου(single-linkage). (b) Παράδειγμα απόστασης δύο ομάδων αλγορίθμου ολοκληρωμένου συνδέσμου (completelinkage) 27

28 Πλεονεκτήματα και Μειονεκτήματα Ιεραρχικών Τεχνικών: Πλεονεκτήματα: Τερματίζονται σχετικά γρήγορα. Δεν απαιτούν να είναι γνωστός ο αριθμός των ομάδων εκ των προτέρων. Έχουν ενσωματωμένη ευελιξία χάρις στη δυνατότητα που παρέχουν να επιλέγεται το επίπεδο τομής του δενδρογράμματος. Έχουν ευκολία χειρισμού κάθε τύπου μέτρου απόστασης ή ομοιότητας. Οι μέθοδοι αυτές παράγουν ταυτόχρονα και καλές οπτικοποιήσεις των αποτελεσμάτων τους κατά τη διάρκεια της εκτέλεσής τους. Μπορούν να εφαρμοστούν σε πολλούς τύπους δεδομένων και όχι μόνο για δεδομένα που περιέχουν ισοτροπικούς clusters (π.χ. σε clusters με μορφή αλυσίδας, ομόκεντρους). Μειονεκτήματα: Διακρίνονται από αοριστία στον ορισμό των κριτηρίων τερματισμού. Οι ιεραρχικοί αλγόριθμοι δεν επιστρέφουν ποτέ σε έναν ήδη κατασκευασμένο, ενδιάμεσο cluster για να τον βελτιώσουν. Έχουν μεγαλύτερες απαιτήσεις σε υπολογιστική ισχύ (οι αλγόριθμοι σύνδεσης έχουν υπολογιστική πολυπλοκότητα Ο( N 2 ) και μνήμη (χρειάζονται Ν*Ν πίνακες) από τους διαμεριστικούς αλγόριθμους. 3.3 Διαμεριστική ομαδοποίηση (Partitional clustering) Στην διαμεριστική ομαδοποίηση, ορίζονται εξαρχής οι ομάδες και τοποθετούνται τα σημεία του συνόλου δεδομένων που είναι διαθέσιμα στις ομάδες αυτές. Στη συνέχεια επαναπροσδιορίζονται αυτές οι αναθέσεις έως ότου κάποιο κριτήριο τερματισμού εκπληρωθεί. Ουσιαστικά αν υπάρχει ένα σύνολο δεδομένων πλήθους Ν, κατασκευάζονται k ομάδες και στη συνέχεια βελτιστοποιούνται. Το κυρίως πρόβλημα αυτών των τεχνικών είναι η σωστή επιλογή των ομάδων και του αριθμού k. Όπως και προηγουμένως αφού έχουν πραγματοποιηθεί όλες οι αναθέσεις των σημείων στις ομάδες, επαναπροσδιορίζονται οι αναθέσεις αυτές. Αυτό μπορεί να συμβεί αν σε κάθε ομάδα αποδοθεί μια τιμή και σιγά σιγά ελαχιστοποιείται. Η τιμή αυτή μπορεί να αποδοθεί με το άθροισμα των τετραγωνικών αποστάσεων από το μέσο όρο στην κάθε ομάδα. Οι πιο δημοφιλείς αλγόριθμοι στην κατηγορία αυτή είναι οι Centroids αλγόριθμοι. Εδώ η κάθε ομάδα αναπαρίσταται με το κέντρο μάζας της. Οι πιο γνωστοί αλγόριθμοι στην κατηγορία αυτή είναι ο αλγόριθμος απλού περάσματος και οι αλγόριθμοι που χρησιμοποιούν το κριτήριο του τετραγωνικού λάθους. Αλγόριθμος απλού περάσματος Στον αλγόριθμο αυτό ομαδοποιούνται όλα τα δεδομένα του συνόλου, με ένα μόνο πέρασμα. Η λογική του έχει ως εξής: Το πρώτο στοιχείο χρίζεται κέντρο μάζας της πρώτης ομάδας. Για τα επόμενα στοιχειά υπολογίζονται οι αποστάσεις τους από τα κέντρα μάζας των ομάδων που ήδη υπάρχουν και κρατιούνται οι μικρότερες, μία για κάθε στοιχείο. 28

29 Αν η απόσταση di του στοιχείου i από την πιο κοντινή του ομάδα, είναι μικρότερη από μια τιμή κατωφλίου που έχει τεθεί, τότε: Ανατίθεται το στοιχείο i στην ομάδα. Διαφορετικά το στοιχείο i γίνεται κέντρο μάζας μιας νέας ομάδας. Όταν ομαδοποιηθούν όλα τα στοιχεία τερματίζει. Αλγόριθμοι ομαδοποίησης τετραγωνικού λάθους Στους συγκεκριμένους αλγορίθμους χρησιμοποιείται το κριτήριο του τετραγωνικού λάθους. Το τετραγωνικό λάθος ορίζεται από την παρακάτω σχέση: N j 2 ( j) e ( K, L) = x c K j= 1 i= 1 i j 2 Όπου: ( j) x i είναι το i στοιχείο της j ομάδας, c j το κέντρο μάζας της j ομάδας, k ο αριθμός των ομάδων, N ο αριθμός των στοιχείων της j ομάδας. Τα συνηθέστερα βήματα που ακολουθούν οι j αλγόριθμοι αυτοί είναι τα εξής: Επιλέγουμε τα στοιχεία που θα εκπροσωπούν τις ομάδες. Αναθέτουμε τα υπόλοιπα στοιχεία στην πλησιέστερη ομάδα. Επαναπροσδιορίζουμε τα κέντρα των ομάδων. Επαναλαμβάνουμε το δεύτερο και τρίτο βήμα μέχρι να μην παρατηρούνται αλλαγές (δεν αλλάζουν τα κέντρα των ομάδων, δεν παρατηρούνται διαφορετικές αναθέσεις, το τετραγωνικό λάθος σταθεροποιείται). Συγχωνεύουμε τις ομάδες με βάση π.χ. κάποια ευρετική συνάρτηση. Ο πιο κλασσικός αλγόριθμος της κατηγορίας αυτής είναι ο k-means [26]. Η λογική του είναι πολύ απλή. Αναλύεται όμως διεξοδικά στο κεφάλαιο 5 μιας και υλοποιείται στην διπλωματική εργασία. 3.4 Ασαφής ομαδοποίηση (Fuzzy clustering) Η διαφορά της Ασαφούς ομαδοποίησης από την κλασσική ομαδοποίηση δεδομένων [27], είναι ότι πλέον κάθε πρότυπο ανήκει σε όλες τις ομάδες σε κάποιο βαθμό. Όπως αναφέρθηκε προηγουμένως στην κλασσική ομαδοποίηση δεδομένων δημιουργούνται ομάδες και αναλόγως τοποθετούνται τα πρότυπα σε κάθε μία από αυτές. Εδώ δεν μπορεί ένα πρότυπο να ανήκει ταυτόχρονα σε δύο και παραπάνω ομάδες. Αντίθετα με τη λογική αυτή, στην Ασαφή ομαδοποίηση ορίζεται μια συνάρτηση συμμετοχής. Η συνάρτηση αυτή υποδηλώνει το βαθμό συμμετοχής κάθε προτύπου στην κάθε ομάδα. Οι τιμές που μπορεί να πάρει ο βαθμός συμμετοχής είναι από μηδέν έως ένα. Όσο πιο κοντά στο ένα είναι ο βαθμός συμμετοχής του i προτύπου στην j ομάδα, τόσο πιο μεγάλη σιγουριά υπάρχει για τη συμμετοχή αυτού στη συγκεκριμένη ομάδα. Αντίθετα, όσο πιο κοντά στο μηδέν είναι ο βαθμός συμμετοχής, μεγαλώνουν οι αμφιβολίες για τη συμμετοχή του. Φυσικά δεν είναι απαραίτητο όλες οι ομάδες να έχουν ασαφή χαρακτήρα. Είναι πιθανό να προκύψουν και απόλυτες ομάδες όπως και στην κλασσική ομαδοποίηση δεδομένων. Αυτό θα συμβεί αν όλα τα στοιχεία κάποιας ομάδας έχουν βαθμό συμμετοχής ένα. 29

30 Όπως στην ασαφή ομαδοποίηση έτσι και στην κλασσική μπορεί να οριστεί συνάρτηση συμμετοχής των προτύπων στις ομάδες τους. Η διαφορά είναι ότι η συνάρτηση συμμετοχής στην κλασσική ομαδοποίηση θα παίρνει διακριτές τιμές, τόσες όσες οι ομάδες που υπάρχουν π.χ τις τιμές μηδέν και ένα αν έχουμε δύο ομάδες. Στην ασαφή ομαδοποίηση η μεταβλητή που υποδηλώνει το βαθμό συμμετοχής ενός προτύπου σε κάποια ομάδα είναι συνεχής. π.χ. οι τιμές της συνάρτησης συμμετοχής κυμαίνονται από μηδέν έως ένα. Παρακάτω φαίνεται σχηματικά η διαφορά της συνάρτησης αυτής στις δύο περιπτώσεις. Έστω ότι οι δύο ομάδες, A και B. Το Σχήμα 7(a) αναφέρεται σε απόλυτο αλγόριθμο ομαδοποίησης, ενώ το Σχήμα 7(b) αναφέρεται σε ασαφή αλγόριθμο ομαδοποίησης. Σχήμα 7. (a) Συνάρτηση συμμετοχής σε απόλυτο αλγόριθμο ομαδοποίησης, (b) Συνάρτηση συμμετοχής σε ασαφή αλγόριθμο ομαδοποίησης. 3.5 Επιλογή του κατάλληλου αλγορίθμου και εμπειρία Η επιλογή του κατάλληλου αλγορίθμου για clustering δεν είναι απλή υπόθεση. Η πληθώρα αλγορίθμων clustering, οι οποίοι υπάρχουν στην βιβλιογραφία, είναι ένα μεγάλο εμπόδιο στην απόφαση και επιλογή του καλύτερου αλγορίθμου για το εκάστοτε πρόβλημα που αντιμετωπίζεται. Ένα σύνολο κριτηρίων αποδοχής έχουν προταθεί για την σύγκριση αλγορίθμων clustering και την διευκόλυνση της επιλογής του πιο κατάλληλου κάθε φορά. Αυτά τα κριτήρια βασίζονται (1) στον τρόπο με τον οποίο σχηματίζονται τα clusters, (2) την δομή που έχουν τα δεδομένα προς επεξεργασία, (3) και στην ευαισθησία που έχει ο αλγόριθμος σε αλλαγές που δεν επηρεάζουν τη δομή των δεδομένων. Παρόλο αυτά, τα παραπάνω κριτήρια δεν αρκούν για να δοθούν απαντήσεις σε πολύ σημαντικά ερωτήματα όπως (α) ποιο είναι το καλύτερο μέτρο για την σύγκριση της ομοιότητας των στοιχείων, (β) πώς πρέπει να αξιοποιηθεί κάποια γνώση που υπάρχει για τα δεδομένα, (γ) με ποιον τρόπο μπορεί να ομαδοποιήσει κανείς αποτελεσματικά ένα πολύ μεγάλο σύνολο δεδομένων κ.α. Το κυρίως πρόβλημα με τους αλγορίθμους clustering, είναι ότι δεν υπάρχει κανένας που να μπορεί να εφαρμοστεί για όλες τις δυνατές περιπτώσεις δεδομένων και να αναδείξει επιτυχώς την ποικιλία δομών που εμφανίζονται. Το πρόβλημα γίνεται πιο έντονο ειδικά σε πολυδιάστατα σύνολα δεδομένων, που συνήθως χαρακτηρίζουν τα περισσότερα πραγματικά προβλήματα. Για να γίνει αυτό κατανοητό, ας θεωρηθεί το παράδειγμα στο Σχήμα 3(α). Δυστυχώς δεν είναι εύκολο για όλους τους αλγορίθμους να αναδείξουν τα clusters που φαίνονται στο Σχήμα 3(β). Αυτό συμβαίνει, γιατί σε κάθε αλγόριθμο χρησιμοποιούνται διαφορετικές υποθέσεις για τη δομή των δεδομένων, διαφορετικά μέτρα σύγκρισης ομοιότητας και διαφορετικά κριτήρια ομαδοποίησης. Τα παραπάνω εξηγούν την πληθώρα των αλγορίθμων clustering που υπάρχουν και ολοένα συνεχίζουν να δημιουργούνται. Κάθε ένας προκύπτει 30

31 από τις ιδιαίτερες ανάγκες ενός συγκεκριμένου προβλήματος, που κάποιος άλλος αλγόριθμος αδυνατεί να αντιμετωπίσει. Άρα, οι νέοι αλγόριθμοι που εμφανίζονται στοχεύουν να προσαρμοστούν σε συγκεκριμένες προδιαγραφές και να επιλύσουν επιτυχώς μια συγκεκριμένη κατηγορία προβλημάτων, αυτή που τους δημιούργησε. Για όλους τους παραπάνω λόγους, κρίνεται απαραίτητο για κάθε χρήστη ενός αλγορίθμου clustering να γνωρίζει πολύ καλά την τεχνική που ακολουθεί ο αλγόριθμος της επιλογής του, να έχει γνώση των λεπτομερειών στον τρόπο με τον οποίο ομαδοποιούνται τα δεδομένα σε clusters και να είναι καλός γνώστης της πληροφορίας που πρόκειται να επεξεργαστεί. Φυσικά η εμπειρία του σε τεχνικές clustering παίζει πολύ σπουδαίο ρόλο. Όσο περισσότερη πληροφορία για τα δεδομένα έχει στα χέρια του ο χρήστης, τόσο καλύτερα θα εκτιμηθεί η διαδικασία του clustering και τόσο πιο σωστά συμπεράσματα θα προκύψουν. Επίσης η γνώση για τα δεδομένα, βοηθάει στην βελτίωση της ποιότητας των παραγόμενων χαρακτηριστικών, στην επιλογή του καλύτερου μέτρου ομοιότητας και στην όσο το δυνατόν καλύτερη αναπαράσταση των δεδομένων Διαμεριστικοί ή Ιεραρχικοί αλγόριθμοι σε Web δεδομένα Η τεχνική της ομαδοποίησης εφαρμόζεται σε πολλά προβλήματα της σύγχρονης εποχής και δίνει λύσεις. Υπάρχουν πολλές τεχνικές, με τελείως διαφορετική λογική η κάθε μία, που χρησιμοποιούνται για την ομαδοποίηση δεδομένων. Η ιεραρχική ομαδοποίηση, η διαμεριστική ομαδοποίηση και η ασαφής ομαδοποίηση είναι τρεις από τις γνωστότερες τεχνικές που στηρίζονται σε διαφορετική λογική η κάθε μία, για την επίτευξη του ίδιου σκοπού. Πρέπει να διευκρινιστεί ότι δεν είναι δυνατόν κάποια τεχνική ομαδοποίησης να λειτουργεί καλά σε προβλήματα κάθε κατηγορίας. Μια τεχνική με πολύ καλά αποτελέσματα σε κάποιο συγκεκριμένο πρόβλημα, είναι πολύ πιθανό να αποτύχει σε κάποιο άλλο. Ανάλογα με τις ανάγκες του κάθε προβλήματος επιλέγεται που και πότε θα χρησιμοποιηθεί η κάθε τεχνική για να επιτευχθούν όσο το δυνατόν καλύτερα αποτελέσματα. Σκοπός είναι ο διαχωρισμός της πληροφορίας σε σημαντική ή μη. Τα σημαντικά χαρακτηριστικά είναι αυτά που διαφοροποιούν τις ομάδες ενώ τα ασήμαντα εξαλείφονται αφού δεν είναι ικανά να δώσουν χρήσιμες πληροφορίες. Σημαντικό ρόλο παίζει η μετρική που θα χρησιμοποιηθεί. Η επιλογή θα γίνει με βάση το πρόβλημα που πρόκειται να αντιμετωπιστεί και τη φύση των δεδομένων. Είναι προφανές για παράδειγμα ότι η Ευκλείδεια απόσταση μπορεί να χρησιμοποιηθεί μόνο σε αριθμητικά δεδομένα. Από την άλλη πρέπει να επιτυγχάνεται κάθε φορά όσο το δυνατόν λιγότερο κόστος, χρόνος και σωστά διαχωρισμένες ομάδες. Οι τεχνικές με πολλά στάδια επεξεργασίας της πληροφορίας, απαιτούν πολύ υπολογιστικό χρόνο και κόστος. Συνεπώς τα αποτελέσματα τους, πρέπει να δικαιολογούν το κόστος τους. Η σωστή επιλογή κάποιας τεχνικής ομαδοποίησης δεν είναι εύκολη υπόθεση και πολύ σημαντικό ρόλο παίζει η εμπειρία του ερευνητή μιας και κάποια παραλλαγή των ήδη υπάρχοντων τεχνικών ομαδοποίησης μπορεί λειτουργήσει καλά στο τρέχων πρόβλημα. Η επιλογή λοιπόν μεταξύ των αλγορίθμων ομαδοποίησης επαφίεται κυρίως στον χρήστη, ο οποίος εκτός του ότι θα πρέπει να είναι γνώστης του αλγορίθμου, θα πρέπει να γνωρίζει καλά τις συνθήκες κάτω από τις οποίες συλλέχθηκαν τα δεδομένα. 31

32 Σχετικά τώρα με το ποια τεχνική ομαδοποίησης είναι καλύτερη για το περιβάλλον του Web, θα πρέπει να ληφθούν υπόψη ορισμένα χαρακτηριστικά που κάνουν του διαμεριστικούς αλγορίθμους καλύτερη επιλογή από τους ιεραρχικούς αλγορίθμους. Καταρχάς οι ιστοσελίδες είναι ημιδομημένα δεδομένα. Επιπλέον οι διαμεριστικοί αλγόριθμοι εξασφαλίζουν μία απλή διαμέριση των δεδομένων αντί για μία δομή (δενδρόγραμμα) που παράγεται από τους ιεραρχικούς αλγορίθμους. Αν και οι ιεραρχικοί αλγόριθμοι είναι πολύ διαδεδομένοι σε πολλές εφαρμογές, κρίνονται ως ακατάλληλοι για Web δεδομένα. Ο λόγος είναι ότι τα Web δεδομένα είναι πολύ μεγάλα σύνολα δεδομένων με αποτέλεσμα οι ιεραρχικοί αλγόριθμοι να είναι αρκετά αργοί και η κατασκευή δενδρογραμμάτων σχεδόν απαγορευτική. Οι περισσότεροι αλγόριθμοι αυτής της κατηγορίας εμφανίζουν πολύ μεγάλη χρονική και χωρική πολυπλοκότητα σε σχέση με τους διαμεριστικούς αλγορίθμους. Επιπλέον οι ιεραρχικοί αλγόριθμοι είναι αρκετά ευαίσθητοι σε κάποια κριτήρια τερματισμού. Επιπλέον τον περιβάλλον του Web χαρακτηρίζεται από θόρυβο, πράγμα που καθιστά τους ιεραρχικούς αλγορίθμους ακατάλληλους και αναποτελεσματικούς. Από την άλλη πλευρά οι διαμεριστικοί αλγόριθμοι όπως ο k-means, που υλοποιήθηκε και στην διπλωματική εργασία, αποτελούν την καλύτερη επιλογή για περιβάλλον με θόρυβο, γιατί έχουν γραμμική χρονική πολυπλοκότητα. 32

33 4 Θεωρητική μελέτη Στο κεφάλαιο αυτό παρατίθενται οι βασικοί ορισμοί και τα απαραίτητα θεωρητικά εργαλεία στα οποία στηρίζεται η ομαδοποίηση και επομένως κάποια από αυτά χρησιμοποιούνται και στη διπλωματική εργασία. Πιο συγκεκριμένα, εξηγούνται τα μέτρα ομοιότητας που χρησιμοποιούνται στην διαδικασία της ομαδοποίησης προκειμένου να μετρηθούν οι απαραίτητες αποστάσεις. Ακόμη, γίνεται λόγος για την εκτίμηση των αποτελεσμάτων, δηλαδή των clusters που προκύπτουν με τη βοήθεια ειδικών για αυτό τον σκοπό δεικτών. 4.1 Ορισμοί και Συμβολισμός Ακολουθούν κάποιοι ορισμοί και συμβολισμοί που θα χρησιμοποιηθούν στην συνέχεια και που στόχο έχουν να ορίσουν πιο φορμαλιστικά κάποιες έννοιες. Ένα στοιχείο ή πρότυπο (pattern) (ή διάνυσμα χαρακτηριστικών) x είναι ένα απλό δεδομένο, που υφίσταται επεξεργασία από τον αλγόριθμο clustering. Αποτελείται από έναν αριθμό d χαρακτηριστικών και συμβολίζεται x=(x 1,x 2,,x d ). Δηλαδή το x αποτελεί ένα πρότυπο χρήστη (user pattern). Το κάθε μέρος x i του στοιχείου x καλείται χαρακτηριστικό ή γνώρισμα (feature ή attribute). Δηλαδή κάθε χαρακτηριστικό υποδεικνύει τον αριθμό των φορών που ο χρήστης επισκέφθηκε την κάθε μία από τις d συνολικά σελίδες. Ο αριθμός d ορίζει τη διάσταση (dimensionality) του κάθε στοιχείου αλλά και την διάσταση του χώρου των δεδομένων. Άρα d είναι ο αριθμός των σελίδων. Ένα σύνολο από στοιχεία (pattern set) ορίζεται ως εξής : X={x 1,x 2,,x n. Δηλαδή το X είναι το σύνολο των χρηστών. Συνολικά οι χρήστες είναι n. Το i-οστό στοιχείο αυτού του συνόλου ορίζεται ως x i ={ x i,1,, x i,d. Σε πολλές περιπτώσεις το σύνολο στοιχείων που προορίζεται για ομαδοποίηση, αναπαρίσταται μέσω ενός πίνακα n*d. Η ομάδα (cluster) μπορεί να θεωρηθεί σαν μια πηγή στοιχείων, τα οποία έχουν κοινά χαρακτηριστικά. Οι αλγόριθμοι clustering προσπαθούν να δημιουργήσουν σύνολα στοιχείων τα οποία να αναπαριστούν λογικά τα clusters. 33

34 Το μέτρο της απόστασης (distance measure) είναι ένα μέτρο ορισμένο στο χώρο των χαρακτηριστικών των στοιχείων και φανερώνει το πόσο όμοια ή διαφορετικά είναι δύο στοιχεία μεταξύ τους Αναπαράσταση στοιχείων, Επιλογή και Εξαγωγή χαρακτηριστικών Όπως σε πολλά ζητήματα που αφορούν το clustering, έτσι και εδώ δεν υπάρχουν σαφείς οδηγίες, που να οδηγούν στην βέλτιστη αναπαράσταση των στοιχείων και στην καλύτερη επιλογή χαρακτηριστικών. Ο ρόλος του ενδιαφερόμενου, στην αναπαράσταση των στοιχείων προς ομαδοποίηση, είναι να συγκεντρώσει όσο το δυνατόν περισσότερα στοιχεία (γνώσεις, συμπεράσματα, υποθέσεις) σχετικά με τα δεδομένα. Στην συνέχεια, με βάση την γνώση για τα δεδομένα, την κατάλληλη επιλογή και παραγωγή γνωρισμάτων, θα είναι σε θέση να πραγματοποιήσει την βέλτιστη αναπαράσταση για τα στοιχεία που θα επεξεργαστεί ο αλγόριθμος. Εννοείται ότι η αναπαράσταση των στοιχείων προηγείται της διαδικασίας του clustering. Επίσης, μια πολύ προσεκτική ματιά στα σημαντικότερα χαρακτηριστικά και πιθανόν κάποιοι μετασχηματισμοί πάνω σε αυτά, μπορούν να οδηγήσουν σε καλύτερα αποτελέσματα. Μια καλή αναπαράσταση των στοιχείων συνήθως οδηγεί σε μια απλή και κατανοητή ομαδοποίηση. Αντίθετα, μια όχι και τόσο προσεκτική αναπαράσταση, μπορεί να οδηγήσει σε μια πολύπλοκη ομαδοποίηση με δομές δύσκολα αντιληπτές και γενικά δυσδιάκριτες. Κάθε στοιχείο με την βοήθεια των χαρακτηριστικών του, προσδιορίζει ένα φυσικό αντικείμενο ή μια αφηρημένη έννοια. Κάθε χαρακτηριστικό ενός στοιχείου, το οποίο είναι ένα πολυδιάστατο διάνυσμα, αντιπροσωπεύει και ποσοτικοποιεί μια από τις d διαστάσεις μέσα στις οποίες υπάρχει το στοιχείο. Τα χαρακτηριστικά μπορεί να εκφράζουν ποσότητα η ποιότητα. Για παράδειγμα, αν το ύψος και το χρώμα είναι δύο χαρακτηριστικά που χρησιμοποιούνται για να περιγράψουν ένα στοιχείο, τότε το διάνυσμα (20,μαύρο) είναι η αναπαράσταση ενός στοιχείου χρώματος μαύρου και ύψους 20 μονάδων. Τα χαρακτηριστικά μπορούν να χωριστούν σε διάφορους τύπους [28]: Ποσοτικά χαρακτηριστικά: α)συνεχών τιμών (π.χ βάρος, ύψος) β)διακριτών τιμών (π.χ αριθμός σελίδων, αριθμός ατόμων, αριθμός Η/Υ, αριθμός επισκέψεων) γ)τιμές διαστημάτων (π.χ διάρκεια κάποιου γεγονότος) Ποιοτικά χαρακτηριστικά: α)ονομαστικά ή μη ταξινομήσιμα (π.χ χρώμα) β)ταξινομήσιμα (π.χ θερμοκρασία ζεστό ή κρύο, ένταση θορύβου σιγά ή δυνατά) Τις περισσότερες φορές είναι χρήσιμο να απομονώνονται εκείνα τα χαρακτηριστικά που διαφαίνονται να είναι πιο σημαντικά και πιο περιγραφικά. Εκείνα δηλαδή, που προσφέρουν μεγαλύτερη διακριτική ικανότητα στον αλγόριθμο. Η διαδικασία επιλογής χαρακτηριστικών (feature selection), έχει σαν στόχο την εύρεση ενός τέτοιου υποσυνόλου χαρακτηριστικών τα οποία τελικά θα χρησιμοποιηθούν. Αντίθετα, η διαδικασία της παραγωγής χαρακτηριστικών στοχεύει στη δημιουργία νέων χαρακτηριστικών από τα ήδη υπάρχοντα. Και οι δυο τεχνικές ωστόσο, αποσκοπούν στην βελτίωση της κατηγοριοποίησης και την καλύτερη υπολογιστική απόδοση. 34

35 4.2 Μέτρα ομοιότητας Το πόσο επιτυχημένο θεωρείται το αποτέλεσμα της ομαδοποίησης δεδομένων [23,24], εξαρτάται από τα κριτήρια που θα χρησιμοποιηθούν για τον διαχωρισμό των στοιχείων σε ομάδες. Η σωστή επιλογή των κριτηρίων αυτών είναι ένα πολύ σημαντικό ζήτημα. Το πιο σύνηθες κριτήριο που χρησιμοποιείται είναι η απόσταση μεταξύ των στοιχείων του συνόλου δεδομένων. Τα στοιχεία που ανήκουν σε κάθε cluster παρουσιάζουν ομοιότητα μεταξύ τους. Αυτή η ιδιότητα εξάλλου, είναι αναγκαία προκειμένου να ορισθεί ένα νέο ξεχωριστό cluster κατά την διαδικασία του clustering. Έτσι, για όλες τις τεχνικές clustering είναι σημαντικό να ορίζεται ένα μέτρο ομοιότητας μεταξύ δύο στοιχείων από το χώρο δεδομένων. Δεδομένης της μεγάλης ποικιλίας στα χαρακτηριστικά των στοιχείων, η επιλογή του μέτρου ομοιότητας θα πρέπει να είναι πολύ προσεκτική. Η αναπαράσταση των προτύπων παίζει σπουδαίο ρόλο στην επιλογή του μέτρου ομοιότητας[29]. Για παράδειγμα στην διπλωματική που οι χρήστες αναπαρίστανται μέσω διανυσμάτων με διακριτές τιμές σε κάθε συνιστώσα, χρησιμοποιήθηκε η Ευκλείδεια απόσταση. Μία εργασία που περιέχει πολλά ευρέως διαδεδομένα μέτρα απόστασης, ανάμεσά τους και την Ευκλείδεια είναι η[30]. Σε πολλές περιπτώσεις, με το μέτρο ομοιότητας αυτό που συνήθως μετράται δεν είναι η ομοιότητα αλλά η διαφορετικότητα ή ανομοιότητα δύο τυχαίων στοιχείων, όπως έχει ήδη αναφερθεί. Στην συνέχεια θα αναφερθούν μέτρα ομοιότητας, τα οποία είναι ευρέως διαδεδομένα και χρησιμοποιούνται για την σύγκριση στοιχείων των οποίων τα χαρακτηριστικά περιγράφονται από διακριτές τιμές. Το μέτρο ομοιότητας καλείται και απόσταση και συμβολίζεται με D και ικανοποιεί τα παρακάτω για δύο στοιχεία x,y: D(x,y)>=0 (μη αρνητικό) D(x,y)=D(y,x) (συμμετρία) D(x,x) = 0 (ένδειξη ταυτοποίησης) D(x,y) =0 εάν x=y (απολυτότητα) D(x,y) <= D(x,z) + D(z,y) (τριγωνική ανισότητα) Το πιο γνωστό μέτρο ομοιότητας που χρησιμοποιείται και στην παρούσα διπλωματική είναι η Ευκλείδεια απόσταση η οποία ορίζεται ως εξής: Έστω x = ( x1,..., x d ) και y = ( y1,..., y d ) δύο διανύσματα του χώρου απόσταση είναι d R d R, τότε η Ευκλείδεια D(x,y) = d i= 1 ( x y ) i i 2 Προφανώς και σε αυτή την περίπτωση αλλά και στις παρακάτω όσο μεγαλύτερο είναι το D(x,y), τόσο αυξάνει η πιθανότητα τα δύο διανύσματα x και y να τοποθετηθούν σε διαφορετικές ομάδες (clusters). Άλλοι τρόποι για να υπολογιστεί η απόσταση (ανομοιότητα) μεταξύ δύο στοιχείων είναι η απόσταση Manhattan: 35

36 D(x,y) = d i= 1 x y ή το μέγιστο της διαφοράς σε κάθε διάσταση: d D(x,y) = max = 1 x y i i i i i Η Ευκλείδεια απόσταση, χρησιμοποιείται ευρέως σε περιπτώσεις λίγων διαστάσεων και έχει καλά αποτελέσματα όταν τα δεδομένα κατηγοριοποιούνται σε συμπαγή και αρκετά απομονωμένα clusters. Ένα πρόβλημα που παρουσιάζει, είναι ότι στις πολλές διαστάσεις το χαρακτηριστικό το οποίο παρουσιάζει την μεγαλύτερη διαφοροποίηση από τα άλλα κυριαρχεί και αποπροσανατολίζει το τελικό αποτέλεσμα. Εδώ πρόκειται, για αυτό που συνήθως αναφέρεται ως κατάρα των πολλών διαστάσεων (curse of dimensionality). Μερικοί αλγόριθμοι, αντί να υπολογίζουν κάθε φορά την απόσταση μεταξύ δύο στοιχείων, χρησιμοποιούν έναν πίνακα στον οποίο τοποθετούν τις ομοιότητες των στοιχείων. Αυτό που γίνεται είναι ένας προ-υπολογισμός των n(n-1)/2 τιμών ομοιότητας για ένα σύνολο n στοιχείων. 4.3 Εκτίμηση του αριθμού των ομάδων (clusters) Στην βιβλιογραφία συναντάει κανείς πολλούς τρόπους για την εκτίμηση του αποτελέσματος της ομαδοποίησης ενός αλγορίθμου, που απαιτεί να είναι προκαθορισμένος ο αριθμός των clusters (k). Έχουν γίνει αξιοσημείωτες προσπάθειες προς αυτή την κατεύθυνση, ώστε να ξεπεραστεί σε μεγάλο βαθμό το πρόβλημα για το ποιο είναι το καλύτερο k. Μια πολύ γνωστή τεχνική είναι να συγκριθούν τα αποτελέσματα του διαμεριστικού αλγορίθμου ομαδοποίησης με τα αντίστοιχα ενός ιεραρχικού αλγορίθμου και μέσω του δενδρογράμματος να προκύψει το καλύτερο k. Ακόμη, γνωστή τεχνική αποτελεί η χρήση δεικτών εκτίμησης που αναλόγως την τιμή λαμβάνουν μπορεί να προκύψει συμπέρασμα για το k. Δύο τέτοιους δείκτες υλοποιήσαμε και στην παρούσα διπλωματική εργασία. Άλλος τρόπος που προτείνεται από μερικούς είναι να γίνει απεικόνιση των clusters και με την εφαρμογή διάφορων εργαλείων να βρεθεί το κατάλληλο k. Τέλος διάφορες προσπάθειες που έγιναν για την εκτίμηση του k, εμπλέκουν την έννοια της ευστάθειας. Αξίζει δε να αναφερθεί, ότι χρήσιμα συμπεράσματα για το k έχουν προκύψει και από προσπάθειες βελτίωσης διάφορων προβλημάτων που εμφανίζουν κάποιοι αλγόριθμοι. Έτσι όσο αναφορά τον k-means που μελετάμε στην διπλωματική, έχουν γίνει τέτοιες προσπάθειες επέκτασης του (περισσότερα στο κεφάλαιο 5). Ωστόσο όλες οι παραπάνω μέθοδοι δεν κατάφεραν να επιλύσουν το πρόβλημα, δηλαδή να μην προκαθορίζεται το k. Ο λόγος είναι ότι οι παραπάνω τεχνικές δεν μπορούν αν εφαρμοστούν παντού και πάντα γιατί εμφανίζουν αδυναμίες σε κάποιες περιπτώσεις. Έτσι για παράδειγμα υπάρχουν δείκτες που έχουν μεγάλο υπολογιστικό κόστος κάτι που είναι καλό να αποφεύγεται κυρίως σε μεγάλα σύνολα δεδομένων. Άλλοι δείκτες πάλι δεν είναι κατάλληλοι όταν τα clusters έχουν κατά πολύ διαφορετικό αριθμό μελών. Και γενικά προβλήματα εμφανίζουν και οι άλλες τεχνικές γιατί οι περισσότερες προέκυψαν για να λύσουν το πρόβλημα κάτω από κάποιες συνθήκες και έγιναν κάποιες παραδοχές. Έτσι η έρευνα για την προσπάθεια εύρεσης του καλύτερου k με τρόπο που να γίνεται ευρέως αποδεκτό 36

37 συνεχίζεται. Μάλιστα το επιθυμητό είναι να μπορεί ο αλγόριθμος να «μαθαίνει» το k αυτόματα, δηλαδή να μην το έχει σαν στοιχείο εισόδου του Δείκτες εκτίμησης του αριθμού των clusters Η τεχνική clustering είναι η διαδικασία διαχωρισμού ενός δεδομένου συνόλου προτύπων, σε ομάδες ή σε clusters, έτσι ώστε όλα τα πρότυπα που ανήκουν στην ίδια ομάδα να είναι παρόμοια μεταξύ τους, ενώ πρότυπα που ανήκουν σε διαφορετικές ομάδες να είναι ανόμοια μεταξύ τους. Οι τεχνικές clustering εμπλέκονται πάντα στη διαδικασία αναγνώρισης προτύπων. Για σχετικές έρευνες, χρησιμοποίηση σημαντικών τεχνικών clustering στη διαδικασία αναγνώρισης προτύπων, μπορεί να δει κανείς τη σχετική έρευνα [29]. Ωστόσο, σχεδόν όλοι οι αλγόριθμοι clustering που υπάρχουν στην βιβλιογραφία, βασίζονται σε αναπαράσταση προτύπων χρησιμοποιώντας τα χαρακτηριστικά διανυσμάτων. Υπάρχουν μόνο λίγες ερευνητικές εργασίες με συμβολικές δομές δεδομένων, συγκεκριμένα γράφους, που χρησιμοποιούνται στην τεχνική clustering. Αυτή η έλλειψη των αλγορίθμων για clustering σε συμβολικές δομές δεδομένων έχει αρνητικές συνέπειες, γιατί οι συμβολικές δομές δεδομένων εμφανίζουν υψηλότερη ικανότητα αναπαράστασης από ότι τα διανύσματα. Πολλοί αλγόριθμοι για clustering απαιτούν ο αριθμός των clusters να είναι προκαθορισμένος. Για να ξεπεραστεί αυτό το πρόβλημα, έχουν προταθεί διάφοροι δείκτες εκτίμησης των clusters. Αυτοί οι δείκτες επιτρέπουν να μετριέται η ποιότητα του αποτελέσματος της εκάστοτε clustering τεχνικής. Πιο συγκεκριμένα, αυτό επιτυγχάνεται μέσω της γνώσης του βέλτιστου αριθμού clusters, που εκτιμάται από τις τιμές των δεικτών που χρησιμοποιούνται για αυτό τον σκοπό. Ομοίως όμως με τους αλγορίθμους για clustering, και αυτοί οι δείκτες εφαρμόζονταν αποκλειστικά για διανυσματική αναπαράσταση προτύπων. Ένας άλλος τρόπος για να αντιμετωπιστεί το πρόβλημα με τον άγνωστο αριθμό των clusters, είναι να γίνεται αλλαγή του αριθμού των clusters δυναμικά[31]. Οι δείκτες εκτίμησης των clusters που υπάρχουν στην βιβλιογραφία είναι πολλοί και χωρίζονται σε διάφορες κατηγορίες[39,40]: internal δείκτες: ο στόχος τους είναι να εκτιμήσουν τα αποτελέσματα του αλγορίθμου clustering χρησιμοποιώντας μόνο ποσότητες που εμπλέκουν τα δεδομένα. Τέτοιοι δείκτες βασίζουν τους υπολογισμούς τους μόνο στο αποτέλεσμα που clustering που προκύπτει και πρέπει να εκτιμηθεί. Συνεπώς είναι κατάλληλοι περισσότερο για ομαδοποίηση χωρίς επίβλεψη. Δύο ευρέως γνωστοί internal δείκτες είναι ο Dunn και ο Davies-Bouldin. external δείκτες: αυτοί εκτιμούν το αποτέλεσμα μέσω αναφορών από προηγούμενη εξωτερική γνώση, όπως για παράδειγμα μία προ-ορισμένη δομή που δίνει τη δυνατότητα γνώσης διαισθητικά για τη δομή που θα προκύψει από ένα σύνολο δεδομένων. Αξίζει να σημειωθεί ότι αυτοί οι δείκτες δεν είναι εφαρμόσιμοι σε αληθινά δεδομένα του πραγματικού κόσμου όπου εφαρμόζονται ομαδοποιήσεις χωρίς επίβλεψη. Γενικά το κύριο μειονέκτημα τους σε σχέση με τους internal δείκτες, είναι το υπολογιστικό τους κόστος, συμπεριλαμβανομένου ότι μετρούν σε ποιο βαθμό τα clusters που προέκυψαν ταυτίζονται 37

38 με ένα συγκεκριμένο και προκαθορισμένο Σχήμα. Ένας ευρέως γνωστός και αξιόπιστος δείκτης αυτής της κατηγορίας είναι το F-measure. δείκτες συσχέτισης: αυτοί στοχεύουν στην ανάκτηση του καλύτερου clustering που μπορεί να επιτευχθεί από έναν clustering αλγόριθμο, υπό κάποιες προϋποθέσεις και παραμέτρους. Η κύρια μέθοδος που εφαρμόζεται σε αυτούς τους δείκτες είναι η εκτίμηση του αποτελέσματος μέσω συγκρίσεων με άλλα clustering αποτελέσματα του ίδιου ωστόσο αλγορίθμου αλλά με διαφορετικές τιμές παραμέτρων. Όταν εφαρμόζονται κατάλληλα οι internal, φαίνεται να δρουν σαν συσχέτισης [22]. Για παράδειγμα ψάχνοντας για τον βέλτιστο αριθμό των clusters, ουσιαστικά εκτιμώνται διαφορετικές εκτελέσεις του ίδιου αλγορίθμου για διαφορετικό αριθμό clusters. Στη συνέχεια παρουσιάζεται, ένας αλγόριθμος clustering σε γράφο που προτάθηκε πρόσφατα σε σχετική εργασία [32]. Επιπλέον, προτείνονται δείκτες εγκυρότητας για τον αριθμό των clusters, με δυνατότητα εκτίμησης της ποιότητας του γράφου. Φαίνεται μέσα από πειράματα ότι αυτοί οι δείκτες είναι κατάλληλοι για την εύρεση του βέλτιστου αριθμού των clusters με αυτόματο τρόπο. Προκειμένου να φανεί έμπρακτα η χρησιμότητα των δεικτών εκτίμησης των clusters, παρουσιάζεται συνοπτικά ένας αλγόριθμος clustering με χρήση γράφου και ακολουθούν τα αποτελέσματα των πειραμάτων που έγιναν από τους ερευνητές της συγκεκριμένης εργασίας [34]. Έτσι μέσω αυτής της εργασίας τεκμηριώνεται η χρησιμότητα των δεικτών και μάλιστα προτείνεται η χρήση τους και σε άλλους αλγορίθμους. Σχετικά με τις αποστάσεις και την επεξεργασία τους σε ένα γράφο, υπάρχουν πληροφορίες σε ερευνητικές εργασίες [33]. Σχετικά με τον αλγόριθμο για clustering με χρήση γράφου, παράγεται από έναν self-organizing map (som) όπως περιγράφεται στην εργασία [34]. Αν και ο κλασσικός som-αλγόριθμος βασίζεται σε διανυσματική αναπαράσταση προτύπων, ο νέος αλγόριθμος χρησιμοποιεί γράφους. Μια περιγραφή ψευδοκώδικα του κλασσικού som-αλγορίθμου δίνεται στο Σχήμα 8. Ο αλγόριθμος εξυπηρετεί δύο σκοπούς, είτε πραγματοποιεί clustering, είτε χαρτογράφηση ενός πολυδιάστατου χώρου προτύπων σε έναν με λιγότερες διαστάσεις. Σχετικά με την διαδικασία του clustering, δίνεται ένα σύνολο προτύπων, X, και ο αλγόριθμος τοποθετεί ένα πρωτότυπο y i σε κάθε cluster i. Ο αριθμός των clusters, M, είναι μία παράμετρος που πρέπει να παρέχεται εκ των προτέρων. Αρχικά, κάθε πρωτότυπο y i αρχικοποιείται τυχαία (γραμμή 4 του ψευδοκώδικα). Στο κύριο loop (γραμμές 5-11 του ψευδοκώδικα) επιλέγεται τυχαία ένα στοιχείο x X και καθορίζεται το νεύρο y που είναι πιο κοντά στο x. Στο εσωτερικό loop (γραμμές 8-9 του ψευδοκώδικα) υποτίθεται ότι όλα τα νεύρα y που βρίσκονται στη γειτονιά N( y ) του y, συμπεριλαμβανομένου του y, και η ενημέρωση αυτών γίνεται σύμφωνα με τον τύπο της γραμμής 9 του ψευδοκώδικα. Το αποτέλεσμα αυτής της διαδικασίας ενημέρωσης, είναι η μετακίνηση του νεύρου y πιο κοντά στο πρότυπο x. Ο ρυθμός με τον οποίο το y μετακινείται προς το x ελέγχεται από μία παράμετρο a που ονομάζεται learning rate (ρυθμός μάθησης).αξίζει να σημειωθεί ότι το a εξαρτάται από την απόσταση ανάμεσα στο y και στο y*. Για παράδειγμα, όσο μικρότερη είναι αυτή η απόσταση τόσο μεγαλύτερη είναι η αλλαγή του νεύρου y. Μετά από κάθε επανάληψη του παραπάνω loop, η παράμετρος learning rate a μειώνεται κατά μία μικρή ποσότητα. Συνεπώς, διευκολύνεται η σύγκλιση του αλγορίθμου. Αναμένεται ότι μετά από έναν 38

39 ικανοποιητικό αριθμό επαναλήψεων τα y i θα έχουν μετακινηθεί σε περιοχές όπου βρίσκονται συγκεντρωμένα πολλά x j. (Στο εξής κάθε y i θα θεωρείται το κέντρο ενός cluster, και γύρω από αυτό υπάρχουν εκείνα τα πρότυπα που έχουν αυτό το λεπτομέρειες για τον αλγόριθμο μπορεί να βρει κάποιος στο [34]. Στη γνήσια έκδοση του som-αλγορίθμου όλα τα x j και y i ως το πιο κοντινό νεύρο). Περισσότερες yi είναι χαρακτηριστικά διανυσμάτων [34]. Για να εφαρμοστεί ο αλγόριθμος σε γράφο χρειάζεται να γίνουν δύο βασικές αλλαγές. Κατ αρχήν, πρέπει να χρησιμοποιηθεί ένα μέτρο απόστασης γράφου, ώστε να βρεθεί ο γράφος y* που είναι πιο κοντά στο x (γραμμή 7 του ψευδοκώδικα). Τέτοια μέτρα προτάθηκαν στην εργασία [32]. Κατά δεύτερον, πρέπει να υλοποιηθεί μία διαδικασία ενημέρωσης του γράφου, όπως αυτή περιγράφεται στην εργασία [32]. Ουσιαστικά αυτή η διαδικασία προκύπτει από τους υπολογισμούς των αποστάσεων. Πιο συγκεκριμένα, το αποτέλεσμα του υπολογισμού της απόστασης, d( g1, g2), δύο γράφων g1 και g2, είναι μια ακολουθία πράξεων e1, e2,..., en που μετατρέπει τον g1 στον g2 με το ελάχιστο κόστος. Αν ληφθεί η υπό-ακολουθία e,..., i1 e ik και εφαρμοστεί στον g1, προκύπτει ένας νέος γράφος ο g3. Αυτός ο νέος γράφος είναι στην ουσία μία έκδοση του που άλλαξε για να είναι όσο το δυνατόν πιο όμοιος με τον g2. Επιπλέον, μέσω της υπο-ακολουθίας e,..., i1 e ελέγχεται ο ρυθμός με τον οποίο ο g1 γίνεται g 2 ολοένα πιο όμοιος με τον, όπως αντίστοιχα συνέβαινε και με την παράμετρο a. g 1 ik Σχήμα 8. Ο som-αλγόριθμος Μαθηματικοί τύποι internal δεικτών εκτίμησης των clusters Πολλοί αλγόριθμοι clustering, συμπεριλαμβανομένου τόσο της γνήσιας όσο και της βασισμένης σε γράφο έκδοσης του αλγορίθμου som, απαιτούν να δίνεται σαν παράμετρος της εισόδου τους ο αριθμός των clusters. Αυτό ενδεχομένως δημιουργεί προβλήματα, καθώς ο αριθμός των clusters δεν είναι πάντα γνωστός. Για να ξεπεραστεί αυτό το πρόβλημα, προτάθηκαν κάποιοι δείκτες εγκυρότητας του αριθμού των clusters. Ένας τέτοιος δείκτης εγκυρότητας είναι ένας αριθμός που δείχνει την ποιότητα του clustering που προέκυψε. Στο εξής, αν ο σωστός αριθμός των clusters δεν είναι γνωστός, κάποιος μπορεί να εκτελέσει έναν αλγόριθμο clustering πολλές φορές, με διαφορετικό αριθμό clusters σε κάθε 39

40 τρέξιμο που θα κυμαίνεται από μία ελάχιστη μέχρι μία μέγιστη τιμή. Για κάθε αποτέλεσμα που θα προκύπτει υπολογίζεται και ο αντίστοιχος δείκτης εγκυρότητας. Τελικά, το clustering που παράγει την καλύτερη τιμή δείκτη είναι και το τελικό αποτέλεσμα, που επιστρέφεται. Στη συνέχεια, θα γίνει μια αναφορά σε κάποιους δείκτες εγκυρότητας που προτάθηκαν. Λαμβάνονται υπόψη, οι δείκτες εκείνοι που φαίνονται λογικοί και εύκολα υλοποιήσιμοι. Επίσης, οι δείκτες που προτάθηκαν και θα αναφερθούν παρακάτω, αφορούν μόνο στη διανυσματική αναπαράσταση προτύπων. Ωστόσο, μπορούν να εφαρμοστούν σε αναπαραστάσεις βασισμένες σε γράφο μιας και η επεξεργασία της απόστασης γράφου υιοθετείται σαν μέτρο απόστασης. -Davies-Bouldin δείκτης [35]: Αυτός ο δείκτης DB ορίζεται ως εξής: m 1 DB = max j= 1,..., M; j i( dij) M i= 1 όπου σi + σ j dij = dc (, c) i j Μ είναι ο αριθμός των clusters, σ είναι ο μέσος όρος της απόστασης όλων των προτύπων που i ανήκουν στο cluster i από το κέντρο του cluster c και dc (, c) είναι η απόσταση των i i j κέντρων c και c. Στο εξής i j d ij είναι μικρή αν τα clusters i και j είναι συμπαγή και τα κέντρα τους είναι μακριά το ένα με το άλλο. Συνεπώς, ο DB θα έχει μία μικρή τιμή για ένα καλό clustering. Για τον DB σαν διάστημα ορίζεται το [0, ]. Τέλος, ο δείκτης έχει μικρή πολυπλοκότητα. -Dunn δείκτης [36]:Ως, clusters και ως d max δείκτης, D, ορίζεται ως: d D = d min max Ακόμη D [ 0, ] d min ορίζεται η μικρότερη απόσταση ανάμεσα σε δύο στοιχεία διαφορετικών η μεγαλύτερη απόσταση δύο προτύπων που ανήκουν στο ίδιο cluster. O Dunn, και όσο πιο μεγάλες είναι οι τιμές του D τόσο καλύτερο είναι το clustering. O D θεωρείται εύκολος αλλά είναι ασταθής όταν υπάρχουν απομακρυσμένα στοιχεία επειδή μετριούνται μόνο δύο αποστάσεις. - C δείκτης [37] : Αυτός ο δείκτης ορίζεται ως εξής: S S C = S S max min min Όπου S είναι το άθροισμα των αποστάσεων όλων των ζευγών των προτύπων του ίδιου cluster. Όπου l S min είναι ο αριθμός αυτών των ζευγών. θεωρείται το άθροισμα με τις μικρότερες αποστάσεις στο l, ενώ S max το άθροισμα με τις μεγαλύτερες αποστάσεις στο l. Όταν τα ζεύγη των προτύπων με μικρή απόσταση ανήκουν στο ίδιο cluster, ο αριθμητής του παραπάνω τύπου είναι μικρός. Ο παρονομαστής κάνει κανονικοποίηση ώστε ο C να ανήκει στο [0,1]. Ο δείκτης C είναι κατάλληλος όταν όλα τα clusters έχουν παρόμοιο μέγεθος. 40

41 -Goodman-Kruskal δείκτης [38]:Για τον υπολογισμό αυτού του δείκτη λαμβάνονται υπόψη όλες οι τετράδες των προτύπων εισόδου και οι αποστάσεις των προτύπων συσχετίζονται με τα μέλη του cluster. Για περισσότερες λεπτομέρειες αναφέρεται η εργασία [38]. Αυτός ο δείκτης προτείνεται όταν τα clusters έχουν παρόμοιο μέγεθος αλλά δεν είναι κατάλληλος για εφαρμογές με μεγάλο αριθμό προτύπων εισόδου, γιατί αυξάνεται πολύ η πολυπλοκότητα υπολογισμού του. Ο αλγόριθμος clustering με βάση γράφο και οι δείκτες εγκυρότητας, που έχουν περιγραφεί μέχρι τώρα, εκτιμήθηκαν πειραματικά. Στα πειράματα που έγιναν, χρησιμοποιήθηκαν κεφαλαίοι χαρακτήρες. Στο Σχήμα 9 φαίνονται 15 χαρακτήρες όπου ο καθένας αναπαριστά μία διαφορετική κλάση. Οι χαρακτήρες αποτελούνται από ευθύγραμμα τμήματα. Ακόμη, χρησιμοποιήθηκαν δύο διαφορετικοί τύποι αναπαράστασης γράφου, οι R1 και R2. Για κάθε ένα από τους 15 χαρακτήρες, δημιουργήθηκαν 10 παραλλαγές. Αν και η ταυτότητα του κάθε δείγματος ήταν γνωστή, η πληροφορία αυτή δεν χρησιμοποιήθηκε στα πειράματα. Με απλά λόγια, στα πειράματα χρησιμοποιήθηκαν μόνο unlabeled δείγματα (δείγματα χωρίς ετικέτα αναγνώρισης). Ο αλγόριθμος clustering με γράφο που παρουσιάστηκε, έτρεξε σε ένα σύνολο 150 γράφων αναπαράστασης τέτοιων δειγμάτων χαρακτήρων, με αριθμό clusters ίσο με 15. Επειδή ο αλγόριθμος δεν είναι ντετερμινιστικός, εκτελέστηκε 10 φορές. Τα κέντρα των cluster για όλες αυτές τις εκτελέσεις είναι πολύ όμοια με αυτά που φαίνονται στο Σχήμα 9. Όλα τα κέντρα των clusters είναι σωστά με την έννοια ότι αναπαριστούν λογικά πρωτότυπα των διαφορετικών κλάσεων χαρακτήρων. Επίσης, και τα 150 πρότυπα εισόδου ανατέθηκαν στο σωστό κέντρο cluster. Σχήμα χαρακτήρες καθένας αναπαριστά μια διαφορετική κλάση Από τα πειράματα που έγιναν, προκύπτει το συμπέρασμα ότι ο νέος αλγόριθμος clustering με γράφο είναι ικανός να παράγει μία λογική διαμέριση ενός συνόλου γράφων σε clusters και να βρει ένα κατάλληλο πρωτότυπο για κάθε cluster, αν είναι γνωστός εκ των προτέρων ο σωστός αριθμός των clusters. Σκοπός των πειραμάτων που έγιναν είναι να αναδειχθεί η χρησιμότητα των δεικτών εγκυρότητας, ώστε αυτόματα να βρίσκεται ο σωστός αριθμός των clusters. Ο αλγόριθμος clustering με γράφο εκτελέστηκε πολλές φορές αυξάνοντας τον αριθμό των clusters από το 2 μέχρι το 24. Έπειτα και οι 4 δείκτες υπολογίστηκαν για κάθε ένα από τα αποτελέσματα. Η σχηματική αναπαράσταση που δείχνει τις τιμές αυτών των δεικτών σε συνάρτηση με τον αριθμό των clusters απεικονίζεται στα Σχήματα 10,11,12,13. Ας σημειωθεί, ότι ο βέλτιστος αριθμός των clusters εμφανίζεται για μια μικρή τιμή στους DB και C δείκτες, ενώ αντίστοιχα έχει μεγάλη τιμή για τους δείκτες D και Goodman-Kruskal. Όπως, φαίνεται στα Σχήματα 10,11,12,13 για κάθε έναν από αυτούς τους δείκτες, ο σωστός αριθμός των clusters πάντα αντιστοιχεί στη βέλτιστη τιμή του δείκτη. Ωστόσο, υπάρχουν και μερικά αποτελέσματα ισότιμα ή πολύ κοντινά. Για παράδειγμα, το ελάχιστο του C δείκτη επιτυγχάνεται για τη σωστή τιμή 15 αλλά επίσης και για 16. Με σκοπό να οριστεί αυτόματα ο βέλτιστος αριθμός των clusters και να εξαφανιστούν τέτοια προβλήματα υλοποιήθηκε μια απλή 41

42 στρατηγική εκλογής. Ο αριθμός των clusters με το πρώτο καλύτερο, το δεύτερο καλύτερο και το τρίτο καλύτερο αποτέλεσμα για έναν δείκτη λαμβάνει 3,2 και 1 σημεία. Έπειτα το άθροισμα αυτών των σημείων για όλους τους δείκτες υπολογίζεται για κάθε αριθμό των clusters. Το αποτέλεσμα φαίνεται στο Σχήμα 14. Προφανώς, ένας συνδυασμός δεικτών (Σχήμα 14) είναι μια σαφής βελτίωση από τη χρήση του κάθε δείκτη ξεχωριστά. Ο σωστός αριθμός των clusters (15) αναπαριστάται από μια απότομη κορυφή και για τις δύο αναπαραστάσεις. Ενώ ισότιμα αποτελέσματα δεν συμβαίνουν πια. Σχήμα 10. Δείκτης DB σε συνάρτηση με τον αριθμό των clusters Σχήμα 11. Δείκτης D σε συνάρτηση με τον αριθμό των clusters Σχήμα 12. Δείκτης C σε συνάρτηση με τον αριθμό των clusters αριθμό των clusters Σχήμα 13. Δείκτης Goodman-Kruskal σε συνάρτηση με τον Σχήμα 14. Τελικό αποτέλεσμα από τον συνδυασμό όλων των δεικτών External F-measure δείκτης Το F-measure είναι ένας δείκτης που περιγράφει πόσο καλά ταιριάζει το αποτέλεσμα clustering σε μία προκαθορισμένη ομαδοποίηση. Επίσης δίνει τη δυνατότητα σύγκρισης διαφορετικών clusterings 42

43 προκειμένου να προσδιοριστεί αυτό που είναι πιθανότερο να ανταποκρίνεται καλύτερα στην προκαθορισμένη ομαδοποίηση. Αυτός ο δείκτης ορίζεται μέσω των ιδεών της ανάκλησης (recall) και της ακρίβειας (precision). Ουσιαστικά κάνοντας χρήσης αυτών των εννοιών εκτιμάται κατά πόσο ταιριάζουν οι προκαθορισμένες ομάδες (Cj, όπου j=1,,l) με αυτές που προέκυψαν τελικά (Ci, όπου i=1,,k). card( Ki C j) Η precision ορίζεται: pk ( i, Cj) =, (εξίσωση 1) card( K ) card( Ki C j) Η recall ορίζεται: rk ( i, Cj) =, (εξίσωση 2) card( C ) j i Η βελτίωση των παραπάνω εννοιών είναι μία διαδικασία ανταγωνισμού και οι προσπάθειες βελτίωσης της μίας έννοιας έχουν σαν αποτέλεσμα την υποβίβαση της άλλης. Το F-measure για ένα cluster Ki και μια προκαθορισμένη ομάδα FK (, C) = F i j ij p r ij ij, (εξίσωση 3) C j ορίζεται: Το F-measure ενός cluster για όλες τις προκαθορισμένες ομάδες ορίζεται: F( Ki) = Fi = max 1 j C Fij, (εξίσωση 4) K i Έτσι, το τελικό F-measure για όλα τα clusters, σύμφωνα με τις εξισώσεις 1,2,3,4 ορίζεται: F meas ομαδοποίηση). card( K i ) = F i, (εξίσωση 5) (όπου Ν ο αριθμός των στοιχείων για N 1 i k Σημειώνεται ότι το καλύτερο clustering προκύπτει όταν η τιμή του F-measure είναι ίση με 1, που είναι η μέγιστη τιμή του δείκτη Η έννοια της ευστάθειας Αν και οι τεχνικές clustering είναι αρκετά δημοφιλείς και έχουν ευρύ πεδίο εφαρμογών, δυστυχώς υπάρχει ελάχιστη γνώση για τις θεωρητικές ιδιότητες των τεχνικών clustering. Συγκεκριμένα, δύο είναι τα κεντρικά θέματα, το ένα έχει να κάνει με το πρόβλημα του καθορισμού εκείνων των clusters που δε φέρουν κανένα νόημα. Το άλλο πρόβλημα έχει να κάνει με την επιλογή του αριθμού k των clusters που ταιριάζει καλύτερα στο εκάστοτε σύνολο δεδομένων. Και τα δύο προβλήματα παραμένουν άλυτα στο μεγαλύτερο μέρος τους. Γίνονται σημαντικές προσπάθειες προς αυτή την κατεύθυνση προκειμένου να καθοριστεί το πιο κατάλληλο k. Εκτός από τους δείκτες που αναφέρθηκαν εώς τώρα, πολλοί ερευνητές προσπάθησαν να συσχετίσουν την εύρεση του καταλληλότερου k με την έννοια της ευστάθειας[44,45]. Μάλιστα στην [44] φαίνεται ότι η ευστάθεια μπορεί να χρησιμοποιηθεί σαν μέτρο εκτίμησης του καλύτερου k και να οδηγήσει σε σωστά συμπεράσματα. 43

44 Η πρωταρχική ιδέα αυτής της μεθόδου είναι ότι αν κάποιος παίρνει συνεχώς δείγματα δεδομένων και εφαρμόζει αλγόριθμο clustering, τότε ένας καλός αλγόριθμος θα παράγει clusterings που δεν θα διαφέρουν πολύ μεταξύ τους. Με άλλα λόγια, ο αλγόριθμος είναι σταθερός με σεβασμό στην τυχαιότητα των δεδομένων εισόδου. Συγκεκριμένα, η ευστάθεια αποτελεί μια ένδειξη για το εάν το προτεινόμενο μοντέλο κάποιου αλγορίθμου ταιριάζει στα δεδομένα ή όχι. Για παράδειγμα, εάν τα δεδομένα περιέχουν τρία πραγματικά clusters, τότε ο αλγόριθμος λανθασμένα θα προβεί στο διαχωρισμό ενός cluster σε άλλα δύο. Επιπλέον, κάθε φορά το ποιο από τα τρία clusters θα διαχωριστεί, διαφέρει, με αποτέλεσμα να μην υπάρχει σταθερότητα. Με βάση τα παραπάνω λοιπόν, η ευστάθεια αποτελεί μια πολύ σημαντική παράμετρο που χρησιμοποιείται ευρέως σε πρακτικές εφαρμογές για τη ρύθμιση των παραμέτρων των αλγορίθμων. Οι Ben-David και οι συνεργάτες τους (2006), με σκοπό να παρέχουν κάποιες θεμελιώδεις αρχές για την ευστάθεια, τυποποίησαν κάποιους ορισμούς και τους συσχέτισαν με διάφορους αλγορίθμους clustering. Τα αποτελέσματα των ερευνών τους, έδειξαν ότι η ευστάθεια καθορίζεται από τη δομή του συνόλου των βέλτιστων λύσεων που ελαχιστοποιούν μια αντικειμενική συνάρτηση. Έδειξαν ότι η παρουσία ενός μοναδικού ελαχιστοποιητή συνεπάγεται ευστάθεια. Από την άλλη πλευρά, έδειξαν ότι εάν η P έχει πολλά μειωμένα στο ελάχιστο clusterings, και είναι συμμετρική σε σχέση με αυτά, τότε προκύπτει αστάθεια. Όπου P είναι μια κατανομή πιθανοτήτων. Οι Ben-David και οι συνεργάτες τους υπέθεσαν ότι η συνθήκη συμμετρίας δεν είναι αναγκαία και ότι η παρουσία και μόνο πολλών ελαχιστοποιητών αρκεί για την εμφάνιση αστάθειας. Σε αυτό το συμπέρασμα έχουν καταλήξει και έρευνες που αποδεικνύουν αυτή την υπόθεση και για τον k-means με κατανομές πιθανοτήτων. Αυτά τα αποτελέσματα υποδηλώνουν ότι σε αντίθεση με την κοινή αίσθηση, η ευστάθεια δεν αντανακλά την εγκυρότητα ή την άσκοπη επιλογή του αριθμού των clusters. Με βάση την ευστάθεια μπορεί κάποιος να κατασκευάσει άμεσα πολλά παραδείγματα δεδομένων με διάφορες κατανομές, όπου μια κακή επιλογή αριθμού clusters έχει συνέπεια στην ευστάθεια, ενώ από την άλλη πλευρά κάποιοι διαχωρισμοί αντανακλούν τη βασική δομή του συνόλου δεδομένων και έχουν συνέπεια στη αστάθεια. Ορισμός: Η ευστάθεια ενός αλγορίθμου Α με σεβασμό σε ένα μέγεθος δείγματος m και μια κατανομή πιθανοτήτων P είναι: Η ευστάθεια του αλγορίθμου Α με σεβασμό στην κατανομή πιθανοτήτων P είναι: Ορίζεται ότι ο αλγόριθμος Α είναι σταθερός για P εάν stab(a,p)=0. Θεώρημα Έστω P είναι μια κατανομή πιθανοτήτων στον ευκλείδειο χώρο για πεπερασμένο σύνολο δεδομένων. Τότε ο k-means για την P είναι σταθερός αν και μόνο αν έχει μια μοναδική λύση ελαχιστοποίησης. 44

45 4.3.5 Αναπαράσταση των clusters Το αποτέλεσμα του clustering είναι μια διαμέριση των δεδομένων σε clusters. Η διαμέριση αυτή, δίνει μια ιδέα για το πώς μπορούν να ομαδοποιηθούν τα δεδομένα σε έναν συγκεκριμένο αριθμό από clusters. Σε πολλές εφαρμογές και κυρίως σε εφαρμογές λήψεων αποφάσεων, είναι ανάγκη να υπάρχει μια συμπαγής και κατανοητή αναπαράσταση των clusters. Το ζήτημα της αναπαράστασης των clusters που είναι άμεσα συνδεδεμένο με την αφαίρεση των δεδομένων, είναι πολύ σημαντικό για την λήψη αποφάσεων. Η αναπαράσταση ενός cluster μπορεί να γίνει με διάφορους τρόπους. Μερικοί από τους προτεινόμενους είναι και οι παρακάτω: Ένα cluster μπορεί να αναπαρασταθεί από το κεντροειδές (centroid) σημείο του ή από έναν αριθμό σημείων που είναι τα πιο απομακρυσμένα στο cluster, (Σχήμα 15). Οι κόμβοι ενός δένδρου κατηγοριοποίησης μπορούν να αναπαραστήσουν ένα cluster, (Σχήμα 16). Επίσης, ένα cluster μπορεί να αναπαρασταθεί χρησιμοποιώντας συζευκτικούς λογικούς τελεστές, (Σχήμα 16). Y-Axis X X X X X X X X Y-Axis X X X X X X X X X-Axis X-Axis Σχήμα 15. Αναπαράσταση clusters από σημεία X (a) X1 X1<3 X1>3 X2<2 X2> (b) 1: [X1<3]; 2:[X1>3][X2<2]; 3:[X1>3][X2>2] (c) 45

46 Σχήμα 16. (a)clusters σε χώρο 2 διαστάσεων, (b) ομαδοποίηση με δένδρο, (c) ομαδοποίηση με λογικούς συζευκτικούς τελεστές. Ο πρώτος τρόπος αναπαράστασης με την χρήση ενός κεντροειδούς είναι ο πιο συνηθισμένος και έχει καλά αποτελέσματα όταν τα clusters είναι συμπαγή και τα στοιχεία κατανέμονται ομοιόμορφα γύρω από το κεντροειδές. Σε αντίθετη περίπτωση, αυτός ο τρόπος αναπαράστασης δεν είναι ο πιο κατάλληλος. Στην περίπτωση αυτή η αναπαράσταση ενός cluster από συνοριακά σημεία είναι μια πολύ καλή λύση, υπάρχουν αρκετοί αλγόριθμοι που ακολουθούν αυτή την τεχνική όπως ο αλγόριθμος CURE [38]. Όσο το σχήμα του cluster αλλάζει και παίρνει διάφορα σχήματα στο χώρο, η επιλογή των σημείων πρέπει να είναι τέτοια ώστε να περιγράφεται το cluster όσο το δυνατόν καλύτερα. Η αναπαράσταση με ένα δένδρο κατηγοριοποίησης είναι ισοδύναμη με την αναπαράσταση ενός cluster με λογικούς συζευκτικούς τελεστές. Η αναπαράσταση των clusters και η αφαίρεση δεδομένων που αυτή συνεπάγεται είναι πολύ σημαντική γιατί (α) δίνει μια απλή και κατανοητή αναπαράσταση των δεδομένων, (β) Επιτυγχάνεται συμπίεση των δεδομένων η οποία μπορεί να αξιοποιηθεί από άλλες υπολογιστικές εφαρμογές και (γ) βοηθάει και επιταχύνει την διαδικασία λήψεως αποφάσεων. 46

47 5 Αλγόριθμος k-means Σε αυτό το κεφάλαιο θα περιγραφεί ο αλγόριθμος k-means και διάφορα θέματα γύρω από αυτόν, όπως το πώς δουλεύει, τι πλεονεκτήματα και τι αδυναμίες παρουσιάζει και άλλα. Ακόμη, θα παρουσιαστούν 2 σχετικές εργασίες που αφορούν επεκτάσεις του και εμφανίζουν ιδιαίτερο ενδιαφέρον σχετικά με το πρόβλημα εύρεσης του καλύτερου k. 5.1 k-means Ο διαμεριστικός αλγόριθμος k-means είναι ένας από τους πιο απλούς και δημοφιλέστερους αλγορίθμους ομαδοποίησης που ανήκουν στην ευρύτερη κατηγορία των τεχνικών μάθησης χωρίς επίβλεψη. Ο αλγόριθμος αυτός είναι δημοφιλής εξαιτίας της απλότητας της υλοποίησης του και της γραμμικής πολυπλοκότητας του η οποία είναι της τάξης n (Ο(n)), όπου n το σύνολο των στοιχείων. Η διαδικασία της ομαδοποίησης ενός συνόλου δεδομένων με βάση τον k-means είναι εύκολη, αρκεί να είναι εκ των προτέρων καθορισμένος ο αριθμός (k) των clusters (ομάδων) που θα προκύψουν. Η κύρια ιδέα είναι να προσδιοριστούν αρχικά k centroids (κεντροειδή), ένα για κάθε cluster. Αυτά τα αρχικά centroids πρέπει να επιλεγούν με επιδέξιο τρόπο, γιατί διαφορετικές αρχικές θέσεις για τα centroids δίνουν διαφορετικά αποτελέσματα. Δηλαδή, η αρχική θέση των centroids επηρεάζει το αποτέλεσμα που θα δώσει ο αλγόριθμος. Έτσι, συχνά θεωρείται καλύτερη η επιλογή εκείνων των centroids ώστε να απέχουν μεταξύ τους όσο περισσότερο γίνεται. Το επόμενο βήμα είναι επιλογή κάθε στοιχείου από το σύνολο δεδομένων και συσχέτιση του με το κοντινότερο σε αυτό centroid. Όταν αυτό γίνει για όλα τα στοιχεία του συνόλου δεδομένων, το πρώτο βήμα έχει ολοκληρωθεί και μία πρώτη και «πρόχειρη» ομαδοποίηση έχει ήδη προκύψει. Στη συνέχεια, απαιτείται να υπολογιστούν ξανά k νέα centroids, τα οποία θα αποτελούν το κέντρο βάρους για κάθε ένα cluster που προέκυψε από το προηγούμενο βήμα. Αφού λοιπόν οριστούν τα νέα k centroids, ακολουθεί και πάλι η ίδια διαδικασία ανάθεσης καθενός από τα στοιχεία του συνόλου δεδομένων στο κοντινότερο με αυτό, νέο πλέον, centroid. Έτσι, γίνεται μια επανάληψη της ίδιας διαδικασίας. Αποτέλεσμα αυτής της επανάληψης είναι ότι σε κάθε βήμα τα centroids αλλάζουν θέση (ορίζονται νέα) και τα στοιχεία ανατίθενται στο κατάλληλο cluster κάθε φορά με βάση το κοντινότερο centroid. Όταν σε κάποια επανάληψη δεν σημειωθούν αντιμεταθέσεις 47

48 στοιχείων, τότε τερματίζει η εκτέλεση του αλγορίθμου. Το αποτέλεσμα που προκύπτει είναι η ομαδοποίηση του συνόλου δεδομένων σε k clusters. Ο αλγόριθμος στοχεύει να ελαχιστοποιήσει μία αντικειμενική συνάρτηση, την λεγόμενη συνάρτηση τετραγωνικού λάθους που ορίζεται ως εξής: J k n 2 ( j) xi c j, όπου j= 1 i= 1 = x i ( j) c j 2 είναι ένα μέτρο απόστασης που χρησιμοποιείται για να μετρά την απόσταση κάθε στοιχείου ( j) xi από το centroid c j του κάθε cluster. Όπου n το σύνολο των στοιχείων του συνόλου δεδομένων. Ο παρακάτω πίνακας δείχνει συνοπτικά τα βήματα του αλγορίθμου k-means: Είσοδος: Έξοδος: D= x1 x2 x n {,,..., k // Αριθμός επιθυμητών clusters k // Σύνολο clusters k-means αλγόριθμος: // Σύνολο στοιχείων Ανέθεσε τιμές στα αρχικά centroids c1, c2,..., c k ; Επανέλαβε Ανέθεσε κάθε x i στο cluster με του οποίου το centroid η απόσταση είναι η μικρότερη; Υπολόγισε νέα centroids για κάθε cluster; Μέχρι να συναντηθεί το κριτήριο σύγκλισης; Πίνακας 1. Βήματα k-means Αν και μπορεί να αποδειχθεί ότι ο αλγόριθμος πάντα τερματίζει, αξίζει να τονιστεί ότι δεν καταφέρνει πάντα να βρίσκει τη βέλτιστη λύση. Ο αλγόριθμος επηρεάζεται σημαντικά από τα αρχικά centroids. Για αυτό πολλές φορές συνίσταται η εκτέλεση του πολλές φορές μέχρι να μειωθεί η επίδραση αυτή. Έστω ότι υπάρχουν n διανύσματα τα 1 2 x, x,..., n x και όλα είναι της ίδια διάστασης. Ακόμη είναι γνωστό ότι όλα εμπίπτουν σε k συμπαγή clusters, για k<n. Έστω m i είναι το μέσο διάνυσμα του i cluster. Εφόσον τα clusters είναι σαφώς διαχωρισμένα μεταξύ τους, μπορεί να χρησιμοποιηθεί σαν μέτρο απόστασης μεταξύ των στοιχείων η Ευκλείδεια απόσταση ή και άλλα δημοφιλή μέτρα απόστασης, που έχουν αναλυθεί σε προηγούμενο κεφάλαιο. Αυτό σημαίνει ότι σε κάθε βήμα θα λέγεται: το στοιχείο x ανήκει στο cluster i, εάν η Ευκλείδεια απόσταση του από το centroid του i cluster είναι η μικρότερη σε σχέση με όλες τις άλλες αποστάσεις του από τα centroids των άλλων clusters. Έτσι βρίσκονται οι Ευκλείδειες αποστάσεις για όλα τα στοιχεία και κάθε ένα από αυτά ανατίθεται στο cluster από του οποίου το centroid απέχει λιγότερο (δηλαδή η Ευκλείδεια απόσταση είναι η μικρότερη). Στην συνέχεια υπολογίζονται τα νέα centroids και μετά πάλι οι Ευκλείδειες αποστάσεις όλων των στοιχείων για τα νέα centroids. Γίνονται οι κατάλληλες μετακινήσεις στοιχείων και η ίδια διαδικασία επαναλαμβάνεται μέχρι κανένα στοιχείο να μην μετακινείται σε άλλο cluster, δηλαδή τα clusters να μένουν αμετάβλητα. 48

49 Σχήμα 17. Βήματα k-means Παράδειγμα: Δίνονται: {2,4,10,12,3,20,30,11,25, k=2 Τυχαία ανάθεσε μέσους όρους: m1=3,m2=4 K1={2,3, K2={4,10,12,20,30,11,25, m1=2.5,m2=16 K1={2,3,4,K2={10,12,20,30,11,25, m1=3,m2=18 K1={2,3,4,10,K2={12,20,30,11,25, m1=4.75,m2=19.6 K1={2,3,4,10,11,12,K2={20,30,25, m1=7,m2=25 Σταμάτησε όταν τα clusters με αυτούς τους μέσους παραμένουν αμετάβλητα Αδυναμίες: Ο αλγόριθμος συγκλίνει σε τοπικό βέλτιστο και όχι σε καθολικό βέλτιστο. Ο τρόπος με τον οποίο ορίζονται τα αρχικά centroids δεν είναι σαφώς καθορισμένος. Ένας αρκετά δημοφιλής τρόπος επιλογής των αρχικών centroids, είναι επιλεχθούν με τυχαίο τρόπο. Αυτή η μέθοδος εφαρμόζεται και στην παρούσα διπλωματική. Το αποτέλεσμα που προκύπτει εξαρτάται από τα αρχικά centroids. Συχνά προκύπτει μη βέλτιστη λύση λόγω της «κακής» αρχικής επιλογής των centroids. Για αυτό τον λόγο συνίσταται να γίνουν πολλές δοκιμές εκτέλεσης με διαφορετικά αρχικά centroids κάθε φορά. Μπορεί ακόμη ένα cluster να μείνει χωρίς μέλη και έτσι να μην ανανεωθεί κάποιο centroid. Πρόκειται για το γνωστό πρόβλημα των απόμακρων στοιχείων που πολλές φορές δεν συμπεριλαμβάνονται στη διαδικασία. Τα αποτελέσματα εξαρτώνται και από το μέτρο απόστασης που χρησιμοποιείται. Πολλές φορές χρειάζεται να γίνει κανονικοποίηση των στοιχείων του συνόλου δεδομένων προκειμένου να εφαρμοστεί κάποιο μέτρο απόστασης. Έτσι για παράδειγμα όταν ο αλγόριθμος εκτελεί clustering βάσει της Ευκλείδειας απόστασης, προϋποθέτει ότι τα δεδομένα των clusters έχουν όλα σφαιρικό σχηματισμό. Διάφορες έρευνες έχουν καταφέρει να επεκτείνουν τον k-means, ώστε να μπορεί να δουλέψει όχι μόνο σε δεδομένα με σφαιρικό σχηματισμό αλλά και σε δεδομένα με ελλειπτικό σχηματισμό. 49

50 Ακόμη μια αδυναμία του αλγορίθμου, είναι ότι δυσκολεύεται να αναγνωρίσει ομάδες με διαφορετικό σχηματισμό και μέγεθος. Το πρόβλημα εντείνεται κυρίως σε πολύ μεγάλα σύνολα δεδομένων. Συνήθως το επίπεδο δυσκολίας που αντιμετωπίζει ο αλγόριθμος σε τέτοια μεγάλα σύνολα δεδομένων έχει να κάνει και με την πυκνότητα που εμφανίζουν τα στοιχεία, που μπορεί αλλού να είναι μεγάλη αλλού μικρή και γενικά να ποικίλει. Τα αποτελέσματα εξαρτώνται από την τιμή του k, η οποία αποτελεί στοιχείο εισόδου για τον αλγόριθμο. Αν και υπάρχουν πολλοί τρόποι εκτίμησης του k και έχουν γίνει πολλές προσπάθειες προς αυτή την κατεύθυνση, δυστυχώς το πρόβλημα παραμένει ακόμη άλυτο. Ο αλγόριθμος δεν καταφέρνει να βρει το βέλτιστο k από μόνος του και να γίνει αυτό ευρέως αποδεκτό. Φυσικά με το βέλτιστο k, εννοείται εκείνο το k που αποδίδει με τον καλύτερο τρόπο τον διαχωρισμό του εκάστοτε συνόλου δεδομένων έτσι ώστε οι ομάδες που προκύπτουν να έχουν νόημα. Οι διάφοροι τρόποι εκτίμησης του k που υπάρχουν σήμερα στη βιβλιογραφία, έχουν αναφερθεί στο προηγούμενο κεφάλαιο. Αυτή η τελευταία αδυναμία του k-means μπορεί να γίνει πιο εύκολα κατανοητή μέσα από ένα παράδειγμα. Συχνά αποτελεί ενοχλητικό παράγοντα μιας και δεν είναι πάντα δυνατόν να υπάρχει γνώση για το πόσα clusters υπάρχουν, όταν πρέπει να εφαρμοστεί ομαδοποίηση σε δεδομένα του πραγματικού κόσμου. Στο παρακάτω Σχήμα φαίνεται ότι όταν ο k-means εφαρμόστηκε στο ίδιο σύνολο δεδομένων την μία φορά έδωσε δύο clusters και την άλλη τρία (φαίνονται και οι μετακινήσεις των centroids κατά την εκτέλεση). Η απόφαση για το ποιο από τα δύο clusterings είναι καλύτερο και ποιο χειρότερο, δεν είναι απλή και γενικά δεν υπάρχει κάποιο γενικό κριτήριο αποδοχής της μίας λύσης έναντι της άλλης. Όπως ειπώθηκε, σε προηγούμενο κεφάλαιο για την εκτίμηση του αριθμού των clusters (k) έχουν προταθεί οι κατάλληλοι δείκτες, μέσω των οποίων μπορεί να εκτιμηθεί το βέλτιστο k. Ωστόσο χρειάζεται προσοχή γιατί όταν αυξάνεται πολύ το k μπορεί να συμβεί επικάλυψη. 50

51 Σχήμα 18. Παράδειγμα εκτέλεσης του k-means στο ίδιο σύνολο δεδομένων στο επάνω σχήμα για k=2 και στο κάτω για k=3. Παραλλαγές: Υπάρχει ένας μεγάλος αριθμός παραλλαγών που έχουν προταθεί για αυτόν τον αλγόριθμο, έτσι για να αποφασίσει κανείς ποια έκδοση θα χρησιμοποιήσει πρέπει να εστιάσει στους σκοπούς της εφαρμογής. Μια πολύ γνωστή παραλλαγή του k-means είναι ο αλγόριθμος Lloyd s. Αυτός βασίζεται στην απλή παρατήρηση ότι η βέλτιστη θέση για ένα κέντρο είναι στο centroid του σχετικού cluster. Εξαιτίας της απλότητας και της ευελιξίας του, ο αλγόριθμος Lloyd s είναι πολύ δημοφιλής στην στατιστική ανάλυση. Πιο συγκεκριμένα, δεδομένου οποιουδήποτε αλγορίθμου clustering, ο Lloyd s μπορεί να εφαρμοστεί σαν μια φάση προ-επεξεργασίας για να βελτιωθεί η τελική παραμόρφωση. Αν και επιτυγχάνονται σημαντικές βελτιώσεις συνήθως η υλοποίησή του είναι αρκετά αργή, εξαιτίας του κόστους υπολογισμού των κοντινότερων γειτόνων. Μια απλή και συνάμα αποτελεσματική υλοποίηση του Lloyd s, ονομάζεται filtering αλγόριθμος. Αυτός ο αλγόριθμος, ξεκινά αποθηκεύοντας τα δεδομένα σε ένα kd-tree [43]. Σε κάθε στάδιο του Lloyd s, υπολογίζεται το κοντινότερο κέντρο κάθε σημείου και κάθε κέντρο μετακινείται στο centroid του σχετικού γείτονα. Η ιδέα είναι να διατηρείται, για κάθε κόμβο του δέντρου ένα υποσύνολο υποψήφιων κέντρων. Αυτά τα υποψήφια κέντρα, για κάθε κόμβο κλαδεύονται, ή φιλτράρονται, καθώς μεταβιβάζονται στους κόμβους παιδιά. Επειδή το kd-tree υπολογίζεται για τα στοιχεία αντί για τα κέντρα, δεν υπάρχει η ανάγκη ενημέρωσης αυτής της δομής σε κάθε στάδιο του Lloyd s αλγορίθμου. Ο αλγόριθμος ISODATA ο οποίος περιλαμβάνει μία διαδικασία για αναζήτηση του καλύτερου αριθμού ομάδων με βάση κάποιο κόστος εκτέλεσης. Ο Fuzzy C-Means ο οποίος επεκτείνει τον κλασικό αλγόριθμο k-means χρησιμοποιώντας την θεωρία της ασαφής λογικής. Ο SAS PROC FASTCLUS, ο οποίος ελέγχει την διαδικασία ομαδοποίησης υιοθετώντας δύο ακόμα παραμέτρους, την min_size και max_rad. Η πρώτη παράμετρος ελέγχει τον ελάχιστο αριθμό στοιχείων που μπορεί να έχει κάθε ομάδα ενώ η δεύτερη καθορίζει ότι η απόσταση κάθε στοιχείου μίας ομάδας από το κέντρο της ομάδας δεν πρέπει να είναι μεγαλύτερη του max_rad. 5.2 X-means Θα παρουσιασθεί μια σχετική εργασία [42], που επεκτείνει τον k-means με ικανοποιητική εκτίμηση του αριθμού των clusters. Ο k-means, υπήρξε για πολύ καιρό ο αλγόριθμος που τον χαρακτήριζαν δουλευταρά για μετρικά δεδομένα. Θέλγητρο του αποτελεί η απλότητά του και οι ιδιότητες σύγκλισης σε τοπικό ελάχιστο. Ωστόσο, έχει τρεις κύριες αδυναμίες. Η μία, είναι ότι είναι αργός και η διαβάθμισή του χαρακτηρίζεται φτωχή, περιμένει τον χρόνο που απαιτείται για την ολοκλήρωση κάθε επανάληψης. Δεύτερη αδυναμία, είναι ότι ο αριθμός των clusters (k) πρέπει να παρέχεται από τον χρήστη. Και τρίτη αδυναμία, όταν περιορίζεται να τρέξει για προκαθορισμένη τιμή του k, πρακτικά βρίσκει το χειρότερο τοπικό βέλτιστο από ότι όταν μπορεί να τρέχει για πολλές τιμές του k, δηλαδή το k να μεταβάλλεται δυναμικά. Παρακάτω, θα αναπτυχθούν λύσεις και για τα τρία αυτά προβλήματα. Η ταχύτητα βελτιώνεται σημαντικά αν ενσωματωθεί το σύνολο δεδομένων σε ένα πολύ-διαχωριστικό (multiresolution) kd-tree, που αποθηκεύει επαρκή στατιστικά στους κόμβους του. Μία προσεκτική 51

52 ανάλυση των σημείων που βρίσκονται τα centroids, επιτρέπει γεωμετρικές αποδείξεις σχετικά με τα όρια Voronoi χωρίς καμία στρογγυλοποίηση κατά την διάρκεια των υπολογισμών. Ένας επιπρόσθετος γεωμετρικός υπολογισμός, με όνομα blacklisting, διατηρεί μία λίστα μόνο με εκείνα τα centroids που χρειάζεται να μετρηθούν σε μια συγκεκριμένη περιφέρεια. To blacklisting δεν είναι μόνο υπερβολικά γρήγορο, αλλά έχει και πολύ καλή διαβάθμιση σε σχέση με των αριθμό των centroids. Αυτός ο γρήγορος αλγόριθμος χρησιμοποιείται σαν δομικό στοιχείο για τον X-means: ένας νέος αλγόριθμος με γρήγορη εκτίμηση του k. Ενεργοποιείται κάθε φορά μετά από κάθε τρέξιμο του k-means, παίρνοντας τοπικές αποφάσεις σχετικά με το ποιο υποσύνολο των τρεχόντων centroids θα πρέπει να διασπαστεί στα centroids που το αποτελούν, ώστε να ταιριάζει καλύτερα στα δεδομένα. Η απόφαση διάσπασης γίνεται με τον υπολογισμό ενός κριτηρίου, του Bayesian Information Criterion (BIC). Θα παρουσιασθεί πώς η μέθοδος blacklisting επεκτείνεται για να ενισχύσει το ότι, η απόκτηση των BIC τιμών για όλα τα τρέχοντα centroids και των αβέβαιων προϊόντων τους δεν κοστίζει περισσότερο από μία απλή επανάληψη του k-means. Θα περιγραφούν ακόμη σχετικά πειράματα με τον X-means έναντι της παραδοσιακής μεθόδου που εκτιμά τον αριθμό των clusters μαντεύοντας το k. Ο X-means παράγει τελικά, όπως θα αναφερθεί, με συνέπεια καλύτερο clustering τόσο για τα συνθετικά όσο και για τα πραγματικά δεδομένα, σε συμφωνία βέβαια με το BIC. Επίσης τρέχει πολύ πιο γρήγορα Ορισμοί Ο k-means αλγόριθμος είναι γνωστό ότι συγκλίνει σε ένα τοπικό ελάχιστο του μέτρου παραμόρφωσης ( αυτό είναι, μέση τετραγωνική απόσταση των σημείων από το centroid της ομάδας που ανήκουν). Ακόμη είναι γνωστό το ότι είναι πολύ αργός για πρακτικές βάσεις δεδομένων. Πολλά από αυτά που ακολουθούν, δεν προσπαθούν να αντιμετωπίσουν τα προβλήματα του αλγορίθμου απευθείας. Αντί αυτού, διάφορες μέθοδοι προσέγγισης προτείνονται. Ένας τρόπος για την απόκτηση ενός μικρού και ισορροπημένου δείγματος σημείων με δειγματοληψία από τα φύλλα ενός R*tree έχει προταθεί από τον Ester και τους συνεργάτες του (1995). Ακόμη οι Ng και Han (1994) πρότειναν μία προσέγγιση βασισμένη σε ισχυρή προσομοίωση για να κατευθύνουν την έρευνα στον χώρο των πιθανών διαμερίσεων των σημείων εισόδου. Επίσης, παρουσιάσθηκε μία δομή δένδρου από τον Zhang και τους συνεργάτες του (1995) με ικανοποιητικά στατιστικά. Αυτό το δένδρο χρησιμοποιήθηκε, στην εργασία που παρουσιάζεται, για να αναγνωριστούν τα απόμακρα σημεία και για να επιταχυνθούν οι υπολογισμοί. Ωστόσο, τα clusters που προέκυψαν είναι προσεγγίσεις και βασίζονται σε πολλές παραμέτρους. Αξίζει να σημειωθεί ότι, αν και τα αρχικά κέντρα μπορούν να επιλεγούν με αυθαίρετο τρόπο, ο k-means θεωρείται πλήρως ντετερμινιστικός, δεδομένων των αρχικών κέντρων. Μια κακή επιλογή των αρχικών κέντρων μπορεί να ένα μεγάλο αντίκτυπο τόσο στην απόδοση όσο και στην παραμόρφωση. Το 1998 οι Bradley και Fayyad συζήτησαν τρόπους για να βελτιώσουν την επιλογή των αρχικών κέντρων μέσω διαδοχικών δειγματοληψιών από υποδείγματα και μέσω ομαλοποίησης. Στα επόμενα ως μ δηλώνονται οι υποψήφιοι του j-th centroid. Θα χρησιμοποιηθεί το σύμβολο (i) για j να δηλώσει τον δείκτη του centroid που είναι πιο κοντά στο i-th σημείο-δεδομένο. Για παράδειγμα, 52

53 μ () i είναι το centroid που σχετίζεται με το i-th σημείο κατά την διάρκεια μιας επανάληψης. D είναι το D σύνολο δεδομένων εισόδου, και ισχύει όπου είναι το σύνολο των σημείων που έχουν i D σαν το πιο κοντινό τους centroid. Ακόμη ισχύουν οι σχέσεις R D i = D και Ri μ i = D i. Ο αριθμός των διαστάσεων του Μ, και η Gaussian απόκλιση είναι ( 2 = diag σ ) Εκτίμηση του k Ο αλγόριθμος όπως περιγράφηκε μέχρι τώρα μπορεί μόνο να εκτελέσει τον k-means όπου το k είναι σταθερό και παρέχεται από τον χρήστη. Σε αυτό το σημείο θα παρουσιαστεί πώς μπορεί να βρεθεί αποτελεσματικά το καλύτερο k. Το πλαίσιο εργασίας αλλάζει έτσι ώστε ο χρήστης μόνο να καθορίζει ένα διάστημα μέσα στο οποίο βρίσκεται μετριοπαθώς το αληθινό k. Ακόμη η έξοδος δεν είναι μόνο το σύνολο των centroids αλλά και μια τιμή για το k από αυτό το διάστημα το οποίο πετυχαίνει το καλύτερο δυνατό μέσω ενός μοντέλου επιλογής κριτηρίου όπως το BIC. Αρχικά περιγράφεται η διαδικασία στα πιο βασικά σημεία, δίχως ιδιαίτερη προσοχή στις λεπτομέρειες του αλγορίθμου. Στην συνέχεια, παρουσιάζονται τα στατιστικά τεστ που χρησιμοποιήθηκαν για την επίτευξη διάφορων δομών. Έπειτα η συζήτηση επανέρχεται στην υψηλού επιπέδου περιγραφή του αλγορίθμου και φαίνεται πώς μπορεί να υλοποιηθεί αποτελεσματικά χρησιμοποιώντας ιδέες που αντλούνται από την τεχνική blacklisting και από επαρκή στατιστικά που αποθηκεύονται στους κόμβους του kd-tree. Αναζήτηση μοντέλου Στην ουσία, ο αλγόριθμος ξεκινάει με k ίσο με το χαμηλότερο όριο του δοσμένου διαστήματος και συνεχίζει να προσθέτει centroids, όπου αυτά χρειάζονται μέχρι να συναντήσει το ανώτερο όριο του διαστήματος. Κατά τη διάρκεια αυτής της διαδικασίας, το σύνολο των centroids που επιτυγχάνει το καλύτερο σκορ αποθηκεύεται και αυτό τελικά είναι η έξοδος. Ο αλγόριθμος αποτελείται από τις ακόλουθες δύο διαδικασίες που επαναλαμβάνονται μέχρι την περάτωση του. X-means: 1. Βελτίωση - Παραμέτρων 2. Βελτίωση - Δομής 3. Εάν το k>kmax τερμάτισε και ανέφερε το καλύτερο μοντέλο με βάση το σκορ που επιτεύχθηκε και βρέθηκε κατά τη διάρκεια της αναζήτησης. Αλλιώς πήγαινε στο βήμα 1. Η βελτίωση των παραμέτρων είναι μια απλή διαδικασία. Αποτελείται από τα βήματα του συμβατικού k-means μέχρι την σύγκλιση. Η διαδικασία βελτίωσης της δομής ανακαλύπτει εάν και που θα πρέπει να εμφανιστούν τα νέα centroids. Αυτό είναι εφικτό αφήνοντας μερικά centroids να διασπαστούν σε δύο. Πώς αποφασίζεται τι να διασπαστεί; Αρχικά θα περιγραφούν και θα σχολιαστούν δύο εμφανείς στρατηγικές, μετά από τις οποίες θα συνδυαστούν τα μήκη τους αποφεύγοντας την αδυναμία τους σχετικά με την στρατηγική του X-means. 53

54 Ιδέα διαχωρισμού 1: Μια φορά σε μία μονάδα χρόνου. Η πρώτη ιδέα θα ήταν να επιλεγεί ένα centroid, να παραχθεί ένα νέο κάπου κοντά, να τρέξει ο k-means μέχρι να ολοκληρωθεί και να διαπιστωθεί εάν το μοντέλο που προέκυψε έχει καλύτερο σκορ. Εάν συμβεί αυτό, γίνεται αποδοχή του νέου centroid. Εάν όχι, επιστροφή στην προηγούμενη δομή. Αλλά κάτι τέτοιο απαιτεί Ο(kmax) βήματα βελτίωσης δομής μέχρι να ολοκληρωθεί ο X-means. Και κάτι τέτοιο απαιτείται για την ερώτηση για το πώς να διαλέξει κανείς ποιο centroid είναι πιο άξιο για να γεννήσει. Και αν αυτό δεν βελτιώσει το σκορ τι πρέπει να δοκιμαστεί στην συνέχεια; Ίσως όλα τα centroids θα έπρεπε να δοκιμαστούν με αυτόν τον τρόπο (και μετά να κρατιέται τι καλύτερο) αλλά επειδή κάθε τεστ χρειάζεται ένα τρέξιμο του k-means, κάτι τέτοιο θα ήταν μια υπερβολικά χρονοβόρα διαδικασία για την πρόσθεση ενός και μόνου centroid. Ιδέα διαχωρισμού 2: Εδώ δοκιμάζονται τα μισά centroids. Η δεύτερη ιδέα χρησιμοποιήθηκε στο SPLITLOOP σύστημα, για αναγνώριση μικτού Gaussian μοντέλου. Απλώς επιλέγονται τα μισά centroids σύμφωνα με κάποια ευριστικό κριτήριο για το πώς αναμένεται να διαχωριστούν. Έπειτα, γίνεται ο διαχωρισμός αυτών και τρέχει ο k-means και έτσι ελέγχεται εάν το μοντέλο που προέκυψε σκοράρει καλύτερα από το γνήσιο. Εάν συμβεί αυτό, ο διαχωρισμός γίνεται αποδεκτός. Αυτή είναι μια πολύ πιο επιθετική δομή βελτίωσης, που απαιτεί O(logkmax) βήματα βελτίωσης δομής μέχρι να ολοκληρωθεί ο X-means. Αλλά τώρα τίθενται κάποια ερωτήματα όπως ποιο θα πρέπει να είναι το ευριστικό κριτήριο. Το μέγεθος της περιφέρειας που κατέχεται από το centroid; Επιπλέον, χάνεται η ευκαιρία βελτίωσης σε περιπτώσεις που ένα ή δύο centroids χρειάζεται να διαχωριστούν αλλά τα υπόλοιπα όχι. Η λύση που θα περιγραφεί, αξιοποιεί τα οφέλη των ιδεών 1και 2 και αποφεύγει τα μειονεκτήματα. Έτσι μπορεί να θεωρηθεί μια υπερβολικά γρήγορη διαδικασία. Ακολουθεί σχετικό παράδειγμα για επεξήγηση. Στο Σχήμα 19 φαίνεται μία ευσταθής λύση σύμφωνα με τον k-means και 3 centroids. Φαίνονται ακόμη, τα όρια των περιφερειών που κατέχονται από κάθε centroid. Η διαδικασία της βελτίωσης της δομής αρχίζει διαχωρίζοντας κάθε centroid σε δύο παιδία, όπως φαίνεται στο Σχήμα 20. Αυτά μετακινήθηκαν μια απόσταση ανάλογη με το μέγεθος της περιφέρειας σε αντίθετες κατευθύνσεις σύμφωνα με ένα τυχαία επιλεγμένο διάνυσμα. Στην συνέχεια σε κάθε περιφέρεια γονέα τρέχει ένας τοπικός k-means (με k=2) για κάθε ζευγάρι παιδιών. Είναι τοπικός αφού τα παιδιά συναγωνίζονται μεταξύ τους για τα σημεία στην περιφέρεια του γονέα και μόνο αυτά όχι άλλα σημεία. Στο Σχήμα 21, φαίνεται το πρώτο βήμα και των τριών τοπικών τρεξιμάτων του 2-means. Στο Σχήμα 22, φαίνεται που τελικά καταλήγουν όλα τα παιδιά μετά την ολοκλήρωση και των τριών τοπικών 2-means. Σε αυτό το σημείο εκτελείται ένα τεστ επιλογής μοντέλου σε όλα τα ζευγάρια των παιδιών. Σε κάθε περίπτωση το τεστ ρωτάει υπάρχει απόδειξη ότι τα δύο παιδιά μοντελοποιούν αληθινή δομή εδώ ή το γνήσιο μοντέλο του γονέα θα έκανε την κατανομή εξίσου καλά ; Στην συνέχεια δίνονται οι λεπτομέρειες ενός τέτοιου τεστ για τον k-means. Σύμφωνα με την έξοδο του τεστ, είτε ο γονέας είτε οι απόγονοί του πεθαίνουν. Η ελπίδα είναι ότι τα centroids που ήδη κατέχουν ένα σύνολο σημείων το οποίο προέρχεται από ένα cluster της βασικής κατανομής, δεν θα τροποποιηθούν κατά τη διάρκεια αυτής της διαδικασίας (αυτό σημαίνει ότι θα ζήσουν περισσότερο από τα παιδία τους). Από την άλλα πλευρά, περιφέρειες που δεν αναπαρίστανται καλά από τα τρέχοντα centroids θα έχουν περισσότερη 54

55 ευθύνη για την αύξηση του αριθμού των centroids σε αυτές. Στο Σχήμα 23, φαίνεται τι συμβαίνει αφού αυτό το τεστ εφαρμόστηκε σε τρία ζευγάρια παιδιών στο Σχήμα 22. Συνεπώς ο χώρος αναζήτησης καλύπτει όλες τις πιθανές 2 K μετά-διαχωριστικές διαμορφώσεις και καθορίζει ποιες από όλες να εξετάσει βελτιώνοντας τοπικά το BIC κριτήριο σε κάθε περιφέρεια. Συγκρίνοντας με τις ιδέες 1 και 2, αυτό επιτρέπει μια αυτόματη επιλογή για την αύξηση του αριθμού των centroids σε πολύ λίγα (σε περίπτωση που ο τρέχων αριθμός είναι πολύ κοντά στον πραγματικό) ή σε πολλά (σε περίπτωση που το τρέχον μοντέλο αποδίδει μικρότερη αξία για το k). Πρακτικά, ο τοπικός k-means που τρέχει με μόλις 2 κέντρα χαρακτηρίζεται πιο ευαίσθητος στο τοπικό ελάχιστο. Συνεχίζεται η ταλάντευση ανάμεσα στην βελτίωση των παραμέτρων και την βελτίωση της δομής μέχρι να επιτευχθεί το ανώτερο όριο για το k. Σχήμα 19. Η έξοδος του k-means με τρία centroids Σχήμα 20. Κάθε γνήσιο centroid διασπάται σε δύο παιδιά Σχήμα 21. Το πρώτο βήμα του τοπικού παράλληλου 2-means. Η γραμμή που εκτείνεται σε κάθε cluster δείχνε που μετακινείται Σχήμα 22. Το αποτέλεσμα μετά την ολοκλήρωση όλων των παράλληλων 2-means Σχήμα 23. Τα εναπομείναντα centroids μετά από όλα τα τοπικά σκορ τεστ του μοντέλου 55

56 5.2.3 BIC scoring Έστω ότι δίνονται τα δεδομένα D και μια οικογένεια εναλλακτικών μοντέλων M, όπου σε αυτήν την περίπτωση διαφορετικά μοντέλα αποκρίνονται σε λύσεις με διαφορετικές τιμές του k. Πώς να διαλέξει κάποιος το καλύτερο; Θα χρησιμοποιηθούν για αυτό, οι μεταγενέστερες πιθανότητες για να σκοράρουν τα μοντέλα. Στην περίπτωση που εξετάζεται, τα μοντέλα είναι όλα τύπου που υποθέτει ο k- means. Για να προσεγγιστούν οι μεταγενέστερες πιθανότητες μέχρι την κανονικοποίηση, χρησιμοποιείται ο τύπος από τους Kass και Wasserman (1995): R() i l( D) = log i P( xi) = i log x 2 i μ() + log Μ i σ 2π 2σ R p ( ) ˆ j BIC M J = i j( D) log R 2 i D είναι η λογαριθμική πιθανότητα των δεδομένων σύμφωνα με το j-th μοντέλο και Όπου ( ) ˆj μετριέται από το μέγιστο σημείο, και γνωστό και ως Schwarz κριτήριο. p είναι ο αριθμός των παραμέτρων στο M. Αυτό επίσης είναι j Η μέγιστη πιθανότητα εκτίμηση για την διακύμανση, σύμφωνα με την Gaussian υπόθεση είναι: ( x μ() ) ˆ = i i R K i σ Οι πιθανότητες σημείου είναι: ( ) Pˆ x R() i 1 1 = exp R ˆ σ 2π 2 ˆ σ i Μ 2 i i x μ Η λογαριθμική πιθανότητα για τα δεδομένα είναι R() i l( D) = log i P( xi) = i log x 2 i μ() + log Μ i σ 2π 2σ R n K Dn () 2 Ισχύει ακόμη1. Εστιάζοντας μόνο στο σύνολο σημείων που ανήκει στο centroid n και συνδέεται με την μέγιστη πιθανότητα, υπολογίζει τα: ˆ( ) R 2 log ( 2 ) R M log ( ˆ ) R n n n l Dn = π σ K + Rnlog Rn Rnlog R Ο αριθμός των ελεύθερων παραμέτρων pj είναι απλά το άθροισμα των k-1 τάξης πιθανοτήτων, των ΜΚ υποψήφιων για centroid και μιας εκτίμησης της διακύμανσης. Για να επεκταθεί η τεχνική για όλα τα centroids εκτός από ένα, θα χρησιμοποιηθεί το γεγονός ότι η λογαριθμική πιθανότητα των σημείων που ανήκουν σε όλα τα centroids είναι το άθροισμα της λογαριθμικής πιθανότητας των πραγματικών centroids, και αντικαθιστούν το R με τον συνολικό αριθμό των σημείων που ανήκουν στα centroids. Χρησιμοποιείται το BIC κριτήριο, καθολικά όταν ο X-means επιλέγει τελικά το καλύτερο μοντέλο που υπολογίστηκε ενώ τοπικά σε όλα τα τεστ διάσπασης των centroids. J J 56

57 5.2.4 Επιτάχυνση Ο X-means αλγόριθμος όπως περιγράφηκε μέχρι τώρα, μπορεί να υλοποιηθεί σε σύντομο διάστημα επειδή είναι για μικρά σύνολα δεδομένων. Αλλά μέχρι τώρα παραλείφθηκε το πιο σημαντικό του χαρακτηριστικό. Υπό όρους, μπορούν να χρησιμοποιηθούν cached στατιστικά για να διαβαθμιστεί για σύνολα δεδομένων με μαζικές εγγραφές. Επιταχύνοντας τον k-means: Αρχικά ας εστιαστεί προσοχή σε μία απλή επανάληψη του k-means. Η εργασία που πρέπει να πραγματοποιηθεί είναι να καθοριστεί για κάθε σημείο σε ποιο centroid ανήκει. Έπειτα, μπορεί να υπολογιστεί το κέντρο μάζας όλων των σημείων που ανήκουν σε ένα συγκεκριμένο centroid και το αποτέλεσμα θα είναι η νέα θέση του εκάστοτε centroid. Αμέσως παρατηρείται, ότι δείχνοντας ότι ένα υποσύνολο σημείων που όλα ανήκουν σε ένα συγκεκριμένο centroid είναι μόλις τόσο ενημερωτικό όσο και ένα απλό σημείο για αυτό, δεδομένου ότι υπάρχουν επαρκή στατιστικά για το υποσύνολο. Είναι εμφανές ότι θα εξοικονομηθεί αρκετός χρόνος από περιττούς υπολογισμούς. Επειδή το kd-tree απαιτεί μια ιεραρχική δομή για το σύνολο δεδομένων, και επειδή ο υπολογισμός στατιστικών για τους κόμβους του είναι εύκολος, το δένδρο κάνει μια φυσική επιλογή για την διαμέριση των σημείων. Κάθε kd-κόμβος αναπαριστά ένα υποσύνολο του συνόλου δεδομένων. Επίσης έχει ένα κουτί, το οποίο είναι ένα ελάχιστου παράλληλου άξονα υπέρ-τετράγωνο που περιλαμβάνει όλα τα σημεία του υποσυνόλου. Επιπροσθέτως, περιέχει δείκτες σε δύο κόμβους παιδιά, τα οποία αναπαριστούν μία διχοτόμηση των σημείων που κατέχουν οι γονείς τους. Σε αυτό σημείο, ας θεωρηθεί ένα σύνολο από μετρητές, έναν για κάθε centroid, ο οποίος αποθηκεύει έναν συνολικό αριθμό των σημείων που ανήκουν στο κάθε centroid αλλά και το διανυσματικό τους άθροισμα. Τώρα θα δειχθεί με ποιον τρόπο ενημερώνονται όλοι αυτοί μετρητές σαρώνοντας το kd-tree μόλις μία φορά. Η διαδικασία της Ενημέρωσης είναι περιοδική, και παίρνει σαν παραμέτρους έναν κόμβο και μία λίστα από τα centroids που πιθανόν να κατέχουν τα συγκεκριμένα σημεία. Η εργασία που κάνει αυτή η διαδικασία, είναι να ενημερώνει τους μετρητές των εν λόγω κόμβων με τις κατάλληλες τιμές των σημείων στον κόμβο. Η αρχική επίκληση είναι με τον κόμβο ρίζα και την λίστα όλων των centroids. Μετά επιστρέφει τις νέες θέσεις που ενδεχομένως να υπολογίστηκαν από τους μετρητές. Η διαδικασία λαμβάνει υπόψη την γεωμετρία του κουτιού και τις τρέχουσες θέσεις των centroids για να εξαλείψει εκείνα τα centroids από την λίστα αποδεικνύοντας ότι δεν μπορούν να κατέχουν κανένα σημείο στον τρέχοντα κόμβο. Από εδώ προέκυψε ο όρος blacklisting. Το κύριο σημείο που πρέπει να συγκρατηθεί είναι ότι μετά την συρρίκνωση της λίστας, η διαδικασία επανέρχεται στα παιδιά του τρέχοντα κόμβου. Η τερματική συνθήκη είναι όταν η λίστα περιέχει μόλις ένα centroid. Έπειτα οι μετρητές του centroid αυξάνονται χρησιμοποιώντας στατιστικά που είναι αποθηκευμένα στον kd-κόμβο. Συχνά αυτό συμβαίνει σε ένα ρηχό επίπεδο του δένδρου και εξαλείφει τη δουλειά που απαιτείται για να διαβούν όλοι οι απόγονοι του. Επιταχύνοντας την βελτίωση της δομής: Η διαδικασία που περιγράφηκε πιο πάνω δουλεύει καλά για να ενημερώνει τις θέσεις των centroids μίας καθολικής k-means επανάληψης. Δεν θα εφαρμοστεί η ίδια διαδικασία για ένα βήμα της βελτίωσης της δομής. Ας ειπωθεί ξανά ότι κατά τη διάρκεια της διαδικασίας αυτής εκτελούνται 2-means σε κάθε Voronoi περιφέρεια της τρέχουσας δομής. Πρώτα φτιάχνεται μία λίστα των γονέων centroids, και αυτή χρησιμοποιείται σαν είσοδος στη διαδικασία της 57

58 Ενημέρωσης. Η διαφορά από την καθολική επανάληψη είναι όταν η λίστα μειώνεται σε ένα απλό centroid. Αυτό το συμβάν δηλώνει ότι όλα τα σημεία στον τρέχοντα κόμβο ανήκουν σε ένα απλό centroid. Αυτό λοιπόν που πρέπει να γίνει τώρα είναι να διανεμηθούν αυτά στα παιδιά τους. Για να γίνει αυτό απλώς φτιάχνεται μία λίστα που περιέχει μόλις τα δύο παιδιά και επαναφορά με χρήση αυτής της μικρής λίστας και του τρέχοντα κόμβου. Το υπόλοιπο της δουλειάς έγινε με τη διαδικασία της ενημέρωσης. Μετά από μία πλήρη σάρωση του kd-tree (ενδεχομένως με κλάδεμα πολλών κόμβων), οι μετρητές των centroids του παιδιού έχουν τις τελικές τιμές τους και οι νέες θέσεις τους μπορούν να υπολογιστούν. Τώρα μία νέα επανάληψη μπορεί να λάβει χώρα, και ομοίως η διαδικασία συνεχίζεται μέχρι και το τελευταίο ζευγάρι centroid να τακτοποιηθεί. Επιπλέον επιτάχυνση: Ένα ενδιαφέρον αποτέλεσμα της τοπικής λήψης απόφασης είναι ότι μερικές περιφέρειες στον χώρο τείνουν να γίνουν ενεργές (π.χ συμβαίνουν πολλοί διαχωρισμοί και αναδιατάξεις) ενώ άλλες περιφέρειες, όπου τα centroids φαίνεται να έχουν βρει τις σωστές τάξεις, εμφανίζονται μη ενεργές. Αυτό το πρότυπο μπορεί να μεταφραστεί σε περισσότερη επιτάχυνση με χρήση των caching στατιστικών από προηγούμενες επαναλήψεις. Έστω ένας kd-κόμβος που περιέχει ένα όριο ανάμεσα σε δύο centroids (αυτό θα είναι όταν οποιοδήποτε από τα δύο centroids κατέχει οποιοδήποτε από σημεία του κόμβου). Αν και πρέπει να ανατρέχει προς τα κάτω το δένδρο προκειμένου να ενημερωθούν οι μετρητές για τα κέντρα, δεν υπάρχει λόγος να γίνει αυτό ξανά στην επόμενη επανάληψη, υποτίθεται ότι τα centroids δεν μετακινήθηκαν και κανένα άλλο centroid δεν έχει μετακινηθεί σε θέση τέτοια που να κατέχει οποιοδήποτε από τα σημεία του κόμβου. Συνεπώς εναποθηκεύεται η συμβολή αυτού του κόμβου σε κάθε μετρητή των centroids στον κόμβο, και δεν χρειάζεται να διαβεί κάποιος το δένδρο παρά μόνο τον τρέχοντα κόμβο, εάν η λίστα των centroids ταιριάζει. Για είναι δυνατή μια γρήγορη σύγκριση ανάμεσα στις θέσεις των centroids και στις θέσεις τους από προηγούμενες επαναλήψεις, γίνεται μια καταγραφή της δομής των δεδομένων η οποία δεν επιτρέπει την αλλαγή των υποψήφιων centroids μετά από την αρχική εισαγωγή. Σε περίπτωση που η θέση ενός centroid αλλάξει, ένα νέο στοιχείο πρέπει να εισέρθει και δίνεται και ένα μοναδικό αναγνωριστικό. Αυτός ο τρόπος απαιτεί μόνο μία O(1) σύγκριση αναγνωριστικών (για κάθε centroid). Είναι φανερό ότι τα παλιά centroids δεν θα χρειαστούν ξανά και έτσι δεν χρειάζεται να αποθηκεύονται στην δομή δεδομένων πια. Αυτό επιτρέπει μια γρήγορη και ικανοποιητική από πλευράς απαιτήσεων μνήμης υλοποίηση, χρησιμοποιώντας την γνήσια MK μνήμη και επιπλέον έναν πίνακα κατακερματισμού για το ψάξιμο των αναγνωριστικών. Μία επιπλέον επέκταση αυτής της ιδέας μπορεί να εναποθηκεύει τα παιδιά ενός centroid σε μία τοπική επανάληψη. Αντί να πεθάνουν, αυτά μετακινούνται σε μία zombie κατάσταση και η επόμενη τοπική επανάληψη τα αναβιώνει. Επειδή τα αναγνωριστικά τους δεν άλλαξαν, ο μηχανισμός εναποθήκευσης επαναφέρει αμέσως το αποτέλεσμα της τελευταίας τοπικής τους επανάληψης. 58

59 5.2.5 Παραδείγματα Θα παρουσιασθούν συνοπτικά τα πειράματα που έκαναν οι ερευνητές. Στο πρώτο πείραμα ελέγχεται η ποιότητα της λύσης του X-means ενάντια σε αυτήν του k-means. Το να οριστεί η ποιότητα, σαν η τιμή BIC της λύσης θα ήταν αδικία για τον k-means, επειδή αυτός προσπαθεί μόνο να βελτιστοποιήσει την παραμόρφωση (π.χ μέση τετραγωνική απόσταση των σημείων από τα centroids τους). Συνεπώς η σύγκριση και των δύο αλγορίθμων έγινε με βάση την παραμόρφωση του αποτελέσματος του καθενός. Τα Gaussian σύνολα δεδομένων παράχθηκαν όπως από τους Pelleg και Moore (2000), και έπειτα χρησιμοποιήθηκαν και οι δύο αλγόριθμοι. Ενώ στον k-means παρέχεται ο αριθμός των ομάδων, ο X- means αναζητάει αυτόν τον αριθμό στο διάστημα [2 k] (Σχήμα 24). Οι τιμές παραμόρφωσης για τις X-means λύσεις είναι χαμηλότερες (που σημαίνει υψηλότερης ποιότητας λύσεις). Αυτό αποδίδεται στον σταδιακό τρόπο που ο X-means προσθέτει νέα κέντρα σε περιοχές που χρειάζονται. Σε αντίθεση με τον k-means που γίνεται μία μόνο αρχική ανάθεση των centroids. Σχήμα 24. Παραμόρφωση X-means και k-means, όπου φαίνεται μέση παραμόρφωση ανά σημείο. Τα αποτελέσματα είναι μέσος όρος 30 τρεξιμάτων σε 3-D δεδομένα με 250 ομάδες. Μία ακόμη ενδιαφέρουσα ερώτηση είναι πόσο καλός είναι ο X-means στην ανάκτηση του σωστού αριθμού ομάδων. Για την σύγκριση χρησιμοποιήθηκε μια παραλλαγή του k-means που απλά δοκιμάζει τρεις διαφορετικές τιμές του k και αναφέρει τη διαμόρφωση που προέκυψε με το καλύτερο BIC. Το επιτρεπτό διάστημα για τον X-means ήταν το [2 2k], και για τον k-means χρησιμοποιήθηκε 20 ισαπέχουσες τιμές μέχρι το 2k. Οι μέσοι όροι των αποτελεσμάτων είναι στον πίνακα 2 και τα λεπτομερή αποτελέσματα για 100 ομάδες φαίνονται στο Σχήμα 25. Φαίνεται ότι ο X-means έχει σαν έξοδο μια διαμόρφωση η οποία δεν απέχει περισσότερο από 15% από τον πραγματικό αριθμό των ομάδων. Επίσης ο k-means είναι καλύτερος από αυτή την άποψη, πετυχαίνοντας μέση απόκλιση μόλις 6%. Τα αποτελέσματα δείχνουν ακόμη ότι ο k-means τείνει να υπερεκτιμήσει τον αριθμό των ομάδων και επίσης να δώσει στην έξοδο περισσότερες ομάδες καθώς ο αριθμός των εγγραφών, R, αυξάνεται. Ενώ ο X-means συνήθως υποεκτιμάει τον πραγματικό αριθμό k και είναι γενικότερα απαθής σε σχέση με το R. 59

60 Πίνακας 2. Το μέσο απόλυτο λάθος έναντι του αριθμού των ομάδων που προκύπτει και από τους δύο αλγορίθμους, χρησιμοποιώντας 2-D δεδομένα με 4000 σε σημεία. Σχήμα 25. Ο αριθμός των ομάδων στην έξοδο σε συνάρτηση με το μέγεθος εισόδου των 2-D δεδομένων για 100 πραγματικές ομάδες, κατά μέσο όρο μετρημένες σε 30 τυχαία γεννημένα σύνολα δεδομένων. Μία εικόνα προκύπτει όταν εξετάζεται το σκορ BIC των διαμορφώσεων που προέκυψαν στις εξόδους. Ας σημειωθεί ότι η παραλλαγή του k-means διαλέγει την καλύτερη διαμόρφωση από το BIC σκορ, και έτσι πρόκειται για μία δίκαιη σύγκριση. Στο Σχήμα 26 φαίνεται ότι ο X-means σκοράρει όχι μόνο καλύτερα από τον k-means, αλλά ακόμη υπερτερεί και στην βασική κατανομή που χρησιμοποιήθηκε για να γεννήσει τα δεδομένα. Αυτό εξηγείται από τις τυχαίες αποκλίσεις στα δεδομένα που έχουν σαν αποτέλεσμα να γίνεται καλύτερη μοντελοποίηση για λιγότερες ομάδες από ότι είναι στην πραγματικότητα. Για παράδειγμα, 2 (ή περισσότερα) κέντρα ομάδων, τα οποία επιλέχθηκαν τυχαία, πέφτουν υπερβολικά κοντά το ένα με το άλλο και έτσι προσεγγίζουν μία ομάδα. Σχήμα 26. To BIC για τον X-means και για τον k-means. Μέσο BIC ανά σημείο. Τα αποτελέσματα είναι μέσος όρος πολλών τρεξιμάτων σε 2-D δεδομένα με100 ομάδες. Η ετικέτα true συμβολίζει το BIC σκορ των centroids με βάση τα οποία Γεννήθηκαν τα δεδομένα. 60

61 Όσο αφορά την ταχύτητα, ο X-means έχει πολύ καλύτερη διαβάθμιση από τον k-means. Όπως φαίνεται στο Σχήμα 27, ο X-means τρέχει δύο φορές πιο γρήγορα για μεγάλα προβλήματα. Ας σημειωθεί ότι αυτός είναι ένας ανταγωνισμός ενάντια σε μία ήδη επιταχυμένη έκδοση του k-means. Όταν γίνεται σύγκριση με τον φυσικό k-means (ο οποίος υπολογίζει τις αποστάσεις για κάθε σημείο από όλα τα centroids και επιλέγει την ελάχιστη), ο X-means πετυχαίνει πολύ καλύτερα. Σε ένα σύνολο δεδομένων με περισσότερα από δεδομένα, ο X-means τερματίζει σε 238 δευτερόλεπτα ενώ ο παραδοσιακός k-means διαλέγοντας ανάμεσα σε 10 τιμές για το k χρειάζεται 7793 δευτερόλεπτα. Και οι δύο αλγόριθμοι ρυθμίστηκαν να εκτελέσουν μόλις μία επανάληψη στην φάση της Βελτίωση Παραμέτρων (και ο X-means προγραμματίστηκε να εκτελέσει μία επιπλέον επανάληψη στην φάση της Βελτίωση Δομής και να αυξήσει τον διαχωρισμό με μία ακόμη καθολική επανάληψη). Η ποιότητα της λύσης του X-means ήταν ανώτερη σε σχέση και με το BIC και με την παραμόρφωση. Σχήμα 27. Φορές που έτρεξε ο X-means και ο k-means. Ο μέσος όρος τρεξιμάτων φαίνεται για 3 διαστάσεις και 250ν ομάδες σε έναν 233-Mhz Pentium-2 Μία ενδιαφέρουσα εφαρμογή του X-means αφορά τον χώρο της αστροφυσικής. Δεδομένου ενός συνόλου δεδομένων που αποτελείται από γαλαξίες και από τους (x,y) υποψηφίους τους, θα μπορούσε να ενδιαφέρει ποιο είναι ένα τυπικό μέγεθος μιας ομάδας γαλαξιών. Με βάση πειράματα που έγιναν βρέθηκε ότι το μέσο μέγεθος μιας ομάδας για τον k-means είναι μεγαλύτερο από ότι για τον X-means. Αν και η πιστοποίηση είναι δύσκολη για τέτοια δεδομένα, φαίνεται να υπερτερεί ο X-means. Αυτό εξηγείται αφού ο X-means είναι ελεύθερος να διαλέξει τον αριθμό των ομάδων από ένα ευρύ διάστημα ενώ ο k-means μπορεί να επικυρώσει μόνο έναν μικρό αριθμό για ένα καθορισμένο k. Αυτή η διαφορά αντανακλάται και στην μικρότερη διακύμανση που εμφανίζει η έξοδος του X-means. Μάλιστα σε κάποια πειράματα που το διάστημα για το k ήταν μεγάλο και ο αριθμός των σημείων μικρός αυτό είναι πιο εύκολα ορατό. Όσο αναφορά τον χρόνο τρεξίματος, ο X-means όχι μόνο είναι πιο γρήγορος αλλά αυξάνει και αυτό το πλεονέκτημά του όσο αυξάνονται τα σημεία, όπως και στην περίπτωση των συνθετικών δεδομένων. 61

62 5.2.6 Συμπεράσματα Παρουσιάστηκε ένας νέος αλγόριθμος βασισμένος στον k-means που ενσωματώνει επιλογή μοντέλου. Υιοθετώντας και επεκτείνοντας αλγοριθμικές βελτιώσεις του k-means, ο νέος αλγόριθμος είναι πιο ικανός. Χρησιμοποιήθηκαν στατιστικά κριτήρια. Και όλα τα πειράματα ανέδειξαν έναν πιο γρήγορο αλγόριθμο από τον παραδοσιακό k-means. Το κριτήριο BIC για τον διαχωρισμό δεν είναι το μόνο που μπορεί να χρησιμοποιηθεί. Αναλόγως τις εφαρμογές και τους σκοπούς της έρευνας μπορούν να χρησιμοποιηθούν και άλλα κριτήρια όπως τα AIC και MDL. 5.3 G-means Όπως έχει ήδη ειπωθεί, η σωστή επιλογή του αριθμού των clusters (k), για την ομαδοποίηση ενός συνόλου δεδομένων, δεν είναι πάντα εύκολη και προφανής, αλλά αποτελεί ένα σημαντικό αλγοριθμικό πρόβλημα. Στη συνέχεια θα παρουσιαστεί ένας βελτιωμένος αλγόριθμος για την μάθηση του k κατά την διαδικασία του clustering, ο G-means. Αυτός βασίζεται σε ένα στατιστικό τεστ που ελέγχει την υπόθεση, εάν το υποσύνολο των δεδομένων ακολουθεί Gaussian κατανομή. Ο G-means τρέχει τον k- means με αυξανόμενο k μέχρι την αποδοχή της υπόθεσης ότι τα δεδομένα που ανατέθηκαν σε κάθε κέντρο του k-means είναι Gaussian. Τα δύο πλεονεκτήματα που απορρέουν είναι ότι το τεστ της υπόθεσης δεν περιορίζει την διασπορά των δεδομένων και δεν υπολογίζει έναν πλήρη πίνακα. Επιπλέον ο G-means απαιτεί μόνο μια αρχική παράμετρο, το στάνταρτ επίπεδο στατιστικής σημαντικότητας α. Ο αλγόριθμος G-means, όπως θα φανεί και παρακάτω, είναι καλύτερος και από τον X-means σχετικά με την αντιμετώπιση της πολυπλοκότητας του μοντέλου Ανακάλυψη του k μέσω του G-means Οι περισσότεροι clustering αλγόριθμοι απαιτούν ο χρήστης να προκαθορίσει τον αριθμό των clusters (k), κάτι που δεν είναι πάντα εύκολο γιατί δεν είναι ξεκάθαρο πάντα ποια είναι η καλύτερη τιμή για το k. Στο Σχήμα 28, φαίνονται παραδείγματα όπου το k έχει επιλεγεί με ακατάλληλο τρόπο. Η επιλογή του k συνήθως είναι μια ad hoc απόφαση που βασίζεται σε προγενέστερη γνώση, υποθέσεις και σε πρακτική εμπειρία. Η επιλογή του k γίνεται πιο δύσκολη όταν τα δεδομένα έχουν πολλές διαστάσεις και ακόμα δυσκολότερη όταν τα clusters είναι σαφώς διαχωρισμένα. Οι αλγόριθμοι clustering που βασίζονται σε κέντρα, όπως ο k-means, συνήθως υποθέτουν ότι κάθε cluster ακολουθεί μια κατανομή σαν την Gaussian. Σύμφωνα με αυτές τις μεθόδους, μόνο ένα κέντρο θα πρέπει να χρησιμοποιηθεί για να μοντελοποιήσει την κατανομή που ακολουθεί κάθε υποσύνολο του συνόλου δεδομένων. Εάν χρησιμοποιηθούν πολλά κέντρα αυξάνεται η πολυπλοκότητα της περιγραφής των δεδομένων. Ο απλός αλγόριθμος που θα παρουσιαστεί, ο G-means, ανακαλύπτει ένα κατάλληλο k χρησιμοποιώντας ένα στατιστικό τεστ με το οποίο αποφασίζει πότε να διασπάσει ένα κέντρο του k- 62

63 means σε άλλα δύο. Η τεχνική είναι πετυχημένη και χρήσιμη και σε άλλους αλγορίθμους clustering εκτός του k-means. Σχήμα 28. Δύο ομαδοποιήσεις όπου το k επιλέγει μα ακατάλληλο τρόπο. Οι σταυροί είναι τα κέντρα του k-means. Στα αριστερά, υπάρχουν λιγότερα κέντρα(4) από όσα πρέπει να χρησιμοποιηθούν(5). Στα δεξιά, υπάρχουν περισσότερα κέντρα αφού μόνο ένα αρκεί στην συγκεκριμένη περίπτωση. Διάφοροι αλγόριθμοι προτάθηκαν κατά καιρούς για την αυτόματη επιλογή του k. Οι περισσότεροι ασχολήθηκαν με τον k-means και χρησιμοποίησαν είτε κανόνες διαχωρισμού είτε συγχώνευσης για τα κέντρα. Οι Pelleg και Moore [42] πρότειναν τον X-means. Ο X-means διαλέγει το μοντέλο με το καλύτερο BIC σκορ. Ο αλγόριθμος G-means ξεκινά με ένα μικρό αριθμό κέντρων του k-means και αυξάνει τον αριθμό των κέντρων. Σε κάθε επανάληψη διασπώνται σε δύο εκείνα τα κέντρα των οποίων τα δεδομένα δεν ακολουθούν Gaussian κατανομή. Σε κάθε κύκλο διάσπασης τρέχει ο k-means σε όλο το σύνολο των δεδομένων για να εξαχθεί η πιο εκλεπτυσμένη τρέχουσα λύση. Αρχικά μπορεί να είναι k=1 ή μεγαλύτερο εάν υπάρχει προγενέστερη γνώση για το εύρος του k. Ο G-means κατά επανάληψη παίρνει αποφάσεις που βασίζονται σε ένα στατιστικό τεστ για τα δεδομένα που ανατίθενται σε κάθε κέντρο. Εάν τα δεδομένα που ανατέθηκαν σε ένα κέντρο του k- means είναι Gaussian, τότε θα πρέπει να χρησιμοποιηθεί μόνο ένα κέντρο για την αναπαράσταση αυτών των δεδομένων. Από την άλλη πλευρά, εάν τα ίδια δεδομένα δεν είναι Gaussian, τότε θα πρέπει να χρησιμοποιηθούν πολλά κέντρα για να μοντελοποιηθούν κατάλληλα τα δεδομένα. Σε αυτή την περίπτωση, ο k-means θα τρέξει πολλές φορές (μέχρι k φορές όταν πρόκειται να βρει k κέντρα) και έτσι η χρονική πολυπλοκότητα O(k). Ο k-means υποθέτει απόλυτα ότι τα στοιχεία του κάθε cluster είναι σφαιρικά κατανεμημένα γύρω από το κέντρο. Λιγότερο απόλυτα, ο Gaussian expectation-maximization αλγόριθμος υποθέτει ότι τα στοιχεία σε κάθε cluster έχουν μια πολυδιάστατη Gaussian κατανομή με ένα τύπο διακύμανσης που είναι είτε σταθερός είτε όχι. Το τεστ της Gaussian κατανομής ερμηνεύει τον αριθμό των στοιχείων n που ελέγχονται ενσωματώνοντας n στον υπολογισμό της κρίσιμης τιμής του τεστ (εξίσωση 2). Έτσι ο G-means δεν καταλήγει σε λάθος αποφάσεις σχετικά με τα clusters με μικρό αριθμό στοιχείων. 63

64 5.3.2 Έλεγχος των clusters για Gaussian Για τον πλήρη ορισμό του G-means χρειάζεται ένα τεστ που θα διακρίνει εάν τα δεδομένα που ανατίθενται στα κέντρα ακολουθούν Gaussian κατανομή. Οι εναλλακτικές υποθέσεις είναι Ho: Τα δεδομένα γύρω από το κέντρο ακολουθούν Gaussian κατανομή. H1: Τα δεδομένα γύρω από το κέντρο δεν ακολουθούν Gaussian κατανομή. Εάν είναι αποδεκτή η Ho υπόθεση, τότε ένα κέντρο αρκεί για την μοντελοποίηση των δεδομένων γύρω του, ενώ δεν χρειάζεται να γίνει διάσπαση του cluster σε άλλα δύο. Εάν απορριφθεί η Ho και γίνει αποδεκτή η H1, θα πρέπει να γίνει διάσπαση του cluster. Το τεστ που χρησιμοποιείται βασίζεται στο Anderson-Darling στατιστικό. Πρόκειται για ένα μονοδιάστατο τεστ που είναι το πιο ισχυρό τεστ που βασίζεται στην πρακτική αθροιστική συνάρτηση κατανομής (ECDF). Δεδομένης μιας λίστας τιμών x i που έχουν μέσο 0 και διασπορά 1, τότε x() i είναι η i-ιοστή κατά σειρά τιμή. Τότε zi = F( x() i ), όπου F είναι η N(0,1) αθροιστική συνάρτηση n 2 1 κατανομής. Έτσι το στατιστικό είναι: A ( Z) = i = (2i 1)[log( zi) + log(1 zn+ 1 i)] n n (εξίσωση 1). Όμως σύμφωνα με [41], στην περίπτωση που τα μ και σ υπολογίζονται από τα δεδομένα όπως στο clustering, το πιο σωστό στατιστικό είναι: A ( Z) = A ( Z)(1+ 4/ n 25/( n )) (εξίσωση 2). Δεδομένου ενός υποσυνόλου δεδομένων X με d διαστάσεις που ανήκει στο κέντρο c, το τεστ της υπόθεσης γίνεται ως εξής: 1. Επέλεξε ένα επίπεδο σημαντικότητας α για το τεστ. 2. Αρχικοποίησε δύο κέντρα που θα ονομάζονται παιδιά του c. 3. Τρέξε τον k-means για αυτά τα δύο κέντρα X. Αυτό μπορεί να οδηγήσει σε τερματισμό ή σε πρόωρο σταμάτημα εάν είναι επιθυμητό. Τα c1 και c2 θα είναι τα κέντρα απόγονοι που επιλέχθηκαν από τον k-means. 4. u=c1-c2 θα είναι ένα d-διάστατο διάνυσμα που ενώνει τα δύο κέντρα. 5. z F( x' ). Εάν το i = () i i= 1 * A 2 ( ) * Z κυμαίνεται στις μη κρίσιμες τιμές του επιπέδου εμπιστοσύνης α, τότε γίνεται αποδεκτή η Ho, κράτα το γνήσιο κέντρο και απέρριψε το {c1,c2. Διαφορετικά απέρριψε την Ho και κράτα το {c1,c2. Η παραπάνω δουλειά συμβάλλει στην απλοποίηση του τεστ για Gaussian κατανομή οργανώνοντας τα δεδομένα σε μία διάσταση όπου το τεστ είναι εύκολο να εφαρμοστεί. Η μονό-διάστατη αναπαράσταση των δεδομένων επιτρέπει να λαμβάνονται υπόψη μόνο τα δεδομένα που ο k-means θεωρεί σημαντικά για τον διαχωρισμό των δεδομένων. Αυτό σχετίζεται με ένα άλλο πρόβλημα όπου ο k-means ψάχνει στην κατεύθυνση όπου τα δεδομένα δεν ακολουθούν Gaussian κατανομή. Πρέπει να επιλεγεί ένα επίπεδο σημαντικότητας για το τεστ, που το συμβολίζουμε με α. Αυτό αντιπροσωπεύει την επιθυμητή πιθανότητα να γίνει ένα λάθος τύπου 1 (π.χ λανθασμένη απόρριψη της Ho). Είναι απαραίτητο να χρησιμοποιηθεί ένας Bonferroni κανονισμός για να μειωθεί η πιθανότητα να 64

65 συμβούν λάθη τύπου 1 σε πολλά τεστ. Για παράδειγμα εάν είναι επιθυμητό να υπάρχει 0.01 πιθανότητα να συμβεί ένα λάθος τύπου 1 σε 100 τεστ, θα πρέπει να χρησιμοποιηθεί ο κανονισμός Bonferroni και το α θα είναι α=0.01/100= για κάθε τεστ. Για να βρεθούν k τελικά κέντρα ο G- means χρησιμοποιεί k στατιστικά τεστ. Παράδειγμα Στο Σχήμα 29, φαίνεται ένα παράδειγμα. Συγκεκριμένα, φαίνεται ένα τρέξιμο του G-means σε ένα συνθετικό σύνολο δεδομένων με δύο πραγματικά clusters και 1000 στοιχεία, καθώς χρησιμοποιείται και α= Η κρίσιμη τιμή για το τεστ του Anderson-Darling είναι Ξεκινώντας με ένα κέντρο, μετά από μία επανάληψη του G-means, θα υπάρχουν δύο κέντρα και το 2 A * στατιστικό θα είναι Αυτή η τιμή είναι πολύ μεγαλύτερη από την κρίσιμη τιμή, συνεπώς απορρίπτεται η Ho και γίνεται αποδεκτός ο διαχωρισμός. Στην επόμενη επανάληψη διασπάται κάθε νέο κέντρο και επαναλαμβάνεται το στατιστικό τεστ. Οι τιμές 2 A* για τους δύο διαχωρισμούς είναι και 0.496, και είναι και οι δύο κάτω από την κρίσιμη τιμή. Συνεπώς γίνεται αποδεκτή η Ho και για τα δύο τεστ και απορρίπτονται οι διαχωρισμοί. Συνεπώς ο G-means δίνει τελικό αποτέλεσμα k=2. Σχήμα 29. Παράδειγμα G-means με τρεις επαναλήψεις σε ένα 2-διάστατο σύνολο δεδομένων με δύο πραγματικά clusters και 1000 στοιχεία. Στατιστική ισχύς Στο Σχήμα 30 η ισχύς του Anderson-Darling τεστ συγκρίνεται με το BIC. Για το AD το α= ενώ για το BIC το α εξαρτάται από το n. Το χαμηλότερο είναι καλύτερο και για τις δύο γραφικές παραστάσεις. Έτρεξαν 1000 τεστ για κάθε στοιχείο που αναπαρίσταται και στις δύο παραστάσεις. Στα αριστερά, για κάθε τεστ γεννήθηκαν n στοιχεία ώστε να ακολουθούν μια απλή Gaussian κατανομή και έπειτα αναπαραστάθηκε γραφικά η συχνότητα με την οποία το BIC και ο G-means θα επιλέξουν k=2 αντί για k=1. Το BIC τείνει να μην είναι κατάλληλο με την επιλογή τόσων πολλών κέντρων και όταν τα δεδομένα δεν είναι σφαιρικά κατανεμημένα. Ενώ ο G-means δεν αντιμετωπίζει αυτό το πρόβλημα. Πιο συγκεκριμένα όπως φαίνεται και στο Σχήμα 30, η αριστερή γραφική παράσταση δείχνει την πιθανότητα λανθασμένου διαχωρισμού ενός 2-d cluster (λάθος τύπου 1) που είναι 5% ελλειπτικός. Η δεξιά παράσταση, δείχνει την πιθανότητα λανθασμένου μη διαχωρισμού των δύο clusters(λάθος τύπου 2). Και οι δύο παραστάσεις είναι συνάρτηση του n. Και στις δύο φαίνεται ότι το BIC έχει αδυναμία γιατί χωρίζει τα clusters όταν το n είναι μικρό. 65

66 Σχήμα 30. Σύγκριση Anderson-Darling και BIC Παραδείγματα Θα παρουσιασθούν τα αποτελέσματα από τα πειράματα που έκαναν οι ερευνητές. Ο πίνακας 3 δείχνει τα αποτελέσματα από τις εκτελέσεις των G-means και X-means σε μεγάλα συνθετικά δεδομένα. Στην περίπτωση που τα δεδομένα έχουν σφαιρικά κατανεμημένα clusters και οι δύο αλγόριθμοι είναι εξίσου ικανοί να βρούν το σωστό k και να μεγιστοποιήσουν το BIC στατιστικό. Όμως τα πιο πραγματικά δεδομένα δεν είναι σφαιρικά κατανεμημένα. Σε αυτή την περίπτωση ο G-means είναι σαφώς καλύτερος από τον X-means. Πιο συγκεκριμένα ο X-means υπερεκτιμά τον πραγματικό αριθμό των clusters όταν τα δεδομένα δεν είναι σφαιρικά κατανεμημένα. Αυτό το τελευταίο γίνεται ακόμη πιο έντονο όταν ο αριθμός των στοιχείων ανά cluster είναι μικρός. Πίνακας 3. Αποτελέσματα σύγκρισης G-means και X-means 66

67 6 Σχεδίαση και Υλοποίηση του συστήματος Σε αυτό το κεφάλαιο, γίνεται λόγος για την σχεδίαση του συστήματος που υλοποιήσαμε. Πιο συγκεκριμένα περιγράφονται οι μέθοδοι και τα εργαλεία που χρησιμοποιήσαμε, αναλύονται κάποιες λεπτομέρειες της υλοποίησης και αναφέρονται κάποια στοιχεία για το περιβάλλον στο οποίο εργαστήκαμε. Επιπλέον υπάρχει στο τέλος του κεφαλαίου μία ενότητα με τίτλο πειράματα, όπου παραθέτουμε τα αποτελέσματα των δοκιμών που κάναμε αφού ολοκληρώθηκε η υλοποίηση του συστήματος. 6.1 Σχεδίαση του συστήματος Στην παρούσα διπλωματική στόχος μας ήταν να εφαρμόσουμε τον διαμεριστικό αλγόριθμο k-means σε access logs και να προκύψουν οι ομάδες των χρηστών με παρόμοια πλοηγητική συμπεριφορά. Πιο συγκεκριμένα, να ομαδοποιηθούν οι χρήστες του Web βάσει των ιστοσελίδων που επισκέφθηκαν. Για την υλοποίηση του συστήματος έπρεπε να ληφθούν διάφορες αποφάσεις που αφορούσαν τόσο την υλοποίηση του αλγορίθμου όσο και την εκτίμηση των αποτελεσμάτων που παράγει. Έτσι, καταρχήν αποφασίστηκε να υλοποιηθεί ο αλγόριθμος και αφού πιστοποιηθεί η εκτέλεση του σε συνθετικά δεδομένα των οποίων την δομή γνωρίζουμε εκ των προτέρων στην συνέχεια να τον εφαρμόσουμε σε πραγματικά δεδομένα που προέκυψαν από την προ-επεξεργασία των access logs. Ακόμη έπρεπε να λάβουμε και άλλες καθοριστικές για την υλοποίηση του αλγορίθμου αποφάσεις. Έτσι, με βάση όσα αναλύθηκαν στο κεφάλαιο 4, κρίθηκε σκόπιμο να χρησιμοποιήσουμε την Ευκλείδεια απόσταση, προκειμένου να μετράμε τις αποστάσεις μεταξύ των χρηστών. Εκτός του ότι αποτελεί πολύ δημοφιλή τεχνική και χρησιμοποιείται από πολλούς διαμεριστικούς αλγορίθμους ομαδοποίησης για την μέτρηση της απόστασης μεταξύ των χρηστών, προτιμήθηκε γιατί ταίριαζε με τις ανάγκες του συστήματος. Εδώ ο κάθε χρήστης αναπαρίσταται μέσω ενός διανύσματος, του οποίου οι διαστάσεις είναι τόσες όσες και οι σελίδες για τις οποίες κάνουμε την ομαδοποίηση. Επιπλέον η κάθε συνιστώσα αυτού του διανύσματος είναι αριθμητικό δεδομένο. Όλα αυτά τα διανύσματα σχηματίζουν ένα πίνακα, ο οποίος αποτελεί το σύνολο δεδομένων στο οποίο εφαρμόζεται η ομαδοποίηση. Ο πίνακας έχει κάθε φορά τόσες γραμμές όσοι και οι χρήστες που θέλουμε να ομαδοποιήσουμε. Ενώ οι 67

68 στήλες του πίνακα αφορούν τις σελίδες, δηλαδή ο πίνακας έχει τόσες στήλες όσες και οι σελίδες για τις οποίες καταγράφηκαν οι αριθμοί των επισκέψεων που πραγματοποίησαν οι χρήστες. Αφού καθορίστηκε ότι θα γίνει χρήση της Ευκλείδειας απόστασης, έπρεπε να αποφασίσουμε για θέματα πιο αυστηρά που θα επηρέαζαν την απόδοση και την εκτέλεση του αλγορίθμου αυτού καθαυτού. Πιο συγκεκριμένα, έπρεπε να αποφασίσουμε για το ποια τεχνική ανάθεσης αρχικών centroids έπρεπε να ακολουθήσουμε. Βάση των συμπερασμάτων που προέκυψαν από μελέτη της βιβλιογραφίας γύρω από αυτό το ζήτημα καταλήξαμε τα αρχικά centroids να ανατίθενται τυχαία. Στη συνέχεια προέκυψε το ερώτημα, με ποιο τρόπο θα ανανεώνονται τα centroids σε κάθε βήμα της εκτέλεσης του αλγορίθμου. Έτσι με βάση πάλι τα συμπεράσματα στα οποία καταλήξαμε από την βιβλιογραφική ανασκόπηση, επιλέξαμε μία μέθοδο ανανέωσης των centroids η οποία έχει ως εξής: αφού γίνει από το πρώτο βήμα εκτέλεσης μια πρόχειρη ομαδοποίηση, στη συνέχεια για όλους τους χρήστες που ανήκουν σε μια ομάδα, υπολογίζεται το μέσο άθροισμα της πρώτης συνιστώσας τους (της διάστασης δηλαδή που αφορά την πρώτη σελίδα), στη συνέχεια με παρόμοιο τρόπο υπολογίζεται το μέσο άθροισμα της δεύτερης συνιστώσας και η ίδια διαδικασία ακολουθείται μέχρι να γίνει αυτό για όλες τις συνιστώσες (σελίδες). Έτσι προκύπτει ένα μέσο διάνυσμα, στο οποίο κάθε συνιστώσα προέκυψε με τον τρόπο που περιγράφηκε. Αυτό το μέσο διάνυσμα θα είναι και το centroid της συγκεκριμένης ομάδας χρηστών. Η ίδια διαδικασία εφαρμόζεται και στις άλλες ομάδες χρηστών, με αποτέλεσμα να προκύψουν τόσα νέα centroids όσα και οι ομάδες. Έτσι ολοκληρώνεται η διαδικασία ανανέωσης των centroids. Στη συνέχεια έπρεπε να ληφθούν κάποιες αποφάσεις σχετικά με το πότε θα τερματίζει ο αλγόριθμος. Για αυτό τον σκοπό αποφασίσαμε να ορίσουμε μία συνθήκη τερματισμού. Στην πραγματικότητα αυτό που κάναμε ήταν να μετράμε σε κάθε βήμα εκτέλεσης του αλγορίθμου το άθροισμα των Ευκλείδειων αποστάσεων μέσα σε κάθε cluster και να προσθέτουμε στη συνέχεια αυτά τα επιμέρους αθροίσματα για όλα τα clusters και τέλος να διαιρούμε με το πλήθος των στοιχείων. Όταν το αποτέλεσμα του παραπάνω υπολογισμού παρέμενε σταθερό θα τερμάτιζε και ο αλγόριθμος. Σύμφωνα τώρα με τις γνώσεις που αποκομίσαμε από την μελέτη του αλγορίθμου, το αποτέλεσμα των παραπάνω υπολογισμών θα πρέπει να μειώνεται σε κάθε κύκλο εκτέλεσης μέχρι να ελαχιστοποιηθεί οπότε και ο αλγόριθμος θα τερματίσει. Έτσι για καλύτερο έλεγχο αποφασίσαμε να διασφαλίσουμε ότι πράγματι αυτό συμβαίνει και για αυτό το σκοπό εκτυπώνεται στο αποτέλεσμα που βλέπουμε μεταξύ των άλλων και το αποτέλεσμα της συνάρτησης που μειώνει σε κάθε βήμα ο αλγόριθμος. Μας δίνεται έτσι η δυνατότητα να παρατηρούμε και συνεπώς να πιστοποιούμε την αναμενόμενη μείωση ενώ φαίνεται ακόμη σε πιο βήμα έχει επιτευχθεί η ελαχιστοποίηση. Αφού καταλήξαμε στα παραπάνω βασικά σημεία ήρθε η ώρα της υλοποίησης του αλγορίθμου και της εφαρμογής του. Σε πρώτη φάση, κρίθηκε σκόπιμο να εφαρμόσουμε τον αλγόριθμο k-means σε συνθετικά σύνολα δεδομένων προκειμένου να διασφαλίσουμε ότι το εργαλείο/σύστημα που αναπτύξαμε δουλεύει σωστά. Δηλαδή μας επιστρέφει τα αποτελέσματα που αναμένουμε κάθε φορά και ανταποκρίνεται στην δομή του συνόλου δεδομένων που κατασκευάσαμε. Για αυτόν τον σκοπό, υλοποιήσαμε και εφαρμόσαμε μία μέθοδο σύνθεσης ενός πίνακα δεδομένων. Συγκεκριμένα, φτιάχνουμε έναν πίνακα διαστάσεων n x m, όπου n το σύνολο των χρηστών και m το σύνολο των σελίδων. Ο πίνακας που κατασκευάζουμε θέλουμε να έχει μία γνωστή δομή, ώστε να ξέρουμε πόσες 68

69 ομάδες περικλείει. Έχοντας την γνώση για το ποιο ακριβώς είναι το καλύτερο k αρκεί απλά πιστοποιήσουμε τα αποτελέσματα. Έτσι, φτιάχνουμε κάθε φορά έναν πίνακα δεδομένων στον οποίο τα στοιχεία ακολουθούν κανονική κατανομή με μία συγκεκριμένη μέση τιμή και μία συγκεκριμένη τυπική απόκλιση. Για να γίνουμε πιο κατανοητοί, παράγουμε για κάθε στήλη του πίνακα δεδομένα που ακολουθούν κανονική κατανομή. Αφού λοιπόν έχουμε έναν πίνακα που γνωρίζουμε εκ των προτέρων πόσες ομάδες περικλείει εφαρμόζουμε τον k-means, δίνοντας κάθε φορά στα δεδομένα εισόδου τον πίνακα που φτιάξαμε και τoν αριθμό των clusters. Η πιστοποίηση του αποτελέσματος είναι η επόμενη ενέργεια ώστε να είμαστε σίγουροι ότι το εργαλείο μας δουλεύει σωστά και μπορεί να εφαρμοστεί σε πραγματικά δεδομένα. Για τον έλεγχο της ορθότητας του αποτελέσματος υλοποιήσαμε έναν external δείκτη που είναι αρκετά δημοφιλής και αξιόπιστος, τον λεγόμενο F-measure (περιγράφεται στο 4 κεφάλαιο). Ο δείκτης αυτός είναι κατάλληλος στην προκειμένη περίπτωση επειδή γνωρίζουμε τη δομή του συνόλου δεδομένων. Το αποτέλεσμα που μας πιστοποιεί ότι ο αλγόριθμος μας δουλεύει σωστά, επομένως ανακαλύπτει την εκάστοτε γνωστή δομή δηλαδή τα clusters αναμένουμε, αντιστοιχεί στην τιμή 1 για τον δείκτη F-measure. Κάνοντας τις απαραίτητες δοκιμές (περιγράφονται στην ενότητα πειράματα σε συνθετικά δεδομένα) λαμβάνουμε πάντα τιμή 1 για τον δείκτη F-measure. Έτσι είμαστε σίγουροι ότι το σύστημα μας δουλεύει σωστά και ήρθε η ώρα της εφαρμογής του αλγορίθμου σε δεδομένα του πραγματικού κόσμου. Σε αυτό το σημείο έπρεπε πάλι να λάβουμε κάποιες αποφάσεις. Πρώτα βρήκαμε διάφορα πραγματικά access logs μέσω του Διαδικτύου από web server της NASA 1 μεγέθους 205ΜΒ και από τον web server του πανεπιστημίου του Saskatchewan 2 μεγέθους 233ΜΒ. Στις περισσότερες περιπτώσεις υπήρχαν οι κατάλληλες πληροφορίες σχετικά με το μέγεθος σε bytes των logs, με το χρονικό διάστημα που έγινε η καταγραφή, το format των logs και άλλα. Εμείς έχοντας κατά νου τι χρειαζόμαστε και τι όχι από κάθε log έπρεπε να εφαρμόσουμε μια προ-επεξεργασία ώστε να έχουμε και πάλι έναν πίνακα κατάλληλο για την εφαρμογή που αναπτύξαμε. Δηλαδή αφού επιλέξαμε κάποια τμήματα των log files, απομακρύναμε όλα εκείνα τα στοιχεία που δεν μας ενδιέφεραν στην διαδικασία εξόρυξης και ανακάλυψης πρότυπων ομάδων χρηστών. Τέτοια στοιχεία αποτελούν τα css αρχεία, οι εικόνες, τα αρχεία τύπου flash. Επιπλέον δε λάβαμε υπ όψιν μας εγγραφές των log files με status διαφορετικό του 200 που σημαίνει επιτυχής λήψη κάποιας ιστοσελίδας. Στο τέλος κάθε προ-επεξεργασίας είχαμε πλέον έναν πίνακα δεδομένων πολύ μικρότερου μεγέθους από ότι πριν την προ-επεξεργασία. Συγκεκριμένα το log file από τον web server της NASA μετατράπηκε σε log file μεγέθους 30ΜΒ ενώ το log file από το πανεπιστήμιο του Saskatchewan σε log file μεγέθους 10ΜΒ. Τα αποτελέσματα της προ επεξεργασία καθώς και οι πληροφορίες σχετικά με τα log files εμφανίζονται στον ακόλουθο πίνακα. 1 NASA Kennedy Space Center WWW server log file, HTTP.html 2 University of Saskatchewan's WWW server log file, HTTP.html 69

70 Πηγή Χρονική Περίοδος Χρήστες Σελίδες Μέγεθος πριν την προ-επεξεργασία Μέγεθος μετά την προ-επεξεργασία NASA 1Ιουλ 31Ιουλ ΜΒ 10ΜΒ Saskatchewan 1Ιουλ 31Δεκ ΜΒ 35ΜΒ Στη συνέχεια εφαρμόσαμε τον αλγόριθμο k-means στα πραγματικά δεδομένα. Κάθε φορά φυσικά δίναμε στην είσοδο του αλγορίθμου έναν ακέραιο αριθμό k δηλαδή ζητούσαμε να γίνει μία διαμέριση του συνόλου δεδομένων για ένα προκαθορισμένο αριθμό clusters. Όπως έχει αναλυθεί στο κεφάλαιο 4, εδώ παρουσιάστηκε το γνωστό πρόβλημα. Δηλαδή ποιο k πρέπει να ζητάμε για το εκάστοτε σύνολο δεδομένων. Ποιο είναι το καλύτερο k στην κάθε περίπτωση που μας αποδίδει τέτοιες ομάδες που έχουν νόημα ώστε να μπορούν αξιοποιηθούν στο μέλλον τα αποτελέσματα για ανώτερου επιπέδου εφαρμογές. Στην περίπτωση των συνθετικών δεδομένων αυτό το πρόβλημα δεν υπήρχε για τι η δομή του συνόλου δεδομένων ήταν γνωστή. Όμως επειδή στην περίπτωση των πραγματικών δεδομένων δεν υπάρχει η δυνατότητα να έχουμε προγενέστερη γνώση για την δομή, έπρεπε με κάποιο τρόπο να μπορούμε να εκτιμήσουμε τα αποτελέσματα. Δηλαδή αν το k που ζητάμε στην είσοδο είναι καλό για το συγκεκριμένο σύνολο δεδομένων. Για αυτόν τον σκοπό ακολουθήσαμε μια κοινή πρακτική και υλοποιήσαμε έναν internal δείκτη εκτίμησης, τον Davies Bouldin (περιγράφεται στο κεφάλαιο 4). Σε σχέση με άλλους δείκτες που συναντήσαμε στην βιβλιογραφία, αυτός ανταποκρίνονταν καλύτερα στα πλαίσια της διπλωματικής εργασίας. Για παράδειγμα κάποιοι από τους δείκτες δε θεωρούνται κατάλληλοι για ομάδες με άνισο κατά πολύ αριθμό μελών. Ακόμη η υλοποίηση του DB δείκτη ήταν εύκολη και δεν επιβάρυνε χρονικά το σύστημά μας. Για να επανέλθουμε στην συζήτηση περί εκτίμησης του k που ζητήσαμε στην περίπτωση των πραγματικών δεδομένων, ας εξηγήσουμε ότι αυτό το πετύχαμε κάνοντας δοκιμές (περιγράφονται στην ενότητα πειράματα σε πραγματικά δεδομένα) για διάφορα k στο ίδιο κάθε φορά σύνολο δεδομένων. Σύμφωνα με τον DB όταν αυτός λαμβάνει τιμή μικρή τότε έχουμε καλό clustering. Έτσι θεωρήσαμε μετά από δοκιμές ότι το καλύτερο k για κάθε σύνολο πραγματικών δεδομένων ήταν εκείνο που ο DB λάμβανε μικρότερη τιμή, εντός του πεδίου τιμών του. 6.2 Υλοποίηση Αρχικά αναφέρουμε λίγα λόγια για την γλώσσα του προγράμματος και το περιβάλλον που εργαστήκαμε και στη συνέχεια προκειμένου να γίνει κατανοητή η δομή του προγράμματος, περιγράφουμε αναλυτικά κάθε κλάση του συστήματος που υλοποιήσαμε. 70

71 6.2.1 Γλώσσα προγράμματος Στα πλαίσια της μελέτης του αλγορίθμου ομαδοποίησης k-means εκτός της θεωρητικής προσέγγισης κρίθηκε απαραίτητο να αναπτυχθεί ένα εργαλείο, το οποίο θα χρησιμοποιηθεί με στόχο την πειραματική εφαρμογή του αλγορίθμου σε πραγματικά ή μη δεδομένα με σκοπό να μπορέσουμε να εξάγουμε συμπεράσματα σχετικά με την απόδοσή του βάσει διαφόρων πειραμάτων. Το εργαλείο που χρησιμοποιήθηκε αποτελεί ένα πρόγραμμα το οποίο αναπτύχθηκε στη γλώσσα προγραμματισμού Java και το περιβάλλον που χρησιμοποιήθηκε ήταν το Eclipse. Παρακάτω αναλύονται οι λόγοι που μας οδήγησαν στη χρήση της γλώσσας Java καθώς και κάποιες λεπτομέρειες σχετικά με τη γλώσσα και τα χαρακτηριστικά της. Ένα από τα βασικά πλεονεκτήματα της Java έναντι των περισσότερων άλλων γλωσσών είναι η ανεξαρτησία του λειτουργικού συστήματος και πλατφόρμας. Τα προγράμματα που είναι γραμμένα σε Java τρέχουνε ακριβώς το ίδιο σε Windows, Linux, Unix και Macintosh χωρίς να χρειαστεί να ξαναγίνει μεταγλώττιση (compiling) ή να αλλάξει ο πηγαίος κώδικας για κάθε διαφορετικό λειτουργικό σύστημα. Για να επιτευχθεί όμως αυτό χρειαζόταν κάποιος τρόπος έτσι ώστε τα προγράμματα γραμμένα σε Java να μπορούν να είναι «κατανοητά» από κάθε υπολογιστή ανεξάρτητα του είδους επεξεργαστή (Intel x86, IBM, Sun SPARC, Motorola) αλλά και λειτουργικού συστήματος (Windows, Unix, Linux, Unix, MacOS). Ο λόγος είναι ότι κάθε κεντρική μονάδα επεξεργασίας μπορεί και «καταλαβαίνει» διαφορετικό assembly κώδικα. Ο συναρμολογούμενος (assembly) κώδικας που τρέχει σε Windows είναι διαφορετικός από αυτόν που τρέχει σε ένα Macintosh. Η λύση δόθηκε με την ανάπτυξη της Εικονικής Mηχανής (Virtual Machine ή VM ή ΕΜ στα ελληνικά). H εικονική μηχανή της Java Αφού γραφτεί κάποιο πρόγραμμα σε Java τότε γίνεται compile μέσω του Java compiler (javac), εκείνος με την σειρά του δίνει ένα αριθμό από.class αρχεία (=bytecode). Το bytecode είναι η μορφή που παίρνει ο πηγαίος κώδικας της Java όταν μεταγλωττιστεί. Όταν προσπαθήσουμε λοιπόν να εκτελέσουμε την εφαρμογή μας το Java Virtual Machine που πρέπει να είναι εγκατεστημένο στο μηχάνημά μας, θα αναλάβει να διαβάσει τα.class αρχεία και να τα μεταφράσει σε γλώσσα και εντολές μηχανής (assembly) που υποστηρίζει το λειτουργικό μας και ο επεξεργαστής μας, έτσι ώστε να εκτελεστεί (να σημειώσουμε εδώ ότι αυτό συμβαίνει με την παραδοσιακή Εικονική Μηχανή (Virtual Machine)). Πιο σύγχρονες εφαρμογές της εικονικής Μηχανής μπορούν και μεταγλωττίζουν πολύχρηστα τμήματα bytecode απ' ευθείας σε ιθαγενή κώδικα (native code) με αποτέλεσμα να βελτιώνεται η ταχύτητα). Χωρίς αυτό δε θα ήταν δυνατή η εκτέλεση λογισμικού γραμμένου σε Java. Πρέπει να πούμε ότι το Virtual Machine είναι λογισμικό platform specific, δηλαδή για κάθε είδος λειτουργικού και ανάλογης τεχνολογίας επεξεργαστή, υπάρχει διαφορετική έκδοση. Έτσι υπάρχουν διαθέσιμες εκδόσεις του για Windows, Linux, Unix, Macintosh, κινητά τηλέφωνα, παιχνιδομηχανές κλπ! Οτιδήποτε θέλει να κάνει ο προγραμματιστής (ή ο χρήστης) γίνεται μέσω της εικονικής μηχανής. Αυτό βοηθάει στο να υπάρχει μεγαλύτερη ασφάλεια στο σύστημα γιατί η εικονική μηχανή είναι υπεύθυνη για την επικοινωνία χρήστη - υπολογιστή. Ο προγραμματιστής δεν μπορεί να γράψει κώδικα ο οποίος θα έχει καταστροφικά αποτελέσματα για τον υπολογιστή γιατί η εικονική μηχανή θα τον ανιχνεύσει 71

72 και δε θα επιτρέψει να εκτελεστεί. Από την άλλη μεριά ούτε ο χρήστης μπορεί να κατεβάσει «κακό» κώδικα από το δίκτυο και να τον εκτελέσει. Αυτό είναι ιδιαίτερα χρήσιμο για μεγάλα κατανεμημένα συστήματα όπου πολλοί χρήστες χρησιμοποιούν το ίδιο πρόγραμμα συγχρόνως. Ο συλλέκτης απορριμάτων (Garbage Collector) Ακόμα μία ιδέα που βρίσκεται πίσω από τη Java είναι η ύπαρξη του συλλέκτη απορριμάτων (Garbage Collector). Συλλογή απορριμάτων είναι μία κοινή ονομασία που χρησιμοποιείται στον τομέα της πληροφορικής για να δηλώσει την ελευθέρωση τμημάτων μνήμης από δεδομένα που δε χρειάζονται και δε χρησιμοποιούνται άλλο. Αυτή η απελευθέρωση μνήμης στη Java είναι αυτόματη και γίνεται μέσω του συλλέκτη απορριμάτων. Υπεύθυνη για αυτό είναι και πάλι η εικονική μηχανή η οποία μόλις «καταλάβει» ότι ο σωρός (heap) της μνήμης (στη Java η συντριπτική πλειοψηφία των αντικειμένων αποθηκεύονται στο σωρό σε αντίθεση με τη C++ όπου αποθηκεύονται κυρίως στη στοίβα - stack) κοντεύει να γεμίσει ενεργοποιεί το συλλέκτη απορριμάτων. Έτσι ο προγραμματιστής δε χρειάζεται να ανησυχεί για το πότε και αν θα ελευθερώσει ένα συγκεκριμένο τμήμα της μνήμης, ούτε και για δείκτες (pointers) που αναφέρονται σε άδειο χώρο μνήμης. Αυτό είναι ιδιαίτερα σημαντικό αν σκεφτούμε ότι ένα μεγάλο ποσοστό κατάρρευσης των προγραμμάτων οφείλονται σε λανθασμένο χειρισμό της μνήμης. Eπιδόσεις Παρόλο που η εικονική μηχανή προσφέρει όλα αυτά (και όχι μόνο) τα πλεονεκτήματα, η Java είναι πιο αργή σε σχέση με άλλες προγραμματιστικές γλώσσες υψηλού επιπέδου (high-level) όπως η C και η C++. Έχει αποδειχτεί ότι η C++ μπορεί να είναι αρκετές φορές γρηγορότερη από τη Java. Ευτυχώς γίνονται φιλότιμες προσπάθειες από τη Sun για τη βελτιστοποίηση της εικονικής μηχανής, ενώ και διάφορες άλλες πραγματοποιήσεις της εικονικής μηχανής υπάρχουν από διάφορες άλλες εταιρίες (όπως IBM), οι οποίες μπορεί σε κάποια σημεία να προσφέρουν καλύτερα και σε κάποια άλλα χειρότερα αποτελέσματα. Επιπλέον με τον ερχομό των JIT (Just In Time) compilers, οι οποίοι μετατρέπουν το bytecode απ' ευθείας σε γλώσσα μηχανής, η διαφορά ταχύτητας από τη C++ έχει μικρύνει κατά πολύ. Οι τελευταίες εκδόσεις του Java Compiler με την χρήση της τεχνολογίας Hot Spot, καταφέρνει να παρέχει αξιόλογες επιδόσεις που πλησιάζουν ή ξεπερνούν σε μερικές περιπτώσεις native κώδικα Περιγραφή κλάσεων Έχοντας ως στόχο τη δυνατότητα να μελετήσουμε τα αποτελέσματα της εκτέλεσης του αλγορίθμου ομαδοποίησης k-means σε δύο ειδών δεδομένα, θεωρήθηκε σκόπιμο το πρόγραμμα να δομηθεί σε δύο ενότητες δίνοντας αντίστοιχες επιλογές στο χρήστη. Ο χρήστης έχει τη δυνατότητα να επιλέξει αν θα εφαρμόσει τον αλγόριθμο της ομαδοποίησης σε πραγματικά ή synthetic datasets ώστε να μπορεί να επιβεβαιώσει τη σωστή και αποτελεσματική εφαρμογή του κώδικα που έχει αναπτυχθεί. Επιπλέον, τα αποτελέσματα και οι μετρικές που είτε χρησιμοποιούνται είτε προκύπτουν κατά την εκτέλεση του αλγορίθμου αποθηκεύονται σε αρχεία, ώστε να είναι σε κάθε βήμα διαθέσιμα για 72

73 περαιτέρω μελέτη και ανάλυση είτε με το ίδιο εργαλείο είτε με εργαλεία που έχουν αναπτυχθεί από άλλους προγραμματιστές. Στο τέλος της εκτέλεσης του προγράμματος, εκτός των αποτελεσμάτων της ομαδοποίησης, καταγράφονται και οι δείκτες επιτυχίας. Για την υλοποίηση του προγράμματος που εκτελεί τον αλγόριθμο ομαδοποίησης δεδομένων k-means, δημιουργήθηκαν 7 αρχεία.java τα οποία ορίζουν και τις 7 αντίστοιχες κλάσεις που απαρτίζουν το πρόγραμμα και επιτελούν όλες τις λειτουργίες του. Οι κλάσεις αυτές είναι οι ακόλουθες: o PrgMain (Κύρια κλάση του προγράμματος) o JCA Java Clustering Analysis (Η κλάση του προγράμματος που αναλαμβάνει μέσω κλήσεων προς τις άλλες κλάσεις να εκτελέσει τα βήματα της ομαδοποίησης) o Centroid (Κλάση που χρησιμοποιείται για τη δημιουργία αντικειμένων τύπου κέντρου cluster και περιέχει όλες τις απαραίτητες πληροφορίες για τα κέντρα των clusters που σχηματίζονται κατά την εκτέλεση του αλγορίθμου) o Cluster (Κλάση που περιέχει όλες τις απαραίτητες πληροφορίες για κάθε ένα από τα clusters που σχηματίζονται κατά την εκτέλεση του αλγορίθμου) o Datapoint (Κλάση που χρησιμοποιείται για την αποθήκευση των στοιχείων του dataset με τη μορφή διανύσματος καθώς κάθε γραμμή του dataset ουσιαστικά αποτελεί ένα πολυδιάστατο διάνυσμα) o F_measure - (Κλάση που χρησιμοποιείται για τον υπολογισμό του δείκτη F-measure κατά τη διάρκεια της εκτέλεσης του αλγορίθμου. Ο δείκτης αυτός χρησιμοποιείται για την αξιολόγηση των clusters που δημιουργούνται μετά την ομαδοποίηση synthetic datasets) o DaviesBouldinIndex - (Κλάση που χρησιμοποιείται για τον υπολογισμό του δείκτη DB κατά τη διάρκεια της εκτέλεσης του αλγορίθμου. Ο δείκτης αυτός χρησιμοποιείται για την αξιολόγηση των clusters που δημιουργούνται από πραγματικά δεδομένα). 73

Τεχνικές Εξόρυξης Δεδομένων

Τεχνικές Εξόρυξης Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα στα Πληροφοριακά Συστήματα ( MIS ) Τεχνικές Εξόρυξης Δεδομένων για την βελτίωση της απόδοσης σε Κατανεμημένα Συστήματα Ζάχος Δημήτριος Επιβλέποντες:

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΔΟΥΒΛΕΤΗΣ ΧΑΡΑΛΑΜΠΟΣ ΕΠΙΒΛΕΠΟΝΤΕΣ ΚΑΘΗΓΗΤΕΣ Μαργαρίτης Κωνσταντίνος Βακάλη

Διαβάστε περισσότερα

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

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.

Διαβάστε περισσότερα

Ηλεκτρονικό εμπόριο. HE 8 Εξατομίκευση

Ηλεκτρονικό εμπόριο. HE 8 Εξατομίκευση Ηλεκτρονικό εμπόριο HE 8 Εξατομίκευση Πληροφοριακός υπερφόρτος (information overload) Αδυναμία διαχείρισης μεγάλου όγκου πληροφοριών και εντοπισμού της χρήσιμης πληροφορίας Η εξατομίκευση στοχεύει στην

Διαβάστε περισσότερα

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα 6ο Πανελλήνιο Συνέδριο των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη» Σύρος 6-8 Μαϊου 2011 Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

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

ΟΜΑΔΕΣ. Δημιουργία Ομάδων Δημιουργία Ομάδων Μεθοδολογίες ομαδοποίησης δεδομένων: Μέθοδοι για την εύρεση των κατηγοριών και των υποκατηγοριών που σχηματίζουν τα δεδομένα του εκάστοτε προβλήματος. Ομαδοποίηση (clustering): εργαλείο

Διαβάστε περισσότερα

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 20 Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Τεχνητή Νοηµοσύνη, B' Έκδοση - 1 - Ανακάλυψη Γνώσης σε

Διαβάστε περισσότερα

Τεχνολογία Ηλεκτρονικού Εμπορίου

Τεχνολογία Ηλεκτρονικού Εμπορίου Τεχνολογία Ηλεκτρονικού Εμπορίου 7η διάλεξη: Τεχνολογίες Εξατομίκευσης (personalization) σε Περιβάλλοντα Ηλεκτρονικού Εμπορίου Χρήστος Γεωργιάδης ιαστάσεις της τεχνολογίας του ηλεκτρονικού εμπορίου Η πανταχού

Διαβάστε περισσότερα

Πολιτική για τα cookies

Πολιτική για τα cookies Πολιτική για τα cookies Έκδοση 1.0 Πολιτική για τα cookies Εισαγωγή Πληροφορίες για τα cookies Η πλειονότητα των ιστοτόπων που επισκέπτεστε χρησιμοποιεί τα cookies για να βελτιώνει την εμπειρία του χρήστη,

Διαβάστε περισσότερα

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Όνοµα: Νικολαΐδης Αντώνιος Επιβλέπων: Τ. Σελλής Περίληψη ιπλωµατικής Εργασίας Συνεπιβλέποντες: Θ. αλαµάγκας, Γ. Γιαννόπουλος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 7: Ομαδοποίηση Μέρος Α Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Βάσεις δεδομένων και Microsoft Access

Βάσεις δεδομένων και Microsoft Access Περιεχόμενα Κεφάλαιο 1 Βάσεις δεδομένων και Microsoft Access... 7 Κεφάλαιο 2 Microsoft Access 2010... 16 Κεφάλαιο 3 Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα... 27 Κεφάλαιο 4 Προβολές πινάκων και

Διαβάστε περισσότερα

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Πίνακας περιεχομένων Τίτλος της έρευνας (title)... 2 Περιγραφή του προβλήματος (Statement of the problem)... 2 Περιγραφή του σκοπού της έρευνας (statement

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2010-2011 ΑΣΚΗΣΗ Συγκομιδή και δεικτοδότηση ιστοσελίδων Σκοπός της άσκησης είναι η υλοποίηση ενός ολοκληρωμένου συστήματος συγκομιδής και δεικτοδότησης ιστοσελίδων.

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εξαγωγή γεωγραφικής πληροφορίας από δεδομένα παρεχόμενα από χρήστες του

Διαβάστε περισσότερα

Στρατηγική ανάπτυξη δικτυακού κόμβου

Στρατηγική ανάπτυξη δικτυακού κόμβου ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Παντελής Παντελίδης Στρατηγική ανάπτυξη δικτυακού κόμβου Επιβλέπουσα Καθηγήτρια: Μάρω Βλαχοπούλου Εξετάστρια:

Διαβάστε περισσότερα

Μηχανική Μάθηση: γιατί;

Μηχανική Μάθηση: γιατί; Μηχανική Μάθηση Μηχανική Μάθηση: γιατί; Απαραίτητη για να μπορεί ο πράκτορας να ανταπεξέρχεται σε άγνωστα περιβάλλοντα Δεν είναι δυνατόν ο σχεδιαστής να προβλέψει όλα τα ενδεχόμενα περιβάλλοντα. Χρήσιμη

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Έρευνα Μάρκετινγκ Ενότητα 5

Έρευνα Μάρκετινγκ Ενότητα 5 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5 : Μέθοδοι Στατιστικής Ανάλυσης Χριστίνα Μπουτσούκη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Ποια cookies χρησιμοποιούμε στον ιστότοπό μας;

Ποια cookies χρησιμοποιούμε στον ιστότοπό μας; Πολιτική Cookies Χρησιμοποιούμε cookies στον ιστότοπο μας για τη διαχείριση των περιόδων σύνδεσης, για την παροχή εξατομικευμένων ιστοσελίδων και για την προσαρμογή διαφημιστικού και άλλου περιεχομένου

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ 1Τι είναι ο Παγκόσµιος Ιστός; Λόγω της µεγάλης απήχησης του Παγκόσµιου Ιστού πολλές φορές ταυτίζουµε τον Παγκόσµιο Ιστό µε το Διαδίκτυο. Στην πραγµατικότητα αυτή η αντίληψη

Διαβάστε περισσότερα

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #01

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #01 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #01 Διαδικαστικά μαθήματος Εισαγωγικές έννοιες & Ορισμοί Συστήματα ανάκτησης πληροφορίας 1

Διαβάστε περισσότερα

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

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

Διαβάστε περισσότερα

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΑΝΑΓΝΩΡΙΖΟΝΤΑΣ ΤΗ ΔΙΑΦΟΡΕΤΙΚΟΤΗΤΑ & ΑΝΑΠΤΥΣΣΟΝΤΑΣ ΔΙΑΦΟΡΟΠΟΙΗΜΕΝΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ Διαστάσεις της διαφορετικότητας Τα παιδιά προέρχονται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ Εισαγωγή Μεθοδολογία της Έρευνας ΕΙΚΟΝΑ 1-1 Μεθοδολογία της έρευνας.

ΚΕΦΑΛΑΙΟ Εισαγωγή Μεθοδολογία της Έρευνας ΕΙΚΟΝΑ 1-1 Μεθοδολογία της έρευνας. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή Η Μεθοδολογία της Έρευνας (research methodology) είναι η επιστήμη που αφορά τη μεθοδολογία πραγματοποίησης μελετών με συστηματικό, επιστημονικό και λογικό τρόπο, με σκοπό την παραγωγή

Διαβάστε περισσότερα

Τι είναι πληροφοριακό σύστημα

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

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Θέματα Προσδιορισμός επιχειρηματικού μοντέλου

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,

Διαβάστε περισσότερα

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Oμαδοποίηση: Μέρος Α http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

Διαβάστε περισσότερα

Πληροφοριακό Σύστημα Επιχειρηματικής Ευφυίας για την Oμαδοποίηση Πελατών Λιανικής

Πληροφοριακό Σύστημα Επιχειρηματικής Ευφυίας για την Oμαδοποίηση Πελατών Λιανικής Πληροφοριακό Σύστημα Επιχειρηματικής Ευφυίας για την Oμαδοποίηση Πελατών Λιανικής Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ Δομή Παρουσίασης

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες.

Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες. Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες. Υποδειγματικό Σενάριο Γνωστικό αντικείμενο: Πληροφορική Δημιουργός: ΚΩΝΣΤΑΝΤΙΝΑ ΚΟΝΤΟΣΗ ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Διαβάστε περισσότερα

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

ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΧΡΟΝΟΣΗΜΑΣΜΕΝΩΝ, ΑΚΟΛΟΥΘΙΑΚΩΝ, ΣΥΝΘΕΤΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΧΡΟΝΟΣΗΜΑΣΜΕΝΩΝ, ΑΚΟΛΟΥΘΙΑΚΩΝ, ΣΥΝΘΕΤΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ Δομή παρουσίασης Εισαγωγή Βασικές Έννοιες Σχετικές μελέτες Εφαρμογή Δεδομένων Συμπεράσματα Εισαγωγή Μελέτη και προσαρμογή των διάφορων

Διαβάστε περισσότερα

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

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6. Πανεπιστήµιο Πειραιώς - Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Γνώσης από χωρικά δεδοµένα (κεφ. 8) Γιάννης Θεοδωρίδης Νίκος Πελέκης http://isl.cs.unipi.gr/db/courses/dwdm Περιεχόµενα

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

Διαβάστε περισσότερα

Ηλεκτρονικό Εμπόριο. Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ηλεκτρονικό Εμπόριο. Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Ηλεκτρονικό Εμπόριο Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

Ερωτηματολόγιο. Τρόποι χορήγησης: α) Με αλληλογραφία β) Με απευθείας χορήγηση γ) Τηλεφωνικά

Ερωτηματολόγιο. Τρόποι χορήγησης: α) Με αλληλογραφία β) Με απευθείας χορήγηση γ) Τηλεφωνικά Ερωτηματολόγιο Το ερωτηματολόγιο αποτελείται από μια σειρά ερωτήσεων, οι οποίες έχουν ως στόχο την καταγραφή των απόψεων, γνώσεων ή στάσεων μιας ομάδας ατόμων. Τρόποι συμπλήρωσης: α) άμεσος (ο ίδιος ο

Διαβάστε περισσότερα

ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ. Ι. Δημόπουλος, Καθηγητής, Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών-ΤΕΙ Πελοποννήσου

ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ. Ι. Δημόπουλος, Καθηγητής, Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών-ΤΕΙ Πελοποννήσου ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ Ι. Δημόπουλος, Καθηγητής, Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών-ΤΕΙ Πελοποννήσου Σχηματική παρουσίαση της ερευνητικής διαδικασίας ΣΚΟΠΟΣ-ΣΤΟΧΟΣ ΘΕΩΡΙΑ ΥΠΟΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ Ερευνητικά

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

Ο ΚΑΤΑΝΑΛΩΤΗΣ ΣΤΟ INTERNET

Ο ΚΑΤΑΝΑΛΩΤΗΣ ΣΤΟ INTERNET Ο ΚΑΤΑΝΑΛΩΤΗΣ ΣΤΟ INTERNET Το Μοντέλο της Συμπεριφοράς των Καταναλωτών στο Η.Ε. Τύποι Καταναλωτών ανεξάρτητοι και μεμονωμένοι καταναλωτές, στους οποίους στοχεύουν τα ΜΜΕ οργανισμοί-αγοραστές αγοραστές

Διαβάστε περισσότερα

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

P-Μiner : ιαχείριση Πυλών Καταλόγων (Portals) µε Υποστήριξη ιαδικασιών Εξόρυξης εδοµένων Χρήσης P-Μiner : ιαχείριση Πυλών Καταλόγων (Portals) µε Υποστήριξη ιαδικασιών Εξόρυξης εδοµένων Χρήσης ιπλωµατική Εργασία του Θεοδώρου Ι. Γαλάνη ΠΕΡΙΛΗΨΗ Γενικά Με την εξάπλωση του διαδικτύου όλο και περισσότεροι

Διαβάστε περισσότερα

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΑΘΗΝΑ 2014 1 1. Τι είναι το e-learning; Το e-learning, η ηλεκτρονική μάθηση, είναι μια διαδικασία μάθησης και ταυτόχρονα μια μεθοδολογία εξ αποστάσεως εκπαίδευσης

Διαβάστε περισσότερα

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

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

Διαβάστε περισσότερα

Πωλήσεις. Μπίτης Αθανάσιος 2017

Πωλήσεις. Μπίτης Αθανάσιος 2017 Πωλήσεις Μπίτης Αθανάσιος 2017 Τι είναι πώληση; Πώληση είναι η μεταξύ δύο προσώπων σύμβαση με την οποία ο ένας (πωλητής) αναλαμβάνει την υποχρέωση να μεταβιβάσει την κυριότητα και να παραδώσει, αντί συμφωνημένου

Διαβάστε περισσότερα

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ενότητα 1

Βάσεις Δεδομένων Ενότητα 1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 1: Εισαγωγή στις Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Κων/νος Στεφανίδης Σχολικός Σύμβουλος Πειραιά kstef2001@yahoo.gr Νικόλαος Στεφανίδης Φοιτητής ΣΕΜΦΕ, ΕΜΠ

Διαβάστε περισσότερα

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σχεδιασμός Πληροφοριακού Συστήματος Καταγραφής μετρήσεων κοινής ωφελείας Υποβοηθούμενο από οπτική αναγνώριση μέσω Κινητού τηλεφώνου Μπούντας Δημήτρης Επιβλέπων Καθηγητής : Δασυγένης

Διαβάστε περισσότερα

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Data Mining - Classification Data Mining Ανακάλυψη προτύπων σε μεγάλο όγκο δεδομένων. Σαν πεδίο περιλαμβάνει κλάσεις εργασιών: Anomaly Detection:

Διαβάστε περισσότερα

Μέθοδος : έρευνα και πειραματισμός

Μέθοδος : έρευνα και πειραματισμός 1 Ο ΓΥΜΝΑΣΙΟ ΠΕΥΚΩΝ Γ ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑ : ΤΕΧΝΟΛΟΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΣ : Τρασανίδης Γεώργιος, διπλ. Ηλεκ/γος Μηχανικός Μsc ΠΕ12 05 Μέθοδος : έρευνα και πειραματισμός Στόχος της Τεχνολογίας στην Γ Γυμνασίου

Διαβάστε περισσότερα

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

1. ΕΙΣΑΓΩΓΗ 2. ΠΕΡΙΓΡΑΦΗ

1. ΕΙΣΑΓΩΓΗ 2. ΠΕΡΙΓΡΑΦΗ 1. ΕΙΣΑΓΩΓΗ Το πακέτο λογισµικού AuctionDesigner είναι ένα από τα πολλά πακέτα που έχουν σχεδιαστεί και µπορεί να παραγγείλει κανείς µέσω του Internet µε σκοπό να αναπτύξει εφαρµογές ηλεκτρονικού εµπορίου.

Διαβάστε περισσότερα

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45 Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45 ΤΟΜΟΣ Α «Ηλεκτρονικό Επιχειρείν» πηγή: ibm.com Ηλεκτρονικό Επιχειρείν Η εφαρμογή τεχνολογιών πληροφορίας και επικοινωνίας (ΤΠΕ) για

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Τεχνικές κατασκευής δένδρων επιθεµάτων πολύ µεγάλου µεγέθους και χρήσης

Διαβάστε περισσότερα

Εξατομίκευση (Personalization) Τεχνολογίες & Υπηρεσίες (ΙΙ)

Εξατομίκευση (Personalization) Τεχνολογίες & Υπηρεσίες (ΙΙ) Εξατομίκευση (Personalization) Τεχνολογίες & Υπηρεσίες (ΙΙ) Δρ. Δημήτριος Α. Κουτσομητρόπουλος Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Α.Τ.Ε.Ι. Πάτρας 2012-2013 Δομή Μαθήματος Τι

Διαβάστε περισσότερα

Ψηφιακή οργάνωση πολιτισμικής πληροφορίας

Ψηφιακή οργάνωση πολιτισμικής πληροφορίας Ψηφιακή οργάνωση πολιτισμικής πληροφορίας Πληροφορική, Νέες Tεχνολογίες και Μουσεία Ψηφιοποίηση Αρχειοθέτηση Παρουσίαση ΕΘΝΙΚΟ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΜΟΥΣΕΙΑΚΩΝ

Διαβάστε περισσότερα

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Συστήματα Υποστήριξης Αποφάσεων Τα Συστήματα Υποστήριξης Αποφάσεων (Σ.Υ.Α. - Decision Support Systems, D.S.S.) ορίζονται ως συστήματα

Διαβάστε περισσότερα

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΤΕΧΝΙΚΕΣ ΕΡΕΥΝΑΣ (# 252) Ε ΕΞΑΜΗΝΟ 9 η ΕΙΣΗΓΗΣΗ ΣΗΜΕΙΩΣΕΙΣ ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΛΙΓΗ ΘΕΩΡΙΑ Στην προηγούμενη διάλεξη μάθαμε ότι υπάρχουν διάφορες μορφές έρευνας

Διαβάστε περισσότερα

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

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

Ομαδοποίηση ΙΙ (Clustering) Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΑΡΚΕΤΙΝΓΚ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΑΡΚΕΤΙΝΓΚ Ενότητα 8: Search Engine Marketing Βλαχοπούλου Μάρω Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

V. Τμηματοποίηση Καταναλωτικής Αγοράς Η έννοια της τμηματοποίησης (κατάτμησης)

V. Τμηματοποίηση Καταναλωτικής Αγοράς Η έννοια της τμηματοποίησης (κατάτμησης) Η έννοια της τμηματοποίησης (κατάτμησης) 132 Βασικές έννοιες Το μάρκετινγκπρέπει να σχεδιάσει και να εφαρμόσει προγράμματα που ταιριάζουν με τους καταναλωτές, στα πεδίαπροϊόν, τιμή, διανομήκαι προβολή,

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου

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

Διαβάστε περισσότερα

Δρ. Δημήτρης Μπάλιος. Λογιστική και Χρηματοοικονομική (Π.Μ.Σ.) Συστήματα συγκέντρωσης κόστους. Κοστολόγηση και ποια η χρησιμότητά της

Δρ. Δημήτρης Μπάλιος. Λογιστική και Χρηματοοικονομική (Π.Μ.Σ.) Συστήματα συγκέντρωσης κόστους. Κοστολόγηση και ποια η χρησιμότητά της Λογιστική και Χρηματοοικονομική (Π.Μ.Σ.) Κοστολόγηση και ποια η χρησιμότητά της Συστήματα συγκέντρωσης Απορροφητική κοστολόγηση Κοστολόγηση Πλήρης (ή απορροφητική) κοστολόγηση Δρ. Δημήτρης Μπάλιος Κανονικό

Διαβάστε περισσότερα

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

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος 2.5 Σύστημα αρχειοθέτησης, έγγραφα και βάσεις δεδομένων 2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος Να είναι σε θέση να διατηρήσει ένα καθιερωμένο, ηλεκτρονικό και

Διαβάστε περισσότερα

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Oμαδοποίηση: Μέρος B http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

Κοστολόγηση κατά προϊόν ΛΟΓΙΣΤΙΚΗ ΚΟΣΤΟΥΣ Ι

Κοστολόγηση κατά προϊόν ΛΟΓΙΣΤΙΚΗ ΚΟΣΤΟΥΣ Ι ΛΟΓΙΣΤΙΚΗ ΚΟΣΤΟΥΣ Ι Εισαγωγή ΕΙΣΑΓΩΓΗ Έχουμε αναφέρει ότι η κοστολόγηση προϊόντος είναι η διαδικασία υπολογισμού και διανομής του κόστους παραγωγής στα παραγόμενα αγαθά Η κατανόηση της διαδικασίας αυτής

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

Πρόγραμμα Μεταπτυχιακών Σπουδών MA in Education (Education Sciences) ΑΣΠΑΙΤΕ-Roehampton ΠΜΣ MA in Education (Education Sciences) Το Μεταπτυχιακό Πρόγραμμα Σπουδών στην Εκπαίδευση (Επιστήμες της Αγωγής),

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Plus500UK Limited. Πολιτική Απορρήτου

Plus500UK Limited. Πολιτική Απορρήτου Plus500UK Limited Πολιτική Απορρήτου Πολιτική Απορρήτου Δήλωση Προστασίας Προσωπικών Δεδομένων της Plus500 Η προστασία της ιδιωτικής ζωής και της διαφύλαξης των προσωπικών και οικονομικών πληροφοριών των

Διαβάστε περισσότερα

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

ΕΠΙΔΡΩΝΤΕΣ ΠΑΡΑΓΟΝΤΕΣ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ ΜΑΡΚΕΤΙΝΓΚ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΜΑΡΚΕΤΙΝΓΚ Το Μάρκετινγκ αποτελεί μια βασική επιχειρηματική λειτουργία που έχει στόχο την ανάπτυξη, την οργάνωση και των έλεγχο ανταλλακτικών διαδικασιών μεταξύ της επιχείρησης και των

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

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

Μεθοδολογίες Αξιοποίησης Δεδομένων Μεθοδολογίες Αξιοποίησης Δεδομένων Βλάχος Σ. Ιωάννης Λέκτορας 407/80, Ιατρικής Σχολής Πανεπιστημίου Αθηνών Εργαστήριο Πειραματικής Χειρουργικής και Χειρουργικής Ερεύνης «Ν.Σ. Σ Χρηστέας» Στάδια Αξιοποίησης

Διαβάστε περισσότερα

Πολιτική Απορρήτου (07/2016)

Πολιτική Απορρήτου (07/2016) ΕΛΛΗΝΙΚΟ ΚΕΙΜΕΝΟ Πολιτική Απορρήτου (07/2016) Η CELLebrate είναι μια ιδιωτική εταιρεία με βάση το Ισραήλ, με κέντρο επιχειρηματικής δραστηριότητας στη διεύθυνση Box Office 211, Kiryat Chayim, Haifa. Η

Διαβάστε περισσότερα

Αυτόματο Σύστημα Εύρεσης και Κατηγοριοποίησης Ευκαιριών Εργασίας Μηχανικών (ΕΥΡΗΚΑ)

Αυτόματο Σύστημα Εύρεσης και Κατηγοριοποίησης Ευκαιριών Εργασίας Μηχανικών (ΕΥΡΗΚΑ) Αυτόματο Σύστημα Εύρεσης και Κατηγοριοποίησης Ευκαιριών Εργασίας Μηχανικών (ΕΥΡΗΚΑ) Λάζαρος Πολυμενάκος, καθηγητής ΑΙΤ Ηρακλής Καπρίτσας, telia.co.gr Βασίλης Κατσάρης, telia.co.gr Σύνοψη Το σύστημα ΕΥΡΗΚΑ

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Εκτίμηση αξίας ακινήτων με χρήση Συλλογιστικής Βασισμένης σε Περιπτώσεις (Case Based

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΜΟΣ ΕΝΟΣ INTERNET MARKETING PLAN

ΣΧΕΔΙΑΣΜΟΣ ΕΝΟΣ INTERNET MARKETING PLAN ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΑΦΡΟΔΙΤΗ ΜΑΛΑΜΑ ΣΧΕΔΙΑΣΜΟΣ ΕΝΟΣ INTERNET MARKETING PLAN Επιβλέπουσα Καθηγήτρια: κα Μάρω Βλαχοπούλου Εξεταστής:

Διαβάστε περισσότερα

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

Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining) Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining) Εξόρυξη Γνώσης από Χωρικά εδοµένα (spatial data mining) Γιάννης Θεοδωρίδης, Νίκος Πελέκης

Διαβάστε περισσότερα

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

Διαβάστε περισσότερα