Naiwny klasyfikator bayesowski
Czym jest naiwny klasyfikator bayesowski?
Naiwny klasyfikator bayesowski to prosty i efektywny model klasyfikacji oparty na teorii prawdopodobieństwa i twierdzeniu Bayesa. Zakłada, że wszystkie cechy (atrybuty) są wzajemnie niezależne, co w praktyce rzadko jest prawdą. Dzięki swojej prostocie i efektywności jest często stosowany w zadaniach analizy tekstu i klasyfikacji binarnej.
Twierdzenie Bayesa
Twierdzenie Bayesa opisuje sposób obliczania prawdopodobieństwa warunkowego na podstawie wcześniejszych prawdopodobieństw:
\[ P(C \mid X) = \frac{P(X \mid C) \cdot P(C)}{P(X)} \]
Gdzie:
- \(P(C \mid X)\): Prawdopodobieństwo przynależności obiektu \(X\) do klasy \(C\) (a posteriori).
- \(P(X \mid C)\): Prawdopodobieństwo obserwacji cechy \(X\) przy założeniu, że obiekt należy do klasy \(C\).
- \(P(C)\): Prawdopodobieństwo wystąpienia klasy \(C\) (a priori).
- \(P(X)\): Prawdopodobieństwo obserwacji cechy \(X\).
Założenie o niezależności cech
Model zakłada, że cechy są niezależne warunkowo względem klasy \(C\). Dzięki temu wzór można uprościć do postaci:
\[ P(C \mid X) = P(C) \cdot \prod_{i=1}^n P(X_i \mid C) \]
Gdzie \(X_i\) to wartość \(i\)-tej cechy.
Zalety naiwnych klasyfikatorów bayesowskich:
- Prostota: Łatwy do zrozumienia i zaimplementowania.
- Efektywność obliczeniowa: Szybki w trenowaniu i testowaniu, nawet dla dużych zbiorów danych.
- Skuteczność przy dużej liczbie cech: Radzi sobie dobrze z dużymi zbiorami danych i dużą liczbą atrybutów.
- Dobrze działa na danych tekstowych: Szczególnie skuteczny w klasyfikacji dokumentów, np. filtrowanie spamu.
Wady naiwnych klasyfikatorów bayesowskich:
- Założenie o niezależności cech: Rzadko jest spełnione w rzeczywistości, co może prowadzić do błędów w klasyfikacji.
- Czułość na dane rzadkie: Jeśli dla danej cechy i klasy nie ma danych w zbiorze treningowym, prawdopodobieństwo warunkowe wynosi zero, co może całkowicie wykluczyć daną klasę.
Zastosowania:
- Filtrowanie spamu:
- Klasyfikowanie wiadomości e-mail jako „spam” lub „nie spam” na podstawie obecności słów kluczowych.
- Analiza sentymentu:
- Określanie pozytywnego lub negatywnego tonu tekstu, np. w recenzjach produktów.
- Rozpoznawanie obrazów:
- Klasyfikowanie obiektów w obrazach przy użyciu histogramów cech.
- Rekomendacje:
- Przewidywanie preferencji użytkownika na podstawie jego wcześniejszych zachowań.
Typy naiwnych klasyfikatorów bayesowskich:
- Gaussian Naive Bayes:
- Stosowany dla cech numerycznych zakładający, że wartości cech w klasach mają rozkład normalny.
- Multinomial Naive Bayes:
- Często stosowany w zadaniach klasyfikacji tekstu, zakładający liczbę wystąpień cech (np. słów) w klasach.
- Bernoulli Naive Bayes:
- Używany w przypadku danych binarnych (np. obecność lub brak danej cechy).
Przykład działania:
Załóżmy, że chcemy sklasyfikować wiadomość jako „spam” lub „nie spam” na podstawie obecności słów:
- Klasy: \(C_1 = \text{spam}, C_2 = \text{nie spam}\)
- Cechy: Obecność słów „darmowy” (\(X_1\)) i „oferta” (\(X_2\))
Dane historyczne:
- \(P(C_1) = 0.4\), \(P(C_2) = 0.6\)
- \(P(X_1 = 1 \mid C_1) = 0.7\), \(P(X_1 = 1 \mid C_2) = 0.1\)
- \(P(X_2 = 1 \mid C_1) = 0.8\), \(P(X_2 = 1 \mid C_2) = 0.3\)
Nowa wiadomość: Zawiera słowa „darmowy” (\(X_1 = 1\)) i „oferta” (\(X_2 = 1\)).
Obliczenie prawdopodobieństw:
-
\(P(C_1 \mid X) \propto P(C_1) \cdot P(X_1 \mid C_1) \cdot P(X_2 \mid C_1)\)
-
\(P(C_1 \mid X) = 0.4 \cdot 0.7 \cdot 0.8 = 0.224\)
-
\(P(C_2 \mid X) \propto P(C_2) \cdot P(X_1 \mid C_2) \cdot P(X_2 \mid C_2)\)
-
\(P(C_2 \mid X) = 0.6 \cdot 0.1 \cdot 0.3 = 0.018\)
Wniosek: \(P(C_1 \mid X) > P(C_2 \mid X)\), więc wiadomość zostaje sklasyfikowana jako „spam”.
Naiwny klasyfikator bayesowski, pomimo swoich ograniczeń, jest cennym narzędziem w eksploracji danych, szczególnie w przypadku dużych zbiorów tekstowych.