Καλώς ήρθατε στο Μέρος 5 του Data Science Primer. Η επιλογή του σωστού αλγόριθμου ML για την εργασία σας μπορεί να είναι συντριπτική. Υπάρχουν δεκάδες επιλογές, καθεμία με τα δικά της πλεονεκτήματα και μειονεκτήματα. Ωστόσο, αντί να σας βομβαρδίσουμε με όλες τις επιλογές, θα μεταβούμε κατευθείαν στις βέλτιστες πρακτικές.
Συγκεκριμένα, θα εισαγάγουμε δύο ισχυρούς μηχανισμούς στους σύγχρονους αλγόριθμους: τακτοποίηση και σύνολα. Όπως θα δείτε, αυτοί οι μηχανισμοί «διορθώνουν» ορισμένα μοιραία ελαττώματα σε παλαιότερες μεθόδους, γεγονός που έχει οδηγήσει στη δημοτικότητά τους. Ας αρχίσουμε!
Πώς να επιλέξετε αλγόριθμους ML
Σε αυτό το μάθημα, θα παρουσιάσουμε πέντε αποτελεσματικούς αλγόριθμους μηχανικής εκμάθησης για οπισθοδρόμηση καθήκοντα. Καθένα από αυτά έχει και αντίστοιχους ταξινόμησης.
Και ναι, μόνο πέντε προς το παρόν. Αντί να σας δώσουμε μια μακρά λίστα αλγορίθμων, στόχος μας είναι να εξηγήσουμε μερικές βασικές έννοιες (π.χ. τακτοποίηση, συναρμολόγηση, αυτόματη επιλογή χαρακτηριστικών) που θα σας διδάξει Γιατί ορισμένοι αλγόριθμοι τείνουν να έχουν καλύτερη απόδοση από άλλους.
Στην εφαρμοσμένη μηχανική εκμάθηση, οι μεμονωμένοι αλγόριθμοι θα πρέπει να εναλλάσσονται μέσα και έξω ανάλογα με το ποιος αποδίδει καλύτερα για το πρόβλημα και το σύνολο δεδομένων. Ως εκ τούτου, θα εστιάσουμε σε διαίσθηση και πρακτικά οφέλη πάνω από τα μαθηματικά και τη θεωρία.
Γιατί η γραμμική παλινδρόμηση είναι εσφαλμένη
Για να εισαγάγουμε το σκεπτικό για ορισμένους από τους προηγμένους αλγόριθμους, ας ξεκινήσουμε συζητώντας τη βασική γραμμική παλινδρόμηση. Τα μοντέλα γραμμικής παλινδρόμησης είναι πολύ κοινά, αλλά έχουν βαθιά ελαττώματα.

Απλή γραμμική παλινδρόμηση τα μοντέλα ταιριάζουν σε «ευθεία γραμμή» (τεχνικά α υπερπλάνο ανάλογα με τον αριθμό των χαρακτηριστικών, αλλά είναι η ίδια ιδέα). Στην πράξη, σπάνια αποδίδουν καλά. Στην πραγματικότητα συνιστούμε να τα παραλείψετε για τα περισσότερα προβλήματα μηχανικής εκμάθησης.
Το κύριο πλεονέκτημά τους είναι ότι είναι εύκολο να ερμηνευτούν και να κατανοηθούν. Ωστόσο, στόχος μας δεν είναι να μελετήσουμε τα δεδομένα και να συντάξουμε μια έκθεση έρευνας. Στόχος μας είναι να δημιουργήσουμε ένα μοντέλο που να μπορεί να κάνει ακριβείς προβλέψεις.
Από αυτή την άποψη, η απλή γραμμική παλινδρόμηση πάσχει από δύο σημαντικά ελαττώματα:
- Είναι επιρρεπής σε υπερβολική εφαρμογή με πολλές δυνατότητες εισόδου.
- Δεν μπορεί εύκολα να εκφράσει μη γραμμικές σχέσεις.
Ας ρίξουμε μια ματιά στο πώς μπορούμε να αντιμετωπίσουμε το πρώτο ελάττωμα.
Τακτοποίηση στη Μηχανική Μάθηση
Αυτή είναι η πρώτη «προηγμένη» τακτική για τη βελτίωση της απόδοσης του μοντέλου. Θεωρείται αρκετά „προχωρημένο“ σε πολλά μαθήματα ML, αλλά είναι πραγματικά πολύ εύκολο να κατανοηθεί και να εφαρμοστεί.
Το πρώτο μειονέκτημα των γραμμικών μοντέλων είναι ότι είναι επιρρεπείς σε υπερβολική εφαρμογή με πολλά χαρακτηριστικά εισόδου.

Ας πάρουμε ένα ακραίο παράδειγμα για να δείξουμε γιατί συμβαίνει αυτό:
- Ας υποθέσουμε ότι έχετε 100 παρατηρήσεις στο σύνολο δεδομένων εκπαίδευσης.
- Ας υποθέσουμε ότι έχετε επίσης 100 δυνατότητες.
- Εάν προσαρμόσετε ένα μοντέλο γραμμικής παλινδρόμησης με όλα αυτά τα 100 χαρακτηριστικά, μπορείτε να «απομνημονεύσετε» τέλεια το σετ εκπαίδευσης.
Καθε συντελεστής θα απλά απομνημονεύστε μια παρατήρηση. Αυτό το μοντέλο θα είχε τέλεια ακρίβεια στα δεδομένα εκπαίδευσης, αλλά θα είχε κακή απόδοση σε αόρατα δεδομένα. Δεν έχει μάθει τα αληθινά υποκείμενα μοτίβα. έχει απομνημονεύσει μόνο τον θόρυβο στα δεδομένα εκπαίδευσης.
Τακτοποίηση είναι μια τεχνική που χρησιμοποιείται για την πρόληψη της υπερβολικής προσαρμογής από τεχνητά ποινικοποιώντας συντελεστές μοντέλου.
- Μπορεί να αποθαρρύνει τους μεγάλους συντελεστές (με την απόσβεση τους).
- Μπορεί επίσης να αφαιρέσει πλήρως τα χαρακτηριστικά (θέτοντας τους συντελεστές τους σε 0).
- Η «δύναμη» του πέναλτι είναι τονιστός. (Περισσότερα για αυτό στον οδηγό Εκπαίδευσης Μοντέλων)
Τακτοποιημένη παλινδρόμηση Algos
Υπάρχουν 3 συνήθεις τύποι τακτοποιημένη γραμμική παλινδρόμηση αλγόριθμους.

Παλινδρόμηση Λάσο
Lasso, ή LASSO, σημαίνει μεγάλοΑνατολή ΕΝΑαπόλυτος μικρόσυρρίκνωση και μικρόεκλογή Οperator. Η παλινδρόμηση λάσο τιμωρεί το απόλυτο μέγεθος των συντελεστών. Πρακτικά, αυτό οδηγεί σε συντελεστές που μπορεί να είναι ακριβώς 0.
Έτσι, το Lasso προσφέρει αυτόματη επιλογή χαρακτηριστικών επειδή μπορεί να αφαιρέσει εντελώς ορισμένες λειτουργίες. Θυμηθείτε, η «δύναμη» του πέναλτι πρέπει να συντονιστεί. Μια ισχυρότερη ποινή οδηγεί σε περισσότερο συντελεστές ωθήθηκαν στο μηδέν.

Παλινδρόμηση κορυφογραμμής
Η κορυφογραμμή στέκεται Rπραγματικά Εγώκατανοητό ρεθυμωμένος σολραπφρουτ μιτρώγοντας (πλάκα… είναι απλώς κορυφογραμμή). Η παλινδρόμηση κορυφογραμμής τιμωρεί το τετράγωνο μέγεθος των συντελεστών. Πρακτικά, αυτό οδηγεί σε μικρότερους συντελεστές, αλλά δεν τους αναγκάζει στο 0.
Με άλλα λόγια, η Ridge προσφέρει συρρίκνωση χαρακτηριστικών. Και πάλι, η «δύναμη» του πέναλτι πρέπει να συντονιστεί. Μια ισχυρότερη ποινή οδηγεί σε ώθηση συντελεστών πιο κοντά στο μηδέν.

Ελαστικό-Δίχτυ
Το Elastic-Net είναι ένας συμβιβασμός μεταξύ Lasso και Ridge. Το Elastic-Net τιμωρεί α μείγμα τόσο απόλυτου όσο και τετραγώνου μεγέθους. ο αναλογία από τους δύο τύπους ποινών θα πρέπει να συντονιστούν. Η συνολική δύναμη πρέπει επίσης να ρυθμιστεί.
Α, και σε περίπτωση που αναρωτιέστε, δεν υπάρχει «καλύτερο» είδος ποινής. Εξαρτάται πραγματικά από το σύνολο δεδομένων και το πρόβλημα. Συνιστούμε να δοκιμάσετε διαφορετικούς αλγόριθμους που χρησιμοποιούν μια σειρά από δυνατές ποινές ως μέρος της διαδικασίας συντονισμού.
Decision Tree Algos
Καταπληκτικό, μόλις είδαμε 3 αλγόριθμους που μπορούν να προστατεύσουν τη γραμμική παλινδρόμηση από υπερβολική προσαρμογή. Αλλά αν θυμάστε, η γραμμική παλινδρόμηση πάσχει δύο βασικά ελαττώματα:
- Είναι επιρρεπής σε υπερβολική εφαρμογή με πολλές δυνατότητες εισόδου.
- Δεν μπορεί εύκολα να εκφράσει μη γραμμικές σχέσεις.
Πώς μπορούμε να αντιμετωπίσουμε το δεύτερο ελάττωμα;

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

Λόγω τους διακλαδωτική δομήτα δέντρα αποφάσεων μπορούν εύκολα να μοντελοποιήσουν μη γραμμικές σχέσεις.
- Για παράδειγμα, ας πούμε για μονοκατοικίες, οι μεγαλύτερες παρτίδες έχουν υψηλότερες τιμές.
- Ωστόσο, ας πούμε για Διαμερίσματα, μικρότερος οι παρτίδες έχουν υψηλότερες τιμές (δηλαδή είναι ένας αντιπρόσωπος για αστικές / αγροτικές).
- Αυτό αντιστροφή της συσχέτισης είναι δύσκολο να καταγραφούν τα γραμμικά μοντέλα εκτός και αν προσθέσετε ρητά έναν όρο αλληλεπίδρασης (δηλαδή μπορείτε να τον προβλέψετε εκ των προτέρων).
- Από την άλλη πλευρά, τα δέντρα αποφάσεων μπορούν να συλλάβουν αυτή τη σχέση φυσικά.
Δυστυχώς, τα δέντρα αποφάσεων υποφέρουν επίσης από ένα σημαντικό ελάττωμα. Αν τους επιτρέψετε να αναπτυχθούν απεριόριστα, μπορούν να «απομνημονεύσουν» πλήρως τα δεδομένα εκπαίδευσης, μόνο και μόνο από τη δημιουργία ολοένα και περισσότερων κλάδων.
Ως αποτέλεσμα, ατομική αβίαστος Τα δέντρα απόφασης είναι πολύ επιρρεπή στην υπερπροσαρμογή.
Λοιπόν, πώς μπορούμε να εκμεταλλευτούμε την ευελιξία των δέντρων αποφάσεων, αποτρέποντας παράλληλα την υπερβολική προσαρμογή των δεδομένων εκπαίδευσης;
Σύνολα δέντρων
Σύνολα είναι μέθοδοι μηχανικής μάθησης για το συνδυασμό προβλέψεων από πολλαπλά ξεχωριστά μοντέλα. Υπάρχουν μερικές διαφορετικές μέθοδοι συναρμολόγησης, αλλά οι δύο πιο συνηθισμένες είναι το „bagging“ και το „boosting“.
Σακούλες απόπειρες να μειώστε την πιθανότητα υπερβολικής τοποθέτησης σύνθετων μοντέλων. Εκπαιδεύει παράλληλα μεγάλο αριθμό «ισχυρών» μαθητών (α δυνατός μαθητής είναι ένα μοντέλο που είναι σχετικά αβίαστος). Στη συνέχεια, το Bagging συνδυάζει όλους τους δυνατούς μαθητές μαζί για να «εξομαλύνει» τις προβλέψεις τους.
Ενίσχυση των προσπαθειών για βελτίωση της ευελιξίας πρόβλεψης απλών μοντέλων. Εκπαιδεύει διαδοχικά μεγάλο αριθμό «αδύναμων» μαθητών (α αδύναμος μαθητής είναι ένα περιορισμένες μοντέλο, π.χ. περιορισμός του μέγιστου βάθους κάθε δέντρου απόφασης). Κάθε ένα στη σειρά εστιάζει στο να μάθει από τα λάθη του προηγούμενου. Στη συνέχεια, το Boosting συνδυάζει όλους τους αδύναμους μαθητές σε έναν μόνο ισχυρό μαθητή.
Ενώ το bagging και το boosting είναι και οι δύο μέθοδοι συνόλου, προσεγγίζουν το πρόβλημα από αντίθετες κατευθύνσεις:
- Το Bagging χρησιμοποιεί πολύπλοκα βασικά μοντέλα και προσπαθεί να «εξομαλύνει» τις προβλέψεις τους.
- Το Boosting χρησιμοποιεί απλά βασικά μοντέλα και προσπαθεί να «ενισχύει» τη συνολική πολυπλοκότητά τους.
Το Ensembling είναι γενικός όρος, αλλά όταν το βασικά μοντέλα είναι δέντρα απόφασης, έχουν ειδικά ονόματα: τυχαία δάση και ενισχυμένα δέντρα!

Τυχαία δάση
Τρένο τυχαίων δασών α μεγάλος αριθμός «ισχυρών» δέντρων απόφασης και συνδυάζουν τις προβλέψεις τους μέσω του bagging. Επιπλέον, υπάρχουν δύο πηγές «τυχαίας» για τυχαία δάση:
- Κάθε δέντρο επιτρέπεται να επιλέξει μόνο από ένα τυχαίο υποσύνολο χαρακτηριστικών για διαχωρισμό (που οδηγεί σε επιλογή χαρακτηριστικών).
- Κάθε δέντρο εκπαιδεύεται μόνο σε ένα τυχαίο υποσύνολο παρατηρήσεων (μια διαδικασία που ονομάζεται επαναδειγματοληψία).
Στην πράξη, τα τυχαία δάση τείνουν να αποδίδουν πολύ καλά αμέσως έξω από το κουτί. Συχνά ξεπερνούν πολλά άλλα μοντέλα που χρειάζονται έως και εβδομάδες για να αναπτυχθούν. Δεν έχουν πολλές περίπλοκες παραμέτρους για να συντονιστούν, καθιστώντας τα τέλεια „ελβετικός σουγιάς“ αλγόριθμος που έχει σχεδόν πάντα καλά αποτελέσματα.

Αναπτυσσόμενα δέντρα
Εκπαιδεύονται τα ενισχυμένα δέντρα α ακολουθία «αδύναμων», περιορισμένων δέντρων αποφάσεων και συνδυάζουν τις προβλέψεις τους μέσω της ενίσχυσης.
- Κάθε δέντρο επιτρέπεται α μέγιστο βάθοςτο οποίο θα πρέπει να συντονιστεί.
- Κάθε δέντρο στην ακολουθία προσπαθεί να διορθώσει τα λάθη πρόβλεψης του προηγούμενου.
Στην πράξη, τα ενισχυμένα δέντρα τείνουν να έχουν το ανώτατα όρια απόδοσης. Συχνά νικούν πολλούς άλλους τύπους μοντέλων μετά από σωστό συντονισμόαλλά είναι πιο περίπλοκο να συντονιστούν από τα τυχαία δάση.
Βασικό πακέτο: Οι πιο αποτελεσματικοί αλγόριθμοι συνήθως προσφέρουν έναν συνδυασμό τακτοποίησης, αυτόματης επιλογής χαρακτηριστικών, ικανότητας έκφρασης μη γραμμικών σχέσεων ή/και συνόλου. Αυτοί οι αλγόριθμοι περιλαμβάνουν:
- Παλινδρόμηση λάσο
- Παλινδρόμηση κορυφογραμμής
- Ελαστικό-Δίχτυ
- Τυχαίο δάσος
- Ενισχυμένο δέντρο
Αυτό το ολοκληρώνει για το βήμα επιλογής αλγορίθμου της ροής εργασίας μηχανικής μάθησης. Στη συνέχεια, ήρθε η ώρα να εκπαιδεύσουμε τα μοντέλα μας στο επόμενο βασικό βήμα: Εκπαίδευση μοντέλου!
Περισσότερα για τους αλγόριθμους ML
Διαβάστε το υπόλοιπο της Εισαγωγής μας στην Επιστήμη Δεδομένων εδώ.