Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr
Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση με τη χρήση μοντέλων Ιεραρχικοί αλγόριθμοι Bottom-up, agglomerative Top-down, divisive
K-means Ο πιο γνωστός και δημοφιλής αλγόριθμος ομαδοποίησης Αρχίζουμε μια έναν τυχαίο στο χώρο και αυθαίρετο αριθμό σημείων. Αυτά τα σημεία θα αποτελέσουν τα κέντρα των ομάδων Επαναληπτικά για όλες τις παρατηρήσεις μας : Κάθε παρατήρηση γίνεται μέλος της ομάδας της οποίας το κεντροειδές είναι κοντύτερα από τα κεντροειδή των άλλων ομάδων Υπολογίζουμε ξανά το κεντροειδές της ομάδας στην οποία ενσωματώθηκε η παρατήρησή μας
K-Μeans: παράδειγμα
K-Μeans: Επιλογή των αρχικών σημείων
K-Μeans: τα σημεία γίνονται μέλη της κοντινότερης ομάδας
K-Μeans: επαναπροσδιορισμός κενροειδών
K-Μeans: επαναπροσδιορισμός κενροειδών
K-Μeans: τα σημεία γίνονται μέλη της κοντινότερης ομάδας
K-Μeans: τα σημεία γίνονται μέλη της κοντινότερης ομάδας
K-Μeans: επαναπροσδιορισμός κενροειδών
K-Μeans: τα σημεία γίνονται μέλη της κοντινότερης ομάδας Καμία αλλαγή : Τέλος
K-Means Επαναληπτικά για όλες τις παρατηρήσεις μας : Κάθε παρατήρηση γίνεται μέλος της ομάδας της οποίας το κεντροειδές είναι κοντύτερα από τα κεντροειδή των άλλων ομάδων Υπολογίζουμε ξανά το κεντροειδές της ομάδας στην οποία ενσωματώθηκε η παρατήρησή μας Πως γίνεται ;
K-Means Επαναληπτικά για όλες τις παρατηρήσεις μας : Κάθε παρατήρηση γίνεται μέλος της ομάδας της οποίας το κεντροειδές είναι κοντύτερα από τα κεντροειδή των άλλων ομάδων Υπολογίζουμε την απόσταση της παρατήρησης σημείο από το κεντροειδές κάθε ομάδας Υπολογίζουμε ξανά το κεντροειδές της ομάδας στην οποία ενσωματώθηκε η παρατήρησή μας Τι ακριβώς είναι η απόσταση;
K-means Κάθε παρατήρηση γίνεται μέλος της ομάδας της οποίας το κεντροειδές είναι κοντύτερα από τα κεντροειδή των άλλων ομάδων Υπολογίζουμε ξανά το κεντροειδές της ομάδας στην οποία ενσωματώθηκε η παρατήρησή μας Μέσος όρος ων σημείων της ομάδας (C) 1 C x C x όπου: x y n x i y i x C 1 i i 1 n xi C
K-means
K-means loss function Ο αλγόριθμος K-means προσπαθεί να ελαχιστοποιήσει αυτό που ονομάζεται k-means loss function: loss n i 1 2 d( x i, ) όπου είνια ττ κκεντροειές ττη ομάδας ττο x k k i δηλ, το άθροισμα των τετραγώνων των αποστάσεων των σημείων μιας ομάδας από το κεντροειδές της ομάδας
K-means Τα αποτελέσματα μπορεί να διαφοροποιηθούν σε σχέση με επιλογή των σημείων αρχικοποίησης Μερικά σημεία αρχικοποίησης μπορεί να οδηγήσουν τον αλγόριθμο σε μη βέλτιστες ομάδες ( μην ξεχνάμε ότι είναι ένας αλγόριθμος βελτιστοποίησης) Συνηθισμένες λύσεις Τυχαία επιλογή των κεντροειδών στον χώρο Τυχαία επιλογή παραδειγμάτων Επιλογή παραδειγμάτων ανόμοιων με την επιλογή των κεντροειδών Δοκιμή διαφορετικών αρχικών σημείων Επιλογή των κεντροειδών από τα αποτελέσματα κάποιου άλλου αλγορίθμου ομαδοποίησης
K-means Συμπίεση εικόνας
Αποστάσεις Ευκλείδεια απόσταση : d( x, y) n i 1 ( x i y i ) 2 Χρησιμοποιείται για χωρικά δεδομένα
Ομοιότητα συνημίτονου n i i n i i n i i i y x y x y y x x y x y x y x sim 1 2 1 2 1 ), ( Αναφέρεται στη γωνία μεταξύ δύο διανυσμάτων και όχι στο μέγεθος
Ομοιότητα συνημίτονου Η ομοιότητα συνημίτονου είναι ένα μέτρο με τιμές ανάμεσα στο 0 and 1 Όμοια αντικείμενα έχουν τιμή 1 και ανόμοια τιμή 0 Ιδιότητες : d(x, y) =1- sim(x, y) - Κατάλληλη για ανάλυση κειμένων - Εν γένει αρκετών μπορεί να χρησιμοποιηθεί και σε άλλα είδη - Είναι μικρού υπολογιστικού κόστους μια και πρέπει να την υπολογίσουμε για χαρακτηριστικά που έχουν μη μηδενικές τιμές
Ομαδοποίηση κειμένων Κάθε λέξη γίνεται χαρακτηριστικό με αριθμητική τιμή ίση με τον αριθμό εμφάνισης της συγκεκριμένης λέξης στο κείμενο Τα κείμενα είναι ουσιαστικά διανύσματα σε έναν πολυδιάστατο χώρο.
Προβλήματα με την Ευκλείδεια απόσταση Η Ευκελείδια απόσταση με ταξύ q και d 2 είναι μεγάλη όμως, η κατανομή των λεξεων μεταξύ του ερωτήματος q και της κατανομής των λέξεων στο d 2 είναι
DBSCAN Αλγόριθμος κατάλληλος για παραδείγματα που έχουν μεγάλη πυκνότητα σημείων Οι παραπάνω ομάδες διαχωρίζονται από περιοχές χαμηλής πυκνότητας Βασική προϋπόθεση η πυκνότητα των σημείων στις ομάδες υψηλής πυκνότητας να είναι παρόμοια
DBSCAN Κεντρικό σημείο: έχει πυκνότητα μεγαλύτερη ή ίση από μια τιμή MinPts (αποτελούν το εσωτερικά σημεία μιας ομάδας) Συνοριακό σημείο: έχει πυκνότητα μικρότερη από MinPts, από απέχει από κάποιο κεντρικό σημείο απόσταση ίση ή μικρότερη από Eps Θορυβώδες σημείο: κάθε άλλο σημείο (ανήκει στις περιοχές χαμηλής πυκνότητας)
DBSCAN Ορισμός : Eps-γειτονιά ενός σημείου N Eps (p) = {q D dist(p,q) Eps} Ορισμός: Κεντρικό σημείο N Eps (q) MinPts Ορισμός: Απευθείας προσβάσιμο σημείο Ένα σημείο p είναι απευθείας προσβάσιμο από ένα σημείο q εάν 1) p N Eps (q) και 2) N Eps (q) MinPts
DBSCAN Ορισμός: Προσβάσιμο σημείο Ένα σημείο p είναι προσβάσιμο από ένα σημείο q εάν υπάρχει μια ακολουθία σημείων p 1,..., p n, p 1 = q, p n = p ώστε το σημείο p i+1 είναι απευθείας προσβάσιμο από p i Ορισμός : Συνδεδεμένο σημείο Ένα σημείο p είναι συνδεδεμένο με το q εάν υπάρχει σημείο o τέτοιο ώστε και τα σημεία p και q είναι προσβάσιμα από το o
DBSCAN
DBSCAN Ορισμός: Ομάδα Έστω D ένα σύνολο σημείων. Μια ομάδα σε σχέση με τις παραμέτρους Eps and MinPts είναι ένα μη-κενό υποσύνολο C του D για το οποίο ισχύουν: 1) p, q: εάν p C και q είναι προσβάσιμο από p λαμβάνοντας υπ όψιν τα Eps and MinPts, τότε q C. (Maximality) 2) p, q C: p είναι προσβάσιμο από το q λαμβάνοντας υπ όψιν τα Eps and MinPts. (Connectivity)
DBSCAN Ορισμός: Θόρυβος Έστω C 1,..., C k ομάδες ενός συνόλου σημείων D λαμβάνοντας υπ όψιν τα Eps i και MinPts i, i = 1,..., k. Ορίζουμε τότε ως θόρυβο το σύνολο των σημείων που δεν ανήκουν σε καμία από τις ομάδες C i, δηλαδή Θόρυβος = {p D i: p C i }.
DBSCAN Βήματα του αλγορίθμου Κάθε σημείο χαρακτηρίζεται ως κεντρικό, συνοριακό ή θόρυβο. Αγνοούμε όλα τα σημεία θορύβου. Δημιουργούμε ένα γράφο που έχει μια κορυφή σε κάθε σημείο. Τοποθετούμε μια ακμή μεταξύ όλων των κεντρικών σημείων που είναι σε απόσταση έως Eps μεταξύ τους. Κάθε σύνολο συνδεδεμένων κεντρικών σημείων γίνεται μια διαφορετική ομάδα. Κάθε συνοριακό σημείο γίνεται μέλος της ομάδας που περιέχει το πιο κοντινό του κεντρικό σημείο
DBSCAN Δεν επηρεάζεται από το θόρυβο Μπορεί να χειριστεί συστάδες με διαφορετικά σχήματα και μεγέθη Αρνητικά: o Πρόβλημα με διαφορετικές πυκνότητες o Ευαισθησία στις παραμέτρους o Πολυ-διάστατα δεδομένα: δύσκολος ορισμός πυκνότητας και δαπανηρός υπολογισμός γειτόνων Πολυπλοκότητα αλγορίθμου: O(m x χρόνος εντοπισμού σημείων σε eps-γειτονιά) o Ο(m 2 ) o Για μικρό αριθμό διαστάσεων, υπάρχουν δομές που υποστηρίζουν την πράξη σε Ο(m logm) O(m) χώρος
DBSCAN
DBSCAN
DBSCAN
Σύγκριση αλγορίθμων ομαδοποίησης
Σύγκριση αλγορίθμων ομαδοποίησης Και οι 2 τοποθετούν ένα σημείο σε μία μοναδική ομάδα. Αλλά ο DBSCAN μπορεί να μην ομαδοποιήσει όλα τα σημεία. Ο K-Means χρησιμοποιεί την έννοια του κέντρου της ομάδας ενώ ο DBSCAN της πυκνότητας. Ο DBSCAN χειρίζεται σωστά ομάδες με διαφορετικό σχήμα και μέγεθος, σε αντίθεση με τον K-Means. Και οι 2 αλγόριθμοι δεν μπορούν να χειριστούν ομάδες με διαφορετική πυκνότητα. Ο K-Means απαιτεί να μπορεί να οριστεί το κέντρο της ομάδας, ενώ ο DBSCAN απαιτεί να έχει νόημα η έννοια της πυκνότητας. Ο K-Means έχει καλή απόδοση σε αραιά, πολυδιάστατα δεδομένα (πχ., κείμενα). Ο DBSCAN δεν έχει καλή απόδοση σε αυτήν την περίπτωση. Και οι 2 μπορούν (με επεκτάσεις) να χειριστούν δεδομένα άλλων τύπων εκτός από αριθμητικά.
Σύγκριση αλγορίθμων ομαδοποίησης Και οι 2 λαμβάνουν υπ όψιν όλα τα χαρακτηριστικά, δηλ. δεν δημιουργούν ομάδες βάσει μόνο κάποιων χαρακτηριστικών. Ο DBSCAN συνενώνει ομάδες που εφάπτονται ή επικαλύπτονται, σε αντίθεση με τον K-Means. Η πολυπλοκότητα του K-Means είναι μικρότερη από αυτή του DBSCAN. Ο K-Means παράγει διαφορετικές ομάδες για τα ίδια δεδομένα, σε αντίθεση με τον DBSCAN. Ο DBSCAN δεν απαιτεί τον εκ των προτέρων ορισμό του αριθμού των ομάδων όπως κάνει ο K-Means. Απαιτεί όμως τον ορισμό παραμέτρων όπως MinPts/Eps. Ο K-Means μπορεί να εκφραστεί ως (NP-hard) πρόβλημα βελτιστοποίησης καθώς προσπαθεί να ελαχιστοποιήσει το SSE. Ο DBSCAN δεν μπορεί να εκφραστεί με ένα θεωρητικό μοντέλο.
Δείκτες βέλτιστης ομαδοποίησης Αριθμητικοί δείκτες που χρησιμοποιούνται για να κρίνουμε διάφορα χαρακτηριστικά του αλγορίθμου ομαδοποίησης. Μπορούμε να τα ομαδοποιήσουμε ως εξής: Εξωτερικοί δείκτες: Χρησιμοποιούνται για να μετρήσουμε το κατά πόσο οι ομάδες συμφωνούν με κάποιο σύνολο επαλήθευσης. Εντροπία Εσωτερικοί δείκτες: Χρησιμοποιούνται για να μετρήσουμε την συνοχή της ομαδοποίησης χωρίς να λάβουμε υπ όψιν κάποιον εξωτερικό δείκτη. Άθροισμα τετραγώνων (Sum of Squared Error) (SSE) Σχετικοί δείκτες: Χρησιμοποιούνται για να συγκρίνουν δύο διαφορετικές μεθόδους ομαδοποίησης ή δυο διαφορετικές ομάδες Συνήθως χρησιμοποιείται ένας εξωτερικός ή εσωτερικός δείκτης
Εγκυρότητα ομαδοποίησης Δύο πίνακες Πίνακας κοντινής απόστασης (Proximity Matrix) Πίνακας Συχνότητας (Incidence Matrix) Μια γραμμή και μια στήλης για κάθε παρατήρηση Βάζουμε 1 εάν το συγκεκριμένο ζευγάρι ανήκει στην ίδια ομάδα Βάζουμε 0 εάν το συγκεκριμένο ζευγάρι δεν ανήκει στην ίδια ομάδα Πίνακας συσχέτισης Επειδή οι πίνακες είναι συμμετρική, μόνο η συσχέτιση ανάμεσα σε n(n-1) / 2 σημεία πρέπει να υπολογιστεί. Υψηλή συσχέτιση δείχνει ότι τα σημεία που ανήκουν στην ίδια ομάδα, βρίσκονται πολύ κοντά.
Δείκτης ομαδοποίησης Silhoutte O δείκτης silhouette δείχνει πόσο παρόμοια είναι μια παρατήρηση σε σχέση με την ομάδα στην οποία ανήκει Παίρνει τιμές μεταξύ -1 και 1. Υψηλές τιμές δείχουν ότι οι παρατηρήσεις είναι παρόμοιες με τις υπόλοιπες τις ομάδας και ανόμοιες με τις παρατηρήσεις των υπόλοιπων ομάδων. Εάν οι περισσότερες παρατηρήσεις έχουν υψηλές τιμές τότε η ομαδοποίηση που εξετάζουμε είναι σωστή. Εάν πολλά σημεία έχουν αρνιτικέ τιμές, τότε θα πρέπει να είτε να εξετάσουμε μια ομαδοποίηση με περισσότερες ή λιγότερες ομάδες.
Δείκτης ομαδοποίησης Silhoutte
Δείκτης ομαδοποίησης Silhoutte
Δείκτης ομαδοποίησης Silhoutte
Δείκτης ομαδοποίησης Silhoutte
Δείκτης ομαδοποίησης Silhoutte
Δείκτης ομαδοποίησης Silhoutte