Overfitting στο Machine Learning: Πλήρης Οδηγός (2024)
Κατά την εκπαίδευση ενός μοντέλου, οι Data Scientists και οι Machine Learning Engineers, είναι πιθανό να αντιμετωπίσουν την κατάσταση του overfitting.
Παρότι αποτελεί μια όχι και τόσο ευχάριστη κατάσταση, είναι συχνό φαινόμενο και υπάρχουν τρόποι να εντοπιστεί έγκαιρα αλλά και να αποφευχθεί.
Στο σημερινό οδηγό θα δούμε αναλυτικά:
- Τι είναι το overfitting στο machine learning
- Πώς μπορεί να εντοπιστεί το overfitting
- Πώς μπορεί να αποφευχθεί το overfitting
- Πώς διαφέρει το overfitting από το underfitting
Ας ξεκινήσουμε με έναν βασικό ορισμό.
Τι Είναι το Overfitting στο Machine Learning και Γιατί Συμβαίνει;
Το overfitting στο Machine Learning είναι ένα συχνό φαινόμενο όπου το machine learning model το οποίο εκπαιδεύεται σε ένα σύνολο δεδομένων, ταιριάζει ακριβώς με τα δεδομένα εκπαίδευσής του, αδυνατώντας να κάνει γενικεύσεις.
Άλλωστε, η γενίκευση ενός μοντέλου είναι που παρέχει την δυνατότητα να χρησιμοποιούμε αλγόριθμους μηχανικής μάθησης για να κάνουμε προβλέψεις και ταξινομήσεις των δεδομένων.
Όταν συμβαίνει λοιπόν το overfitting και το μοντέλο προσαρμόζεται πολύ στενά στα δεδομένα εκπαίδευσης, καταγράφει πέρα από τα patterns, ακόμη και το θόρυβο και τις τυχαίες διακυμάνσεις (fluctuations) στα δεδομένα αυτά.
Σαν αποτέλεσμα, το overfitted model δεν αποδίδει καλά σε νέα δεδομένα που δεν έχει ξαναδεί, διότι πρακτικά έχει απομνημονεύσει το σετ δεδομένων εκπαίδευσης αντί να κάνει γενικεύσεις μέσα από αυτό.
Το overfitting (υπερπροσαρμογή) συμβαίνει για διάφορους λόγους, όπως οι ακόλουθοι:
- Το μέγεθος των δεδομένων εκπαίδευσης είναι πολύ μικρό, με αποτέλεσμα να μην περιέχει επαρκή δείγματα δεδομένων τα οποία χρειάζονται προκειμένου να αντιπροσωπεύονται με ακρίβεια όλες οι πιθανές τιμές δεδομένων εισόδου.
- Τα δεδομένα εκπαίδευσης μπορεί να περιέχουν θορυβώδη δεδομένα, δηλαδή δεδομένα που περιέχουν σφάλματα ή τυχαίες διακυμάνσεις.
- Η πολυπλοκότητα του μοντέλου είναι υψηλή.
- Το μοντέλο εκπαιδεύεται για πολύ μεγάλο χρονικό διάστημα σε ένα ενιαίο σύνολο δειγμάτων δεδομένων.
Πώς Μπορεί να Εντοπιστεί το Overfitting;
Για την καλύτερη κατανόηση του βαθμού ακρίβειας ενός machine learning model, είναι σημαντικό να πραγματοποιούνται τακτικοί έλεγχοι της καταλληλότητας του εκάστοτε μοντέλου από τους ML Engineers.
Για τον εντοπισμό overfitted models είναι σημαντική η δοκιμή των ML μοντέλων σε περισσότερα δεδομένα με ολοκληρωμένη αναπαράσταση πιθανών τιμών και τύπων δεδομένων εισόδου.
Ένα υψηλό ποσοστό σφάλματος στα δεδομένα δοκιμών αποτελεί σημαντική ένδειξη overfitting.
Ειδικότερα, το K-fold cross-validation (διασταυρούμενη επικύρωση K-fold) είναι μία από τις πιο δημοφιλείς τεχνικές για το σκοπό αυτό της αξιολόγησης της ακρίβειας του μοντέλου.
Στο K-fold cross-validation, τα δεδομένα χωρίζονται από τους Data Scientists σε k υποσύνολα ίσου μεγέθους, τα οποία ονομάζονται επίσης folds, δηλαδή "πτυχώσεις".
Η εκπαιδευτική διαδικασία αποτελείται από μια σειρά επαναλήψεων.
Μετά από κάθε αξιολόγηση, διατηρείται μια βαθμολογία και όταν υλοποιηθούν όλες οι επαναλήψεις, οι βαθμολογίες υπολογίζονται κατά μέσο όρο για να εκτιμηθεί η απόδοση του συνολικού μοντέλου.
Αφού είδαμε τι είναι και πώς μπορεί να εντοπιστεί το overfitting στο machine learning, ας δούμε πώς μπορεί να αποφευχθεί.
Πώς Μπορεί να Αποφευχθεί το Overfitting;
Το overfitting είναι πιο πιθανό να προκύψει με μη παραμετρικά και μη γραμμικά μοντέλα.
Ωστόσο, παρότι η χρήση ενός γραμμικού μοντέλου θα μπορούσε θεωρητικά να βοηθήσει στην αποφυγή του overfitting, πρακτικά τα περισσότερα προβλήματα της καθημερινότητας δεν είναι γραμμικά.
Για να αποφευχθεί λοιπόν το overfitting, μπορούν να χρησιμοποιηθούν οι εξής μέθοδοι:
Τρόπος #1: Παύση της εκπαίδευσης την κατάλληλη στιγμή
Η παύση της εκπαίδευσης την κατάλληλη στιγμή, πριν το μοντέλο ML μάθει το θόρυβο στα δεδομένα, αποτελεί σημαντική τεχνική για να αποφευχθεί το overfitting.
Ωστόσο, η επίτευξη του σωστού χρονοδιαγράμματος είναι σημαντική, αλλιώς υπάρχει ο κίνδυνος το μοντέλο να σταματήσει να εκπαιδεύεται σε πολύ πρώιμο επίπεδο, οδηγώντας σε underfitting, το οποίο θα αναλύσουμε στη συνέχεια.
Τρόπος #2: Εκπαίδευση με περισσότερα δεδομένα
Εάν είναι δυνατόν, είναι σημαντικό να γίνεται συλλογή όσο περισσότερων δεδομένων γίνεται.
Άλλωστε, σε όσο περισσότερα δεδομένα εκπαιδεύεται ένα μοντέλο, τόσο καλύτερα μπορεί να γενικευθεί.
Τρόπος #3: Κανονικοποίηση
Τεχνικές όπως η κανονικοποίηση (regularization) L1 και L2 μπορούν να βοηθήσουν στην πρόληψη του overfitting θέτοντας penalty σε ορισμένες παραμέτρους του μοντέλου που είναι πιο πιθανό να προκαλέσουν overfitting.
Ας δούμε τώρα τι είναι το underfitting για το οποίο κάναμε λόγο νωρίτερα, και φυσικά πώς διαφοροποιείται από το overfitting.
Πώς Διαφέρει το Overfitting από το Underfitting;
Τόσο η υπερβολική προσαρμογή (overfitting) όσο και η ελλιπής προσαρμογή (underfitting) οδηγούν σε κακές προβλέψεις για νέα δεδομένα, αλλά για διαφορετικούς λόγους το καθένα.
Ενώ το overfitting είναι η υπερβολική προσαρμογή ενός μοντέλου στα δεδομένα εκπαίδευσης, το underfitting είναι το αντίθετο.
Το underfitting συμβαίνει όταν το μοντέλο δεν μπορεί να προσδιορίσει μια ουσιαστική σχέση μεταξύ των δεδομένων εισόδου και εξόδου.
Τα underfitted models προκύπτουν όταν δεν έχουν εκπαιδευτεί για το κατάλληλο χρονικό διάστημα σε μεγάλο αριθμό σημείων δεδομένων.
Με Λίγα Λόγια
Μιλήσαμε λοιπόν αναλυτικά για το overfitting, γιατί συμβαίνει και πώς μπορεί να αποφευχθεί.
Ο χώρος της επιστήμης των δεδομένων και του Machine Learning προσφέρει πολλές ευκαιρίες επαγγελματικής αποκατάστασης και θέσεων εργασίας με πολύ καλό μισθό.
Έτσι, αν αποτελεί το μονοπάτι που θέλεις να ακολουθήσεις και εσύ επαγγελματικά, πάρε μέρος στο Data Science Bootcamp της Big Blue, για να λάβεις όλα τα απαραίτητα εφοδια και ουσιαστική πρακτική γνώση από την πρώτη κιόλας μέρα!