Τεχνητή νοημοσύνη 101

Τι είναι το K-Means Clustering;

mm

Το K-means clustering είναι ένα αλγόριθμο μη επιτηρούμενης μάθησης, και από όλους τους αλγόριθμους μη επιτηρούμενης μάθησης, το K-means clustering μπορεί να είναι ο πιο ευρέως χρησιμοποιούμενος, χάρη στην ισχύ και την απλότητά του. Πώς λειτουργεί ακριβώς το K-means clustering;

Η σύντομη απάντηση είναι ότι το K-means clustering λειτουργεί δημιουργώντας ένα σημείο αναφοράς (ένα κέντρο) για τον επιθυμητό αριθμό τάξεων, και στη συνέχεια αναθέτοντας σημεία δεδομένων σε τάξεις κλάσεων με βάση το ποιο σημείο αναφοράς είναι πιο κοντά. Ενώ αυτή είναι μια γρήγορη ορισμός για το K-means clustering, ας dànhουμε λίγο χρόνο για να εμβαθύνουμε περισσότερο στο K-means clustering και να αποκτήσουμε μια καλύτερη直觉 για το πώς λειτουργεί.

Ορισμός του Clustering

Πριν εξετάσουμε τους ακριβείς αλγόριθμους που χρησιμοποιούνται για την εκτέλεση του K-means clustering, ας dànhουμε λίγο χρόνο για να ορίσουμε το clustering γενικά.

Οι τάξεις είναι απλά ομάδες αντικειμένων, και το clustering είναι απλά τοποθέτηση αντικειμένων σε αυτές τις ομάδες. Στην επιστήμη των δεδομένων, οι αλγόριθμοι clustering στοχεύουν να κάνουν δύο πράγματα:

  • Να διασφαλίσουν ότι όλα τα σημεία δεδομένων σε μια τάξη είναι όσο το δυνατόν πιο παρόμοια μεταξύ τους.
  • Να διασφαλίσουν ότι όλα τα σημεία δεδομένων σε διαφορετικές τάξεις είναι όσο το δυνατόν πιο διαφορετικά μεταξύ τους.

Οι αλγόριθμοι clustering ομαδοποιούν τα αντικείμενα με βάση κάποιο μέτρο ομοιότητας. Αυτό γίνεται συχνά βρήσκοντας το “κέντρο” των διαφόρων πιθανών ομάδων στο σύνολο δεδομένων, αν και όχι αποκλειστικά. Υπάρχουν διάφοροι αλγόριθμοι clustering, αλλά ο στόχος όλων των αλγορίθμων clustering είναι ο ίδιος, να καθορίσουν τις ομάδες που είναι εγγενείς στο σύνολο δεδομένων.

K-Means Clustering

Το K-Means Clustering είναι ένας από τους παλαιότερους και πιο συχνά χρησιμοποιούμενους τύπους αλγορίθμων clustering, και λειτουργεί με βάση την ποσοτική αντιπροσώπευση. Υπάρχει ένα σημείο στο χώρο που επιλέγεται ως προέλευση, και στη συνέχεια διανύσματα σχεδιάζονται από την προέλευση σε όλα τα σημεία δεδομένων του συνόλου δεδομένων.

Γενικά, το K-means clustering μπορεί να χωριστεί σε πέντε διαφορετικά βήματα:

  • Τοποθετήστε όλα τα περιστατικά σε υποομάδες, όπου ο αριθμός των υποομάδων είναι ίσος με K.
  • Βρείτε το σημείο μέσης/κέντρο των νεοδημιουργημένων διαμερισμάτων τάξεων.
  • Βάσει αυτών των κέντρων, αναθέστε κάθε σημείο σε μια συγκεκριμένη τάξη.
  • Υπολογίστε τις αποστάσεις από κάθε σημείο στα κέντρα και αναθέστε τα σημεία στις τάξεις όπου η απόσταση από το κέντρο είναι η ελάχιστη.
  • Μετά την ανάθεση των σημείων στις τάξεις, βρείτε το νέο κέντρο των τάξεων.

Τα παραπάνω βήματα επαναλαμβάνονται μέχρι να ολοκληρωθεί η διαδικασία εκπαίδευσης.

Στην αρχική φάση, τα κέντρα τοποθετούνται κάπου μεταξύ των σημείων δεδομένων.
Φωτογραφία: Weston.pace μέσω wikimedia commons, GNU Free Documentation License (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_1.svg)

Εναλλακτικά, μετά την τοποθέτηση των κέντρων, μπορούμε να σκεφτούμε το K-means clustering ως εναλλαγή μεταξύ δύο διαφορετικών φάσεων: ετικέτα δεδομένων και ενημέρωση κέντρων.

Στο δεύτερο βήμα, χρησιμοποιείται ένα μέτρο απόστασης όπως η Ευκλείδεια απόσταση για να υπολογιστεί ποιο κέντρο είναι πιο κοντά σε ένα δεδομένο σημείο, και στη συνέχεια τα σημεία αναθέτονται στην τάξη του κέντρου. Φωτογραφία: Weston.pace μέσω Wikimedia Commons, GNU Free Doc License (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_2.svg)

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

Στο τρίτο βήμα, τα κέντρα μετακινούνται στο μέσο όλων των σημείων δεδομένων. Οι τάξεις αναθέτονται ξανά. Φωτογραφία: Weston.pace μέσω Wikiemedia Commons, CC SA 3.0 (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_3.svg)

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

Πώς να Επιλέξετε την Σωστή Τιμή για το “K”

Λαμβάνοντας υπόψη ότι το K-means clustering είναι ένας αλγόριθμος μη επιτηρούμενης μάθησης και ο αριθμός των τάξεων δεν είναι γνωστός εκ των προτέρων, πώς quyếtίζετε για τον κατάλληλο αριθμό τάξεων/τη σωστή τιμή για K;

Μια τεχνική για την επιλογή της σωστής τιμής K είναι ονομάζεται “τεχνική του γόνατου”. Η τεχνική του γόνατου συνίσταται στο να τρέξετε τον αλγόριθμο K-means clustering για eine σειρά διαφορετικών τιμών K και να χρησιμοποιήσετε ένα μέτρο ακρίβειας, συνήθως το Άθροισμα των Τετραγωνικών Σφαλμάτων, για να καθορίσετε ποιες τιμές του K δίνουν τα καλύτερα αποτελέσματα. Το Άθροισμα των Τετραγωνικών Σφαλμάτων καθορίζεται υπολογίζοντας τη μέση απόσταση μεταξύ του κέντρου μιας τάξης και των σημείων δεδομένων σε αυτήν την τάξη.

Ο όρος “τεχνική του γόνατου” προέρχεται από το γεγονός ότι όταν σχεδιάζετε το Άθροισμα των Τετραγωνικών Σφαλμάτων σε σχέση με τις διαφορετικές τιμές του K, η γραφική παράσταση που προκύπτει έχει συχνά einen “γόνατο” σχήμα, όπου το Άθροισμα των Τετραγωνικών Σφαλμάτων μειώνεται γρήγορα για τις πρώτες τιμές του K, αλλά στη συνέχεια ισιώνει. Σε τέτοιες συνθήκες, η τιμή του K που βρίσκεται στο γόνατο είναι η καλύτερη τιμή για K, καθώς υπάρχουν γρήγορα μειούμενες αποδόσεις μετά από αυτήν την τιμή.

Mini-Batch K-Means Clustering

Όσο μεγαλώνουν τα σύνολα δεδομένων, αυξάνεται επίσης ο χρόνος υπολογισμού. Το βασικό K-means clustering μπορεί να χρειαστεί πολύ χρόνο για να ολοκληρωθεί όταν εκτελείται σε μεγάλα σύνολα δεδομένων, και ως αποτέλεσμα, έχουν γίνει τροποποιήσεις στο K-means clustering για να μειώσουν τον αλγόριθμο χωρικών και χρονικών κοστών.

Mini-Batch K-means clustering είναι μια παραλλαγή του K-means clustering όπου το μέγεθος του συνόλου δεδομένων που εξετάζεται είναι περιορισμένο. Το κανονικό K-means clustering λειτουργεί στο σύνολο δεδομένων/μπατς ως ένα σύνολο, ενώ το Mini-Batch K-means clustering διασπά το σύνολο δεδομένων σε υποσύνολα. Τα mini-μπατς δειγματοληπτικά από το σύνολο δεδομένων και για κάθε νέα επανάληψη, ένα νέο τυχαίο δείγμα επιλέγεται και χρησιμοποιείται για να ενημερώσει τη θέση των κέντρων.

Στο Mini-Batch K-Means clustering, οι τάξεις ενημερώνονται με μια συνδυασμένη τιμή των mini-μπατς και ενός ρυθμού μάθησης. Ο ρυθμός μάθησης μειώνεται κατά τις επαναλήψεις, και είναι το αντίστροφο του αριθμού των σημείων δεδομένων που τοποθετούνται σε μια συγκεκριμένη τάξη. Η επίδραση της μείωσης του ρυθμού μάθησης είναι ότι η επίδραση των νέων δεδομένων μειώνεται και η σύγκλιση επιτυγχάνεται όταν, μετά από πολλές επαναλήψεις, δεν υπάρχουν αλλαγές στις τάξεις.

Τα αποτελέσματα των μελετών για την αποτελεσματικότητα του Mini-Batch K-Means clustering δείχνουν ότι μπορεί να μειώσει με επιτυχία τον χρόνο υπολογισμού με μια μικρή ανταλλαγή στην ποιότητα των τάξεων.

Εφαρμογές του K-Means Clustering

Το K-means clustering μπορεί να χρησιμοποιηθεί με ασφάλεια σε οποιαδήποτε περίπτωση όπου τα σημεία δεδομένων μπορούν να διαχωριστούν σε διακριτές ομάδες/τάξεις. Εδώ είναι quelques παραδείγματα κοινοί χρήσεις του K-means clustering.

Το K-means clustering θα μπορούσε να εφαρμοστεί στην ταξινόμηση εγγράφων, ομαδοποιώντας έγγραφα με βάση χαρακτηριστικά όπως θέματα, ετικέτες, χρήση λέξεων, μεταδεδομένα και άλλα χαρακτηριστικά εγγράφων. Θα μπορούσε επίσης να χρησιμοποιηθεί για την ταξινόμηση χρηστών ως bots ή μη bots με βάση μοτίβα δραστηριότητας όπως αναρτήσεις και σχόλια. Το K-means clustering μπορεί επίσης να χρησιμοποιηθεί για να τοποθετήσει τους ανθρώπους σε ομάδες με βάση τα επίπεδα ανησυχίας κατά την παρακολούθηση της υγείας τους, με βάση χαρακτηριστικά όπως συννοσηρότητες, ηλικία, ιστορικό ασθενή, κ.λπ.

Το K-means clustering μπορεί επίσης να χρησιμοποιηθεί για πιο ανοιχτές εργασίες όπως η δημιουργία συστημάτων συστάσεων. Οι χρήστες ενός συστήματος όπως το Netflix μπορούν να ομαδοποιηθούν μαζί με βάση τα μοτίβα προβολής και να προτείνουν παρόμοιο περιεχόμενο. Το K-means clustering θα μπορούσε να χρησιμοποιηθεί για εργασίες ανίχνευσης ανωμαλιών, υπογραμμίζοντας πιθανές περιπτώσεις απάτης ή ελαττωματικών αντικειμένων.

Blogger και προγραμματιστής με ειδικότητες στα Machine Learning και Deep Learning θέματα. Ο Daniel ελπίζει να βοηθήσει τους άλλους να χρησιμοποιήσουν τη δύναμη του AI για κοινωνικό καλό.