Ο αλγόριθμος Naive Bayes στη Μηχανική Μάθηση

Αλγόριθμος ταξινομητή Naive Bayes

Αλγόριθμος ταξινομητή Naive Bayes

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

Ο Naive Bayes Classifier στη μηχανική μάθηση είναι μια εποπτευόμενη μηχανική εκμάθηση για εργασίες ταξινόμησης.

Αλγόριθμος ταξινομητή Naive Bayes

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

Δεδομένου ότι ο ταξινομητής Naive Bayes βασίζεται στο θεώρημα Bayes, επομένως είναι γνωστός ως ταξινομητής πιθανοτήτων. Προβλέπει με βάση την πιθανότητα ενός στοιχείου.

Λόγος για να σας αποκαλούν Naïve Bayes;

Ο ταξινομητής Naive Bayes έχει δύο λέξεις: Naive και Bayes. Γιατί Navie; Αυτός ο αλγόριθμος αντιμετωπίζει όλες τις προτάσεις λέξεων ως ίδιες. Για παράδειγμα, το "You are" και το "Are you" είναι το ίδιο για αυτόν τον αλγόριθμο. Δεν εξαρτάται από χαρακτηριστικά ή από την εμφάνιση χαρακτηριστικών. Αν θέλετε να αναγνωρίσετε το φρούτο Μήλο, τότε χρειάζεστε κόκκινο χρώμα, σχήμα σφαιρικό, γλυκιά γεύση για να το αναγνωρίσετε ως Μήλο. Σημαίνει ότι αυτά τα χαρακτηριστικά είναι ανεξάρτητα το ένα από το άλλο.

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

Το θεώρημα του Naïve Bayes

Το θεώρημα του Bayes χρησιμοποιείται για την εύρεση της πιθανότητας μιας υπόθεσης με πιθανότητες υπό όρους που εξαρτώνται από την προηγούμενη γνώση. Αυτό το θεώρημα πήρε το όνομά του από τον Thomas Bayes. Ο ταξινομητής Naive 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 priori (a priori, δηλαδή η πιθανότητα ενός παρατηρούμενου γεγονότος πριν από την απόδειξη) του A. Εδώ, το γεγονός B είναι η τιμή μιας άγνωστης παρουσίας.
  • P(A|B) είναι η μεταγενέστερη πιθανότητα του γεγονότος Β, δηλαδή η πιθανότητα του γεγονότος μετά την εξέταση των αποδεικτικών στοιχείων.

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

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

Σύνολο δεδομένων

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

Το πρόβλημα είναι να προβλέψουμε εάν ένα άτομο θα αγοράσει ένα προϊόν σε έναν συγκεκριμένο συνδυασμό Ημέρας, Έκπτωσης και Δωρεάν Παράδοσης χρησιμοποιώντας το θεώρημα Naive Bayes.

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

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

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

Αφήστε το συμβάν «Αγορά» να υποδηλωθεί ως «Α» και οι ανεξάρτητες μεταβλητές, δηλαδή «Έκπτωση», «Δωρεάν παράδοση» και «Ημέρα», να υποδηλωθούν ως «Β». Θα χρησιμοποιήσουμε αυτά τα γεγονότα και τις μεταβλητές για να εφαρμόσουμε το θεώρημα του Bayes.

Βήμα 2) Τώρα ας υπολογίσουμε τους πίνακες πιθανοτήτων έναν προς έναν.

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

Παράδειγμα 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) Ομοίως, μπορούμε να υπολογίσουμε την πιθανότητα εμφάνισης ενός γεγονότος με βάση και τις τρεις μεταβλητές. Τώρα θα υπολογίσουμε πίνακες πιθανοτήτων και για τις τρεις μεταβλητές χρησιμοποιώντας τους παραπάνω πίνακες συχνοτήτων.

Παράδειγμα εργασίας του ταξινομητή Naïve Bayes

Παράδειγμα 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 %

Σημειώστε ότι, καθώς το 97.33% είναι μεγαλύτερο από 2.67%. Μπορούμε να συμπεράνουμε ότι ο μέσος πελάτης θα αγοράσει σε διακοπές με έκπτωση και δωρεάν παράδοση.

Τύποι Μοντέλου Naïve Bayes

Υπάρχουν πολλοί τύποι ταξινομητών Naive Bayes. Εδώ έχουμε συζητήσει τους ταξινομητές Multinomial, Bernoulli και Gaussian Naive Bayes.

1. Πολυωνυμικό Naive Bayes

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

2. Bernoulli Naive Bayes

Αυτό είναι παρόμοιο με το πολυώνυμο Naive Bayes. Ο ταξινομητής Bernoulli Naive Bayes χρησιμοποιείται για εργασίες ταξινόμησης εγγράφων. Ωστόσο, χρησιμοποιεί boolean predictors. Αντιπροσωπεύει εάν μια λέξη είναι παρούσα ή όχι και παίρνει μόνο τιμές Ναι ή Όχι. Ο ταξινομητής υπολογίζει τις πιθανότητες με βάση το εάν μια λέξη εμφανίζεται στο κείμενο ή όχι.

3. Gaussian Naive Bayes

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

Gaussian Naive Bayes

Ο τύπος για την υπό όρους πιθανότητα αλλάζει σε,

Gaussian 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 είναι ανεπιθύμητο. Αυτός ο αλγόριθμος είναι εξαιρετικός για φιλτράρισμα ανεπιθύμητων μηνυμάτων.

Ανάλυση συναισθημάτων

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

Ταξινόμηση εγγράφων

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

Συστήματα προτάσεων

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

Αυτός ο αλγόριθμος ταξινομητή χρησιμοποιείται επίσης στην Αναγνώριση Προσώπου, Πρόβλεψη Καιρού, Ιατρική Διάγνωση, Αγορές, Ταξινόμηση Ειδήσεων κ.λπ. Μπορείτε να εφαρμόσετε το Naive Bayes στο Python. Υπάρχει ο ταξινομητής Naive Bayes sklearn, δηλαδή sklearn.naive_bayes. Είναι η ενότητα που υλοποιεί αυτόν τον αλγόριθμο.

Συμπέρασμα

Οι αλγόριθμοι Naive Bayes στη μηχανική μάθηση είναι ταξινομητές που χρησιμοποιούνται κυρίως στον εντοπισμό ανεπιθύμητων μηνυμάτων, την ταξινόμηση ειδήσεων, την ανάλυση συναισθημάτων, την πρόβλεψη καιρού, τις αγορές κ.λπ. Οι αλγόριθμοι Naive Bayes βασίζονται στο θεώρημα Bayes. Αυτό αλγόριθμος είναι απλό και εύκολο στην εφαρμογή. Επειδή είναι γρήγορο μπορούμε να το χρησιμοποιήσουμε σε εφαρμογές σε πραγματικό χρόνο. Το μεγαλύτερο μειονέκτημά του είναι ότι λαμβάνει ανεξάρτητα χαρακτηριστικά (Δεδομένου ότι τα ανεξάρτητα χαρακτηριστικά είναι σπάνια δυνατά στην πραγματική ζωή, επομένως είναι γνωστό ως αφελής). Αντιμετωπίζει κάθε χαρακτηριστικό ως ίσο. Για να ξεπεράσετε αυτό το μειονέκτημα, μπορείτε να χρησιμοποιήσετε άλλους ταξινομητές όπως Decision Tree, Random Forest, Support Vector Machine (SVM) κ.λπ.