Βασικές αρχές της AI

Τι είναι το Gradient Boosting;

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

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

Ορισμός του Gradient Boosting

Αυτό το άρθρο έχει ως στόχο να σας δώσει μια καλή εντύπωση για το τι είναι το Gradient Boosting, χωρίς πολλές αναλύσεις των μαθηματικών που υποκρύπτονται στους αλγόριθμους. Μόλις έχετε μια καλή κατανόηση του πώς λειτουργεί το Gradient Boosting σε υψηλό επίπεδο, σας ενθαρρύνουμε να πηγαίνετε πιο sâu και να εξερευνάτε τα μαθηματικά που το κάνουν δυνατό.

Ας ξεκινήσουμε ορίζοντας τι σημαίνει να “ενισχύσουμε” einen μαθητή. Οι αδύναμοι μαθητές μετατρέπονται σε ισχυρούς μαθητές με την điều chỉnh των ιδιοτήτων του μοντέλου μάθησης. Ποιο μάθημα μάθησης ενισχύεται;

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

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

Εικονογράφηση του τρόπου που εκπαιδεύονται τα μοντέλα ενίσχυσης.
Φωτογραφία: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Ένας τύπος αλγόριθμου ενίσχυσης είναι ο AdaBoost αλγόριθμος. Οι αλγόριθμοι AdaBoost ξεκινούν με την εκπαίδευση ενός μοντέλου δέντρου απόφασης και την ανάθεση ενός ισού βάρους σε κάθε παρατήρηση. Μετά την αξιολόγηση της ακρίβειας του πρώτου δέντρου, τα βάρους για τις διαφορετικές παρατηρήσεις điều chỉnhονται. Οι παρατηρήσεις που ήταν εύκολες να ταξινομηθούν έχουν τα βάρους τους μειωμένα, ενώ οι παρατηρήσεις που ήταν δύσκολες να ταξινομηθούν έχουν τα βάρους τους αυξημένα. Ένα δεύτερο δέντρο δημιουργείται με τη χρήση των điều chỉnhων βαρών, με στόχο να είναι πιο ακριβή από το πρώτο δέντρο.

Το μοντέλο αποτελείται τώρα από τις προβλέψεις για το αρχικό δέντρο και το νέο δέντρο (ή Δέντρο 1 + Δέντρο 2). Η ταξινομική ακρίβεια αξιολογείται ξανά με βάση το νέο μοντέλο. Ένα τρίτο δέντρο δημιουργείται με βάση το υπολογισμένο σφάλμα για το μοντέλο, και τα βάρους điều chỉnhονται ξανά. Αυτή η διαδικασία συνεχίζεται για έναν καθορισμένο αριθμό επαναλήψεων, και το τελικό μοντέλο είναι ένα συνδυαστικό μοντέλο που χρησιμοποιεί το σταθμισμένο άθροισμα των προβλέψεων που έγιναν από όλα τα προηγούμενα δέντρα.

Η διαδικασία που περιγράφηκε παραπάνω χρησιμοποιεί Δέντρα Απόφασης και τους βασικούς προβλέψιμους/μοντέλα, αλλά μια προσέγγιση ενίσχυσης μπορεί να thựcτοποιηθεί με μια ευρεία γκάμα μοντέλων όπως τα πολλά τυπικά μοντέλα ταξινομήσεων και αναgressors. Οι βασικές концепτές που πρέπει να κατανοηθούν είναι ότι οι επόμενοι προβλέψιμοι μαθαίνουν από τα λάθη που κάνουν οι προηγούμενοι και ότι οι προβλέψιμοι δημιουργούνται συνεχώς.

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

Gradient Boosting

Θα εξετάσουμε τώρα έναν από τους πιο κοινούς αλγόριθμους ενίσχυσης. Τα Μοντέλα Gradient Boosting (GBM) είναι γνωστά για την υψηλή ακρίβεια τους, και ενισχύουν τους γενικούς αρχές που χρησιμοποιούνται στο AdaBoost.

Η основική διαφορά μεταξύ ενός Μοντέλου Gradient Boosting και του AdaBoost είναι ότι τα GBM χρησιμοποιούν μια διαφορετική μέθοδο για τον υπολογισμό των μαθητών που δεν αναγνωρίζουν τα δεδομένα. Το AdaBoost υπολογίζει πού ένα μοντέλο υποπερφόρμησε εξετάζοντας τα δεδομένα που έχουν nặngα βάρους. Ενώ, τα GBM χρησιμοποιούν gradients για τον καθορισμό της ακρίβειας των μαθητών, εφαρμόζοντας μια συνάρτηση απώλειας σε ένα μοντέλο. Οι συναρτήσεις απώλειας είναι ένας τρόπος για να μετρηθεί η ακρίβεια του μοντέλου σε ένα σύνολο δεδομένων, υπολογίζοντας ένα σφάλμα και βελτιώνοντας το μοντέλο για να μειώσει αυτό το σφάλμα. Τα GBM επιτρέπουν στον χρήστη να βελτιστοποιήσει μια καθορισμένη συνάρτηση απώλειας με βάση τον επιθυμητό στόχο.

Παίρνοντας την πιο συνηθισμένη συνάρτηση απώλειας – Μέσο Ορós Τετραγωνικό Σφάλμα (MSE) – ως παράδειγμα, κατηφορική καθοδήγηση χρησιμοποιείται για την ενημέρωση των προβλέψεων με βάση einen προκαθορισμένο ρυθμό μάθησης, με στόχο να βρεθούν οι τιμές όπου η απώλεια είναι ελάχιστη.

Για να γίνει πιο σαφές:

Νέες προβλέψεις του μοντέλου = μεταβλητές εξόδου – παλιές ατελείς προβλέψεις.

Σε μια πιο στατιστική έννοια, τα GBM στοχεύουν να βρουν σχετικές μοτίβα σε ένα μοντέλο, điều chỉnh το μοντέλο για να ταιριάξει το μοτίβο και να φέρει τα υπολείμματα όσο το δυνατόν πιο κοντά στο μηδέν. Αν εκτελέσετε μια παλινδρόμηση στις προβλέψεις του μοντέλου, τα υπολείμματα θα είναι κατανεμημένα γύρω από 0 (τέλειο φίτ), και τα GBM βρουν μοτίβα μέσα στα υπολείμματα και ενημερώνουν το μοντέλο γύρω από αυτά τα μοτίβα.

Με άλλα λόγια, οι προβλέψεις ενημερώνονται så ώστε το άθροισμα όλων των υπολειμμάτων να είναι όσο το δυνατόν πιο κοντά στο 0, που σημαίνει ότι οι προβλεπόμενες τιμές θα είναι πολύ κοντά στις πραγματικές τιμές.

Σημειώστε ότι μια ευρεία γκάμα άλλων συναρτήσεων απώλειας (όπως η λογαριθμική απώλεια) μπορεί να χρησιμοποιηθεί από ένα GBM. Το MSE επιλέχθηκε παραπάνω για τον σκοπό της απλότητας.

Παραλλαγές των Μοντέλων Gradient Boosting

Τα Μοντέλα Gradient Boosting είναι αλγόριθμοι που είναι ευάλωτοι στην υπερπροσαρμογή σε ένα σύνολο δεδομένων. Αυτό μπορεί να προστατευτεί με διαφορετικές μεθόδους που μπορούν να βελτιώσουν την απόδοση ενός GBM.

Τα GBM μπορούν να ρυθμιστούν με τέσσερις διαφορετικές μεθόδους: Σμίκρυνση, Περιορισμοί Δέντρου, Στιγμιαία Gradient Boosting και Τιμωρημένη Μάθηση.

Σμίκρυνση

Όπως đã αναφερθεί προηγουμένως, στις GBM οι προβλέψεις προστίθενται μαζί σε μια σειριακή διαδικασία. Στη “Σμίκρυνση”, οι προσθήκες κάθε δέντρου στο συνολικό άθροισμα điều chỉnhονται. Εφαρμόζονται βάρους που επιβραδύνουν τον ρυθμό μάθησης του αλγορίθμου, απαιτώντας ότι περισσότερα δέντρα πρέπει να προστεθούν στο μοντέλο, το οποίο συνήθως βελτιώνει την απόδοση και τη σταθερότητα του μοντέλου. Το εμπόριο είναι ότι το μοντέλο χρειάζεται περισσότερο χρόνο για την εκπαίδευση.

Περιορισμοί Δέντρου

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

Τυχαία Δειγματοληψία

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

Τιμωρημένη Μάθηση

Πέρα από τον περιορισμό του μοντέλου μέσω της περιορισμού της δομής του δέντρου, είναι δυνατό να χρησιμοποιηθεί ένα δέντρο παλινδρόμησης. Τα δέντρα παλινδρόμησης έχουν αριθμητικές τιμές που είναι προσαρτημένες σε κάθε φύλλο, και αυτές λειτουργούν ως βάρους και μπορούν να điều chỉnhονται με κοινούς κανονιστικούς συντελεστές όπως η L1 και L2 κανονικοποίηση.

Blogger και προγραμματιστής με ειδικότητες στα Machine Learning και Deep Learning θέματα. Ο Daniel ελπίζει να βοηθήσει τους άλλους να χρησιμοποιήσουν τη δύναμη του AI για κοινωνικό καλό.