Skip to main content

K-fold Cross-Validation στη μηχανική μάθηση

Τελευταία ενημέρωση: July 14, 20263 λεπτά ανάγνωσης


Η διασταυρούμενη επικύρωση Κ-πλασίων είναι μια τεχνική που χρησιμοποιείται για την αξιολόγηση της απόδοσης ενός μοντέλου. Είναι ιδιαίτερα χρήσιμη για την εκτίμηση του πόσο καλά ένα μοντέλο θα γενικεύσει σε νέα, αθέατα δεδομένα. Η διαδικασία περιλαμβάνει τη διαίρεση του συνόλου δεδομένων σε "k" υποσύνολα ή αναδιπλώσεις περίπου ίσου μεγέθους. Ακολουθεί μια ανάλυση των βημάτων:

1. Διαχωρισμός συνόλου δεδομένων:

Το σύνολο δεδομένων χωρίζεται σε "k" υποσύνολα ίσου μεγέθους ή αναδιπλώσεις. Για παράδειγμα, αν έχετε 1.000 δείγματα και επιλέξετε "k" ως 5, κάθε δίπλωμα θα περιέχει 200 δείγματα.

2. Επαναληπτική εκπαίδευση και αξιολόγηση:

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

  • Επανάληψη 1: Πτυχή 1 ως επικύρωση, πτυχώσεις 2 έως k για εκπαίδευση

  • Επανάληψη 2: Πτύχωση 2 ως επικύρωση, πτυχώσεις 1 και 3 σε k για εκπαίδευση

  • Επανάληψη 3: Πτύχωση 3 ως επικύρωση, πτυχώσεις 1 και 2 και 4 έως k για εκπαίδευση

  • ... και ούτω καθεξής, μέχρι να χρησιμοποιηθούν όλες οι αναδιπλώσεις ως σύνολο επικύρωσης.

3. Αξιολόγηση της απόδοσης:

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

4. Συγκέντρωση μετρήσεων:

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

Πλεονεκτήματα της διασταυρούμενης επικύρωσης K-fold σε σχέση με έναν απλό διαχωρισμό εκπαίδευσης/δοκιμής

  • Καλύτερη χρήση των δεδομένων: Η πολλαπλή διασταυρούμενη επικύρωση κάνει καλύτερη χρήση των διαθέσιμων δεδομένων, καθώς κάθε δείγμα χρησιμοποιείται τόσο για την εκπαίδευση όσο και για την επικύρωση.

  • Μειωμένη διακύμανση στην εκτίμηση επιδόσεων: Παρέχει μια πιο αξιόπιστη εκτίμηση της απόδοσης του μοντέλου, μειώνοντας τη διακύμανση που συνδέεται με ένα μόνο διαχωρισμό εκπαιδευτικού/δοκιμαστικού υλικού.

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

Επιλογή της τιμής του 'k'

  • Υψηλότερες τιμές 'k': Η χρήση υψηλότερης τιμής "k" (π.χ. 10 ή περισσότερες) οδηγεί σε μικρότερα σύνολα επικύρωσης, τα οποία μπορεί να οδηγήσουν σε μικρότερη μεροληψία στην εκτίμηση της απόδοσης αλλά σε υψηλότερο υπολογιστικό κόστος.

  • Χαμηλότερες τιμές 'k': Η χρήση χαμηλότερης τιμής "k" (π.χ. 3 ή 5) μειώνει το υπολογιστικό κόστος, αλλά μπορεί να οδηγήσει σε μεγαλύτερη μεροληψία στην εκτίμηση της απόδοσης λόγω μικρότερων συνόλων επικύρωσης.

Σε πρακτικά σενάρια

  • Για μεγάλα σύνολα δεδομένων, οι υψηλότερες τιμές "k" μπορεί να είναι υπολογιστικά δαπανηρές.

  • Όταν το σύνολο δεδομένων είναι μικρό, ένα υψηλότερο "k" μπορεί να μην παρέχει αρκετά δεδομένα σε κάθε αναδίπλωση για ισχυρή εκπαίδευση του μοντέλου.

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

Μάθετε τεχνικές δεξιότητες online στα bootcamps της Code Labs Academy

Μάθετε τεχνικές δεξιότητες online στα bootcamps της Code Labs Academy

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