Τα τελευταία χρόνια, συμβαδίζοντας με το σύγχρονο τρόπο ζωής, η ανθρωπότητα παράγει ολοένα και περισσότερα δεδομένα, λόγω της εξάπλωσης των κοινωνικών δικτύων, των νέων μέσων επικοινωνίας, της εξέλιξης της ψηφιακής φωτογραφίας αλλά και του Διαδικτύου των
Πραγμάτων. Η αξιοποίηση των δεδομένων αυτών ώστε να καταλήξουν σε χρήσιμη πληροφορία και έπειτα σε γνώση, αποτελεί αντικείμενο αρκετών επιστημών. Η Μηχανική Μάθηση, η οποία εντάσσεται στο πεδίο της Τεχνητής Νοημοσύνης, είναι μια από αυτές. Στη συγκεκριμένη εργασία θα ασχοληθούμε συγκεκριμένα με τη μέθοδο συσταδοποίησης k-means, η οποία ανήκει στην κατηγορία αλγορίθμων μη επιτηρούμενης μάθησης. Θα αναφερθούμε σε θεωρητικό επίπεδο στις διάφορες μεθόδους Μηχανικής Μάθησης και στη συνέχεια θα αναλύσουμε τον αλγόριθμο k-means με τους περιορισμούς του αλλά και κάποια πρακτικά παραδείγματα εφαρμογής. Στη συνέχεια θα περιγράψουμε τον αλγόριθμο που αναπτύχθηκε στα πλαίσια της εργασίας σε γλώσσα προγραμματισμού python, ο οποίος παρέχει οπτικοποίηση και αναλυτική πληροφορία στο χρήστη για τα ενδιάμεσα στάδια και τις επαναλήψεις του k-means, πράγμα που τον καθιστά κατάλληλο για σκοπούς εκπαίδευσης ή επίδειξης.
(EL)
In recent years, keeping pace with the modern way of life, humanity is producing more and more data, due to the spread of social networks, new communication methods, the evolution of digital photography and the Internet of Things. Utilizing this data to produce useful information and make it into knowledge is the subject of several sciences. Machine Learning which is a field of Artificial Intelligence is one of them.
In this paper we will deal specifically with the k-means clustering method, which belongs to the category of unsupervised learning algorithms. We will refer at a theoretical level to the various methods of Machine Learning and then we will analyze k-means algorithm with its limitations and some practical examples of application. Next, we will refer to the algorithm developed in python programming language, in the context of this project, which provides visualization and analytical information to the user for the intermediate stages and iterations of k-means, which makes it suitable for training or demonstration purposes.
(EN)