Machine learning: PAC learning

Un’applicazione (teoretica al momento) dell’apprendimento automatizzato è il probably approximately correct learning.  Semplificando per quanto possibile cerchiamo di esplorare quest’interessante ragionamento matematico che poi sarà semplice trasformare in un’algoritmo reale.

Penso che sia bene partire da un caso pratico al quale applicare il ragionamento. Proveremo a sviluppare un’algoritmo in grado di determinare pazienti a rischio cancro analizzando i dati sulle loro tive al fumo. Le variabili in gioco che ci interessano sono due:

  • Quantitá media di sigarette fumate ogni giorno
  • Anni trascorsi da fumatore

Il training set dovrà contenere anche un’altro dato fondamentale: un valore booleano che indica se il paziente é o è stato affetto da cancro. Ma come stabilire se un’algoritmo è efficace o meno?

Il nostro problema è PAC learnable se esiste un’ipotesi h che ha un’alta probabilitá di prevedere il rischio cancro con un basso margine di errore basandosi sui due parametri descritti. Matematicamente parlando alto e  basso non significa praticamente nulla quindi chiariamo il concetto trasformandolo in una formula.

 

 

Ok, in realtà per arrivare a questa conclusione abbiamo semplificato parecchio ma l’idea di base del PAC learning non è troppo articolata. Praticamente qualsiasi insieme finito è PAC learnable a patto di avere un training set sufficientemente articolato che contenga tutti i casi necessari. Ora però abbiamo bisogno di pratica . . . dal prossimo articolo sul Machine Learning metteremo le mani al codice. Rispolvera il tuo python.