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

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

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

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

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

Ας ξεκινήσουμε μιλώντας για τις μεταβλητές που πρέπει να λάβουμε υπόψη.

U μη εποπτευόμενη μάθηση έναντι εποπτευόμενης μάθησης

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

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

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

Λόγοι ταχύτητας και χρόνου

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

Η έξοδος

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

Μερικά παραδείγματα

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

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

Πόρος : Γραμμική παλινδρόμηση - Λεπτομερής προβολή

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

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

Πόρος : Δημιουργία μιας υλικοτεχνικής παλινδρόμησης

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

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

Πόρος : Οι επιστήμονες δεδομένων των 5 αλγορίθμων ομαδοποίησης πρέπει να γνωρίζουν

Ψάχνετε να προβλέψετε εάν μια σειρά χαρακτήρων ή μια ομάδα χαρακτηριστικών εμπίπτει σε μια κατηγορία δεδομένων ή σε άλλη (ταξινόμηση εποπτευόμενου κειμένου) - π.χ. εάν μια κριτική είναι θετική ή αρνητική.

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

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

Προχωρώντας σε κάτι πιο ισχυρό, ένας αλγόριθμος Linear Support Vector Machine πιθανότατα θα βοηθήσει στη βελτίωση της απόδοσής σας. Αν θέλετε να παραλείψετε εδώ, μπορείτε (αν και προτείνω να δοκιμάσετε και τα δύο μοντέλα και να συγκρίνετε ποιο είναι καλύτερο - το Naive Bayes έχει μια παράλογα εύκολη εφαρμογή σε πλαίσια όπως το scikit-learn και δεν είναι πολύ υπολογιστικά ακριβό, ώστε να μπορείτε να αντέξετε οικονομικά για να δοκιμάσετε και τα δύο).

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

Πόρος : Σύγκριση και επιλογή μοντέλου ταξινόμησης κειμένου πολλαπλών τάξεων

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

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

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

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

Πόρος : Επανεξέταση των αλγόριθμων βαθιάς μάθησης για την ταξινόμηση εικόνας

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

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

Πόρος : Δέντρα Αποφάσεων στη Μηχανική Εκμάθηση

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

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

Πόρος : Επαναλαμβανόμενα νευρωνικά δίκτυα και LSTM

Τυλίγοντας

Πάρτε τις παραπάνω προτάσεις και τους πόρους και εφαρμόστε τους ως ένα πρώτο ένστικτο για τη μοντελοποίηση σας - θα σας βοηθήσει να μεταβείτε σε οποιαδήποτε εργασία που κάνετε λίγο πιο γρήγορα. Εάν ενδιαφέρεστε να καθοδηγηθείτε από έναν ειδικό μηχανικής μάθησης για να μάθετε πώς να εκπαιδεύετε περαιτέρω τα ένστικτά σας, ρίξτε μια ματιά στο Spring Care's AI / Machine Learning Career Track.