Przejdź do treści

Filtr spamu i wzór Bayesa - słowo „gratulacje” w wiadomości

Szkoła średnia trudne

Do skrzynki pocztowej trafia 30%30\% spamu. Słowo „gratulacje” występuje w 40%40\% wiadomości będących spamem i w 5%5\% zwykłych wiadomości. Przyszła wiadomość zawierająca słowo „gratulacje”.

a) Oblicz prawdopodobieństwo, że jest spamem.

b) Oblicz prawdopodobieństwo, że wiadomość bez tego słowa jest spamem.

Rozwiązanie

Pokaż rozwiązanie krok po krokuUkryj rozwiązanie

Krok 1. Dane. SS - spam, S′S' - zwykła wiadomość, GG - wiadomość zawiera słowo.

P(S)=0,3,P(S′)=0,7,P(G∣S)=0,4,P(G∣S′)=0,05.P(S) = 0{,}3, \quad P(S') = 0{,}7, \qquad P(G \mid S) = 0{,}4, \quad P(G \mid S') = 0{,}05.

Krok 2. Prawdopodobieństwo całkowite dla G.

P(G)=0,3⋅0,4+0,7⋅0,05=0,12+0,035=0,155.P(G) = 0{,}3 \cdot 0{,}4 + 0{,}7 \cdot 0{,}05 = 0{,}12 + 0{,}035 = 0{,}155.

Krok 3. Punkt a) - wzór Bayesa.

P(S∣G)=P(S)⋅P(G∣S)P(G)=0,120,155=120155=2431≈0,774.P(S \mid G) = \frac{P(S) \cdot P(G \mid S)}{P(G)} = \frac{0{,}12}{0{,}155} = \frac{120}{155} = \frac{24}{31} \approx 0{,}774.

Krok 4. Punkt b) - to samo dla braku słowa. P(G′∣S)=0,6P(G' \mid S) = 0{,}6, P(G′∣S′)=0,95P(G' \mid S') = 0{,}95, a P(G′)=1−0,155=0,845P(G') = 1 - 0{,}155 = 0{,}845. Zatem

P(S∣G′)=0,3⋅0,60,845=0,180,845=180845=36169≈0,213.P(S \mid G') = \frac{0{,}3 \cdot 0{,}6}{0{,}845} = \frac{0{,}18}{0{,}845} = \frac{180}{845} = \frac{36}{169} \approx 0{,}213.

Krok 5. Sens. Jedno słowo podnosi szansę spamu z 30%30\% do około 77%77\%, a jego brak obniża ją do około 21%21\%. Prawdziwe filtry łączą w ten sposób setki słów - stąd nazwa „filtr bayesowski”.

Odpowiedź. a) P(S∣G)=2431≈77%P(S \mid G) = \dfrac{24}{31} \approx 77\%; b) P(S∣G′)=36169≈21%P(S \mid G') = \dfrac{36}{169} \approx 21\%.