Μία οπτική εισαγωγή στη μηχανική μάθηση (machine learning)
:
Στη μηχανική μάθηση (machine learning), οι υπολογιστές εφαρμόζουν τεχνικές στατιστικής μάθησης για να αναγνωρίσουν αυτόματα μοτίβα στα δεδομένα. Οι τεχνικές αυτές μπορούν να χρησιμοποιηθούν για να δημιουργηθούν πολύ ακριβείς προβλέψεις.
Μετακινηθείτε προς τα κάτω. Χρησιμοποιώντας ένα σύνολο δεδομένων για σπίτια, θα δημιουργήσουμε ένα μοντέλο μηχανικής μάθησης ούτως ώστε να ξεχωρίσουμε τα σπίτια της Νέας Υόρκης από αυτά του Σαν Φρανσίσκο.
Μετακινηθείτε
Πρώτα, κάποια διαίσθηση
Ας πούμε ότι πρέπει να καθορίσετε κατά πόσο ένα σπίτι είναι στο Σαν Φρανσίσκο ή στη Νέα Υόρκη. Σε όρους μηχανικής μάθησης, η κατηγοριοποίηση σημείων δεδομένων (data points) είναι εργασία ταξινόμησης (classification).
Εφόσον το Σαν Φρανσίσκο είναι σχετικά λοφώδες, το υψόμετρο ενός σπιτιού μπορεί να θεωρηθεί ένας καλός τρόπος για να ξεχωρίσουμε τις δύο πόλεις.
Βασισμένοι στα δεδομένα υψομέτρου-σπιτιού στα δεξιά μας, θα μπορούσαμε να υποστηρίξουμε ότι ένα σπίτι το οποίο έχει υψόμετρο υψηλότερο από 73 μέτρα θα μπορούσε να ταξινομηθεί ως σπίτι στο Σαν Φρανσίσκο.
Προσθέτωντας χροιά (nuance)
Προσθέτοντας ακόμη μία διάσταση (dimension) επιτρέπουμε περισσότερη χροιά. Για παράδειγμα, τα διαμερίσματα στη Νέα Υόρκη μπορεί να είναι εξαιρετικά πιο ακριβά ανά τετραγωνικό πόδι.
Έτσι η οπτικοποίηση του υψομέτρου και της τιμής ανά τετραγωνικό πόδι σε ένα διάγραμμα διασποράς (scatterplot) μας βοηθά να διακρίνουμε τα σπίτια με χαμηλότερο-υψόμετρο.
Τα δεδομένα δείχνουν ότι, μεταξύ των σπιτιών στα ή κάτω από τα 73 μέτρα, αυτά που κοστίζουν περισσότερο από $19,116.7 ανά τετραγωνικό μέτρο βρίσκονται στη Νέα Υόρκη.
Οι διαστάσεις (dimensions) σε ένα σύνολο δεδομένων αποκαλούνται χαρακτηριστικά (features), προβλέπτες (predictors), ή μεταβλητές (variables).
Σχεδίαση ορίων
Μπορείτε να οπτικοποιήσετε τις παρατηρήσεις του υψόμετρου (>73 m) καθώς και την τιμή ανά τετραγωνικό πόδι (>$19,116.7) ως τα όρια περιοχών στο διάγραμμα διασποράς. Τα σπίτια τα οποία απεικονίζονται σε πράσινες και μπλε περιοχές θα μπορούσαν να είναι στο Σαν Φρανσίσκο και στη Νέα Υόρκη αντίστοιχα.
Ο εντοπισμός των ορίων στα δεδομένα χρησιμοποιώντας μαθηματικά είναι η ουσία της στατιστικής μάθησης.
Εννοείται, θα χρειαστείτε περισσότερες πληροφορίες για να διαχωρίσετε σπίτια με χαμηλότερο υψόμετρο και χαμηλότερη τιμή ανά-τετραγωνικό-πόδι.
Το σύνολο δεδομένων που χρησιμοποιούμε για να δημιουργήσουμε το μοντέλο μας έχει 7 διαφορετικές διαστάσεις. Η δημιουργία ενός μοντέλου είναι επίσης γνωστή ως εκπαίδευση (training) ενός μοντέλου.
Στα δεξιά μας, οπτικοποιούμε τις μεταβλητές σε ένα πίνακα διαγράμματος διασποράς (scatterplot matrix) για να δείξουμε τη σχέση για κάθε ζεύγος διαστάσεων.
Υπάρχουν ξεκάθαρα μοτίβα στα δεδομένα, αλλά τα όρια δεν είναι τόσο φανερά για να τα σκιαγραφήσουμε.
Και τώρα, μηχανική μάθηση
Η μηχανική μάθηση μπαίνει στο παιγνίδι για να βρούμε μοτίβα (patterns) στα δεδομένα. Μέθοδοι μηχανικής μάθησης χρησιμοποιούν στατιστική μάθηση για να αναγνωρίσουν τα όρια.
Ένα παράδειγμα μηχανικής μάθησης είναι ένα δέντρο απόφασης (decision tree). Τα δέντρα αποφάσεων κοιτούν μία μεταβλητή ανά πάσα στιγμή και είναι σχετικά προσιτή (αν και υποτυπώδης) μέθοδος μηχανικής μάθησης.
Βρίσκοντας καλύτερα όρια
Ας επανεξετάσουμε το όριο υψομέτρου των 73-m το οποίο προτάθηκε προηγουμένως για να δούμε πως μπορούμε να βελτιώσουμε τη διαίσθησή μας.
Σαφώς, αυτό απαιτεί διαφορετική οπτική.
Με τη μετατροπή της απεικόνισής μας σε ένα ιστόγραμμα (histogram), μπορούμε να δούμε καλύτερα πόσο συχνά ένα σπίτι εμφανίζεται σε κάθε υψόμετρο.
Ενώ το υψηλότερο σπίτι στη Νέα Υόρκη είναι 73m, η πλειοψηφία αυτών φαίνεται να έχει πολύ χαμηλότερα υψόμετρα.
Το πρώτο fork
Ένα δέντρο απόφασης χρησιμοποιεί δηλώσεις αν-τότε (if-then) για να ορίσει μοτίβα στα δεδομένα.
Για παράδειγμα, αν (if) το υψόμετρο ενός σπιτιού είναι υψηλότερο από κάποιο αριθμό, τότε (then) το σπίτι βρίσκεται πιθανόν στο Σαν Φρανσίσκο.
Στη μηχανική μάθηση, οι δηλώσεις αυτές ονομάζονται forks, και διαχωρίζουν τα δεδομένα σε δύο διακλαδώσεις (branches) με βάση κάποια τιμή.
Η τιμή μεταξύ των διακλαδώσεων ονομάζεται σημείο διαχωρισμού (split point). Τα σπίτια στα αριστερά του σημείου κατηγοριοποιούνται με ένα τρόπο, ενώ αυτά στα δεξιά κατηγοριοποιούνται με άλλο. Για ένα δέντρο απόφασης το σημείο διαχωρισμού αποτελεί μία μορφή ορίου.
Συμβιβασμοί (Tradeoffs)
Η επιλογή ενός σημείου διαχωρισμού απαιτεί συμβιβασμούς (tradeoffs). Ο αρχικός μας διαχωρισμός (~73 m) λανθασμένα κατηγοριοποιεί κάποια σπίτια του Σαν Φρανσίσκο ως σπίτια της Νέας Υόρκης.
Δείτε στο μεγάλο κομμάτι πρασίνου στο αριστερό διάγραμμα πίτας, όλα αυτά είναι σπίτια του Σαν Φρανσίσκο τα οποία έχουν ταξινομηθεί εσφαλμένα (misclassified). Αυτά ονομάζονται ψευδώς αρνητικά (false negatives).
Εντούτοις, ένα σημείο διαχωρισμού το οποίο θα θέλαμε να περιλαμβάνει όλα τα σπίτια του Σαν Φρανσίσκο, θα συμπεριλάμβάνει επίσης και σπίτια που βρίσκονται στη Νέα Υόρκη. Αυτά ονομάζονται ψευδώς θετικά (false positives).
Ο καλύτερος διαχωρισμός (Best Split)
Στον καλύτερο διαχωρισμό , τα αποτελέσματα κάθε διακλάδωσης θα πρέπει είναι όσο πιο ομοιογενή (ή καθαρά) γίνεται. Υπάρχουν αρκετές μαθηματικές μέθοδοι από τις οποίες μπορείτε να επιλέξετε για να υπολογίσετε τον καλύτερο διαχωρισμό.
Όπως βλέπουμε εδώ, ακόμη και ο καλύτερος διαχωρισμός σε ένα και μόνο χαρακτηριστικό δεν είναι σε θέση να διαχωρίσει πλήρως τα σπίτια μεταξύ του Σαν Φρανσίσκο και των σπιτιών της Νέας Υόρκης.
Αναδρομή (Recursion)
Για να προσθέσετε ακόμη ένα σημείο διαχωρισμού, ο αλγόριθμος επαναλαμβάνει τη διαδικασία πιο πάνω σε υποσύνολα των δεδομένων. Η επανάληψη αυτή ονομάζεται αναδρομή (recursion), και είναι μία έννοια η οποία εμφανίζεται συχνά σε μοντέλα εκπαίδευσης (training models).
Τα ιστογράμματα στα αριστερά δείχνουν την κατανομή για κάθε υποσύνολο, επαναλαμβανόμενα για κάθε μεταβλητή.
Ο καλύτερος διαχωρισμός θα αλλάζει με βάση την διακλάδωση την οποία εξετάζουμε.
Για σπίτια με χαμηλότερο υψόμετρο, η τιμή ανά τετραγωνικό πόδι, στα $1061 ανά τετραγωνικό πόδι, είναι η καλύτερη μεταβλητή για την επόμενη δήλωση αν-τότε (if-then). Για σπίτια με υψηλότερο υψόμετρο η τιμή είναι στα $514,500
.Μεγαλώνοντας το δέντρο
Επιπλέον forks θα προσθέσουν νέες πληροφορίες οι οποίες μπορούν να βελτιώσουν την ακρίβεια πρόβλεψης (prediction accuracy) του δέντρου.
Διαχωρίζοντας ένα επίπεδο βαθύτερα, η ακρίβεια του δέντρου βελτιώνεται στο 84%.
Προσθέτωντας περισσότερα επίπεδα, πάμε στα 96%.
Μπορείτε να συνεχίσετε να προσθέτετε κλαδιά μέχρις ότου οι προβλέψεις γίνουν 100% ακριβείς, ούτως ώστε στο τέλος κάθε διακλάδωσης, τα σπίτια να ανήκουν είτε καθαρά στο Σαν Φρανσίσκο είτε καθαρά στη Νέα Υόρκη.
Τα τελικά κλαδιά του δέντρου ονομάζονται κόμβοι φύλλα (leaf nodes). Τα μοντέλα του δέντρου απόφασής μας κατηγοριοποιούν τα σπίτια σε κάθε κόμβο φύλλο σύμφωνα με τη κατηγορία σπιτιών που έχει την πλειοψηφία.
Δημιουργώντας προβλέψεις
Το δέντρο απόφασης που μόλις έχουμε εκπαιδεύσει, αποφασίζει κατά πόσο ένα σπίτι βρίσκεται στο Σαν Φρανσίσκο ή στην Νέα Υόρκη τρέχοντας κάθε σημείο δεδομένων από τις διακλαδώσεις
Εδώ μπορείτε να δείτε τα δεδομένα τα οποία χρησιμοποιήθηκαν για να εκπαιδεύσουν τη ροή διαμέσω του δέντρου.
Τα δεδομένα αυτά ονομάζονται δεδομένα εκπαίδευσης (training data) επειδή χρησιμοποιήθηκαν για να εκπαιδεύσουν το μοντέλο.
Επειδή μεγαλώσαμε το δέντρο μέχρις ότου έγινε 100% ακριβές, το δέντρο αυτό για κάθε σημείο δεδομένων εκπαίδευσης δείχνει τέλεια σε ποια πόλη ανήκει.
Έλεγχος Πραγματικότητας (Reality check)
Εννοείται, ότι αυτό που έχει περισσότερη σημασία είναι πως το δέντρο αποδίδει σε δεδομένα που δεν έχει δει πιο πριν.
Για να ελεγχθεί (test) η απόδοση του δέντρου σε νέα δεδομένα, χρειάζεται να του περάσουμε σημεία δεδομένων τα οποία δεν έχει δει πιο πριν. Τα δεδομένα αυτά τα οποία δεν είχαν χρησιμοποιηθεί πριν λέγονται δεδομένα ελέγχου (test data).
Ιδανικά, το δέντρο θα πρέπει να αποδίδει με παρόμοιο τρόπο τόσο στα γνωστά όσο και στα άγνωστα δεδομένα.
Πράγμα που σημαίνει ότι αυτό δεν είναι το ιδανικό.
Τα σφάλματα αυτά έχουν γίνει λόγω της υπερπροσαρμογής (overfitting). Το μοντέλο μας έχει μάθει να διαχειρίζεται κάθε λεπτομέρεια στα δεδομένα εκπαίδευσης ως σημαντική, ακόμη και λεπτομέρειες οι οποίες αποδείχθηκαν ότι δεν είναι και τόσο σχετικές.
Η υπερπροσαρμογή είναι μέρος των βασικών εννοιών στη μηχανική μάθηση την οποία θα εξηγήσουμε στην επόμενή μας δημοσίευση.
Ανακεφαλαίωση
- Η μηχανική μάθηση εντοπίζει μοτίβα στα σύνολα δεδομένων χρησιμοποιώντας στατιστική μάθηση και υπολογιστές με την ανεύρεση ορίων (boundaries). Μπορείτε να τη χρησιμοποιήσετε για να κάνετε προβλέψεις.
- Μία μέθοδος για να κάνεις προβλέψεις ονομάζεται δέντρο απόφασης, το οποίο χρησιμοποιεί μία σειρά από δηλώσεις αν-τότε για να εντοπίσει όρια και να καθορίσει μοτίβα στα δεδομένα.
- Η υπερπροσαρμογή (overfitting) συμβαίνει όταν κάποια όρια είναι βασισμένα σε διακρίσεις οι οποίες δεν κάνουν διαφορά. Μπορείτε να δείτε αν ένα μοντέλο υπερπροσαρμόζεται χρησιμοποιώντας δεδομένα ελέγχου τα οποία ρέουν μέσα στο μοντέλο.
Έρχεται προσεχώς
Στο επόμενό μας άρθρο, θα εξερευνήσουμε την υπερπροσαρμογή, και πως σχετίζεται με ένα θεμελιώδες συμβιβασμό (trade-off) στη μηχανική μάθηση.
Ερωτήσεις? Σκέψεις? Θα θέλαμε να ακούσουμε από σας. Κάντε μας τουίτ στο @r2d3us ή στείλτε μας με ηλεκτρονικό ταχυδρομείο στο team@r2d3.us.
Εν τέλει, ευχαριστούμε πάρα πολύ τον Ανδρέα Λοΐζου (LinkedIn, Twitter) ο οποίος εθελοντικά μετέφρασε το κείμενο για εμάς!
Ακολουθήστε μας στο Twitter...
Μία οπτική εισαγωγή στη μηχανική μάθηση (machine learning)
Posted by @r2d3us on Twitter
...ή στο Facebook...
...ή κρατείστε επαφή μέσω ηλεκτρονικού ταχυδρομείου
Υπόμνημα
- Οι έννοιες της Μηχανικής Μάθησης (Machine Learning) έχουν προκύψει από διάφορους κλάδους (πληροφορικής, στατιστικής, μηχανικής, ψυχολογίας, κ.α.) και για αυτό υπάρχει η διαφορετική ονοματολογία.
- Για να μάθετε περισσότερα για τον υπολογισμό του βέλτιστου διαχωρισμού (optimal split), κάντε αναζήτηση για 'gini index' ή 'cross entropy'
- Ένας λόγος γιατί οι υπολογιστές είναι τόσο καλοί στο να εφαρμόζουν τεχνικές στατιστικής μάθησης, είναι επειδή είναι ικανοί να κάνουν επαναλαμβανόμενες εργασίες (tasks), πολύ γρήγορα και χωρίς να βαριούνται.
- Ο αλγόριθμος ο οποίος περιγράφεται εδώ είναι άπληστος (greedy), επειδή χρησιμοποιεί από-πάνω-προς-τα-κάτω (top-down) προσέγγιση για να διαχωρίσει τα δεδομένα. Με άλλα λόγια, ψάχνει για τη μεταβλητή η οποία κάνει κάθε υποσύνολο όσο πιο ομογενές γίνεται τη δεδομένη στιγμή.
- Βάλτε το ποντίκι σας πάνω από τις τελείες για να δείτε το μονοπάτι που πήρε μέσα στο δέντρο.
- Spoiler alert: Είναι ο συμβιβασμός (tradeoff) μεταξύ προκατάληψης (bias)/διακύμανσης (variance)!