Puntuale come ogni mese, il Carnevale della Matematica è giunto ieri mattina, generoso di contributi e di spunti e introdotto dal verso gaussiano Canta, canta, canta, canta, canta il merlo.
Questa edizione n. 96, come la tradizione impone a tutte le edizioni del mese di aprile, è stata allestita da MaddMaths! seguendo le celebrazioni americane del "Mathematical Awareness Month", organizzato dal Joint Policy Board for Mathematics (JPBM). Il tema proposto quest'anno è "Il futuro delle previsioni".
Fare una previsione vuol dire vedere il futuro: se poi parliamo di "futuro delle previsioni", ci spingiamo doppiamente nel futuro. Mai fu visto un Carnevale così lungimirante e futuribile!
Cito direttamente dal post di MaddMaths!:
Yogi Berra, famoso giocatore e allenatore di baseball americano, noto per i suoi aforismi, disse una volta, parafrasando Niels Bohr: "È difficile fare previsioni, specialmente sul futuro." In questo Mese della Consapevolezza Matematica 2016 siamo tutti invitati a esplorare come la matematica e la statistica siano il vero futuro delle previsioni, fornendo idee e guidando l'innovazione. La pagina del sito americano del Mese della Consapevolezza Matematica e il nostro Carnevale della Matematica dovrebbero aiutarci a capire il ruolo della matematica e della statistica nel comprendere e prevedere il futuro. E ricordatevi che la domanda fondamentale da farsi sempre è: Cosa c'è dopo?
Tra i (pochi ma buoni?) contributi a tema, incredibile dictu, c'è quello di Mr. Palomar, primo post di una serie dedicata alle "Macchine che imparano", ovvero alle tecniche di apprendimento automatico.
Numerose e solluccherose le segnalazioni in generale.
Complimenti a tutti i partecipanti, buona lettura ad aficionados e non, e appuntamento all'edizione di maggio!
venerdì 15 aprile 2016
domenica 3 aprile 2016
Macchine che imparano #1: autori e autrici

Una volta uno di noi gli domandò se fosse in grado di capire, leggendo un racconto anonimo, di determinare il genere dell'autore (cioè se fosse uomo o donna). Il docente rispose che sì, con un po' di esercizio e di intuito si riesce abbastanza facilmente. Non fummo abbastanza cattivi da metterlo alla prova con alcuni nostri racconti privati dell'indicazione dell'autore.
Ora, un compito di questo tipo sembra richiedere una tale dose di intuizione e di sensibilità, doti squisitamente umane, che difficilmente potremmo pensare di affidarlo a una macchina.
Eppure qualcuno ci ha pensato, e in rete si trova persino una pagina in cui potete verificare l'abilità del computer in questo difficile esercizio.

A partire da questo post comincerò a esplorare questo vastissimo ambito dell'intelligenza artificiale di cui oggi si sente parlare sempre di più e sul quale università e aziende stanno investendo in misura sempre maggiore.
L'idea alla base dell'apprendimento automatico è molto semplice: affinché un computer riesca a risolvere un tipo di problema particolarmente difficile, come quello descritto sopra, la strategia migliore è la stessa che gli insegnanti utilizzano spesso con i propri studenti: mostrare alcuni esercizi svolti, e poi verificare se gli alunni sono in grado di risolvere da soli altri problemi dello stesso tipo.
Nel panorama odierno dell'intelligenza artificiale il machine learning è la tendenza di gran lunga dominante. Sono da un bel po' considerati old-style gli approcci utilizzati da metodologie come i sistemi di produzione o i sistemi esperti: programmi la cui ambizione era possedere fin dall'inizio l'intera base di conoscenza relativa a un dato argomento, ed essere così capaci di risolvere ogni problema di un certo tipo in maniera diretta, sulla base di deduzioni logiche.
La debolezza dei sistemi esperti era la loro incapacità di imparare dall'esperienza.
Negli anni Settanta e Ottanta, per esempio, si realizzarono sistemi esperti il cui compito era effettuare diagnosi di malattie in funzione dei sintomi segnalati dai pazienti. Anche ammettendo di poter introdurre in un simile sistema tutte le conoscenze dei migliori luminari del pianeta, il programma, una volta confezionato, poteva iniziare a formulare diagnosi, magari anche azzeccate, ma era destinato a restare un medico artificiale sempre uguale a se stesso: in altre parole, non era in grado di imparare dalla propria esperienza, cioè dai propri successi e dai propri errori.
![]() |
Tratto da http://eecs.wsu.edu/~cook/ml |
Questo approccio si è rivelato ottimale per un insieme innumerevole di problemi, soprattutto quelli molto complessi per i quali non esiste una formula esatta per determinare a colpo sicuro le risposte e le predizioni desiderate.
In altre parole, a causa della complessità di questi problemi, non possiamo più ambire alla perfezione assoluta, ma dobbiamo anzi accettare una percentuale di errore (comunque limitata).
Le tecniche di un tempo, fondate su schemi rigidi di deduzione, cercherebbero di risolvere questi problemi in modo esatto, ma impiegherebbero tempi biblici prima di produrre qualcosa, il che francamente non è quello che desideriamo.
Uno dei modi per superare questa empasse è il machine learning. Un altro filone algoritmico di cui ho già parlato in passato (ad esempio qui e qui), è costituito dai metodi euristici: anche questi, seppure attraverso un percorso un po' diverso, soddisfano il bisogno di meccanismi meno rigidi, che accettano l'approssimazione e che si avvicinano alla soluzione del problema attraverso una ricerca graduale.
I due mondi, apprendimento automatico e tecniche euristiche, non sono tra di loro separati in modo netto, ma si intersecano reciprocamente in molti casi.

Da queste confuse e furiose basi di conoscenza si vorrebbe poter estrarre informazioni pregiate, che purtroppo se ne stanno solitamente ben nascoste come minuscoli aghi d'oro nello sterminato pagliaio informativo. Le numerose tecniche basate sull'idea dell'apprendimento automatico escono spesso vincitrici in questo genere di sfida, a condizione che i dati vengano inizialmente "puliti" e resi omogenei, che venga scelto l'algoritmo più appropriato per il problema da risolvere, e che il programma sia ben addestrato nella fase iniziale.
L'esempio con cui ho aperto questo post è emblematico. Per poter sviluppare un programma capace di riconoscere se un racconto è stato scritto da uno scrittore o da una scrittrice, possiamo certamente pensare ad un approccio di tipo "machine learning". Certo, occorre prendere oculatamente alcune decisioni importanti, per esempio scegliere un algoritmo di apprendimento che si presti a questo ingrato compito. Nella prossima puntata di questa serie entreremo nel merito matematico di una di queste tecniche di apprendimento, e vedremo di applicarla al problema dell'identificazione del genere dell'autore.
Iscriviti a:
Post (Atom)
L'ultimo post di Mr. Palomar, anzi no
Sono trascorsi quasi 14 anni da quel Capodanno del 2011, quando Mr. Palomar vide la luce. Da allora, molta acqua è passata sotto i ponti, c...
