NAIVE BAYES Flashcards
Einordnung in das CRISP-DM Referenz-Modell
Modeling Phase (Phase 4)
Bayes’sche Regel
P(H|D) = (P(D|H)∗P(H))/P(D)
= (P(D|H)∗P(H))/(P(D|H)∗P(H))+(P(D|¬H)∗P(¬H))
- P(H): Annahme über den Wahrheitsgehalt der Hypothese H (a priori Annahme)
- P(D|H): Wahrscheinlichkeit der Beobachtung D (Daten), falls Hypothese H wahr ist (Likelihood)
- P(D|¬H): Wahrscheinlichkeit der Beobachtung D, falls Hypothese H unwahr ist
- A priori Wahrscheinlichkeit
-> Anfangswahrscheinlichkeit, Ursprungswahrscheinlichkeit
Wahrscheinlichkeitswert, der aufgrund von Vorwissen gewonnen wird - A posteriori Wahrscheinlichkeit
-> Wissensstand nach der Beobachtung von Daten
Bayes’scher Klassifikator (Naive Bayes)
- Definition
-> Funktion b, die einen f-dimensionalen Vektor (Beispiel, Datenpunkt, etc.) auf die Menge C aller Klassen abbildet.
-> Bayes’scher Klassifikator funktioniert nicht nur bei zwei, sondern auch bei Mehrklassenproblemen
b: ℝ𝑓→𝐶
C := {0, 1} oder C := {-1, 1}
oder C := {1, …, c}, falls c ≥ 3 Klassen betrachtet werden. - Frage: Kann bei sonnigem Wetter gespielt werden?
1. P(Yes | Sunny) = 𝑃(𝑆𝑢𝑛𝑛𝑦|𝑌𝑒𝑠)∗𝑃(𝑌𝑒𝑠)/𝑃(𝑆𝑢𝑛𝑛𝑦)
2. P(Sunny |Yes) = 3/9 = 0,33, P(Sunny) = 5/14 = 0,36, P(Yes)= 9/14 = 0,64
3. P(Yes | Sunny) = 0,33 * 0,64 / 0,36 = 0,59
4. Klassifikator b: if P(Yes | Sunny) > 0,5 then “Yes” else “No”
5. 0,59 > 0,5 → Bei sonnigem Wetter kann gespielt werden. - Zero Frequency Problem
-> Frage: Darf bei Bewölkung nicht gespielt werden?
-> Problem: Wir haben hierfür keinen einzigen Eintrag
-> Lösung: Auf jedes Element 1 addieren
1. P(No | Overcast) = P(Overcast | No) * P(No) / P(Overcast) (Bayes‘sche Regel!)
2. P(Overcast | No) = 1/8 = 0,125, P(Overcast) = 6/20 = 0,30, P(No)= 8/20 = 0,40
3. P(No | Overcast) = 0,125 * 0,40 / 0,30 = 0,166
4. Klassifikator b: if P(No | Overcast) > 0,5 then “Yes” else “No” - Zero Observation Problem
-> Frage: Darf bei Gewitter (thunderstorm) gespielt werden?
-> Lösung: Repräsentative Auswahl von Trainings-, Validierungs- und Testdaten! Bei kategorischen Merkmalen kann nichts in den Testdaten prognostiziert werden, was nicht auch in den Trainingsdaten vorhanden ist!
Reelwertige Merkmale
Beispiel:
* Klassifikation von Personen (2 Klassen „children“ und „adults“) über Höhe & Gewicht
* Beide Größen sind normalverteilt
Kontrollfrage
* Gegeben: 4 reelwertige Merkmale und 3 Klassen; Gauß‘sches Modell.
* Wieviel Parameter müssen bestimmt werden? 4 x 2 x 3 = 24
4 reelwertige Merkmale → 4
Mittelwert & Varianz → 2
Für jede Klasse → 3
Bewertung des Bayes’schen Klassifikators
Vorteile:
* Sehr einfach und schnell, Testdaten zu klassifizieren
* Auch für Mehr-Klassenprobleme geeignet
* Falls tatsächlich Unabhängigkeit der Merkmale gilt, ist dieser Ansatz leistungsfähiger als andere Lösungen bei wenigen Trainingsdaten
* Für kategorische Merkmale gute Performanz, bei numerischen Merkmalen wird eine Verteilung (oft Gauß‘sche Normalverteilung) vorausgesetzt
* Kann sehr gut mit fehlenden Merkmalswerten (missing values) umgehen.
Nachteile:
* Problem, wenn Kategorie eines Merkmals zwar in den Trainings- nicht aber in den Testdaten vorhanden ist (engl. Zero Observation Problem),
* Problem, wenn kategorischer Merkmalswert in den Trainingsdaten in einer Klasse nicht vorhanden ist (engl. Zero Frequency Problem),
* Unabhängigkeit der Merkmale wird vorausgesetzt.
Anwendungen eines Bayes’schen Klassifikators
- Real time Prediction, da sehr schnell im Lernen und Klassifizieren (z.B. beim autonomen Fahren wichtig)
- Multi class Prediction: kann die Wahrscheinlichkeit der Zugehörigkeit des Testdatensatzes zu mehreren Klassen vorhersagen
- Text classification/ Spam Filtering/Sentiment Analysis
-> Sehr gute Performanz bei der Klassifikation von Texten
-> Sentiment Analysis: Anwendungen, um die Stimmungslage von Nutzern auf sozialen Plattformen zu prognostizieren, - Recommendation System, zusammen mit Collaborative Filtering im Einsatz bei Empfehlungsmaschinen