Teorema di Bayes e filtri antispam: come funziona la matematica dietro la posta indesiderata

Cerca:

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Come funziona il teorema di Bayes nei filtri antispam

Esercizio 1: Email Spam

Problema: Il 10% delle email è spam. Un filtro spam ha:

Precisione nell’individuare spam: 98%
Precisione nell’individuare email non spam: 95%

Se il filtro contrassegna un’email come spam, qual è la probabilità che lo sia?

Soluzione

Immagina che tu abbia una casella di posta elettronica piena di email. Alcune di queste email sono spam (cioè pubblicità indesiderata o truffe), mentre altre sono email normali che vuoi leggere.

Sappiamo che il 10% delle email nella tua casella sono spam. Questo significa che se prendi 100 email a caso, circa 10 di queste saranno spam.

Ora, immagina di avere un filtro anti-spam. Questo filtro cerca di capire quali email sono spam e quali no. Il filtro non è perfetto: a volte sbaglia.

Sappiamo che il filtro è bravo a riconoscere lo spam: se un’email è davvero spam, il filtro la marcherà come tale nel 98% dei casi. Però, il filtro a volte sbaglia: anche se un’email è normale, il filtro la marcherà erroneamente come spam nel 5% dei casi.

La domanda è: se il filtro marca un’email come spam, quanto è probabile che sia davvero spam?

Per rispondere a questa domanda, dobbiamo usare un po’ di matematica. In particolare, useremo il  “teorema di Bayes”.

Il Teorema di Bayes è una formula che ci aiuta ad aggiornare le nostre credenze su un evento incerto quando riceviamo nuove informazioni. Si basa sulla probabilità condizionata, cioè sulla probabilità che un evento accada sapendo che un altro evento si è verificato.

Formula del Teorema di Bayes:

P(A | B) = ( P(B | A) × P(A) ) / P(B)

  • P(A | B): probabilità che l’evento A sia vero dato che sappiamo che B è accaduto.
  • P(B | A): probabilità che B accada se A è vero.
  • P(A): probabilità iniziale di A (probabilità a priori).
  • P(B): probabilità di B, indipendentemente da A.

Esempio Semplice

Immaginiamo di fare un test medico per una malattia rara che colpisce l’1% della popolazione (P(A) = 0.01). Il test è accurato al 90%, cioè:

  • Se una persona è malata, il test risulta positivo nel 90% dei casi (P(B | A) = 0.9).
  • Se una persona non è malata, il test è positivo nel 5% dei casi per errore (P(B | ¬A) = 0.05).

Ora, se una persona risulta positiva al test, qual è la probabilità che sia davvero malata?

Nel Teorema di Bayes, A e B sono eventi qualsiasi.

Più precisamente:

  • A è l’evento di cui vogliamo conoscere la probabilità dopo aver ottenuto nuove informazioni.
  • B è l’evento che rappresenta l’informazione aggiuntiva che abbiamo ottenuto.

Nell’esempio del test medico:

  • Aè l’evento “una persona è malata”.
  • B è l’evento “il test risulta positivo”.

Quindi P(A∣B) ci dice quanto è probabile che la persona sia davvero malata sapendo che il test è positivo.

Utilizziamo Bayes:

P(A | B) = (0.9 × 0.01) / ((0.9 × 0.01) + (0.05 × 0.99))

P(A | B) = 0.009 / (0.009 + 0.0495) = 0.009 / 0.0585 ≈ 0.154

Quindi, anche se il test è positivo, c’è solo circa il 15,4% di probabilità che la persona sia realmente malata! Questo perché la malattia è molto rara, e anche un piccolo tasso di falsi positivi può influenzare il risultato.

Perché è Utile?

Il Teorema di Bayes viene usato in molti campi, come:

  • Medicina: diagnosi basate su test.
  • Machine Learning: filtri anti-spam, riconoscimento vocale.
  • Marketing: personalizzazione delle offerte basata sui comportamenti degli utenti.

In sintesi, Bayes ci insegna che la probabilità di qualcosa cambia quando otteniamo nuove informazioni, e dobbiamo sempre considerare sia la precisione della nuova informazione sia la probabilità di base dell’evento.

Forse potrebbe interessarti anche:  Esercizi svolti sul teorema di Bayes

Torniamo alla risoluzione del nostro esercizio:

Ecco i passaggi da seguire:

  1. Definiamo gli eventi:

    • A = L’email è spam
    • B = Il filtro classifica l’email come spam
  2. Scriviamo le probabilità che conosciamo:

    • P(A) = 0.10 (probabilità che un’email sia spam)
    • P(B|A) = 0.98 (probabilità che il filtro classifichi un’email come spam, se è spam)
    • P(¬B|¬A) = 0.95 (probabilità che il filtro classifichi un’email come normale, se è normale)
  3. Calcoliamo la probabilità che il filtro classifichi un’email come spam:

    • P(B) = P(B|A) * P(A) + P(B|¬A) * P(¬A)
    • P(B) = (0.98 * 0.10) + (0.05 * 0.90) = 0.143
  4. Usiamo il teorema di Bayes per calcolare la probabilità che un’email sia spam, se il filtro l’ha classificata come tale:

    • P(A|B) = [P(B|A) * P(A)] / P(B)
    • P(A|B) = (0.98 * 0.10) / 0.143 ≈ 0.685

Risultato:

La probabilità che un’email sia spam, se il filtro l’ha classificata come tale, è di circa 0.685, o 68.5%.

 

Con parole più semplici:

Anche se il filtro anti-spam è abbastanza buono, non è perfetto. Se il filtro Marcha un’email come spam, c’è comunque una probabilità del 31.5% che in realtà sia un’email normale.

Capire come identificare gli eventi A e B è fondamentale per risolvere correttamente gli esercizi di probabilità condizionata, come quello del filtro anti-spam.

Ecco alcuni trucchi e consigli:

1. Comprendi a fondo il problema

  • Leggi attentamente il testo: Individua le informazioni chiave e la domanda specifica che viene posta.
  • Parafrasa il problema: Rielabora il testo con parole tue per assicurarti di averlo compreso appieno.
  • Visualizza la situazione: Cerca di immaginare lo scenario descritto nel problema. Questo può aiutarti a capire meglio gli eventi in gioco.

2. Definisci gli eventi A e B

  • A è l’evento di interesse: È ciò che vogliamo sapere o la cui probabilità vogliamo calcolare. Nel caso dello spam, A è “l’email è spam”.
  • B è l’evento condizionante: È l’informazione aggiuntiva che abbiamo o l’evento che sappiamo essere accaduto. Nel caso dello spam, B è “il filtro classifica l’email come spam”.

3. Identifica le probabilità fornite

  • P(A): Probabilità a priori dell’evento A (es. probabilità che un’email sia spam).
  • P(B|A): Probabilità che l’evento B accada dato che l’evento A è accaduto (es. probabilità che il filtro classifichi un’email come spam, se è spam).
  • P(B|¬A): Probabilità che l’evento B accada dato che l’evento A non è accaduto (es. probabilità che il filtro classifichi un’email come spam, se non è spam).

Facciamo un altro esempio pratico per chiarire meglio come identificare gli eventi A e B e applicare il teorema di Bayes.

Scenario:

Immagina di essere un detective che indaga su un furto in una gioielleria. Hai due sospettati: Alice e Bruno.

  • Informazioni:
    • Alice ha un alibi per la notte del furto nel 70% dei casi.
    • Bruno ha un alibi per la notte del furto nel 30% dei casi.
    • Se una persona ha un alibi, la probabilità che sia colpevole è del 10%.
    • Se una persona non ha un alibi, la probabilità che sia colpevole è dell’80%.

Domanda:

Se Alice non ha un alibi, qual è la probabilità che sia colpevole?

Identificazione degli eventi:

  • A: Alice è colpevole
  • B: Alice non ha un alibi

Probabilità fornite:

  • P(¬B) = 0.70 (probabilità che Alice abbia un alibi)
  • P(B) = 1 – P(¬B) = 1 – 0.70 = 0.30 (probabilità che Alice non abbia un alibi)
  • P(A|¬B) = 0.10 (probabilità che Alice sia colpevole, dato che ha un alibi)
  • P(A|B) = 0.80 (probabilità che Alice sia colpevole, dato che non ha un alibi)

Risoluzione:

Vogliamo calcolare P(A|B), la probabilità che Alice sia colpevole, dato che non ha un alibi. Possiamo usare direttamente la probabilità fornita:

P(A|B) = 0.80

Risultato:

La probabilità che Alice sia colpevole, dato che non ha un alibi, è dell’80%.

Spiegazione:

In questo caso, l’evento di interesse (A) è “Alice è colpevole”, mentre l’evento condizionante (B) è “Alice non ha un alibi”. Abbiamo usato direttamente la probabilità fornita P(A|B) per rispondere alla domanda.

Consigli:

  • Presta attenzione alla formulazione del problema: A volte, le probabilità vengono fornite in termini di eventi contrari (come “avere un alibi” invece di “non avere un alibi”). Assicurati di identificare correttamente gli eventi A e B e le probabilità corrispondenti.
  • Visualizza lo scenario: Immaginare la situazione può aiutarti a capire meglio le relazioni tra gli eventi e le probabilità.
  • Non aver paura di semplificare: Se il problema sembra complesso, cerca di scomporlo in parti più piccole e di identificare gli eventi e le probabilità rilevanti per ciascuna parte.
Pubblicità