ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ

Σχετικά έγγραφα
Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

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

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

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

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

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

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

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

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ

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

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

Τηλεπισκόπηση - Φωτοερμηνεία Ενότητα 11: Είδη Ταξινομήσεων Επιβλεπόμενες Ταξινομήσεις Ακρίβειες.

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

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Χωροταξίας Πολεοδομίας και Περιφερειακής Ανάπτυξης

Advances in Digital Imaging and Computer Vision

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Component Analysis, PCA)

Υλοποίηση του αλγορίθμου DBSCAN και η εφαρμογή του σε δεδομένα της αγοράς

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση

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

Προγραμματισμός Υπολογιστών με C++

ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ

ΑΣΚΗΣΗ 2 ΒΑΣΙΚΑ ΚΑΙ ΣΥΝΘΕΤΑ ΣΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ - ΕΙΚΟΝΑΣ

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

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

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

Εργαστήριο ADICV2. Image filtering. Κώστας Μαριάς

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Ψηφιακή Επεξεργασία Εικόνων

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

Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

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

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

Το μοντέλο Perceptron

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

ΕΡΓΑΣΤΗΡΙΟ 6ο: Ταξινομήσεις εικόνων μη επιβλεπόμενη ταξινόμηση

ΣΥΣΤΑΔΟΠΟΙΗΣΗ ΙΙ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΦΙΛΤΡΑ KALMAN ΕΞΑΜΑΗΝΙΑΙΑ Β - ΕΠΕΞΗΓΗΣΕΙΣ

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

Κινητά Δίκτυα Επικοινωνιών. Συμπληρωματικό υλικό. Προσαρμοστική Ισοστάθμιση Καναλιού

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

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

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακή Εικόνα. Αντίληψη χρωμάτων Συστήματα χρωμάτων Κβαντισμός χρωμάτων

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

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

ιαµέριση - Partitioning

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

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

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

Εκπαίδευση ΤΝΔ με ελαχιστοποίηση του τετραγωνικού σφάλματος εκπαίδευσης. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν.

Υπολογιστική Νοημοσύνη. Μάθημα 9: Γενίκευση

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

Παράδειγμα για διαχείριση strings

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ ΔΠΜΣ ΗΕΠ 1/46

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

DIP_01 Εισαγωγή στην ψηφιακή εικόνα. ΤΕΙ Κρήτης

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

Έγχρωµο και Ασπρόµαυρο Φως

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Εργαστήριο ADICV1. Image Boundary detection and filtering. Κώστας Μαριάς 13/3/2017

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

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

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Δομές Δεδομένων & Αλγόριθμοι

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

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

Εξόρυξη Δεδομένων. Βελτιστοποίηση Συστημάτων & Υδροπληροφορική. Χρήστος Μακρόπουλος & Ανδρέας Ευστρατιάδης

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

References. Chapter 10 The Hough and Distance Transforms

Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

dtw(a, B) = dtw(a n, B m )

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Επιστηµονικός Υπολογισµός Ι Ενότητα 5 - Επίλυση Γραµµικών Συστηµάτων. Ευστράτιος Γαλλόπουλος

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

DIP_05 Τμηματοποίηση εικόνας. ΤΕΙ Κρήτης

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Transcript:

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ

Εισαγωγή Τεχνικές διαχωριστικής ομαδοποίησης: Ν πρότυπα k ομάδες Ν>>k Συνήθως k καθορίζεται από χρήστη Διαχωριστικές τεχνικές: επιτρέπουν πρότυπα να μετακινούνται από ομάδα σε ομάδα (ιεραρχικές τεχνικές όχι) Αρχικός κακός διαχωρισμός μπορεί να διορθωθεί. Διαχωρισμός πραγματοποιείται με μεγιστοποίηση ή ελαχιστοποίηση συνάρτησης κριτηρίων. Τετραγωνικό σφάλμα πολύ δημοφιλές Τεχνικές διαχωριστικής ομαδοποίησης: Αλγόριθμος Forgy K-means Isodata

Αλγόριθμος Forgy Γιώργος Παπαδουράκης

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ:Αλγόριθμος Forgy

Αλγόριθμος Forgy 1o Βήμα: 2 ομάδες, k=2 Αντιπροσωπευτικά πρότυπα (τυχαία): [4,4] [8,4] 2ο Βήμα: Υπολογισμός πλησιέστερης ομάδας για κάθε πρότυπο.

Αλγόριθμος Forgy 3ο Βήμα: Υπολογισμός νέων αντιπροσωπευτικών προτύπων Α ομάδα: [4,4] B ομάδα: [17.75,7] Υπάρχει αλλαγή στην καταχώρηση των προτύπων, επιστροφή στο 2ο Βήμα. Δεύτερη επανάληψη του αλγορίθμου 2ο Βήμα: Υπολογισμός πλησιέστερης ομάδας για κάθε πρότυπο.

Αλγόριθμος Forgy 3ο Βήμα: Υπολογισμός νέων αντιπροσωπευτικών προτύπων Α ομάδα: [6,4] B ομάδα: [21,8] Υπάρχει αλλαγή στην καταχώρηση των προτύπων, επιστροφή στο 2ο Βήμα. Τρίτη επανάληψη του αλγορίθμου 2ο Βήμα: Υπολογισμός πλησιέστερης ομάδας για κάθε πρότυπο. Δεν υπάρχει αλλαγή στην καταχώρηση των προτύπων, ο αλγόριθμος τερματίζεται.

Ομαδοποίηση με k-means Γιώργος Παπαδουράκης Κώστας Μαριάς

Διαχωριστική και Ιεραρχική συσταδοποίηση Όπως είδαμε αναλυτικά σε προηγούμενα μαθήματα υπάρχει η δυνατότητα διαχωριστικής ομαδοποίησης όπου τα πρότυπα διαχωρίζονται σε μη επικαλυπτόμενες ομάδες (συστάδες) και κάθε πρότυπο ανήκει μόνο σε μια ομάδα. Σε αντίθεση στην ιεραρχική ομαδοποίηση δημιουργούνται ουσιαστικά ένα σύνολο από εμφωλευμένες συστάδες με μια ιεράρχιση

Ομαδοποίηση (ή συσταδοποίηση με kmeans) Όταν έχουμε ένα σύνολο προτύπων η ομαδοποίηση είναι μια τεχνική που προσπαθεί να δημιουργήσει συστάδες αντικειμένων με παρόμοια χαρακτηριστικά. Ιδεατά οι αποστάσεις ανάμεσα σε κάθε συστάδα πρέπει να είναι ελάχιστες ενώ ανάμεσα στις διαφορετικές συστάδες μέγιστες. Με αυτό ακριβώς το σκεπτικό μπορεί κανείς να σκεφτεί ότι η ποιότητα της ομαδοποίησης εξαρτάται άμεσα από το να υπάρχει μεγάλη ομοιότητα εντός κάθε συστάδας (π.χ. να μην υπάρχουν outliers*) και παράλληλα μικρή ομοιότητα (η αλλιώς μεγάλη απόσταση) ανάμεσα στις συστάδες. Αναλόγως το μέγεθος των προτύπων μπορούν να υπάρχουν υπολογιστικές προκλήσεις. Συχνά για να λυθεί για να λυθεί υπάρχουν αρκετοί ευριστικοί αλγόριθμοι που μπορούν να συγκλίνουν γρήγορα. *ακραίες τιμές ή απομονωνόμενα πρότυπα που δυσκολεύουν την ομαδοποίηση

Επεξήγηση του κ means Ο αλγόριθμος k-means έχει χρησιμοποιηθεί κατά κόρον στην ψηφιακή επεξεργασία σήματος π.χ. για data mining. Η ομαδοποίηση αυτή έχει ως στόχο να διαχωρίσει n παρατηρήσεις σε K ομάδες, έτσι ώστε κάθε παρατήρηση να ανήκει στη συστάδα με το κοντινότερο μέσο, το οποίο χρησιμεύει ως ένα χαρακτηριστικό δείγμα της συστάδας. Αυτό οδηγεί σε μια διαμέριση του χώρου δεδομένων σε κελιά Voronoi*. https://el.wikipedia.org/wiki/ομαδοποίηση_κ-μέσων * https://en.wikipedia.org/wiki/voronoi_diagram Στα μαθηματικά, ένα διάγραμμα Voronoi είναι ένα διαχωρισμός ενός επιπέδου σε περιοχές που βασίζονται στην απόσταση από τα σημεία ενός συγκεκριμένου υποσυνόλου του επιπέδου.

Ο αλγόριθμος K means Η είσοδος του αλγορίθμου είναι ένα σύνολο προτύπων x 1,x 2,,x n καθώς και ο επιθυμητός αριθμός των ομάδων Κ Ξεκινάμε μια επαναληπτική διαδικασία όπου Αναθέτουμε τυχαία τα κέντρα των ομάδων Κ 1, Κ 2,,Κ n Για κάθε πρότυπο x i υπολογίζουμε το κοντινότερο κέντρο Κ j και αναθέτουμε το x i στην συστάδα Κ j Στη συνέχεια για κάθε συστάδα Κ 1, Κ 2,,Κ n υπολογίζομε τα νέα γεωμετρικά τους κέντρα ως τους μέσους όρους κάθε συστάδας με όλα τα σημεία x i που προκύψαν από το προηγούμενο βήμα. Σταματάμε την διαδικασία όταν δεν έχουμε μεταβολές στις συστάδες, δηλαδή τα στοιχεία τους παραμένουν ίδια.

Ο αλγόριθμος K means (με περισσότερα μαθηματικά ) Αναθέτουμε τυχαία τα κέντρα των ομάδων Κ 1, Κ 2,,Κ n x i υπολογίζουμε το κοντινότερο κέντρο Κ j : argmin j D x i, Kj αναθέτουμε το x i στην συστάδα Κ j Στη συνέχεια για κάθε συστάδα Κ 1, Κ 2,,Κ n υπολογίζομε τα νέα γεωμετρικά τους κέντρα: K j = 1 n j xi Kj xi και Σταματάμε την διαδικασία όταν δεν έχουμε μεταβολές στις συστάδες, δηλαδή τα στοιχεία τους παραμένουν ίδια.

Πολυπλοκότητα αλγορίθμου κ means Χώρος: αποθηκεύουμε μόνα τα κέντρα Η πολυπλοκότητα είναι O(I * n * K * d) n = αριθμός σημείων, K = αριθμός συστάδων, I = αριθμός επαναλήψεων, d = αριθμός γνωρισμάτων (διάσταση)

Παράδειγμα αλγορίθμου 1/3 Έστω ότι έχουμε τα παρακάτω 12 πρότυπα που ουσιαστικά έχουν ως χαρακτηριστικά το ύψος και το βάρος 12 ανθρώπων. Υποθέτουμε ότι θέλουμε να τους χωρίσουμε σε 2 κατηγορίες (Κ=2). 1st Πρότυπα Iteration Height Weight 1 185 72 2 170 56 3 168 60 4 174 68 5 182 72 6 188 77 7 180 71 8 165 70 9 183 84 10 160 75 11 158 67 12 177 76 Αρχικά θα πρέπει να αρχικοποιήσουμε τον αλγόριθμό και να αναθέσουμε 2 κέντρα, έστω π.χ. Κ1=(190,90) και Κ2=(170,56). Στη συνέχει υπολογίζουμε τις αποστάσεις από όλα τα πρότυπα όπως φαίνεται στους παρακάτω πίνακες: Dist from K1 Dist from K2 18,68154169 21,9317122 39,44616585 0 37,20215048 4,472135955 27,20294102 12,64911064 19,6977156 20 13,15294644 27,65863337 21,47091055 18,02775638 32,01562119 14,86606875 9,219544457 30,87069808 33,54101966 21,47091055 39,40812099 16,2788206 19,10497317 21,1896201 Αν η μικρότερη απόσταση είναι από το Κ1 το πρότυπο κατατάσσεται στην κόκκινη ομάδα ενώ αν είναι κοντινότερα στην Κ2 κατατάσσεται στη πράσινη. Στη συνέχεια βρίσκουμε το καινούριο κέντρο Κ1 ως τον μέσο όρο όλων των «κόκκινων» προτύπων και αντίστοιχα το Κ2 ως τον μέσο όρο των πράσινων προτύπων. Based and extended from http://dni-institute.in/blogs/k-means-clustering-algorithm-explained/

Παράδειγμα αλγορίθμου 2/3 1st Πρότυπα Iteration Height Weight 1 185 72 2 170 56 3 168 60 4 174 68 5 182 72 6 188 77 7 180 71 8 165 70 9 183 84 10 160 75 11 158 67 12 177 76 Dist from K1 Dist from K2 4,65188134 17,9392398 21,48799314 10,9264704 19,50874289 6,71580529 9,622445062 6,27596643 2,394712713 15,0983172 7,242185373 22,6170425 3,528292644 12,8769688 16,84016772 4,3542145 9,864403123 22,9804708 21,29768177 11,4187458 24,39887803 9,86128282 4,615847591 13,0313593 Έχοντας υπολογίσει τα νέα κέντρα Κ1=(183,76,2) και Κ2=(167.86,66.74) υπολογίζουμε και πάλι τις αποστάσεις από όλα τα πρότυπα όπως φαίνεται στους παρακάτω πίνακες και το κάθε πρότυπο κατατάσσεται στο πλησιέστερο (νέο) κέντρο. Παρατηρούμε ότι το πρότυπο 7 ενώ ήταν στην πράσινη ομάδα τώρα είναι κοντινότερα στην κόκκινη και άρα κατατάσσεται σε αυτήν. Ο αλγόριθμός μας λοιπόν δεν έχει συγκλίνει ακόμα οπότε προχωράμε σε Τρίτη επανάληψή οπού και πάλι βρίσκουμε το καινούριο κέντρο Κ1 ως τον μέσο όρο όλων των «κόκκινων» προτύπων και αντίστοιχα το Κ2 ως τον μέσο όρο των πράσινων προτύπων.

Παράδειγμα αλγορίθμου 3/3 1st Πρότυπα Iteration Height Weight 1 185 72 2 170 56 3 168 60 4 174 68 5 182 72 6 188 77 7 180 71 8 165 70 9 183 84 10 160 75 11 158 67 12 177 76 Dist from K1 Dist from K2 4,16664 20,08385518 23,02230416 10,83333462 21,10355631 6,379220868 11,22618764 8,408002075 3,370591771 17,24416478 5,74698955 24,74593419 5,002748134 15,02313346 18,29464645 4,085882878 8,68111104 24,87357149 22,50246851 10,72509855 25,87844448 7,896901854 5,540260724 14,98981384 Έχοντας υπολογίσει τα νέα κέντρα Κ1=(182.5,75.33) και Κ2=(165.83,66) υπολογίζουμε και πάλι τις αποστάσεις από όλα τα πρότυπα όπως φαίνεται στους παρακάτω πίνακες και το κάθε πρότυπο κατατάσσεται στο πλησιέστερο (νέο) κέντρο. Παρατηρούμε ότι το πρότυπο 7 παραμένει στην κόκκινη ομάδα και γενικά δεν υπάρχει καμία αλλαγή στις συστάδες σε σχέση με το προηγούμενο βήμα, οπότε ο αλγόριθμός μας συγκλίνει!!! Κ2 Κ1 x=[185 182 188 180 183 177] y=[72 72 77 71 84 76] x2=[170 168 174 165 160 158] y2=[56 60 68 70 75 67] plot(x,y,'ro',x2,y2,'go');xlabel('height');ylabel('width')

Εφαρμογή kmeans σε Εικόνα Η χρήση του kmeans στην εικόνα μπορεί να θεωρηθεί ως μια μέθοδο τμηματοποίησης. Για να εφαρμόσουμε την τεχνική αυτή συσταδοποίησης σε μια εικόνα θα πρέπει να σκεφτούμε τι ακριβώς θέλουμε να κάνουμε: Αν έχουμε μονόχρωμη εικόνα (gray-scale) μπορούμε να θεωρήσουμε κάθε pixel ως ένα πρότυπο και να χωρίσουμε τα pixels της εικόνας σε όσες κλάσεις επιθυμούμε. Σε έγχρωμες εικόνες μπορούμε να χρησιμοποιήσουμε 2ή 3 κανάλια, δηλαδη 2 ή 3 χαρακτηριστικά ανα pixel για να κάνουμε kmeans. Για να το υλοποιήσουμε στη matlab σε κάθε περίπτωση πρέπει να κατανοήσουμε την εντολή reshape.

Εφαρμογή kmeans σε Εικόνα Ας πούμε ότι φορτώνουμε μια RGB εικόνα (ουσιαστικά είναι 3 πίνακες με τιμές που αντιπροσωπεύουν κάθε βασικό χρώμα). im = imread('football.jpg'); Στο workspace βλέπουμε ότι είναι <256x320x3 uint8> Αν κόψουμε ένα μικρό 3Δ κύβο π.χ.: test=im(1:4,1:4,1:3) Τότε θα πάρουμε:

Εφαρμογή kmeans σε Εικόνα test(:,:,1) = 49 43 33 44 36 38 39 38 34 30 36 37 37 24 27 42 test(:,:,2) = 86 80 73 84 73 75 79 78 71 67 73 74 74 61 64 79 test(:,:,3) = 113 107 99 110 100 102 105 104 98 94 100 101 101 88 91 106 Ας υποθέσουμε ότι θέλουμε το και τα 3 κανάλια πληροφορίας για να το περάσουμε για kmeans. Τότε γράφουμε: ab = reshape(test,size(test,1)*size(test,2),3) ab = 49 86 113 36 73 100 34 71 98 37 74 101 43 80 107 38 75 102 30 67 94 24 61 88 33 73 99 39 79 105 36 73 100 27 64 91 44 84 110 38 78 104 37 74 101 42 79 106 Διάνυσμα με 3 χαρακτηριστικά που αντιστοιχούν στο pixel (1,1)

Εφαρμογή kmeans σε Εικόνα test(:,:,1) = 49 43 33 44 36 38 39 38 34 30 36 37 37 24 27 42 test(:,:,2) = 86 80 73 84 73 75 79 78 71 67 73 74 74 61 64 79 test(:,:,3) = 113 107 99 110 100 102 105 104 98 94 100 101 101 88 91 106 Ας υποθέσουμε ότι θέλουμε το 2 και 3 κανάλι πληροφορίας για να το περάσουμε για kmeans. Τότε γράφουμε: test2=test(:,:,2:3) test2(:,:,1) = 86 80 73 84 73 75 79 78 71 67 73 74 74 61 64 79 test2(:,:,2) = 113 107 99 110 100 102 105 104 98 94 100 101 101 88 91 106 Για να μπορούμε όμως να τα περάσουμε στον αλγόριθμο kmeans θα πρέπει να χρησιμοποιήσουμε την εντολή reshape ώστε κάθε pixel να έχει 2 χαρακτηριστικά. Τότε γράφουμε: ab = reshape(test2,size(test2,1)*size(test2,2),2) ab = 86 113 73 100 71 98 74 101 80 107 75 102 67 94 61 88 73 99 79 105 73 100 64 91 84 110 78 104 74 101 79 106 Διάνυσμα με 2 χαρακτηριστικά που αντιστοιχούν στο pixel (1,1)

Εφαρμογή kmeans σε Εικόνα Ας ξεκινήσουμε από μια ασπρόμαυρη εικόνα του φεγγαριού. Με τον τρόπο που περιγράψαμε μπορούμε να περάσουμε στο kmeans την ένταση κάθε pixel ως το χαρακτηριστικό του προτύπου. Τα αποτελέσματα και ο κώδικας που φτιάξαμε φαίνονται στην επόμενη διαφάνεια όπου χρησιμοποιούμε τον αλγόριθμο kmeans για να τμηματοποιήσουμε την εικόνα σε Κ=3 κλάσεις.

Άσκηση Εφαρμογή kmeans σε Εικόνα Α.Να εφαρμόσετε τη μέθοδο kmeans για να τμηματοποιήσετε την gray scale ασπρόμαυρη εικόνα moon.tif σε τρείς κάλσεις. Β.Να φορτώσετε την RGB εικόνα της Matlab football.jpg και να εφαρμόσετε την μέθοδο kmeans χρησιμοποιώντας α) Όλα τα κανάλια και β)μόνο τα κανάλια G,B. Να γίνει τμηματοποίηση για Κ=3 και Κ=4 σε όλα τα παραπάνω και να γραφτεί αναφορά με κώδικα, εξηγήσεις, αποτελέσματα εικόνων και γενικά σχόλια. Οι απαντήσεις είναι στα επόμενα slides (μόνο για διδάσκοντες )

im=imread('moon.tif'); nrows = size(im,1); ncols = size(im,2); ab = reshape(double(im),nrows*ncols,1); ncolors = 3; % repeat the clustering 5 times to avoid local minima [cluster_idx, cluster_center] = kmeans(ab,ncolors,'distance','sqeuclidean',... 'Replicates',5); pixel_labels = reshape(cluster_idx,nrows,ncols); figure, imshow(pixel_labels,[]), title('image labeled by cluster index'); figure subplot(2,2,1), imshow(im), title('moon'); subplot(2,2,2), imshow(im.*(uint8(pixel_labels==1))), title('objects in cluster 1'); subplot(2,2,3), imshow(im.*(uint8(pixel_labels==2))), title('objects in cluster 2'); subplot(2,2,4), imshow(im.*(uint8(pixel_labels==3))), title('objects in cluster 3');

Image Labelled by Cluster Index