9 βασικοί αλγόριθμοι μηχανικής εκμάθησης εξηγούνται στα απλά αγγλικά

Η μηχανική μάθηση αλλάζει τον κόσμο. Το Google χρησιμοποιεί μηχανική εκμάθηση για να προτείνει αποτελέσματα αναζήτησης στους χρήστες. Το Netflix το χρησιμοποιεί για να προτείνει ταινίες για παρακολούθηση. Το Facebook χρησιμοποιεί μηχανική εκμάθηση για να προτείνει άτομα που ίσως γνωρίζετε.

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

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

Συστήματα σύστασης

Τι είναι τα Συστήματα Σύστασης;

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

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

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

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

Συστήματα σύστασης και γραμμική άλγεβρα

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

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

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

Πώς λειτουργούν τα Συστήματα Σύστασης;

Υπάρχουν δύο βασικοί τύποι συστημάτων προτάσεων:

  • Συστήματα προτάσεων βάσει περιεχομένου
  • Συνεργατικά συστήματα προτάσεων φιλτραρίσματος

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

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

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

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

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

Υπάρχουν δύο υποκατηγορίες στο συλλογικό φιλτράρισμα:

  • Συνεργατικό φιλτράρισμα βάσει μνήμης
  • Συνεργατικό φιλτράρισμα βάσει μοντέλου

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

Ενότητα Περίληψη

Ακολουθεί μια σύντομη περίληψη αυτού που συζητήσαμε σχετικά με τα συστήματα προτάσεων σε αυτό το σεμινάριο:

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

Γραμμικής παλινδρόμησης

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

Η ιστορία της γραμμικής παλινδρόμησης

Η γραμμική παλινδρόμηση δημιουργήθηκε το 1800 από τον Francis Galton.

Ο Galton ήταν επιστήμονας που μελετούσε τη σχέση μεταξύ γονέων και παιδιών. Πιο συγκεκριμένα, ο Galton ερευνά τη σχέση μεταξύ των υψών των πατέρων και των υψών των γιων τους.

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

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

Ο Galton έδωσε σε αυτό το φαινόμενο ένα όνομα: παλινδρόμηση . Συγκεκριμένα, είπε: «Το ύψος του γιου ενός πατέρα τείνει να υποχωρήσει (ή να μετακινηθεί προς) το μέσο (μέσο) ύψος».

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

Τα μαθηματικά της γραμμικής παλινδρόμησης

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

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

Ακολουθεί ένα παράδειγμα για να διευκρινιστεί αυτό:

Ένα παράδειγμα των μαθηματικών πίσω από την παλινδρόμηση των τετραγώνων

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

Λογιστική παλινδρόμηση

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

Τι είναι η Logistic Regression;

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

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

  • Ανεπιθύμητα μηνύματα ηλεκτρονικού ταχυδρομείου (ανεπιθύμητα ή όχι ανεπιθύμητα;)
  • Απαιτήσεις ασφάλισης αυτοκινήτου (διαγραφή ή επισκευή;)
  • Διάγνωση ασθενειών

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

Η λογιστική παλινδρόμηση είναι κατάλληλη για την επίλυση προβλημάτων δυαδικής ταξινόμησης - απλώς αντιστοιχίζουμε στις διάφορες κατηγορίες μια τιμή 0και 1αντίστοιχα.

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

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

Ταξινόμηση γραμμικής παλινδρόμησης

Σε αυτήν την εικόνα, y-axisαντιπροσωπεύει την πιθανότητα κακοήθους όγκου. Αντίθετα, η τιμή 1-yαντιπροσωπεύει την πιθανότητα ότι ένας όγκος δεν είναι κακοήθης. Όπως μπορείτε να δείτε, το μοντέλο γραμμικής παλινδρόμησης κάνει κακή δουλειά να προβλέψει αυτήν την πιθανότητα για τις περισσότερες παρατηρήσεις στο σύνολο δεδομένων.

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

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

Γραμμική παλινδρόμηση εναντίον Λογιστικής παλινδρόμησης

Η συνάρτηση Sigmoid

Ο λόγος για τον οποίο το μοντέλο λογιστικής παλινδρόμησης έχει μια καμπύλη στην καμπύλη του είναι επειδή δεν υπολογίζεται χρησιμοποιώντας μια γραμμική εξίσωση. Αντ 'αυτού, τα μοντέλα λογιστικής παλινδρόμησης κατασκευάζονται χρησιμοποιώντας τη συνάρτηση Sigmoid (ονομάζεται επίσης Logistic Function λόγω της χρήσης της σε λογιστική παλινδρόμηση).

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

Η εξίσωση φαίνεται παρακάτω:

Η εξίσωση Sigmoid

Το κύριο χαρακτηριστικό της Sigmoid Function που αξίζει να κατανοήσετε είναι αυτό: ανεξάρτητα από την τιμή που περνάτε σε αυτήν, θα παράγει πάντα μια έξοδο κάπου μεταξύ 0 και 1.

Χρησιμοποιώντας μοντέλα Logistic Regression για να κάνετε προβλέψεις

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

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

Χρησιμοποιώντας ένα Confusion Matrix για τη μέτρηση της απόδοσης Logistic Regression

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

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

Ένα παράδειγμα πίνακα σύγχυσης

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

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

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

Ενότητα Περίληψη

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

Ακολουθεί μια σύντομη περίληψη του τι μάθατε για τη λογιστική παλινδρόμηση:

  • Οι τύποι προβλημάτων ταξινόμησης που είναι κατάλληλοι για επίλυση χρησιμοποιώντας μοντέλα λογιστικής παλινδρόμησης
  • Ότι η λογιστική συνάρτηση (που ονομάζεται επίσης λειτουργία Sigmoid) εξάγει πάντα μια τιμή μεταξύ 0 και 1
  • Πώς να χρησιμοποιήσετε σημεία αποκοπής για να κάνετε προβλέψεις χρησιμοποιώντας ένα μοντέλο μηχανικής εκμάθησης λογιστικής παλινδρόμησης
  • Γιατί οι πίνακες σύγχυσης είναι χρήσιμες για τη μέτρηση της απόδοσης των μοντέλων λογιστικής παλινδρόμησης

K-Κοντινότεροι γείτονες

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

Τι είναι ο αλγόριθμος K-Nearest Neighbors;

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

Φανταστείτε ότι είχατε δεδομένα για το ύψος και το βάρος των ποδοσφαιριστών και των παικτών μπάσκετ. Ο αλγόριθμος K-πλησιέστερων γειτόνων μπορεί να χρησιμοποιηθεί για να προβλέψει εάν ένας νέος αθλητής είναι είτε ποδοσφαιριστής είτε μπάσκετ.

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

Η ακόλουθη εικόνα το απεικονίζει αυτό, με τιμή K 3:

Μια απεικόνιση των πλησιέστερων γειτόνων

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

Δεδομένου ότι η πλειοψηφία (2 στα 3) των σημείων δεδομένων των ντουλαπιών στα νέα σημεία δεδομένων είναι μπλε ποδοσφαιριστές, ο αλγόριθμος K-πλησιέστερων γειτόνων θα προβλέψει ότι το νέο σημείο δεδομένων είναι επίσης παίκτης ποδοσφαίρου.

Τα βήματα για την οικοδόμηση ενός αλγόριθμου K-Nearest Neighbors

Τα γενικά βήματα για τη δημιουργία ενός αλγόριθμου K-πλησιέστερων γειτόνων είναι:

  1. Αποθηκεύστε όλα τα δεδομένα
  2. Υπολογίστε την απόσταση Ευκλείδειας από το νέο σημείο δεδομένων xσε όλα τα άλλα σημεία του συνόλου δεδομένων
  3. Ταξινόμηση των σημείων στο σύνολο δεδομένων με σειρά αυξανόμενης απόστασης από x
  4. Προβλέψτε τη χρήση της ίδιας κατηγορίας με την πλειονότητα των Kπλησιέστερων σημείων δεδομένωνx

Η σημασία του K σε έναν αλγόριθμο K-Nearest Neighbors

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

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

Η ακόλουθη οπτικοποίηση κάνει εξαιρετική δουλειά για να το απεικονίσει αυτό:

Τιμή K και ποσοστά σφάλματος

Τα πλεονεκτήματα και τα μειονεκτήματα του αλγόριθμου K-Nearest Neighbors

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

Ακολουθούν ορισμένα βασικά πλεονεκτήματα στον αλγόριθμο K-πλησιέστερων γειτόνων:

  • Ο αλγόριθμος είναι απλός και κατανοητός
  • Είναι ασήμαντο να εκπαιδεύσετε το μοντέλο σε νέα δεδομένα εκπαίδευσης
  • Λειτουργεί με οποιονδήποτε αριθμό κατηγοριών σε ένα πρόβλημα ταξινόμησης
  • Είναι εύκολο να προσθέσετε περισσότερα δεδομένα στο σύνολο δεδομένων
  • Το μοντέλο δέχεται μόνο δύο παραμέτρους: Kκαι τη μέτρηση απόστασης που θέλετε να χρησιμοποιήσετε (συνήθως Euclidean απόσταση)

Ομοίως, εδώ είναι μερικά από τα κύρια μειονεκτήματα του αλγορίθμου:

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

Ενότητα Περίληψη

Ακολουθεί μια σύντομη περίληψη του τι μόλις μάθατε για τον αλγόριθμο k-πλησιέστερων γειτόνων:

  • Ένα παράδειγμα προβλήματος ταξινόμησης (παίκτες ποδοσφαίρου εναντίον παικτών μπάσκετ) που θα μπορούσε να λύσει ο αλγόριθμος K-πλησιέστερων γειτόνων
  • Πώς ο K-πλησιέστερος γείτονας χρησιμοποιεί την απόσταση Ευκλείδειας των γειτονικών σημείων δεδομένων για να προβλέψει σε ποια κατηγορία ανήκει ένα νέο σημείο δεδομένων
  • Γιατί η αξία των Kθεμάτων για την πραγματοποίηση προβλέψεων
  • Τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης του αλγορίθμου K-πλησιέστερων γειτόνων

Δέντρα απόφασης και τυχαία δάση

Τα δέντρα απόφασης και τα δάση randoms είναι και τα δύο παραδείγματα μεθόδων δέντρων.

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

Τι είναι οι μέθοδοι δέντρων;

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

Φανταστείτε ότι παίζετε μπάσκετ κάθε Δευτέρα. Επιπλέον, προσκαλείτε πάντα τον ίδιο φίλο να έρθει να παίξει μαζί σας.

Μερικές φορές έρχεται ο φίλος. Μερικές φορές δεν το κάνουν.

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

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

Ένα παράδειγμα δέντρου αποφάσεων

Κάθε δέντρο αποφάσεων έχει δύο τύπους στοιχείων:

  • Nodes: τοποθεσίες όπου το δέντρο χωρίζεται ανάλογα με την τιμή κάποιου χαρακτηριστικού
  • Edges: το αποτέλεσμα ενός διαχωρισμού στον επόμενο κόμβο

Μπορείτε να δείτε στην παραπάνω εικόνα ότι υπάρχουν κόμβοι για outlook, humidityκαι windy. Υπάρχει ένα πλεονέκτημα για κάθε πιθανή τιμή καθενός από αυτά τα χαρακτηριστικά.

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

  • Root: ο κόμβος που εκτελεί την πρώτη διαίρεση
  • Leaves: τερματικοί κόμβοι που προβλέπουν το τελικό αποτέλεσμα

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

Πώς να φτιάξετε δέντρα απόφασης από το μηδέν

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

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

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

Σε γενικές γραμμές, οι επαγγελματίες συνήθως επέλεξαν το μέγεθος του τυχαίου δείγματος χαρακτηριστικών (που υποδηλώνεται m) για να είναι η τετραγωνική ρίζα του αριθμού των συνολικών χαρακτηριστικών στο σύνολο δεδομένων (που υποδηλώνεται p). Για να είμαι σύντομος, mείναι η τετραγωνική ρίζα pκαι, στη συνέχεια, επιλέγεται τυχαία ένα συγκεκριμένο χαρακτηριστικό m.

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

Τα οφέλη από τη χρήση τυχαίων δασών

Φανταστείτε ότι εργάζεστε με ένα σύνολο δεδομένων που έχει ένα πολύ δυνατό χαρακτηριστικό. Με διαφορετικό τρόπο, το σύνολο δεδομένων έχει ένα χαρακτηριστικό που είναι πολύ πιο προγνωστικό για το τελικό αποτέλεσμα από τα άλλα χαρακτηριστικά του συνόλου δεδομένων.

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

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

Ενότητα Περίληψη

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

  • Ένα παράδειγμα προβλήματος που θα μπορούσατε να προβλέψετε με τη χρήση δέντρων αποφάσεων
  • Τα στοιχεία ενός δέντρου απόφασης: nodes, edges, roots, καιleaves
  • Πώς η λήψη τυχαίων δειγμάτων χαρακτηριστικών δέντρων αποφάσεων μας επιτρέπει να χτίσουμε ένα τυχαίο δάσος
  • Γιατί η χρήση τυχαίων δασών για την αποσυμπίεση των μεταβλητών μπορεί να είναι χρήσιμη για τη μείωση της διακύμανσης του τελικού μοντέλου σας

Υποστήριξη διανυσματικών μηχανημάτων

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

Τι είναι οι διανυσματικές μηχανές υποστήριξης;

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

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

Πώς λειτουργούν τα μηχανήματα υποστήριξης φορέων;

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

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

Το SVM χρησιμοποιεί γεωμετρία για να κάνει κατηγορηματικές προβλέψεις.

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

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

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

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

Ας ρίξουμε μια ματιά σε μια διαφορετική οπτική αναπαράσταση μιας μηχανής φορέα υποστήριξης:

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

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

Ενότητα Περίληψη

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

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

Ομαδοποίηση K-Means

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

Τι είναι το K-Means Clustering;

Το K-σημαίνει clustering είναι ένας μη επιτηρούμενος αλγόριθμος μηχανικής μάθησης.

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

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

  • Τμηματοποίηση πελατών για ομάδες μάρκετινγκ
  • Ταξινόμηση εγγράφων
  • Βελτιστοποίηση διαδρομής παράδοσης για εταιρείες όπως η Amazon, η UPS ή η FedEx
  • Προσδιορισμός και αντίδραση σε κέντρα εγκληματικότητας εντός μιας πόλης
  • Επαγγελματική αθλητική ανάλυση
  • Πρόβλεψη και πρόληψη του εγκλήματος στον κυβερνοχώρο

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

Εδώ είναι μια οπτική αναπαράσταση του πώς φαίνεται στην πράξη:

Οπτικοποίηση ενός K Αλγορίθμου Ομαδοποίησης

Θα εξερευνήσουμε τα μαθηματικά πίσω από ένα σύμπλεγμα K-σημαίνει στην επόμενη ενότητα αυτού του σεμιναρίου

Πώς λειτουργούν οι αλγόριθμοι συμπλέγματος K-Means;

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

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

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

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

Εδώ είναι ένα κινούμενο σχέδιο για το πώς αυτό λειτουργεί στην πράξη για έναν αλγόριθμο ομαδοποίησης Κ-μέσων με Kτιμή 3. Μπορείτε να δείτε το κέντρο του κάθε συμπλέγματος που αντιπροσωπεύεται από έναν μαύρο +χαρακτήρα.

Οπτικοποίηση ενός K Αλγορίθμου Ομαδοποίησης

Όπως μπορείτε να δείτε, αυτή η επανάληψη συνεχίζεται έως ότου σταματήσει να αλλάζει - τα σημεία δεδομένων δεν αντιστοιχίζονται πλέον σε νέα συμπλέγματα.

Η επιλογή μιας σωστής τιμής K για K σημαίνει αλγόριθμους ομαδοποίησης

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

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

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

Ως παράδειγμα αυτού του βήματος, μπορεί να υπολογιστεί το SSE για Kτις αξίες της 2, 4, 6, 8, και 10.

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

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

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

Για παράδειγμα, εδώ είναι ένα γράφημα του SSE ενάντια K. Σε αυτήν την περίπτωση, η μέθοδος αγκώνα θα προτείνει τη χρήση μιας Kτιμής περίπου 6.

Οπτικοποίηση ενός K Αλγορίθμου Ομαδοποίησης

Είναι σημαντικό, 6είναι απλώς μια εκτίμηση για μια καλή αξία Kχρήσης. Δεν υπάρχει ποτέ μια «καλύτερη» Kτιμή σε έναν αλγόριθμο ομαδοποίησης Κ-μέσων. Όπως με πολλά πράγματα στον τομέα της μηχανικής μάθησης, αυτή είναι μια απόφαση που εξαρτάται σε μεγάλο βαθμό από την κατάσταση.

Ενότητα Περίληψη

Ακολουθεί μια σύντομη περίληψη του τι μάθατε σε αυτό το άρθρο:

  • Παραδείγματα μη επιτηρούμενων προβλημάτων μηχανικής μάθησης που μπορεί να επιλύσει ο αλγόριθμος συμπλέγματος K-σημαίνει
  • Οι βασικές αρχές του τι είναι ο αλγόριθμος ομαδοποίησης K-σημαίνει
  • Πώς λειτουργεί ο αλγόριθμος συμπλέγματος K-σημαίνει
  • Πώς να χρησιμοποιήσετε τη μέθοδο αγκώνα για να επιλέξετε μια κατάλληλη τιμή Kσε ένα μοντέλο ομαδοποίησης Κ-μέσων

Ανάλυση κύριων συστατικών

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

Τι είναι η Ανάλυση Κύριων Συστατικών;

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

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

Η ανάλυση των βασικών συστατικών καλείται μερικές φορές ανάλυση παράγοντα .

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

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

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

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

Εάν δεν είστε εξοικειωμένοι με τον όρο ορθογώνιο , αυτό σημαίνει απλώς ότι οι γραμμές είναι σε ορθή γωνία (90 μοίρες) μεταξύ τους - όπως ο Βορράς, η Ανατολή, ο Νότος και η Δύση στο χάρτη.

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

Μια βασική ανάλυση συστατικών

Ρίξτε μια ματιά στις ετικέτες του άξονα σε αυτήν την εικόνα.

Σε αυτήν την εικόνα, το κύριο συστατικό του άξονα x παραθέτει το 73% της διακύμανσης στο σύνολο δεδομένων. Το κύριο συστατικό του άξονα y εξηγεί περίπου το 23% της διακύμανσης στο σύνολο δεδομένων.

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

Ενότητα Περίληψη

Ακολουθεί μια σύντομη περίληψη του τι μάθατε για την ανάλυση βασικών στοιχείων σε αυτό το σεμινάριο:

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