Τι είναι το Overfitting στη μηχανική εκμάθηση και πώς να το αποφύγετε;



Αυτό το άρθρο καλύπτει το Overfitting στη Μηχανική Εκμάθηση με παραδείγματα και μερικές τεχνικές που πρέπει να αποφεύγονται, ανιχνεύουν το Overfitting σε ένα μοντέλο Machine Learning.

Η δημιουργία ενός μοντέλου Μηχανικής Μάθησης δεν αφορά μόνο την τροφοδοσία των δεδομένων, αλλά υπάρχουν πολλές ελλείψεις που επηρεάζουν την ακρίβεια οποιουδήποτε μοντέλου. Υπέρβαση είναι μια τέτοια ανεπάρκεια στη μηχανική εκμάθηση που εμποδίζει την ακρίβεια καθώς και την απόδοση του μοντέλου. Τα ακόλουθα θέματα καλύπτονται σε αυτό το άρθρο:

Τι είναι το Overfitting στη Μηχανική Εκμάθηση;

Ένα στατιστικό μοντέλο λέγεται ότι υπερπληρώνεται όταν το τροφοδοτούμε πολύ περισσότερα δεδομένα από ό, τι είναι απαραίτητο. Για να το κάνετε σχετικό, φανταστείτε να προσπαθείτε να ταιριάξετε σε υπερμεγέθη ρούχα.





Όταν ένα μοντέλο ταιριάζει περισσότερα δεδομένα από ό, τι πραγματικά χρειάζεται, αρχίζει να συλλαμβάνει τα θορυβώδη δεδομένα και τις ανακριβείς τιμές στα δεδομένα. Ως αποτέλεσμα, η αποτελεσματικότητα και η ακρίβεια του μοντέλου μειώνονται. Ας ρίξουμε μια ματιά σε μερικά παραδείγματα υπερφόρτωσης για να κατανοήσουμε πώς συμβαίνει πραγματικά.



Παραδείγματα Overfitting

Παράδειγμα 1

Αν πάρουμε ένα παράδειγμα απλού γραμμικής παλινδρόμησης , η εκπαίδευση των δεδομένων έχει να κάνει με την εύρεση του ελάχιστου κόστους μεταξύ της γραμμής καλύτερης προσαρμογής και των σημείων δεδομένων. Περνάει από πολλές επαναλήψεις για να βρει τη βέλτιστη βέλτιστη εφαρμογή, ελαχιστοποιώντας το κόστος. Εδώ έρχεται η εικόνα η υπερβολική τοποθέτηση.



Η γραμμή που φαίνεται στην παραπάνω εικόνα μπορεί να δώσει ένα πολύ αποτελεσματικό αποτέλεσμα για ένα νέο σημείο δεδομένων. Σε περίπτωση υπερβολικής τοποθέτησης, όταν εκτελούμε τον αλγόριθμο εκπαίδευσης στο σύνολο δεδομένων, επιτρέπουμε τη μείωση του κόστους με κάθε αριθμό επαναλήψεων.

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

προσθήκη δύο αριθμών σε java

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

Τώρα ας εξετάσουμε ένα πιο περιγραφικό παράδειγμα με τη βοήθεια μιας δήλωσης προβλήματος.

Παράδειγμα 2

Δήλωση προβλήματος: Ας σκεφτούμε ότι θέλουμε να προβλέψουμε εάν ένας ποδοσφαιριστής θα προσγειωθεί σε ένα κουλοχέρη σε ένα ποδοσφαιρικό σύλλογο κατηγορίας 1 με βάση την τρέχουσα απόδοσή του στο πρωτάθλημα της κατηγορίας 2.

Τώρα φανταστείτε, εκπαιδεύουμε και προσαρμόζουμε το μοντέλο με 10.000 τέτοιους παίκτες με αποτελέσματα. Όταν προσπαθούμε να προβλέψουμε το αποτέλεσμα στο αρχικό σύνολο δεδομένων, ας πούμε ότι έχουμε ακρίβεια 99%. Αλλά η ακρίβεια σε ένα διαφορετικό σύνολο δεδομένων φτάνει περίπου το 50 τοις εκατό. Αυτό σημαίνει ότι το μοντέλο δεν γενικεύεται καλά από τα δεδομένα εκπαίδευσης και τα δεδομένα που δεν έχουμε δει.

Αυτό είναι το overfitting. Είναι ένα πολύ κοινό πρόβλημα στη Μηχανική Εκμάθηση και ακόμη και στην επιστήμη των δεδομένων. Τώρα ας κατανοήσουμε το σήμα και το θόρυβο.

Σήμα έναντι θορύβου

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

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

Μιλώντας για το θόρυβο και το σήμα από την άποψη της μηχανικής εκμάθησης, ένας καλός αλγόριθμος μηχανικής εκμάθησης θα διαχωρίσει αυτόματα τα σήματα από τον θόρυβο. Εάν ο αλγόριθμος είναι πολύ περίπλοκος ή αναποτελεσματικός, μπορεί να μάθει επίσης τον θόρυβο. Ως εκ τούτου, υπερβολική τοποθέτηση του μοντέλου. Ας καταλάβουμε επίσης την υπολειτουργία στη Μηχανική Εκμάθηση επίσης.

Τι είναι το Underfitting;

Προκειμένου να αποφευχθεί η υπερβολική τοποθέτηση, θα μπορούσαμε να σταματήσουμε την προπόνηση σε πρώιμο στάδιο. Αλλά μπορεί επίσης να οδηγήσει στο μοντέλο να μην είναι σε θέση να μάθει αρκετά από τα δεδομένα εκπαίδευσης, ότι μπορεί να δυσκολευτεί να καταγράψει την κυρίαρχη τάση. Αυτό είναι γνωστό ως underfitting. Το αποτέλεσμα είναι το ίδιο με την υπερβολική τοποθέτηση, την αναποτελεσματικότητα στην πρόβλεψη των αποτελεσμάτων.

Τώρα που έχουμε καταλάβει τι είναι πραγματικά η μη κατάλληλη και η υπερβολική προσαρμογή στη Μηχανική Μάθηση, ας προσπαθήσουμε να καταλάβουμε πώς μπορούμε να εντοπίσουμε την υπερβολική τοποθέτηση στη Μηχανική Μάθηση.

Πώς να εντοπίσετε την υπερβολική τοποθέτηση;

Η κύρια πρόκληση με το overfitting είναι να εκτιμήσουμε την ακρίβεια της απόδοσης του μοντέλου μας με νέα δεδομένα. Δεν θα μπορούσαμε να εκτιμήσουμε την ακρίβεια μέχρι να το δοκιμάσουμε.

Για την αντιμετώπιση αυτού του προβλήματος, μπορούμε να χωρίσουμε το αρχικό σύνολο δεδομένων σε ξεχωριστά σύνολα δεδομένων εκπαίδευσης και δοκιμής. Με αυτήν την τεχνική, μπορούμε πραγματικά να προσεγγίσουμε πόσο καλά θα αποδώσει το μοντέλο μας με τα νέα δεδομένα.

Ας το καταλάβουμε με ένα παράδειγμα, φανταστείτε ότι έχουμε 90+ τοις εκατό ακρίβεια στο σετ προπόνησης και 50 τοις εκατό ακρίβεια στο σετ δοκιμών. Στη συνέχεια, αυτόματα θα ήταν μια κόκκινη σημαία για το μοντέλο.

Ένας άλλος τρόπος για τον εντοπισμό της υπερβολικής τοποθέτησης είναι να ξεκινήσετε με ένα απλοϊκό μοντέλο που θα χρησιμεύσει ως σημείο αναφοράς.

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

Πώς να αποφύγετε την υπερβολική τοποθέτηση στη μηχανική εκμάθηση;

Υπάρχουν πολλές τεχνικές για να αποφευχθεί η υπερβολική τοποθέτηση στη Μηχανική Εκμάθηση που αναφέρονται παρακάτω.

  1. Διασταυρωμένη επικύρωση

  2. Εκπαίδευση με περισσότερα δεδομένα

  3. Κατάργηση χαρακτηριστικών

  4. Πρόωρη διακοπή

  5. Τακτοποίηση

  6. Συναρμολόγηση

1. Διασταυρούμενη επικύρωση

Ένα από τα πιο ισχυρά χαρακτηριστικά για την αποφυγή / αποτροπή της υπερβολικής τοποθέτησης είναι η διασταυρούμενη επικύρωση. Η ιδέα πίσω από αυτό είναι να χρησιμοποιήσετε τα αρχικά δεδομένα εκπαίδευσης για να δημιουργήσετε mini-test-split-split και, στη συνέχεια, να χρησιμοποιήσετε αυτά τα διαχωριστικά για να συντονίσετε το μοντέλο σας.

Σε μια τυπική επικύρωση k-fold, τα δεδομένα χωρίζονται σε k-υποσύνολα που είναι επίσης γνωστά ως πτυχώσεις. Μετά από αυτό, ο αλγόριθμος εκπαιδεύεται επαναληπτικά σε πτυχές k-1 ενώ χρησιμοποιεί τις υπόλοιπες πτυχές ως το σύνολο δοκιμών, επίσης γνωστό ως αναμονή.

Η διασταυρούμενη επικύρωση μας βοηθά να συντονίσουμε τις υπερπαραμέτρους μόνο με το αρχικό σετ προπόνησης. Διατηρεί βασικά το σύνολο δοκιμών ξεχωριστά ως ένα πραγματικό αόρατο σύνολο δεδομένων για την επιλογή του τελικού μοντέλου. Ως εκ τούτου, αποφεύγοντας εντελώς την υπερβολική τοποθέτηση.

2. Εκπαίδευση με περισσότερα δεδομένα

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

Ωστόσο, σε ορισμένες περιπτώσεις, τα αυξημένα δεδομένα μπορούν επίσης να σημαίνουν την τροφοδοσία περισσότερου θορύβου στο μοντέλο. Όταν εκπαιδεύουμε το μοντέλο με περισσότερα δεδομένα, πρέπει να διασφαλίσουμε ότι τα δεδομένα είναι καθαρά και απαλλαγμένα από τυχαιότητα και ασυνέπειες.

3. Κατάργηση χαρακτηριστικών

η java μετατρέπεται διπλά σε int

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

Ένας τρόπος για να το κάνετε είναι να βγείτε από το συμπέρασμα για το πώς τα χαρακτηριστικά ταιριάζουν στο μοντέλο. Είναι αρκετά παρόμοιο με τον εντοπισμό σφαλμάτων του κώδικα κατά γραμμή.

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

4. Πρόωρη διακοπή

Όταν το μοντέλο εκπαιδεύεται, μπορείτε πραγματικά να μετρήσετε την απόδοση του μοντέλου με βάση κάθε επανάληψη. Μπορούμε να το κάνουμε μέχρι ένα σημείο που οι επαναλήψεις βελτιώνουν την απόδοση του μοντέλου. Μετά από αυτό, το μοντέλο υπερβαίνει τα δεδομένα εκπαίδευσης καθώς η γενίκευση εξασθενεί μετά από κάθε επανάληψη.

Επομένως βασικά, η πρόωρη διακοπή σημαίνει διακοπή της διαδικασίας προπόνησης προτού το μοντέλο περάσει από το σημείο όπου το μοντέλο αρχίζει να υπερκαλύπτει τα δεδομένα εκπαίδευσης. Αυτή η τεχνική χρησιμοποιείται κυρίως στο βαθιά μάθηση .

5. Κανονισμός

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

Πολύ συχνά, η κανονικοποίηση είναι επίσης υπερπαραμέτρου. Σημαίνει ότι μπορεί επίσης να συντονιστεί μέσω διασταυρούμενης επικύρωσης.

6. Συγκέντρωση

Αυτή η τεχνική συνδυάζει βασικά προβλέψεις από διαφορετικά μοντέλα Machine Learning. Παρακάτω αναφέρονται δύο από τις πιο κοινές μεθόδους για το σύνολο:

  • Το Bagging προσπαθεί να μειώσει την πιθανότητα να ταιριάζει με τα μοντέλα

  • Ενίσχυση των προσπαθειών για βελτίωση της προγνωστικής ευελιξίας των απλούστερων μοντέλων

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

Τι είναι το Goodness of Fit;

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

Η ανταλλαγή μεταξύ προκατάληψης και διακύμανσης

Τόσο η διακύμανση όσο και η προκατάληψη είναι μορφές σφάλματος πρόβλεψης στο . Η ανταλλαγή μεταξύ υψηλής απόκλισης και υψηλής μεροληψίας είναι μια πολύ σημαντική ιδέα στα στατιστικά στοιχεία και στη Μηχανική Μάθηση. Αυτή είναι μια ιδέα που επηρεάζει όλους τους εποπτευόμενους αλγόριθμους Μηχανικής Μάθησης.

Η αντιστάθμιση απόκλισης απόκλισης έχει πολύ σημαντικό αντίκτυπο στον προσδιορισμό της πολυπλοκότητας, της ελλιπούς εφαρμογής και της υπερβολικής εφαρμογής για οποιοδήποτε μοντέλο Machine Learning.

Προκατάληψη

Δεν είναι παρά η διαφορά μεταξύ των προβλεπόμενων τιμών και των πραγματικών ή πραγματικών τιμών στο μοντέλο. Δεν είναι πάντα εύκολο για το μοντέλο να μάθει από μάλλον πολύπλοκα σήματα.

Ας φανταστούμε την εφαρμογή a γραμμικής παλινδρόμησης σε ένα μοντέλο με μη γραμμικά δεδομένα. Ανεξάρτητα από το πόσο αποτελεσματικά το μοντέλο μαθαίνει τις παρατηρήσεις, δεν θα μοντελοποιεί αποτελεσματικά τις καμπύλες. Είναι γνωστό ως ανάρμοστο.

Διαφορά

Αναφέρεται στην ευαισθησία του μοντέλου σε συγκεκριμένα σύνολα στα δεδομένα εκπαίδευσης. Ένας αλγόριθμος υψηλής απόκλισης θα παράγει ένα παράξενο μοντέλο που είναι δραστικά διαφορετικό από το σετ προπόνησης.

Φανταστείτε έναν αλγόριθμο που ταιριάζει στο μη περιορισμένο και εξαιρετικά ευέλικτο μοντέλο, θα μάθει επίσης από τον θόρυβο στο σετ προπόνησης που προκαλεί υπερβολική τοποθέτηση.

Αντάλλαγμα Bias-Variance

Ένας αλγόριθμος Μηχανικής Μάθησης δεν μπορεί να εκληφθεί ως μια εφάπαξ μέθοδος για την εκπαίδευση του μοντέλου, αντ 'αυτού, είναι μια επαναλαμβανόμενη διαδικασία.

Οι αλγόριθμοι χαμηλής απόκλισης-υψηλών προκαταλήψεων είναι λιγότερο περίπλοκοι, με μια απλή και άκαμπτη δομή.

  • Θα εκπαιδεύσουν τα μοντέλα που είναι συνεπή, αλλά ανακριβή κατά μέσο όρο.

  • Αυτά περιλαμβάνουν γραμμικούς ή παραμετρικούς αλγόριθμους, όπως παλινδρόμηση, , και τα λοιπά.

Οι αλγόριθμοι υψηλής απόκλισης χαμηλής μεροληψίας τείνουν να είναι πιο περίπλοκοι, με ευέλικτη δομή.

  • Θα εκπαιδεύσουν τα μοντέλα που είναι ασυνεπή αλλά ακριβή κατά μέσο όρο.

  • Αυτά περιλαμβάνουν μη γραμμικούς ή μη παραμετρικούς αλγόριθμους όπως , , και τα λοιπά.

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

Εάν βρήκατε σχετικό αυτό το άρθρο σχετικά με το 'Overfitting In Machine Learning', ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με ένα δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

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

typecast double to int java

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να υποβάλετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'Overfitting In Machine Learning' και η ομάδα μας θα χαρεί να απαντήσει.