ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ << ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΤΩΝ ΑΠΟΦΑΣΕΩΝ>> ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ << ΧΡΗΣΗ ΥΒΡΙΔΙΚΩΝ ΕΞΕΛΙΚΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΕ ON LINE >> ΔΑΝΕΛΑΤΟΣ ΕΥΑΓΓΕΛΟΣ Α.Μ. 139 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ : ΣΥΝΕΠΙΒΛΕΠΩΝ : ΛΥΚΟΘΑΝΑΣΗΣ ΣΠΥΡΙΔΩΝ ΜΠΕΛΗΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ << ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΤΩΝ ΑΠΟΦΑΣΕΩΝ>> ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ << ΧΡΗΣΗ ΥΒΡΙΔΙΚΩΝ ΕΞΕΛΙΚΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΕ ON LINE >> ΔΑΝΕΛΑΤΟΣ ΕΥΑΓΓΕΛΟΣ Α.Μ. 139 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ : ΣΥΝΕΠΙΒΛΕΠΩΝ : ΛΥΚΟΘΑΝΑΣΗΣ ΣΠΥΡΙΔΩΝ ΜΠΕΛΗΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ
Ευχαριστίες, Από την έναρξη του μεταπτυχιακού προγράμματος γνώριζα, ότι θα ακολουθούσε σκληρή δουλειά και ατελείωτες ώρες μελέτης. Συμπρωταγωνιστής στο δύσκολο αυτό έργο ήταν η οικογένεια μου. Είναι αδύνατο για εμένα να μην αναγνωρίσω την αμέριστη συμπαράστασή τους αυτά τα δύο χρόνια. Ένα τεράστιο ευχαριστώ στον πατέρα μου Άγγελο, την μητέρα μου Κατερίνα και την αδελφή μου Μάρω. Ευχαριστώ τον επιβλέποντα καθηγητή μου κ. Σπύρο Λυκοθανάσση για τους ορίζοντες που μου άνοιξε με την επιλογή ωφέλιμων ερευνητικών πεδίων και την στήριξη που μου πρόσφερε κατά την εκπόνηση της διπλωματικής εργασίας. Θα ήταν παράβλεψη να μην αναγνωρίσω την προσφορά του Δημήτρη Φωτάκη, η έρευνα του οποίου, λειτούργησε σαν οδηγός στην πορεία αυτής της εργασίας. Κλείνοντας, θα ήθελα να ευχαριστήσω τον συνεπιβλέποντα στη διπλωματική εργασία, Γρηγόρη Μπεληγιάννη του οποίου οι παρατηρήσεις, οι επισημάνσεις, οι διαφωνίες αλλά και ο καλός του λόγος έπαιξαν καθοριστικό ρόλο. Με εκτίμηση, Δανελάτος Ευάγγελος 1
2
ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦ.0 o ΕΙΣΑΓΩΓΗ......13 ΚΕΦ.1 o Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ...17 1.1. Εισαγωγή στην ομαδοποίηση...............19 1.2. Ιεραρχική ομαδοποίηση.........26 1.3. Διαμεριστική ομαδοποίηση....34 1.4. Ασαφής ομαδοποίηση...........37 1.5. Γενικά συμπεράσματα...39 ΚΕΦ.2 o ΕΞΕΛΙΚΤΙΚΟΙ ΚΑΙ ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ...41 2.1. Η διαδικασία της εξέλιξης.........43 2.2. Η επιστήμη της γενετικής...........45 2.3. Εξελικτικοί αλγόριθμοι...........49 2.4. Γενετικοί αλγόριθμοι......52 2.4.1. Η λογική των Γενετικών Αλγορίθμων......52 2.4.2. Τα στάδια λειτουργίας των Γενετικών Αλγορίθμων...55 2.5. Γενικά συμπεράσματα...60 ΚΕΦ.3 o ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΜΑΣ...61 3.1. On Line Facility Location-Meyerson.....63 3.2. Deterministic Facility Location....65. 3.3. Simplified Deterministic Facility Location.. 68 3.4. Ο Γενετικός Αλγόριθμος της εφαρμογής μας.........71 3.5. Γενικά Συμπεράσματα...81 ΚΕΦ.4 o ΟΙ ΥΒΡΙΔΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΜΑΣ...83 4.1. Hybrid Genetic-Meyerson...85 4.2. Hybrid Genetic-DFL...86 4.3. Hybrid Genetic-SDFL...88 4.4. Incremental Facility Location...89 4.5. Incremental Facility Location-Meyerson...93 4.6. Γενικά συμπεράσματα...97 3
ΚΕΦ.5 o ΠΕΡΙΒΑΛΛΟΝ ΥΛΟΠΟΙΗΣΗΣ...99 5.1. Η λειτουργία του προγράμματος...101 5.2. Από την ομαδοποίηση στην ταξινόμηση...,...108 5.3. Μορφές παραχθέντων αρχείων...111 5.3.1. Μορφή αρχείου εισόδου...,...111 5.3.2. Μορφή αρχείου εξόδου...113 5.3.3. Αρχείο αποτελέσματος ταξινόμησης...116 5.4. Γενικά συμπεράσματα...117 ΚΕΦ.6 o ΕΦΑΡΜΟΓΕΣ ΤΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣTO R 2 ΟΠΤΙΚΟΠΟΙΗΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ...119 6.1. Εφαρμογή του On Line Facility Location-Meyerson...123 6.2. Εφαρμογή του Deterministic Facility Location...128 6.3. Εφαρμογή του Simplified Deterministic Facility Location...134 6.4. Εφαρμογή του Hybrid Genetic-Meyerson...140 6.5. Εφαρμογή του Hybrid Genetic-DFL...144 6.6. Εφαρμογή του Hybrid Genetic-SDFL...148 6.7. Εφαρμογή του Incremental Facility Location...152 6.8. Εφαρμογή του Incremental Facility Location-Meyerson.158 6.9. Συγκεντρωτικοί πίνακες αποτελεσμάτων και γραφήματα...163 6.10. Γενικά συμπεράσματα...170 ΚΕΦ.7 o ΔΥΟ ΕΦΑΡΜΟΓΕΣ ΤΑΞΙΝΟΜΗΣΗΣ...171 7.1. Περιγραφή των εφαρμογών...173 7.2. Ταξινόμηση με βάση τον On Line Facility Location- Meyerson 182 7.2.1. Χρήση του On Line Facility Location-Meyerson στην 1 η εφαρμογή...182 7.2.2. Χρήση του On Line Facility Location-Meyerson στην 2 η εφαρμογή...188 7.3. Ταξινόμηση με βάση τον Deterministic Facility Location...189 7.3.1. Χρήση του Deterministic Facility Location στην 1 η Εφαρμογή...189 4
7.3.2. Χρήση του Deterministic Facility Location στην 2 η Εφαρμογή...195 7.4. Ταξινόμηση με βάση τον Simplified Deterministic Facility Location...196 7.4.1. Χρήση του Simplified Deterministic Facility Location στην 1 η εφαρμογή...196 7.4.2. Χρήση του Simplified Deterministic Facility Location στην 2 η εφαρμογή...202 7.5. Ταξινόμηση με βάση τον Hybrid Genetic-Meyerson...204 7.5.1. Χρήση του Hybrid Genetic-Meyerson στην 1 η εφαρμογή...204 7.5.2. Χρήση του Hybrid Genetic-Meyerson στην 2 η εφαρμογή...209 7.6. Ταξινόμηση με βάση τον Hybrid Genetic-DFL...210 7.6.1. Χρήση του Hybrid Genetic-DFL στην 1 η εφαρμογή...210 7.6.2. Χρήση του Hybrid Genetic-DFL στην 2 η εφαρμογή...215 7.7. Ταξινόμηση με βάση τον Hybrid Genetic-SDFL...216 7.7.1. Χρήση του Hybrid Genetic-SDFL στην 1 η εφαρμογή...216 7.7.2. Χρήση του Hybrid Genetic-SDFL στην 2 η εφαρμογή...221 7.8. Ταξινόμηση με βάση τον Incremental Facility Location...222 7.8.1. Χρήση του Incremental Facility Location στην 1 η εφαρμογή...222 7.8.2. Χρήση του Incremental Facility Location στην 2 η εφαρμογή...228 7.9. Ταξινόμηση με βάση τον Incremental Facility Location- Meyerson...229 7.9.1. Χρήση του Incremental Facility Location- Meyerson στην 1 η εφαρμογή...229 7.9.2. Χρήση του Incremental Facility Location- Meyerson στην 2 η εφαρμογή... 235 5
7.10. Συγκριτικά γραφήματα απόδοσης αλγορίθμων... 249 7.11. Γενικά συμπεράσματα...259 ΚΕΦ.8 o ΣΥΜΠΕΡΑΣΜΑΤΑ...261 8.1. Συμπεράσματα από την υλοποίηση των αλγορίθμων...263 8.2. Συμπεράσματα από την ομαδοποίηση των τεχνητών δεδομένων...264 8.3. Συμπεράσματα από τις δύο εφαρμογές ταξινόμησης...269 8.4. Προτάσεις για περαιτέρω έρευνα...276 ΒΙΒΛΙΟΓΡΑΦΙΑ...277 6
ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ 1.1.1. Πίνακας για εύρεση απόστασης τροποποίησης δύο λέξεων...22 1.1.2. Πίνακας για εύρεση απόστασης Hamming δύο strings...23 1.2.1. Δενδρόγραμμα ιεραρχικής ομαδοποίησης...26 1.2.2. Παράδειγμα απόστασης δύο ομάδων αλγορίθμου απλού συνδέσμου (single-linkage)...27 1.2.3. Παράδειγμα απόστασης δύο ομάδων αλγορίθμου ολοκληρωμένου συνδέσμου (complete-linkage)...27 1.4.1. Συνάρτηση συμμετοχής σε απόλυτο αλγόριθμο ομαδοποίησης...37 1.4.2. Συνάρτηση συμμετοχής σε ασαφή αλγόριθμο ομαδοποίησης...37 2.4.2.1.Διασταύρωση χρωμοσωμάτων σε ένα σημείο...57 2.4.2.2.Διασταύρωση χρωμοσωμάτων σε δύο σημεία...58 2.4.2.3.Δενδρική διασταύρωση...59 3.5.1. Λειτουργία γενετικού αλγορίθμου...72 3.5.2. Πίνακας αποστάσεων των facilities της λύσης Α από τις facilities της λύσης Β...74 5.1.1. Γραφικό περιβάλλον αλγορίθμων...101 5.1.2. Επιλογή ενός εκ των τριών υβριδικών αλγορίθμων...103 5.1.3. Ειδοποίηση επιτυχούς τερματισμού του αλγορίθμου...104 5.1.4. Πληροφορίες για το πραγματικό κόστος, το βέλτιστο κόστος και τον χρόνο εκτέλεσης...104 5.1.5. Ειδοποίηση για το πόσες φορές επεμβαίνει ο γενετικός Αλγόριθμος...105 5.1.6. Στιγμιότυπο ομαδοποίησης διανυσμάτων του R 2...106 7
5.2.1. Μετάβαση από την ομαδοποίηση στην ταξινόμηση...109 5.3.1.1.Μορφή αρχείου εισόδου...111 5.3.1.2.Μορφή αρχείου εισόδου με ταξινομημένα διανύσματα σε δύο ομάδες (0 και 1)...112 5.3.2.1.Μορφή αρχείου εξόδου...114 5.3.3.1.Τελική ταξινόμηση (αρχείο datasort.txt)...116 6.1.2. Στιγμιότυπο ομαδοποίησης του OFL με f w =200...123 6.1.4. Στιγμιότυπο ομαδοποίησης του OFL με f w =400...125 6.1.6. Στιγμιότυπο ομαδοποίησης του OFL με f w =600...127 6.2.2. Στιγμιότυπο ομαδοποίησης του DFL με f w =200...129 6.2.4. Στιγμιότυπο ομαδοποίησης του DFL με f w =400...131 6.2.6. Στιγμιότυπο ομαδοποίησης του DFL με f w =600...133 6.3.2. Στιγμιότυπο ομαδοποίησης του SDFL με f w =200...135 6.3.4. Στιγμιότυπο ομαδοποίησης του SDFL με f w =400...137 6.3.6. Στιγμιότυπο ομαδοποίησης του SDFL με f w =600...138 6.4.3. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-Meyerson με f w =100...141 6.4.6. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-Meyerson με f w =200...143 6.5.3. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-DFL με f w =100...145 8
6.5.6. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-DFL με f w =200...147 6.6.3. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-SDFL με f w =100...149 6.6.6. Στιγμιότυπο ομαδοποίησης του Hybrid Genetic-SDFL με f w =200...151 6.7.2. Στιγμιότυπο ομαδοποίησης του IFL με f w =200...152 6.7.4. Στιγμιότυπο ομαδοποίησης του IFL με f w =400...154 6.7.5. Στιγμιότυπο ομαδοποίησης με χρήση του SDFL, f w =400...155 6.7.7. Στιγμιότυπο ομαδοποίησης του IFL με f w =600...156 6.8.2. Στιγμιότυπο ομαδοποίησης του IFL-Meyerson με f w =200...158 6.8.4. Στιγμιότυπο ομαδοποίησης του IFL-Meyerson με f w =400...160 6.8.6. Στιγμιότυπο ομαδοποίησης του IFL-Meyerson με f w =600...162 6.9. Συγκεντρωτικοί πίνακες αποτελεσμάτων και γραφήματα...163 1.1. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (1 η εφαρμογή, Fw = 200)...249 1.2. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (1 η εφαρμογή, Fw = 200)..249 1.3. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (1 η εφαρμογή, Fw = 500)...250 9
1.4. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (1 η εφαρμογή, Fw = 500)...250 1.5. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (1 η εφαρμογή, Fw = 1.000)...251 1.6. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (1 η εφαρμογή, Fw = 1.000)...251 1.7. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file(1 η εφαρμογή, Fw = 4.000)...252 1.8. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (1 η εφαρμογή, Fw = 4.000)...252 2.1. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (2 η εφαρμογή, Fw = 200)...253 2.2. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (2 η εφαρμογή, Fw = 200)...253 2.3. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (2 η εφαρμογή, Fw = 500)...254 10
2.4. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (2 η εφαρμογή, Fw = 500)...254 2.5. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (2 η εφαρμογή, Fw = 1.000)...255 2.6. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (2 η εφαρμογή, Fw = 1.000)...255 2.7. Γράφημα που φαίνεται το πλήθος των ομάδων που δημιούργησε ο κάθε αλγόριθμος κατά την ομαδοποίηση του train file (2 η εφαρμογή, Fw = 4.000)...256 2.8. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου και με τα δύο test (2 η εφαρμογή, Fw = 4.000)...256 3.1. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου αυξανομένου του Fw (test 1, πρώτη εφαρμογή)...257 3.2. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου αυξανομένου του Fw (test 2, πρώτη εφαρμογή)...257 11
3.3. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου αυξανομένου του Fw (test 1, δεύτερη εφαρμογή)...258 3.4. Γράφημα που φαίνεται το % ποσοστό επιτυχούς ταξινόμησης του κάθε αλγορίθμου αυξανομένου του Fw (test 2, δεύτερη εφαρμογή)...258 12
ΕΙΣΑΓΩΓΗ ΚΕΦ.Ο ΕΙΣΑΓΩΓΗ Η ομαδοποίηση δεδομένων (data clustering), χρησιμοποιείται ευρέως σε διάφορα παιδία όπως η Στατιστική, η Τεχνολογία Λογισμικού, η Βιολογία, η Ψυχολογία, το Μάρκετινγκ, η έρευνα επιχειρήσεων και άλλες κοινωνικές επιστήμες. Σκοπός είναι να προσδιοριστούν οι ομάδες που ανήκουν διάφορες ποσότητες δεδομένων, με βάση κάποια κριτήρια ομοιογένειας. Η διαφορά της ομαδοποίησης δεδομένων (data clustering) με την ταξινόμηση δεδομένων (classification) είναι ότι στην ταξινόμηση οι ομάδες στις οποίες θα τοποθετηθούν τα δεδομένα είναι προκαθορισμένες. Αυτό σημαίνει ότι γνωρίζουμε εκ των προτέρων τον αριθμό των ομάδων, τα ονόματα και τις ταυτότητές τους. Είναι και αυτό ένα σύστημα μάθησης μιας και οι ετικέτες που δίνονται από τα διαθέσιμα πρότυπα χρησιμοποιούνται ώστε να μάθει το σύστημα ταξινόμησης την περιγραφή κάθε κλάσης και να είναι σε θέση να ταξινομήσει ένα νέο πρότυπο. Στην ομαδοποίηση δεδομένων έχουμε ένα σύνολο δεδομένων το οποίο και θέλουμε να διαχειριστούμε. Σκοπός μας είναι να δημιουργήσουμε ομάδες,όπου κάθε μία από αυτές θα συγκεντρώνει ομοιογενή στοιχεία. Τις ομάδες αυτές δεν τις γνωρίζουμε εκ των προτέρων. Κάθε μία από αυτές τις ομάδες διατηρεί ένα κέντρο, συνήθως το πιο κεντρικό στοιχείο της. Στη συγκεκριμένη εργασία ασχολούμαστε με την επίλυση on line προβλημάτων ομαδοποίησης. Στη μορφή αυτή του προβλήματος έχοντας ένα σύνολο δεδομένων, τα στοιχεία του συνόλου καταφθάνουν ένα κάθε φορά, αφαιρώντας τη δυνατότητα από το σύστημα να δει τη γενικότερη τοπολογία τους και να παράγει το ιδανικό σύνολο προσωρινών (ή μη) κέντρων των ομάδων (facilities) κάνοντας παράλληλα και τις σωστές αναθέσεις. Έτσι με την εμφάνιση κάθε νέου σημείου υπάρχουν δυο επιλογές: Η μια είναι να το αναθέσουμε στην πλησιέστερη ομάδα πληρώνοντας το κόστος ανάθεσης και η άλλη είναι να ιδρύσουμε στη θέση του μια νέα ομάδα (με προσωρινό κέντρο το σημείο αυτό) πληρώνοντας το κόστος αυτής της ίδρυσης. Σκοπός της εργασίας μας Η δουλειά σε αυτή την εργασία επικεντρώνεται στα εξής σημεία: 1) Υλοποιούμε σε Visual C++, οχτώ αλγορίθμους που εφαρμόζονται σε on line προβλήματα ομαδοποίησης. Το πρόγραμμα είναι δυναμικού χαρακτήρα. Αυτό σημαίνει ότι μας παρέχει τη δυνατότητα να εφαρμόσουμε τους αλγορίθμους της εφαρμογής μας για οποιοδήποτε σύνολο αριθμητικών δεδομένων με συγκεκριμένη δομή του αρχείου εισόδου (format) και να δίνουμε διαφορετικές τιμές σε ορισμένες 13
ΕΙΣΑΓΩΓΗ ΚΕΦ.Ο μεταβλητές. Πιο συγκεκριμένα οι αλγόριθμοι της εφαρμογής μας έχουν ως εξής: Ο On line Facility Location (OFL) παρουσιάστηκε από τον Adam Meyerson. Χρησιμοποιεί ένα απλό σκεπτικό επιτυγχάνοντας πολύ καλά αποτελέσματα ομαδοποίησης. Ο Deterministic Facility Location (DFL) παρουσιάστηκε από τον Δημήτρη Φωτάκη. Είναι ένας σύνθετος αλγόριθμος που εξετάζει αναλυτικά που θα ιδρυθεί κάποια ομάδα και ποιο θα είναι το κέντρο της. Ο Simplified Deterministic Facility Location (SDFL) αποτελεί μια απλοποιημένη μορφή του Deterministic Facility Location δίνοντας με αυτό τον τρόπο έμφαση στην εκτέλεση του αλγορίθμου σε σύντομο χρονικό διάστημα και όχι τόσο στην ποιότητα της λύσης. Ο Hybrid Genetic-Meyerson είναι ένας υβριδικός αλγόριθμος. Σε πρώτη φάση χρησιμοποιεί τον αλγόριθμο On Line Facility Location (OFL) του Adam Meyerson. Ο OFL είναι υπεύθυνος για την ίδρυση των ομάδων. Οι λύσεις που θα προκύψουν παραλαμβάνονται σε δεύτερη φάση από έναν γενετικό αλγόριθμο ειδικά διαμορφωμένο για τέτοιου είδους εφαρμογές, ο οποίος αναλαμβάνει να κλείσει τις περιττές ομάδες. Ο Hybrid Genetic-DFL είναι και αυτός υβριδικός αλγόριθμος που συνδυάζει τον Deterministic Facility Location (DFL) του Δημήτρη Φωτάκη και τον γενετικό αλγόριθμο της εφαρμογής μας. Η λογική των δύο αλγορίθμων είναι η ίδια με αυτή του Hybrid Genetic-Meyerson. Ο Hybrid Genetic-SDFL είναι ένας υβριδικός αλγόριθμος που σε πρώτη φάση χρησιμοποιεί τον αλγόριθμο Simplified Deterministic Facility Location (SDFL). Και εδώ η χρήση του γενετικού παραμένει η ίδια. Οι αλγόριθμοι Incremental Facility Location (IFL) και IFL-Meyerson δεν χρησιμοποιούν καθόλου τον γενετικό αλγόριθμο της εφαρμογής μας. Υπεύθυνοι αλγόριθμοι για την ίδρυση των ομάδων είναι οι SDFL και OFL αντίστοιχα. Επίσης διαθέτουν ενσωματωμένο μηχανισμό διαφορετικής λογικής, ο οποίος αναλαμβάνει να κλείσει τις περιττές ομάδες. 2) Δημιουργούμε τρεις νέες υβριδικές μορφές αλγορίθμων που ενσωματώνουν μια παραλλαγή γενετικού αλγορίθμου με στοιχεία από εξελικτικές στρατηγικές. Το ζητούμενο είναι να βρεθεί ένας τρόπος ώστε οι αλγόριθμοι να διατηρούν μια ισορροπία στον αριθμό των κέντρων των ομάδων που διατηρούμε κατά την εκτέλεσή τους. Πρακτικά αυτό σημαίνει ότι πρέπει να διαθέτουν έναν μηχανισμό που ιδρύει ομάδες όπου κρίνεται σκόπιμο και έναν άλλο που αναλαμβάνει να κλείσει τις περιττές. Αυτό είναι αναγκαίο να γίνει διότι οι αλγόριθμοι αυτοί καλούνται να ανταπεξέλθουν σε ένα πρακτικά άπειρο σύνολο δεδομένων που τροφοδοτεί το σύστημα με υψηλούς ρυθμούς. Η παραπάνω λογική πραγματοποιείται με τους Hybrid-Genetic Meyerson, Hybrid-Genetic DFL και Hybrid-Genetic 14
ΕΙΣΑΓΩΓΗ ΚΕΦ.Ο SDFL. Ο γενετικός αλγόριθμος της εφαρμογής μας πραγματοποιεί το στάδιο της επιλογής μετά τα στάδια της διασταύρωσης και μετάλλαξης, στοιχείο από εξελικτικές στρατηγικές (στις εξελικτικές στρατηγικές συνήθως δεν έχουμε το στάδιο της διασταύρωσης). 3) Εφαρμόζουμε τους παραπάνω αλγορίθμους σε τεχνητά δεδομένα που παράγει μια γεννήτρια τυχαίων αριθμών και καταγράφουμε την αποτελεσματικότητά τους όσον αφορά την ομοιογένεια της ομαδοποίησης, το κόστος κάθε λύσης (πραγματικό και βέλτιστο κόστος) αλλά και την πολυπλοκότητα χρόνου της κάθε εφαρμογής. Ομαδοποιούμε διανύσματα του R 2 έτσι ώστε να βλέπουμε τα στιγμιότυπα ομαδοποίησης (μας παρέχεται αυτή η δυνατότητα από το πρόγραμμα). 4) Μεταβαίνουμε από την ομαδοποίηση στην ταξινόμηση χρησιμοποιώντας τους ίδιους αλγορίθμους. Έτσι πετυχαίνουμε να έχουμε οχτώ αλγορίθμους οι οποίοι επιλύουν on line προβλήματα ομαδοποίησης αλλά και προβλήματα ταξινόμησης. 5) Εφαρμόζουμε τους αλγορίθμους αυτούς σε δύο προβλήματα ταξινόμησης του πραγματικού κόσμου με πολύ καλά αποτελέσματα (έως 94% επιτυχής ταξινόμηση για το πρώτο πρόβλημα και έως 66% για το δεύτερο) Πιο συγκεκριμένα: Στο 1 o κεφάλαιο αναφερόμαστε γενικά στις τεχνικές που χρησιμοποιούμε για να επιλύσουμε διαφόρων κατηγοριών προβλήματα ομαδοποίησης. Αναλύουμε τα κριτήρια ομοιογένειας ή και ανομοιογένειας που εφαρμόζουμε για να επιτύχουμε όσο το δυνατό καλύτερο διαχωρισμό του συνόλου των δεδομένων τα οποία θέλουμε να ομαδοποιήσουμε. Στο 2 o κεφάλαιο περιγράφουμε την λογική των εξελικτικών και γενετικών αλγορίθμων. Για να γίνει πιο κατανοητή, παραθέτουμε κάποιες έννοιες και λογικές από την διαδικασία της εξέλιξης και της γενετικής. Είναι προφανές ότι οι γενετικοί αλγόριθμοι είναι εμπνευσμένοι από τη φύση μιας και τα στάδια λειτουργίας τους αντιγράφουν τον τρόπο με τον οποίο εξελίσσονται όλοι οι ζωντανοί οργανισμοί. Στο 3 o κεφάλαιο περιγράφουμε βήμα προς βήμα τέσσερις αλγόριθμους (εκ των οποίων και μια παραλλαγή γενετικού αλγορίθμου) που θα υλοποιήσουμε και θα εφαρμόσουμε σε on line προβλήματα ομαδοποίησης αλλά και σε προβλήματα ταξινόμησης. Οι αλγόριθμοι αυτοί θα χρησιμοποιηθούν και για την δημιουργία των υβριδικών αλγορίθμων της εφαρμογής μας. Στο 4 o κεφάλαιο περιγράφουμε τους υβριδικούς αλγόριθμους της εφαρμογής μας, πέντε στο σύνολο. Σε τρεις από αυτούς συμμετέχει και ο γενετικός. 15
ΕΙΣΑΓΩΓΗ ΚΕΦ.Ο Στο 5 o κεφάλαιο δίνουμε πληροφορίες για το περιβάλλον υλοποίησης των αλγορίθμων (πως εισάγονται τα δεδομένα, πως λειτουργεί ο κάθε αλγόριθμος, τι παίρνουμε σαν έξοδο). Μια ξεχωριστή παράγραφος είναι αυτή που περιγράφει τον τρόπο μετάβασης από την ομαδοποίηση στην ταξινόμηση και την περιγραφή του αντίστοιχου γραφικού. Το κομμάτι αυτό θα μας χρησιμεύσει στο 7 o κεφάλαιο όπου θα ελέγξουμε την αποτελεσματικότητα των αλγορίθμων μας σε ταξινομημένα δεδομένα. Στο 6 o κεφάλαιο εφαρμόζουμε τους πέντε βασικούς αλγορίθμους της εργασίας μας αλλά και άλλους τρεις που αναφέρονται στο τρίτο κεφάλαιο. Οι εφαρμογές γίνονται σε διάφορα σύνολα δεδομένων που παράγει μια γεννήτρια τυχαίων αριθμών. Έπειτα παραθέτουμε συγκεντρωτικούς πίνακες και γραφήματα με τα συμπεράσματα στα οποία καταλήξαμε μετά το κάθε πείραμα. Στο 7 o κεφάλαιο εφαρμόζουμε όλους τους αλγόριθμους σε δύο προβλήματα του πραγματικού κόσμου. Τα σύνολα αυτά περιέχουν στοιχεία ταξινομημένα σε δύο κατηγορίες (αποτελούνται από διάφορα train files και test files). Υπενθυμίζουμε τον τρόπο μετάβασης από την ομαδοποίηση στην ταξινόμηση (γίνεται πλήρης περιγραφή στο 5 o κεφάλαιο) και καταγράφουμε τα αποτελέσματα των αλγορίθμων μας σε συγκεντρωτικούς πίνακες και γραφήματα, όσον αφορά το ποσοστό επιτυχούς ταξινόμησης, την πολυπλοκότητα χρόνου, πόσες φορές παρεμβαίνει ο γενετικός αλγόριθμος, το πραγματικό και βέλτιστο κόστος της κάθε εφαρμογής. Στο 8 o κεφάλαιο παραθέτουμε κάποια συμπεράσματα στα οποία καταλήξαμε και προτάσεις για περαιτέρω έρευνα. 16
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O ΚΕΦΑΛΑΙΟ 1 O : Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ 1.1. Εισαγωγή στην ομαδοποίηση 1.2. Ιεραρχική ομαδοποίηση 1.3. Διαμεριστική ομαδοποίηση 1.4. Ασαφής ομαδοποίηση 1.5. Γενικά συμπεράσματα 17
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 18
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ 1.1. Εισαγωγή στην ομαδοποίηση Το πρόβλημα της ομαδοποίησης Τα προβλήματα ομαδοποίησης είναι από τα πλέον διαδεδομένα και ταχέως αναπτυσσόμενα τα τελευταία χρόνια. Φυσικά το γεγονός αυτό δεν είναι τυχαίο μιας και η τεχνική της ομαδοποίησης εφαρμόζεται σε πολλά προβλήματα της σύγχρονης εποχής και δίνει λύσεις. Προφανώς είναι μία τεχνική που βοηθάει στη λήψη αποφάσεων. Η ποικιλία των εφαρμογών της ομαδοποίησης είναι μεγάλη. Στην ιατρική χρησιμοποιείται για την κατηγοριοποίηση των ασθενών ανάλογα με την σοβαρότητα της κατάστασής τους. Επίσης στον ίδιο κλάδο μπορεί να χρησιμοποιηθεί για τον εντοπισμό ασθενειών ή μολυσμένων κυττάρων. Στον κλάδο της αστρονομίας για κατηγοριοποίηση των ουράνιων σωμάτων. Φυσικά στον τομέα της διοίκησης επιχειρήσεων στην ανάλυση ενός μεγάλου συνόλου πελατών κ.ο.κ. Φυσικά η τεχνική της ομαδοποίησης σχετίζεται άμεσα και με την τεχνική της βελτιστοποίησης και έτσι οι εφαρμογές της πολλαπλασιάζονται σε εύρεση ομοιογενών ομάδων στοιχείων με πληρωμή ελάχιστου κόστους, μέγιστου κέρδους, μικρότερης δυνατής διαδρομής κ. ο. κ. Το πρόβλημα της ομαδοποίησης (clustering), μπορούμε να το εκφράσουμε μαθηματικά ως εξής: Έστω το σύνολο των δεδομένων (data file) Χ = {x i R Κ, κ =1,2, / i = 1,2... n}. Έστω το σύνολο των ομάδων C = {c j / j = 1, 2... m} και m > 1, τέτοιο ώστε κάθε x i να ανήκει σε κάποιο c j. Πρακτικά έχουμε ένα μεγάλο σύνολο δεδομένων το οποίο και θέλουμε να διαχειριστούμε. Σκοπός μας είναι να δημιουργήσουμε ομάδες, όπου κάθε μία από αυτές θα συγκεντρώνει ομοιογενή στοιχεία. Κάθε μία από αυτές τις ομάδες διατηρεί ένα κέντρο, συνήθως το πιο κεντρικό στοιχείο. Η αποδοτικότητα των αλγορίθμων ομαδοποίησης σχετίζεται άμεσα με το είδος των δεδομένων που θα διαχειριστούν καθώς και με τα κριτήρια ομοιογένειας ή ανομοιογένειας που θα χρησιμοποιηθούν. Ανάλογα με το πώς παρουσιάζεται το σύνολο των δεδομένων, τα κριτήρια αυτά διαφέρουν μεταξύ τους. 19
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Στάδια ομαδοποίησης Για την επίλυση ενός προβλήματος ομαδοποίησης δεδομένων, συνήθως ακολουθούμε τα παρακάτω βήματα: 1. Αναπαράσταση προτύπων 2. Μέτρο εγγύτητας 3. Τεχνική ομαδοποίησης των δεδομένων 4. Αφαίρεση δεδομένων 5. Αποτίμηση του τελικού αποτελέσματος Παρακάτω περιγράφουμε αναλυτικά τα βήματα αυτά. Αναπαράσταση προτύπων Στο βήμα αυτό βλέπουμε την μορφή με την οποία παρουσιάζονται τα δεδομένα που θέλουμε να ομαδοποιήσουμε. Η ομαδοποίηση μπορεί να αναφέρεται σε αριθμητικά δεδομένα, σε κατηγορικά, σε εικόνα Η αναπαράσταση προτύπων μπορεί να περιλαμβάνει επιπλέον δύο υποστάδια. Το πρώτο λέγεται Επιλογή χαρακτηριστικών και είναι υπεύθυνο να επιλέξει μόνο τα κατάλληλα χαρακτηριστικά από κάθε στοιχείο των δεδομένων. Τα υπόλοιπα μπορεί να κριθούν άσκοπα και να μην βοηθάνε στην εν λόγω ομαδοποίηση (αν τα λάβουμε υπόψη θα καθυστερήσουν τη διαδικασία της ομαδοποίησης χωρίς να δίνουν σημαντικές πληροφορίες). Το δεύτερο λέγεται Εξαγωγή χαρακτηριστικών και είναι υπεύθυνο για τη δημιουργία νέων χαρακτηριστικών από τα ήδη υπάρχοντα. Μέτρο εγγύτητας Όπως είπαμε και παραπάνω το πόσο επιτυχημένο είναι το αποτέλεσμα μιας ομαδοποίησης δεδομένων [1],[2], εξαρτάται από τα κριτήρια που θα χρησιμοποιήσουμε για τον διαχωρισμό των στοιχείων σε ομάδες. Η σωστή επιλογή των κριτηρίων αυτών είναι ένα πολύ σημαντικό ζήτημα. Το πιο σύνηθες κριτήριο που χρησιμοποιούμε,είναι η απόσταση μεταξύ των στοιχείων του συνόλου δεδομένων που διαθέτουμε. Προφανώς η επιλογή του μέτρου ή της μετρικής εξαρτάται άμεσα και από τον τύπο των χαρακτηριστικών που αναλύουμε. Αν το σύνολο δεδομένων που έχουμε να ομαδοποιήσουμε είναι κατηγορικού περιεχομένου (ονομαστικά, μη αριθμητικά) τότε δεν μπορούμε να χρησιμοποιήσουμε μέτρα ανομοιότητας που απαιτούν γεωμετρική αναπαράσταση των δεδομένων. Παρακάτω παρουσιάζουμε κάποια από τα πιο δημοφιλή κριτήρια ομοιότητας ανομοιότητας. 20
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Στην περίπτωση όπου τα δεδομένα που έχουμε να ομαδοποιήσουμε είναι αριθμητικά, χρησιμοποιούμε τις πιο γνωστές μετρικές. Αυτές είναι: Ευκλείδεια απόσταση Έστω x = (x 1,x 2,,x ν ) και y = (y 1,y 2,,y ν ),δύο διανύσματα του χώρου R ν.η ευκλείδεια απόσταση μεταξύ τους ορίζεται ως εξής: Προφανώς και σε αυτή την περίπτωση αλλά και στις παρακάτω όσο μεγαλύτερο είναι το d(x,y), τόσο αυξάνει η πιθανότητα τα δύο διανύσματα x και y να τοποθετηθούν σε διαφορετικές ομάδες (clusters). Απόσταση Minkowski: Έστω x = (x 1,x 2,,x ν ) και y = (y 1,y 2,,y ν ),δύο διανύσματα του χώρου R ν. Η απόσταση Minkowski ορίζεται από την παρακάτω σχέση: Προφανώς για p=2 καταλήγουμε στην ευκλείδεια απόσταση. Απόσταση Manhattan: Έστω x = (x 1,x 2,,x ν ) και y = (y 1,y 2,,y ν ), δύο διανύσματα του χώρου R ν. Η απόσταση Manhattan ορίζεται από την σχέση: Παρατηρούμε ότι η απόσταση Manhattan πηγάζει από τον τύπο της απόστασης Minkowski για p=1. Μέγιστη απόσταση: Έστω x = (x 1,x 2,,x ν ) και y = (y 1,y 2,,y ν ), δύο διανύσματα του χώρου R ν. Η μέγιστη απόσταση σημειώνεται ως εξής: 21
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Φυσικά υπάρχει περίπτωση τα δεδομένα να μην είναι αριθμητικά αλλά κατηγορικού περιεχομένου ή και μικτά πολλές φορές. Σε αυτές τις περιπτώσεις δεν έχουν νόημα οι παραπάνω μετρικές και χρησιμοποιούμε διαφορετικές τεχνικές. Έστω ότι θέλουμε να συγκρίνουμε αλφαριθμητικά δεδομένα. Τα δεδομένα αυτά μπορεί να περιλαμβάνουν μόνο λέξεις ή συνδυασμό λέξεων και αριθμών. Η ομοιότητα των αλφαριθμητικών διατάξεων και ο υπολογισμός της βρίσκει πολλές εφαρμογές σε διάφορα επιστημονικά πεδία εκ των οποίων ένα πολύ σημαντικό είναι η Βιολογία. Απαραίτητη προϋπόθεση για τη σύγκριση αυτού του είδους των δεδομένων είναι να χρησιμοποιείται το ίδιο αλφάβητο για όλα. Τα πιο γνωστά μέτρα ομοιότητας είναι: Απόσταση Τροποποίησης (Edit Distance): Έστω ότι έχουμε να συγκρίνουμε δύο λέξεις οι οποίες χρησιμοποιούν το ίδιο αλφάβητο. Η απόσταση των δύο αυτών λέξεων θα ισούται με το πλήθος των τροποποιήσεων που πρέπει να κάνουμε σε μία εξ αυτών έτσι ώστε οι δύο λέξεις να ταυτιστούν. Έστω ότι θέλουμε να βρούμε την απόσταση μεταξύ των λέξεων Garamond και Gautami (γνωστές γραμματοσειρές του Microsoft Word). Δημιουργούμε τον παρακάτω πίνακα: 1.1.1. Πίνακας για εύρεση απόστασης τροποποίησης δύο λέξεων Στην πρώτη γραμμή του πίνακα τοποθετούμε την μία λέξη ενώ στις υπόλοιπες φαίνεται η σταδιακή τροποποίηση της μέχρι να ταυτιστεί με την άλλη. Παρατηρούμε ότι χρειάστηκαν πέντε αλλαγές γραμμάτων και μία διαγραφή. Στην δεύτερη γραμμή αλλάξαμε το r με το u. Στην τρίτη γραμμή αλλάξαμε το a με το t ενώ στην τέταρτη το με το m με το a. Στην πέμπτη γραμμή αλλάξαμε το o με το m και στην έκτη το n με το i. Τέλος διαγράψαμε το d. Συνολικά έχουμε πέντε αλλαγές ψηφίων και μία διαγραφή. Επομένως η απόσταση των δύο λέξεων είναι ίση με 6. 22
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Απόσταση Hamming: Η απόσταση Hamming χρησιμοποιείται όταν θέλουμε να συγκρίνουμε δύο strings που να έχουν το ίδιο μήκος. Παρακάτω δίνουμε ένα παράδειγμα για να δούμε τον τρόπο με τον οποίο υπολογίζεται η απόσταση αυτή. Έστω ότι θέλουμε να συγκρίνουμε το GOR234 με το GHT335. Η απόσταση Hamming συγκρίνει το πρώτο στοιχείο του ενός string με το πρώτο στοιχείο του άλλου, το δεύτερο του ενός με το δεύτερο του άλλου κ.ο.κ. 1.1.2. Πίνακας για εύρεση απόστασης Hamming δύο strings Σύμφωνα με τα παραπάνω η απόσταση Hamming στο παραπάνω παράδειγμα είναι 4. Οι δυο παραπάνω μέθοδοι παρουσιάζουν κάποια ελαττώματα. Μπορεί να συγκρίνουν επιτυχώς δυο strings εάν ταιριάζουν αλλά στην πραγματικότητα, αυτά που τα δυο strings αντιπροσωπεύουν, δεν είναι αναγκαίο ότι θα μοιάζουν. Για παράδειγμα έστω ότι έχουμε τα εξής τρία strings: Α156, Α143 και Σ143. Έστω ότι οι κωδικοί αυτοί αντιπροσωπεύουν τον αριθμό ταυτότητας (id number) τριών βιβλίων κάποιας βιβλιοθήκης. Τα βιβλία έχουν ως θέμα τους την ιστορία της αρχαίας Αθήνας το πρώτο, την ιστορία των Περσικών Πολέμων το δεύτερο, ενώ το τρίτο έχει ως θέμα του τη Γραμμική Άλγεβρα. Προφανώς αν δούμε την οργάνωση της βιβλιοθήκης ως δένδρο τα strings Α176 και Α143 είναι «απόγονοι» του κόμβου Α1 που αναφέρεται στην αρχαία ελληνική ιστορία. Από την άλλη το Σ143 είναι «απόγονος» του κόμβου Σ1 που αναφέρεται στην Άλγεβρα. Επομένως θα περιμένουμε το string Α143 να έχει ως πλησιέστερο γείτονά του το Α156 από το Σ143. Στην πραγματικότητα όμως η απόσταση edit και η απόσταση Hamming δίνουν και οι δυο απόσταση 2 για τον πρώτο γείτονα και απόσταση 1 για τον δεύτερο. Λύση μπορεί να αποτελέσει ένα άλλο μέτρο. Αυτό προτείνει ως ομοιότητα μεταξύ δυο strings να θεωρείται ο λόγος του μεγέθους του μέγιστου κοινού προθέματος προς το μέγεθος του πρώτου string της σύγκρισης. Π.χ. για τα strings Α143 και A12 η απόσταση είναι 0,5 (2/4). Αντίθετα η απόσταση μεταξύ του A12 και του Α143 είναι 0,6667 (2/3). Άρα το μέτρο αυτό δεν είναι συμμετρικό. Οι τιμές που δίνει έχουν ως πεδίο τιμών το [0 1]. 23
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Τα προβλήματα ομαδοποίησης (clustering) χωρίζονται σε δύο κύριες κατηγορίες. Στην πρώτη κατηγορία έχουμε να ομαδοποιήσουμε ένα δεδομένο σύνολο προτύπων με βάση τα όσα προαναφέραμε. Στη δεύτερη κατηγορία τα πρότυπα όπου θέλουμε να ομαδοποιήσουμε προσέρχονται προς επεξεργασία ένα κάθε φορά. Με τον τρόπο αυτό δεν υπάρχει μια γενική εικόνα του συνόλου. Τα προβλήματα αυτά ονομάζονται on line προβλήματα και οι αλγόριθμοι οι οποίοι καλούνται να επιλύσουν καλούνται on line αλγόριθμοι. Όταν ένα σημείο καταφτάνει προς επεξεργασία πρέπει να αποφασίσουμε αν θα ιδρύσουμε μια νέα ομάδα και το σημείο αυτό θα χρισθεί προσωρινό κέντρο της ομάδας (το σημείο θα καλείται facility) ή αν θα ανατεθεί στην πλησιέστερη του ομάδα (cluster). Προφανώς κάθε ομάδα εξυπηρετεί (περιέχει) κάποια σημεία τα οποία της έχουν ανατεθεί. Τα σημεία αυτά τα ονομάζουμε demands. Κάθε φορά εκτελούμε την ίδια διαδικασία για κάθε σημείο. Ο χρόνος μεταξύ δύο διαδοχικών αφίξεων, καλείται update time και πολλές φορές είναι προκαθορισμένος. Τεχνική ομαδοποίησης των δεδομένων Το στάδιο αυτό αποτελεί και το κυρίως μέρος της όλης διαδικασίας της ομαδοποίησης. Εδώ είναι το σημείο που πρέπει να επιλέξουμε τον αλγόριθμο που θα χρησιμοποιήσουμε για την επίλυση του προβλήματος. Φυσικά το μέτρο εγγύτητας που επιλέξαμε παραπάνω θα χρησιμοποιηθεί από τον αλγόριθμο που θα επιλέξουμε. Οι αλγόριθμοι που επιλύουν προβλήματα ομαδοποίησης είναι πολλοί και στηρίζονται σε διαφορετικές τεχνικές. Η επιλογή εξαρτάται από τη μορφή των δεδομένων και από τον χρήστη. Οι ιεραρχικοί αλγόριθμοι προσπαθούν να δημιουργήσουν μια ιεραρχία μεταξύ των σημείων που έχουμε να ομαδοποιήσουμε. Δημιουργούν ένα δενδρόγραμμα που υποδηλώνει το μέγεθος και τον αριθμό των ομάδων που δημιούργησαν. Κάθε κόμβος του δέντρου έχει παιδιά τα σημεία που συγχωνεύτηκαν στην ίδια ομάδα. Ανάλογα με το αν βρισκόμαστε κοντά ή μακριά από τη ρίζα έχουμε λίγες ομάδες με πολλά σημεία ή πολλές ομάδες με λίγα σημεία αντίστοιχα. Οι ιεραρχικοί αλγόριθμοι χωρίζονται στους συσωρευτικούς και στους διαιρετικούς. Οι συσωρευτικοί ξεκινούν θεωρώντας ότι κάθε σημείο είναι ένα από μόνο του μια ομάδα που περιέχει μόνο τον εαυτό του και στη συνέχεια πραγματοποιούν συγχωνεύσεις. Οι διαιρετικοί λειτουργούν αντίστροφα. Θεωρούν ότι αρχικά υπάρχει μία ομάδα με μέσα όλα τα σημεία και στη συνέχεια διαιρούν την ομάδα αυτή σε μικρότερες. Οι διαμεριστικοί αλγόριθμοι χωρίζουν τα δεδομένα από την αρχή σε ένα συγκεκριμένο αριθμό από ομάδες και έπειτα τα βελτιστοποιούν. Οι αλγόριθμοι που είναι βασισμένοι στην πυκνότητα δημιουργούν 24
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O ομάδες με βάση την πυκνότητα των αντικειμένων στο χώρο. Ένα σημείο το οποίο ανήκει σε κάποια ομάδα θα πρέπει να έχει στη γειτονιά του (ορίζουμε εμείς την ακτίνα της γειτονιάς του σημείου) ένα συγκεκριμένο αριθμό από άλλα σημεία. Δύο άλλες κατηγορίες αλγορίθμων που επιλύουν προβλήματα ομαδοποίησης είναι οι αυστηροί και οι ασαφείς αλγόριθμοι. Οι αυστηροί αλγόριθμοι θεωρούν ότι τα σημεία ανήκουν κατά απόλυτο τρόπο στις ομάδες τους. Αυτό πρακτικά σημαίνει ότι δεν μπορεί ένα σημείο να βρίσκεται ταυτόχρονα σε παραπάνω από μία ομάδα. Σε αντίθεση με αυτή τη λογική οι ασαφείς αλγόριθμοι θεωρούν ότι τα σημεία ανήκουν σε όλες τις ομάδες σε κάποιο βαθμό. Διαθέτουν μια συνάρτηση συμμετοχής η οποία μας δίνει το βαθμό συμμετοχή του κάθε σημείου σε κάποια ομάδα. Προφανώς από την ασαφή ομαδοποίηση μπορεί να προκύψει αυστηρή ομαδοποίηση. Τέλος υπάρχουν οι αυξητικοί και μη αυξητικοί αλγόριθμοι. Στους αυξητικούς αλγόριθμους το σύνολο των δεδομένων που τίθεται προς ομαδοποίηση προσέρχεται σταδιακά. Αυτό σημαίνει ότι τα σημεία έρχονται ένα ένα ή κατά ομάδες. Εδώ γίνεται ομαδοποίηση από τον αλγόριθμο χωρίς να γνωρίζει εκ των προτέρων όλο το σύνολο των δεδομένων (on line προβλήματα ομαδοποίησης). Στους μη αυξητικούς αλγόριθμους είναι γνωστό ολόκληρο το σύνολο των δεδομένων εξ αρχής. Αφαίρεση δεδομένων Στο στάδιο αυτό εξάγουμε το παραγόμενο αποτέλεσμα. Έχει μεγάλη σημασία η αναπαράσταση του αποτελέσματος αυτού να έχει κατανοητή μορφή, είτε να είναι κατάλληλη για περεταίρω επεξεργασία αν χρειαστεί. Αποτίμηση του τελικού αποτελέσματος Εδώ καλούμαστε να εξετάσουμε εάν το τελικό αποτέλεσμα του αλγορίθμου είναι επιτυχές. Πρακτικά εξετάζουμε αν οι ομάδες είναι αντιπροσωπευτικές σε σχέση με τα σημεία που είχαμε να ομαδοποιήσουμε, αν τα σημεία τελικά τοποθετήθηκαν στις κατάλληλες cομάδες κ.ο.κ. Η αποτίμηση συνήθως γίνεται συγκρίνοντας τη ληφθείσα δομή με μια δεδομένη εκ των προτέρων δομή. 25
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 1.2. Ιεραρχική Ομαδοποίηση (Ηierarchical Clustering) Στην ιεραρχική ομαδοποίηση παίρνουμε στιγμιότυπα ομαδοποίησης με μορφή δενδρογράμματος. Στα δενδρογράμματα αυτά, επιλέγουμε ένα επίπεδο που θα τα << κόψουμε >>. Το σημείο που θα κοπεί κάποιο δενδρόγραμμα μας δείχνει τον αριθμό των ομάδων που θα πάρουμε καθώς και τα σημεία που περιέχει η κάθε ομάδα. Οι ιεραρχικές τεχνικές χωρίζονται στις Συσωρευτικές και Διαιρετικές. Οι συσωρευτικές τεχνικές αρχικά θεωρούν ότι κάθε σημείο είναι από μόνο του μια ξεχωριστή ομάδα και προχωρούν σε συγχωνεύσεις αυτών, έως ότου όλα τα σημεία τοποθετηθούν σε μία (bottom-up). Οι διαιρετικές τεχνικές λειτουργούν αντίστροφα. Αρχικά θεωρούν ότι όλα τα σημεία ανήκουν σε μία ομάδα. Στη συνέχεια την διαιρούν έως ότου κάθε ομάδα να περιέχει ένα μόνο σημείο (top-down). Παρακάτω φαίνεται ένα δενδρόγραμμα κομμένο σε ένα επιλεγμένο επίπεδο. Διαφαίνονται τρεις ομάδες. Η πρώτη περιέχει τα σημεία A, B και C. Η δεύτερη τα D και E, ενώ η τρίτη τα F και G. 1.2.1. Δενδρόγραμμα Ιεραρχικής Ομαδοποίησης Μιας και οι συσωρευτικές τεχνικές στην ιεραρχική ομαδοποίηση είναι οι πιο διαδεδομένες, θα αναφέρουμε τα βήματα του αλγορίθμου τους και στη συνέχεια ένα παράδειγμα. Στην γενική τους μορφή οι συσωρευτικές τεχνικές λειτουργούν ως εξής: 1. Αρχικά θεωρούμε κάθε σημείο σαν μία ομάδα. Αν δηλαδή έχουμε ένα σύνολο από Ν σημεία τα οποία θέλουμε να ομαδοποιήσουμε, τότε αρχικά έχουμε Ν ομάδες, όπου κάθε ομάδα θα περιέχει ένα σημείο από τα Ν. Μετράμε τις μεταξύ τους αποστάσεις. 2. Βρίσκουμε το πιο κοντινό ζευγάρι ομάδων. Το ζευγάρι αυτό συγχωνεύεται σε ένα. Πλέον έχουμε μία ομάδα λιγότερη. 3. Υπολογίζουμε εκ νέου τις αποστάσεις των ομάδων μεταξύ τους. 4. Επαναλαμβάνουμε τα βήματα 2 και 3 έως ότου και τα Ν σημεία τοποθετηθούν σε μία και μοναδική ομάδα. 26
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 5. Τέλος σχεδιάζουμε το αντίστοιχο δενδρόγραμμα και επιλέγουμε σε πιο σημείο θα το κόψουμε. Το βήμα 3 μπορεί να πραγματοποιηθεί με διαφορετικούς τρόπους: Στην ιεραρχική ομαδοποίηση απλού συνδέσμου (single-linkage), θεωρούμε ως απόσταση μεταξύ δύο ομάδων τη μικρότερη απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Στην ιεραρχική ομαδοποίηση ολοκληρωμένου συνδέσμου (completelinkage), θεωρούμε ως απόσταση μεταξύ δύο ομάδων τη μεγαλύτερη απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Στην ιεραρχική ομαδοποίηση μέσου συνδέσμου (average-linkage), θεωρούμε ως απόσταση μεταξύ δύο ομάδων τη μέση απόσταση μεταξύ όλων των ζευγών των προτύπων με στοιχεία και από τις δύο ομάδες. Παρακάτω φαίνονται οι αποστάσεις δύο ομάδων, στο σχήμα (a) αν εφαρμόσουμε ομαδοποίηση απλού συνδέσμου (single-linkage) και στο σχήμα (b) αν εφαρμόσουμε ομαδοποίηση ολοκληρωμένου συνδέσμου (complete-linkage). 1.2.2. Παράδειγμα απόστασης δύο ομάδων αλγορίθμου απλού συνδέσμου(single-linkage) 1.2.3.Παράδειγμα απόστασης δύο ομάδων αλγορίθμου ολοκληρωμένου συνδέσμου (completelinkage) Ο αλγόριθμος του απλού συνδέσμου (single-linkage) Έστω ότι έχουμε να ομαδοποιήσουμε Ν στοιχεία και έστω D ένας Ν Ν πίνακας. Ο πίνακας D περιέχει σαν στοιχεία τις αποστάσεις των ομάδων μεταξύ τους. Κάθε φορά ο πίνακας D ανανεώνεται. Έστω L(κ) το επίπεδο στην κ συγχώνευση ομάδας. Κάθε φορά που συγχωνεύονται δύο ομάδες, αυξάνεται κατά ένα η μεταβλητή m. Έστω d[(r),(s)], η απόσταση 27
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O της ομάδας r από την ομάδα s. Ο αλγόριθμος ακολουθεί τα παρακάτω βήματα: 1. Αρχικά m = 0 και L(0) = 0 2. Βρες το κοντινότερο ζευγάρι ομάδων, έστω r, s, σύμφωνα με τον τύπο: d[(r),(s)] = min d[(i),(j)], i r, j s 3. Πλέον m = m + 1. Συγχώνευσε τις ομάδες r και s σε μία. Πλέον L(m) = d[(r),(s)] 4. Ανανέωσε τον πίνακα D ως εξής: Σβήσε τις γραμμές και τις στήλες που αντιστοιχούν στις ομάδες r και s. Πρόσθεσε μια γραμμή και μία στήλη που αντιστοιχεί στη νέα ομάδα. Η απόσταση της νέας ομάδας, έστω (r, s), και μιας παλιάς, έστω κ, ορίζεται ως εξής: d[(κ),(r, s)] = min {d[(κ),(r)], d[(κ),(s)]} 5. Αν όλα τα στοιχεία ανήκουν σε μία και μοναδική ομάδα, τότε σταμάτα. Διαφορετικά πήγαινε στο βήμα 2. Για να γίνει πιο κατανοητός ο παραπάνω αλγόριθμος, παραθέτουμε ένα παράδειγμα: Θέλουμε να ομαδοποιήσουμε κάποιες πόλεις τις Ιταλίας (Bari, Firenze, Milano, Napoli, Rome, Torino), με βάση τις μεταξύ τους αποστάσεις. Οι αποστάσεις είναι μετρημένες σε χιλιόμετρα. Θα χρησιμοποιήσουμε τη μέθοδο single-linkage. Παρακάτω φαίνεται ο αρχικός πίνακας D (L = 0 για όλα τα clusters): BA FI MI NA RM TO BA 0 662 877 255 412 996 FI 662 0 295 468 268 400 MI 877 295 0 754 564 138 NA 255 468 754 0 219 869 RM 412 268 564 219 0 669 TO 996 400 138 869 669 0 28
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Το κοντινότερο ζευγάρι πόλεων είναι τα MI (Milano) και TO (Torino) όπου απέχει η μία από την άλλη 138 km. Αυτές οι δύο πόλεις συγχωνεύονται σε μία ομάδα, με ονομασία MI/TO. Το επίπεδο της νέας αυτής ομάδας είναι L(MI/TO) = 138 και ο δείκτης m = 1. Έπειτα με τον τρόπο που αναφέραμε, υπολογίζουμε τις αποστάσεις των υπολοίπων πόλεων (ομάδων) από την ομάδα MI/TO. Ο νέος πίνακας είναι ο εξής: BA FI MI/TO NA RM BA 0 662 877 255 412 FI 662 0 295 468 268 MI/TO 877 295 0 754 564 NA 255 468 754 0 219 RM 412 268 564 219 0 29
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O min d (i, j) = d (NA, RM) = 219 => Συγχωνεύουμε το NA και RM σε μία νέα ομάδα με την ονομασία NA/RM L (NA/RM) = 219 m = 2 BA FI MI/TO NA/RM BA 0 662 877 255 FI 662 0 295 268 MI/TO 877 295 0 564 NA/RM 255 268 564 0 min d(i,j) = d(ba,na/rm) = 255 => Συγχωνεύουμε το BA και NA/RM σε μία νέα ομάδα με την ονομασία BA/NA/RM L(BA/NA/RM) = 255 m = 3 BA/NA/RM FI MI/TO BA/NA/RM 0 268 564 FI 268 0 295 MI/TO 564 295 0 30
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O min d(i,j) = d(ba/na/rm,fi) = 268 => Συγχωνεύουμε το BA/NA/RM και FI σε μία νέα ομάδα με την ονομασία BA/FI/NA/RM L(BA/FI/NA/RM) = 268 m = 4 BA/FI/NA/RM MI/TO BA/FI/NA/RM 0 295 MI/TO 295 0 Τέλος, συγχωνεύουμε τις τελευταίες δύο ομάδες στο επίπεδο 295. Το δενδρόγραμμα που προκύπτει είναι το παρακάτω:: 31
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 32
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Πλεονεκτήματα και Μειονεκτήματα Ιεραρχικών Τεχνικών: Πλεονεκτήματα: Τερματίζονται σχετικά γρήγορα. Δεν απαιτούν να είναι γνωστός ο αριθμός των ομάδων εκ των προτέρων. Έχουν ενσωματωμένη ευελιξία χάρις στη δυνατότητα που παρέχουν να επιλέγεται το επίπεδο τομής του δενδρογράμματος. Έχουν ευκολία χειρισμού κάθε τύπου μέτρου απόστασης ή ομοιότητας. Οι μέθοδοι αυτές παράγουν ταυτόχρονα και καλές οπτικοποιήσεις των αποτελεσμάτων τους κατά τη διάρκεια της εκτέλεσής τους. Μπορούν να εφαρμοστούν σε πολλούς τύπους δεδομένων και όχι μόνο για δεδομένα που περιέχουν ισοτροπικούς clusters (π.χ. σε clusters με μορφή αλυσίδας, ομόκεντρους ). Μειονεκτήματα: Διακρίνονται από αοριστία στον ορισμό των κριτηρίων τερματισμού. Οι ιεραρχικοί αλγόριθμοι δεν επιστρέφουν ποτέ σε έναν ήδη κατασκευασμένο, ενδιάμεσο cluster για να τον βελτιώσουν. Έχουν μεγαλύτερες απαιτήσεις σε υπολογιστική ισχύ (οι αλγόριθμοι σύνδεσης έχουν υπολογιστική πολυπλοκότητα Ο(Ν 2 )) και μνήμη (χρειάζονται Ν*Ν πίνακες) από τους διαμεριστικούς αλγόριθμους (Partitional algorithms). 33
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 1.3. Διαμεριστική ομαδοποίηση (Partitional clustering) Στην διαμεριστική ομαδοποίηση, ορίζουμε εξαρχής τις ομάδες και τοποθετούμε τα σημεία του συνόλου δεδομένων που διαθέτουμε στις ομάδες αυτές. Στη συνέχεια επαναπροσδιορίζουμε τις αναθέσεις αυτές έως ότου κάποιο κριτήριο τερματισμού εκπληρωθεί. Ουσιαστικά αν έχουμε ένα σύνολο δεδομένων πλήθους Ν, κατασκευάζουμε κ ομάδες και στη συνέχεια τις βελτιστοποιούμε. Το κυρίως πρόβλημα αυτών των τεχνικών είναι η σωστή επιλογή των ομάδων και του αριθμού κ. Όπως είπαμε και προηγουμένως αφού έχουμε πραγματοποιήσει όλες τις αναθέσεις των σημείων στις ομάδες, επαναπροσδιορίζουμε τις αναθέσεις αυτές. Αυτό μπορεί να συμβεί αν σε κάθε ομάδα αποδώσουμε μια τιμή και σιγά σιγά την ελαχιστοποιούμε. Η τιμή αυτή μπορεί να αποδοθεί με το άθροισμα των τετραγωνικών αποστάσεων από το μέσο όρο στην κάθε ομάδα. Οι πιο δημοφιλείς αλγόριθμοι στην κατηγορία αυτή είναι οι Centroids αλγόριθμοι. Εδώ η κάθε ομάδα αναπαρίσταται με το κέντρο μάζας του. Οι πιο γνωστοί αλγόριθμοι στην κατηγορία αυτή είναι ο αλγόριθμος απλού περάσματος και οι αλγόριθμοι που χρησιμοποιούν το κριτήριο του τετραγωνικού λάθους. Αλγόριθμος απλού περάσματος Στον αλγόριθμο αυτό καταφέρνουμε να ομαδοποιήσουμε όλα τα δεδομένα του συνόλου μας, με ένα μόνο πέρασμα. Η λογική του έχει ως εξής: Το πρώτο στοιχείο χρίζεται κέντρο μάζας της πρώτης ομάδας. Για τα επόμενα στοιχειά υπολογίζουμε τις αποστάσεις τους από τα κέντρα μάζας των ομάδων που ήδη υπάρχουν και κρατάμε τις μικρότερες, μία για κάθε στοιχείο. Αν η απόσταση d i του στοιχείου i από την πιο κοντινή του ομάδα, είναι μικρότερη από μια τιμή κατωφλίου που εμείς έχουμε θέσει, τότε: o Ανέθεσε το στοιχείο i στην ομάδα Διαφορετικά το στοιχείο i γίνεται κέντρο μάζας μιας νέας ομάδας Όταν ομαδοποιηθούν όλα τα στοιχεία τερμάτισε 34
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Αλγόριθμοι ομαδοποίησης τετραγωνικού λάθους Στους συγκεκριμένους αλγορίθμους χρησιμοποιούμε το κριτήριο του τετραγωνικού λάθους. Το τετραγωνικό λάθος ορίζεται από την παρακάτω σχέση: Όπου: x i (j) είναι το i στοιχείο της j ομάδας, c j το κέντρο μάζας της j ομάδας, K ο αριθμός των ομάδων, N j ο αριθμός των στοιχείων της j ομάδας. Τα συνηθέστερα βήματα που ακολουθούν οι αλγόριθμοι αυτοί είναι τα εξής: o Επιλέγουμε τα στοιχεία που θα εκπροσωπούν τις ομάδες. o Αναθέτουμε τα υπόλοιπα στοιχεία στην πλησιέστερη ομάδα. o Επαναπροσδιορίζουμε τα κέντρα των ομάδων. o Επαναλαμβάνουμε το δεύτερο και τρίτο βήμα έως ότου δεν παρατηρούνται αλλαγές (δεν αλλάζουν τα κέντρα των ομάδων, δεν παρατηρούνται διαφορετικές αναθέσεις, το τετραγωνικό λάθος σταθεροποιείται ). o Συγχωνεύουμε τις ομάδες με βάση π.χ. κάποια ευρετική συνάρτηση Ο πιο κλασσικός αλγόριθμος της κατηγορίας αυτής είναι ο k- means. Η λογική του είναι πολύ απλή. Αρχικά επιλέγουμε τα κέντρα μάζας των ομάδων και αναθέτουμε τα στοιχεία που έχουμε να ομαδοποιήσουμε στις ομάδες αυτές με βάση το μέτρο που χρησιμοποιούμε. Υπολογίζουμε εκ νέου τα κέντρα των ομάδων και επαναλαμβάνουμε τη διαδικασία έως ότου δεν παρατηρούνται αλλαγές στις αναθέσεις, στις ομάδες, στη συνάρτηση τετραγωνικού λάθους. Ο k-means είναι εύκολα υλοποιήσιμος και τρέχει σε O(n) χρόνο, όπου n, το πλήθος των στοιχείων του συνόλου που έχουμε να ομαδοποιήσουμε. Δυστυχώς όμως εφαρμόζεται μόνο σε αριθμητικά δεδομένα. Επίσης δεν μπορεί να αντιμετωπίσει το θόρυβο και τα απομακρυσμένα σημεία (outliers). Ένα άλλο αρνητικό σημείο του k- means είναι ότι απαιτεί την εκ των προτέρων επιλογή του αριθμού των ομάδων. Τέλος πρέπει να σημειώσουμε ότι το αποτέλεσμα της ομαδοποίησης αυτού του αλγορίθμου έχει να κάνει και με την αρχική μας επιλογή των ομάδων. Τα βήματα του k-means είναι τα εξής: 35
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O K-MEANS Επιλέγουμε κ κέντρα ομάδων από το σύνολο που έχουμε να ομαδοποιήσουμε. Αναθέτουμε το κάθε στοιχείο στην πλησιέστερη του ομάδα. Επαναπροσδιορίζουμε τα κέντρα των ομάδων και επαναλαμβάνουμε τη διαδικασία. Αν δεν παρατηρηθούν αλλαγές (αλλαγές στα κέντρα των ομάδων, στη συνάρτηση τετραγωνικού λάθους, στις αναθέσεις..) τότε σταματάμε. Διαφορετικά συνεχίζουμε από το δεύτερο βήμα. 36
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 1.4. Ασαφής ομαδοποίηση (Fuzzy clustering) Η διαφορά της Ασαφούς ομαδοποίησης από την κλασσική ομαδοποίηση δεδομένων [3], είναι ότι πλέον κάθε πρότυπο ανήκει σε όλες τις ομάδες σε κάποιο βαθμό. Όπως αναφέραμε προηγουμένως στην κλασσική ομαδοποίηση δεδομένων δημιουργούμε ομάδες και αναλόγως τοποθετούμε κάθε πρότυπο σε ένα από αυτά. Εδώ δεν μπορεί ένα πρότυπο να ανήκει ταυτόχρονα σε δύο και παραπάνω ομάδες. Αντίθετα με τη λογική αυτή, στην Ασαφή ομαδοποίηση ορίζουμε μια συνάρτηση συμμετοχής. Η συνάρτηση αυτή υποδηλώνει το βαθμό συμμετοχής κάθε προτύπου στην κάθε ομάδα. Οι τιμές που μπορεί να πάρει ο βαθμός συμμετοχής είναι από μηδέν έως ένα. Όσο πιο κοντά στο ένα είναι ο βαθμός συμμετοχής του i προτύπου στην j ομάδα, τόσο πιο μεγάλη σιγουριά έχουμε για τη συμμετοχή αυτού στη συγκεκριμένη ομάδα. Αντίθετα, όσο πιο κοντά στο μηδέν είναι ο βαθμός συμμετοχής, μεγαλώνουν οι αμφιβολίες μας για τη συμμετοχή του. Φυσικά δεν είναι απαραίτητο όλες οι ομάδες να έχουν ασαφή χαρακτήρα. Είναι πιθανό να προκύψουν και απόλυτες ομάδες όπως και στην κλασσική ομαδοποίηση δεδομένων. Αυτό θα συμβεί αν όλα τα στοιχεία κάποιας ομάδας έχουν βαθμό συμμετοχής ένα. Όπως στην ασαφή ομαδοποίηση έτσι και στην κλασσική μπορούμε να ορίσουμε συνάρτηση συμμετοχής των προτύπων στις ομάδες τους. Η διαφορά είναι ότι η συνάρτηση συμμετοχής στην κλασσική ομαδοποίηση θα παίρνει διακριτές τιμές, τόσες όσες οι ομάδες που έχουμε π.χ τις τιμές μηδέν και ένα αν έχουμε δύο ομάδες. Στην ασαφή ομαδοποίηση η μεταβλητή που υποδηλώνει το βαθμό συμμετοχής ενός προτύπου σε κάποια ομάδα είναι συνεχής. π.χ. οι τιμές της συνάρτησης συμμετοχής να κυμαίνονται από μηδέν έως ένα. Παρακάτω βλέπουμε σχηματικά τη διαφορά της συνάρτησης αυτής στις δύο περιπτώσεις. Έστω ότι έχουμε δύο ομάδες, A και B. Στο σχήμα (1.4.1) αναφερόμαστε σε απόλυτο αλγόριθμο ομαδοποίησης, ενώ στο σχήμα (1.4.2) αναφερόμαστε σε ασαφή αλγόριθμο ομαδοποίησης. 1.4.1.Συνάρτηση συμμετοχής σε απόλυτο αλγόριθμο ομαδοποίησης 1.4.2.Συνάρτηση συμμετοχής σε ασαφή αλγόριθμο ομαδοποίησης 37
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O Τα βήματα ενός ασαφούς αλγορίθμου ομαδοποίησης παρουσιάζονται παρακάτω: Έστω ότι έχουμε να ομαδοποιήσουμε Ν πρότυπα σε κ ομάδες. Έστω x i με i = 1,2,..,N το κάθε πρότυπο. Έστω c j με j = 1,2,,κ οι ομάδες. Ορίζουμε έναν N κ πίνακα, έστω U. Κάθε στοιχείο του U το συμβολίζουμε με u ij που συμβολίζει το βαθμό συμμετοχής του i προτύπου στη j ομάδα. Αναθέτουμε τυχαία τα Ν πρότυπα σε κ ομάδες. Αρχικοποιούμε τον N κ πίνακα U με τυχαίες τιμές τέτοιες ώστε u ij [0,1]. Με βάση τον πίνακα U, βρίσκουμε την τιμή της ασαφούς συνάρτησης κριτηρίου. Μια τέτοια συνάρτηση μπορεί να είναι η συνάρτηση κριτηρίου ζυγισμένου τετραγωνικού λάθους που δίνεται από την παρακάτω σχέση: Επαναπροσδιορίζουμε τις αναθέσεις των προτύπων στις ομάδες, έτσι ώστε να μειωθεί η τιμή αυτής της συνάρτησης. Ανανεώνουμε τον πίνακα U. Επαναλαμβάνουμε τη διαδικασία από το δεύτερο βήμα, έως να μην παρατηρούνται σημαντικές αλλαγές στις τιμές του U. 38
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 1.5. Γενικά συμπεράσματα Η τεχνική της ομαδοποίησης εφαρμόζεται σε πολλά προβλήματα της σύγχρονης εποχής και δίνει λύσεις. Υπάρχουν πολλές τεχνικές, με τελείως διαφορετική λογική η κάθε μία, που χρησιμοποιούνται για την ομαδοποίηση δεδομένων. Η ιεραρχική ομαδοποίηση, η διαμεριστική ομαδοποίηση και η ασαφής ομαδοποίηση είναι τρεις από τις γνωστότερες τεχνικές που στηρίζονται σε διαφορετική λογική η κάθε μία, για την επίτευξη του ίδιου σκοπού. Πρέπει να διευκρινίσουμε ότι δεν είναι δυνατόν κάποια τεχνική ομαδοποίησης να λειτουργεί καλά σε προβλήματα κάθε κατηγορίας. Μια τεχνική με πολύ καλά αποτελέσματα σε κάποιο συγκεκριμένο πρόβλημα, είναι πολύ πιθανό να αποτύχει σε κάποιο άλλο. Ανάλογα με τις ανάγκες του κάθε προβλήματος καλούμαστε να διαλέξουμε που και πότε θα χρησιμοποιήσουμε την κάθε τεχνική για να πετύχουμε όσο το δυνατόν καλύτερα αποτελέσματα. Σκοπός είναι ο διαχωρισμός της πληροφορίας σε σημαντική ή μη. Τα σημαντικά χαρακτηριστικά είναι αυτά που διαφοροποιούν τις ομάδες ενώ τα ασήμαντα εξαλείφονται αφού δεν είναι ικανά να μας δώσουν χρήσιμες πληροφορίες. Σημαντικό ρόλο παίζει η μετρική που θα χρησιμοποιήσουμε. Η επιλογή θα γίνει με βάση το πρόβλημα που έχουμε να αντιμετωπίσουμε και τη φύση των δεδομένων. Είναι προφανές ότι η ευκλείδεια απόσταση μπορεί να χρησιμοποιηθεί μόνο σε αριθμητικά δεδομένα. Από την άλλη πρέπει να πετυχαίνουμε κάθε φορά όσο το δυνατόν λιγότερο κόστος, χρόνο και σωστά διαχωρισμένες ομάδες. Οι τεχνικές με πολλά στάδια επεξεργασίας της πληροφορίας, απαιτούν πολύ υπολογιστικό χρόνο και κόστος. Καταλαβαίνουμε λοιπόν ότι τα αποτελέσματα τους, πρέπει να δικαιολογούν το κόστος που θα πληρώσουμε. Η σωστή επιλογή κάποιας τεχνικής ομαδοποίησης δεν είναι εύκολη υπόθεση και πολύ σημαντικό ρόλο παίζει η εμπειρία του ερευνητή μιας και κάποια παραλλαγή των ήδη υπαρχουσών τεχνικών ομαδοποίησης μπορεί λειτουργήσει καλά στο τρέχων πρόβλημα. 39
Η ΤΕΧΝΙΚΗ ΤΗΣ ΟΜΑΔΟΠΟΙΗΣΗΣ ΚΕΦ. 1 O 40