Ο αλγόριθμος Naive Bayes στη Μηχανική Μάθηση
⚡ Έξυπνη Σύνοψη
Ο Naive Bayes είναι ένας εποπτευόμενος, πιθανοτικός αλγόριθμος ταξινόμησης που βασίζεται στο θεώρημα Bayes, υποθέτοντας ότι κάθε χαρακτηριστικό συνεισφέρει ανεξάρτητα. Η θεωρία του, ένα επεξεργασμένο κατάστημαping Για παράδειγμα, οι τρεις παραλλαγές του μοντέλου, τα οφέλη, οι περιορισμοί και οι εφαρμογές στον πραγματικό κόσμο καλύπτονται παρακάτω.

Αλγόριθμος ταξινομητή Naive Bayes
Ένας ταξινομητής είναι ένας αλγόριθμος μηχανικής μάθησης που ταξινομεί τα δεδομένα σε μία ή περισσότερες από ένα σύνολο «κλάσεων». Ένας ταξινομητής email είναι ένα γνωστό παράδειγμα: σαρώνει κάθε εισερχόμενο μήνυμα και επισυνάπτει μια ετικέτα κλάσης με τίτλο «Ανεπιθύμητο» ή «Μη Ανεπιθύμητο».
Ο ταξινομητής Naive Bayes στη μηχανική μάθηση είναι ένας εποπτευόμενη μάθηση αλγόριθμος που χρησιμοποιείται για εργασίες ταξινόμησης.
Το παρακάτω διάγραμμα σκιαγραφεί αυτή τη ροή.
Το Naive Bayes χρησιμοποιείται για την επίλυση προβλημάτων ταξινόμησης. Προβλέπει με βάση την πιθανότητα ενός αντικειμένου. Το Naive Bayes βασίζεται στο θεώρημα Bayes και χρησιμοποιείται κυρίως για ταξινόμηση κειμένου. Ο Naive Bayes είναι ένας πιθανολογικός αλγόριθμος ταξινόμησης που είναι εύκολος στην εφαρμογή και γρήγορος στην εκπαίδευση.
Δεδομένου ότι ο ταξινομητής Naive Bayes βασίζεται στο θεώρημα Bayes, είναι επίσης γνωστός ως ταξινομητής πιθανοτήτων. Προβλέπει με βάση την πιθανότητα ενός στοιχείου.
Γιατί ονομάζεται Αφελής Bayes;
Το όνομα Naive Bayes έχει δύο μέρη: Naive και Bayes. Γιατί naive; Ο αλγόριθμος αγνοεί τη σειρά με την οποία εμφανίζονται τα χαρακτηριστικά, επομένως τα "Είσαι" και "Είσαι" μοιάζουν με αυτό. Υποθέτει επίσης ότι κανένα χαρακτηριστικό δεν επηρεάζει κανένα άλλο. Για να αναγνωρίσετε το μήλο, χρησιμοποιείτε κόκκινο χρώμα, σφαιρικό σχήμα και γλυκιά γεύση, και ο αλγόριθμος αντιμετωπίζει κάθε μία από αυτές τις ενδείξεις ως ξεχωριστά, ανεξάρτητα στοιχεία.
- Ο ταξινομητής Naive Bayes υποθέτει ότι τα χαρακτηριστικά είναι ανεξάρτητα το ένα από το άλλο. Δεδομένου ότι αυτό σπάνια είναι δυνατό σε δεδομένα της πραγματικής ζωής, ο ταξινομητής ονομάζεται naive.
- Αυτός ο αλγόριθμος ταξινόμησης βασίζεται στο θεώρημα Bayes, επομένως είναι γνωστός ως ο Αφελής Ταξινομητής Bayes.
Θεώρημα Naive Bayes
Το θεώρημα Bayes χρησιμοποιείται για την εύρεση της πιθανότητας μιας υπόθεσης με υπό όρους πιθανότητες που εξαρτώνται από προηγούμενη γνώση. Αυτό το θεώρημα πήρε το όνομά του από τον Thomas Bayes. Ο αφελής ταξινομητής Bayes λειτουργεί με βάση την αρχή της υπό όρους πιθανότητας, όπως δίνεται από το θεώρημα Bayes.
Για να κατανοήσουμε το θεώρημα Bayes, ας δούμε ένα απλό παράδειγμα ταξινομητή Bayes που βασίζεται σε αφελή μέθοδο, ρίψης δύο νομισμάτων. Μπορούμε να λάβουμε αυτούς τους δειγματικούς χώρους ρίπτοντας δύο νομίσματα: {HH, HT, TH, TT}. Έτσι, οι πιθανότητες αυτών των γεγονότων θα είναι:
- Λήψη δύο κεφαλιών = 1/4
- Τουλάχιστον μία ουρά = 3/4
- Το δεύτερο νόμισμα με κεφαλή δεδομένου ότι το πρώτο νόμισμα είναι ουρά = 1/2
- Η λήψη δύο κεφαλών με το πρώτο νόμισμα είναι κεφαλή = 1/2
Το θεώρημα Bayes υπολογίζει την πιθανότητα να συμβεί ένα γεγονός με βάση την πιθανότητα ενός διαφορετικού γεγονότος που έχει ήδη συμβεί. Ο τύπος για το θεώρημα Bayes δίνεται ως εξής:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) είναι η πιθανότητα του συμβάντος A όταν το συμβάν B έχει ήδη συμβεί. Η πιθανότητα P(B) δεν πρέπει να είναι μηδέν.
- Πρέπει να βρείτε την πιθανότητα του γεγονότος Α, η οποία δίνεται όταν το γεγονός Β (απόδειξη) είναι αληθές.
- Το P(A) είναι η προηγούμενη πιθανότητα του A, δηλαδή η πιθανότητα του συμβάντος πριν παρατηρηθεί οποιαδήποτε ένδειξη. Εδώ, το συμβάν B είναι η τιμή μιας άγνωστης περίπτωσης.
- P(A|B) είναι η εκ των υστέρων πιθανότητα του συμβάντος Α, δηλαδή η πιθανότητα του Α μετά την εξέταση των στοιχείων Β.
Παράδειγμα Λειτουργίας του Ταξινομητή Naive Bayes
Ο πιο γρήγορος τρόπος για να δείτε τον τύπο να λειτουργεί είναι να τον εκτελέσετε χειροκίνητα.
Ας πάρουμε ένα παράδειγμα καταστήματοςping για να κατανοήσετε τη λειτουργία του Bayes Naive Classifier. Σε αυτό το σύνολο δεδομένων, υπάρχει ένα μικρό δείγμα συνόλου δεδομένων 30 γραμμών για αυτό το παράδειγμα.
Σύνολο δεδομένων
Το πρόβλημα είναι να προβλέψουμε εάν ένα άτομο θα αγοράσει ένα προϊόν σε έναν συγκεκριμένο συνδυασμό Ημέρας, Έκπτωσης και Δωρεάν Παράδοσης χρησιμοποιώντας το θεώρημα Naive Bayes.
Βήμα 1) Θα δημιουργήσουμε πίνακες συχνοτήτων για κάθε χαρακτηριστικό χρησιμοποιώντας τους τύπους εισόδου που αναφέρονται στο σύνολο δεδομένων, όπως ημέρες, έκπτωση και δωρεάν παράδοση.
Έστω το συμβάν «Αγορά» συμβολίζεται με «Α» και οι ανεξάρτητες μεταβλητές, δηλαδή «Έκπτωση», «Δωρεάν παράδοση» και «Ημέρα», συμβολίζονται με «Β». Θα χρησιμοποιήσουμε αυτά τα συμβάντα και τις μεταβλητές για να εφαρμόσουμε το θεώρημα Bayes.
Βήμα 2) Τώρα ας υπολογίσουμε τους πίνακες πιθανοτήτων έναν προς έναν.
Παράδειγμα 1:
Με βάση αυτόν τον πίνακα πιθανοτήτων, θα υπολογίσουμε τις υπό όρους πιθανότητες όπως παρακάτω.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
Και, βρείτε το P(A/B) χρησιμοποιώντας το θεώρημα Bayes,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
Ομοίως, εάν το Α είναι Αγορά, τότε
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Σημείωση: Καθώς το P(Buy | Weekday) είναι μεγαλύτερο από το P(No Buy | Weekday), μπορούμε να συμπεράνουμε ότι ο πελάτης πιθανότατα θα αγοράσει το προϊόν μια ημέρα της εβδομάδας.
Βήμα 3) Ομοίως, μπορούμε να υπολογίσουμε την πιθανότητα εμφάνισης ενός γεγονότος με βάση και τις τρεις μεταβλητές. Τώρα θα υπολογίσουμε πίνακες πιθανοτήτων και για τις τρεις μεταβλητές χρησιμοποιώντας τους παραπάνω πίνακες συχνοτήτων.
Παράδειγμα 2:
Τώρα, χρησιμοποιώντας αυτούς τους τρεις πίνακες πιθανοτήτων, θα υπολογίσουμε εάν ένας πελάτης είναι πιθανό να πραγματοποιήσει μια αγορά με βάση έναν συγκεκριμένο συνδυασμό «Ημέρα», «Έκπτωση» και «Δωρεάν παράδοση».
Εδώ, ας πάρουμε έναν συνδυασμό αυτών των παραγόντων:
- Ημέρα = Διακοπές
- Έκπτωση = Ναι
- Δωρεάν παράδοση = Ναι
Πότε, Α = Αγορά
Υπολογίστε την υπό όρους πιθανότητα αγοράς στον ακόλουθο συνδυασμό ημέρας, έκπτωσης και δωρεάν παράδοσης.
Όπου Β είναι:
- Ημέρα = Διακοπές
- Έκπτωση = Ναι
- Δωρεάν παράδοση = Ναι
Και Α = Αγορά
Ως εκ τούτου,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Πότε, A = Όχι Αγορά
Ομοίως, Υπολογίστε την υπό όρους πιθανότητα αγοράς στον ακόλουθο συνδυασμό ημέρας, έκπτωσης και δωρεάν παράδοσης.
Όπου Β είναι:
- Ημέρα = Διακοπές
- Έκπτωση = Ναι
- Δωρεάν παράδοση = Ναι
Και Α = Όχι Αγορά
Ως εκ τούτου,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
Βήμα 4) Ως εκ τούτου,
Πιθανότητα αγοράς = 0.986
Πιθανότητα μη αγοράς = 0.027
Τέλος, έχουμε υπό όρους πιθανότητες να αγοράσουμε αυτήν την ημέρα. Ας γενικεύσουμε τώρα αυτές τις πιθανότητες για να λάβουμε την Πιθανότητα των γεγονότων.
- Άθροισμα πιθανοτήτων = 0.986 + 0.027 = 1.013
- Πιθανότητα αγοράς = 0.986 / 1.013 = 97.33 %
- Πιθανότητα μη αγοράς = 0.027 / 1.013 = 2.67 %
Το άθροισμα των δύο βαθμολογιών ανέρχεται σε 1.013 αντί για 1, επειδή η υπόθεση ανεξαρτησίας καθιστά κάθε εκτίμηση κατά προσέγγιση, επομένως η διαίρεση με το σύνολο τις αναδιαμορφώνει σε ποσοστά.
Σημειώστε ότι, καθώς το 97.33% είναι μεγαλύτερο από 2.67%. Μπορούμε να συμπεράνουμε ότι ο μέσος πελάτης θα αγοράσει σε διακοπές με έκπτωση και δωρεάν παράδοση.
Τύποι απλού μοντέλου Bayes
Υπάρχουν πολλοί τύποι ταξινομητών Naive Bayes. Εδώ έχουμε συζητήσει τους ταξινομητές Multinomial, Bernoulli και Gaussian Naive Bayes.
| Παραλλαγή | Τύπος χαρακτηριστικού | Τυπική χρήση |
|---|---|---|
| Πολυώνυμο | Αριθμός λέξεων | Ταξινόμηση θεμάτων και εγγράφων |
| Μπερνούλι | Δυαδικές σημαίες παρουσίας ή απουσίας | Σύντομα μηνύματα και φιλτράρισμα ανεπιθύμητης αλληλογραφίας |
| Gaussian | Συνεχείς αριθμητικές τιμές | Ενδείξεις και μετρήσεις αισθητήρων |
1. Πολυωνυμικό Naive Bayes
Αυτός ο τύπος μοντέλου Naive Bayes χρησιμοποιείται για προβλήματα ταξινόμησης εγγράφων. Λειτουργεί με χαρακτηριστικά που αντιπροσωπεύουν τη συχνότητα των λέξεων σε ένα έγγραφο. Ο ταξινομητής εξετάζει την εμφάνιση και τον αριθμό των λέξεων για να προσδιορίσει την πιθανότητα ενός εγγράφου να ανήκει σε μια συγκεκριμένη κατηγορία, όπως ο αθλητισμός, η πολιτική ή η τεχνολογία.
2. Bernoulli Naive Bayes
Αυτό είναι παρόμοιο με το πολυώνυμο Naive Bayes. Ο ταξινομητής Bernoulli Naive Bayes χρησιμοποιείται για εργασίες ταξινόμησης εγγράφων. Ωστόσο, χρησιμοποιεί boolean predictors. Αντιπροσωπεύει εάν μια λέξη είναι παρούσα ή όχι και παίρνει μόνο τιμές Ναι ή Όχι. Ο ταξινομητής υπολογίζει τις πιθανότητες με βάση το εάν μια λέξη εμφανίζεται στο κείμενο ή όχι.
3. Gaussian Naive Bayes
Αυτός ο ταξινομητής χρησιμοποιείται σε περίπτωση συνεχούς αλλά όχι διακριτής τιμής. Αυτός ο ταξινομητής υπολογίζει τις πιθανότητες χρησιμοποιώντας τις παραμέτρους του Gaussian κατανομή, δηλ. μέσος όρος και διακύμανση.
Ο τύπος για την υπό όρους πιθανότητα αλλάζει σε,
The scikit-μάθετε Η βιβλιοθήκη προσθέτει δύο ακόμη παραλλαγές: Συμπληρωματικό Naive Bayes για μη ισορροπημένο κείμενο και Κατηγορηματικό Naive Bayes για διακριτές κατηγορίες.
Οφέλη και περιορισμοί του ταξινομητή Naive Bayes
Υπάρχουν διάφορα πλεονεκτήματα και μειονεκτήματα του αλγόριθμου Naive Bayes στη μηχανική μάθηση.
Οφέλη από τον ταξινομητή Naive Bayes
- Απλότητα και αποτελεσματικότητα: Το Naive Bayes είναι απλό και εύκολο στην εκπαίδευση και την εφαρμογή. Είναι αποτελεσματικό λόγω του χαμηλού υπολογιστικού κόστους. Μπορεί να χειριστεί αποτελεσματικά μεγάλα σύνολα δεδομένων.
- Γρήγορη προπόνηση και πρόβλεψη: Το Naive Bayes δεν απαιτεί τόσα πολλά δεδομένα εκπαίδευσης λόγω της ανεξαρτησίας μεταξύ των χαρακτηριστικών. Μπορεί να προβλέψει γρήγορα μόλις εκπαιδευτεί το μοντέλο.
- Ευελιξία: Το Naive Bayes μπορεί να χειριστεί σύνολα δεδομένων υψηλών διαστάσεων με μεγάλο αριθμό χαρακτηριστικών. Αποδίδει καλά ακόμα και όταν ο αριθμός των χαρακτηριστικών είναι μεγαλύτερος από τον αριθμό των παραδειγμάτων εκπαίδευσης. Κλιμακώνεται με τον αριθμό των σημείων δεδομένων και των προγνωστικών. Χειρίζεται τόσο συνεχή όσο και διακριτά δεδομένα.
- Ανθεκτικότητα σε άσχετα χαρακτηριστικά: Δεν είναι ευαίσθητο σε άσχετα χαρακτηριστικά.
- Λειτουργεί καλά με μικρά σετ προπόνησης: Το Naive Bayes μπορεί να παρέχει λογικά αποτελέσματα ακόμη και με περιορισμένα δεδομένα εκπαίδευσης. Μπορεί να χειριστεί καταστάσεις όπου ο αριθμός των στιγμιότυπων εκπαίδευσης είναι μικρός.
Περιορισμός του ταξινομητή Naive Bayes
Ο αφελής Bayes μέσα μάθηση μηχανής υποθέτει ότι όλα τα χαρακτηριστικά είναι ανεξάρτητα το ένα από το άλλο. Έτσι, δεν μπορεί να μάθει σχέσεις μεταξύ διαφορετικών χαρακτηριστικών στα δεδομένα. Αντιμετωπίζει κάθε χαρακτηριστικό σαν να μην έχει καμία σχέση με τα άλλα.
Μια δεύτερη προειδοποίηση: οι πιθανότητες κλάσης που αναφέρει είναι κακώς βαθμονομημένες, επομένως το ποσοστό εμπιστοσύνης που συνδέεται με μια πρόβλεψη δεν είναι μια αξιόπιστη πιθανότητα.
Για να ξεπεράσετε αυτό το πρόβλημα, μπορείτε να χρησιμοποιήσετε Αποφάσεις δέντρων, Τυχαία Δάση, Μηχανές Υποστηρικτικών Διανυσμάτων (SVM), Νευρωνικά δίκτυα κ.λπ. Αυτοί οι αλγόριθμοι έχουν την ικανότητα να μαθαίνουν πολύπλοκες σχέσεις και εξαρτήσεις μεταξύ χαρακτηριστικών στα δεδομένα. Έτσι, μπορούν να προβλέψουν πιο ακριβή αποτελέσματα.
Εφαρμογές του ταξινομητή Naive Bayes
Δεδομένου ότι αυτός ο αλγόριθμος είναι γρήγορος και αποτελεσματικός, μπορείτε να τον χρησιμοποιήσετε για να κάνετε προβλέψεις σε πραγματικό χρόνο.
Ανίχνευση ανεπιθύμητων μηνυμάτων
Υπηρεσίες email (Όπως Gmail) χρησιμοποιούν αυτόν τον αλγόριθμο για να προσδιορίσουν εάν ένα email είναι ανεπιθύμητο. Αυτός ο αλγόριθμος είναι εξαιρετικός για φιλτράρισμα ανεπιθύμητης αλληλογραφίας.
Ανάλυση συναισθημάτων
Μπορεί να ταξινομήσει το κείμενο ως θετικό, αρνητικό ή ουδέτερο με βάση χαρακτηριστικά όπως η επιλογή λέξης, η δομή της πρότασης και το πλαίσιο. Βρίσκει εφαρμογές στην παρακολούθηση μέσων κοινωνικής δικτύωσης, τις κριτικές πελατών και την έρευνα αγοράς.
Ταξινόμηση εγγράφων
Μπορεί να ταξινομήσει έγγραφα σε κατηγορίες όπως αθλήματα, πολιτική, τεχνολογία ή οικονομικά με βάση τη συχνότητα ή την παρουσία συγκεκριμένων λέξεων ή χαρακτηριστικών μέσα στο έγγραφο.
Συστήματα προτάσεων
Μπορεί να αναλύσει τις προτιμήσεις των χρηστών, τα ιστορικά δεδομένα και τις λειτουργίες στοιχείων για να προβλέψει τα ενδιαφέροντα ή τις προτιμήσεις των χρηστών για την πρόταση προϊόντων, ταινιών ή άρθρων.
Αυτός ο αλγόριθμος ταξινόμησης χρησιμοποιείται επίσης στην Αναγνώριση Προσώπου, την Πρόβλεψη Καιρού, την Ιατρική Διάγνωση, τα Καταστήματαping, Ταξινόμηση Ειδήσεων κ.λπ. Μπορείτε να εφαρμόσετε το Naive Bayes σε Python, όπου η ενότητα sklearn.naive_bayes παρέχει κάθε παραλλαγή που περιγράφεται παραπάνω.








