Nella sua riflessione sul “masteri algorithm”, Domingos chiarisce che:
Il viaggio alla ricerca dell’Algoritmo Definitivo è complicato – ma anche animato – dalla rivalità tra le scuole di pensiero esistenti nel mondo del machine learning. I gruppi principali sono i simbolisti, i connessionisti, gli evoluzionisti, i bayesiani e gli analogisti. Ogni tribù ha le sue credenze fondamentali, ha un problema cui tiene in maniera particolare e che ha risolto sfruttando le idee provenienti dalle discipline scientifiche più affini, e possiede un Algoritmo Definitivo che incarna la soluzione.
Per i simbolisti, l’intelligenza può essere ridotta integralmente alla manipolazione di simboli del tutto simile a quella con cui i matematici risolvono le equazioni sostituendo espressioni ad altre espressioni. I simbolisti sono consci dell’impossibilità di imparare partendo da zero: bisogna affiancare ai dati un minimo di conoscenze iniziali. Hanno imparato a incorporare nel processo di apprendimento le conoscenze preesistenti, e a combinare al volo porzioni di sapere distinte per poter risolvere problemi nuovi. Il loro Algoritmo Definitivo è la deduzione inversa, che dopo aver identificato la conoscenza che ancora manca per poter completare una deduzione, conferisce a quest’ultima il carattere più generale possibile.
Per i connessionisti, l’apprendimento è ciò che fa il cervello: il nostro compito, quindi, è il suo reverse engineering. Il cervello apprende regolando la forza delle connessioni tra i neuroni; il problema principale è capire quali sono le connessioni responsabili di determinati errori per poterle modificare di conseguenza. L’Algoritmo Definitivo dei connessionisti è la retropropagazione, il processo che dopo aver confrontato l’output reale di un sistema con quello desiderato modifica le connessioni tra i neuroni, uno strato dopo l’altro, per ridurre la differenza.
Gli evoluzionisti credono che la madre di ogni forma di apprendimento sia la selezione naturale. Se è stata capace di creare noi può creare qualsiasi cosa, e quindi non dobbiamo fare altro che simularla al computer. Il problema fondamentale da risolvere, per gli evoluzionisti, è l’apprendimento della struttura: più che definire il valore esatto di un insieme di parametri, come nel caso della retropropagazione, ciò che interessa è la creazione del cervello, che potrà essere ottimizzato successivamente modificando quegli stessi parametri. L’Algoritmo Definitivo degli evoluzionisti è la programmazione genetica, che fa accoppiare ed evolvere i programmi di un computer nello stesso modo in cui la natura fa accoppiare ed evolvere gli organismi.
Ai bayesiani interessa soprattutto l’incertezza. Ogni forma di conoscenza acquisita è affetta da un’incertezza, e l’apprendimento stesso è una forma di inferenza associata a un’incertezza. Il problema, in questo caso, è trovare un modo per gestire un’informazione incompleta, affetta da rumore di fondo e a volte persino contraddittoria, senza esserne travolti. La soluzione è l’inferenza probabilistica, e l’Algoritmo Definitivo è costituito dal teorema di Bayes e dai suoi corollari. Il teorema di Bayes ci dice come integrare nuovi dati nel nostro sistema di credenze, e gli algoritmi di inferenza probabilistica lo fanno nel modo più efficiente possibile.
Per gli analogisti, l’ingrediente fondamentale dell’apprendimento è il riconoscimento delle situazioni simili, per poterne inferire altre somiglianze. Se due pazienti hanno sintomi simili, forse hanno la stessa malattia. Il problema fondamentale è valutare il grado di somiglianza. L’Algoritmo Definitivo degli analogisti è la macchina a vettori di supporto, che decide quali esperienze ricordare e come combinarle per estrarne ulteriori previsioni.
La soluzione trovata da ogni tribù al suo problema centrale è un passo avanti brillante che è costato molta fatica. Il vero Algoritmo Definitivo, però, non potrà limitarsi a un solo problema, ma dovrà risolverli tutti e cinque. Ad esempio, per curare il cancro dobbiamo capire il funzionamento delle reti metaboliche all’interno delle cellule: quali geni regolano altri geni, quali sono le reazioni chimiche controllate dalle proteine espresse, e che effetto avrebbe sulla rete l’aggiunta di una nuova molecola. Sarebbe sciocco voler imparare tutto questo da zero, ignorando la conoscenza faticosamente accumulata dai biologi negli ultimi decenni. I simbolisti sanno combinare questa conoscenza con i dati prodotti dal sequenziamento del DNA, dai microarray per l’analisi dell’espressione genica e da altre tecniche, ottenendo risultati irraggiungibili con un unico metodo. La conoscenza che otteniamo per deduzione inversa, però, è puramente qualitativa; non basta imparare chi interagisce con chi, ma anche con quale intensità, ed è qui che ci viene in aiuto la retropropagazione. Da sole, però, la deduzione inversa e la retropropagazione non saprebbero cosa fare senza una struttura elementare cui associare le interazioni e i parametri scoperti, e la programmazione genetica è lo strumento ideale per scoprirla. A questo punto, se conoscessimo ogni dettaglio del metabolismo e di tutti i dati relativi a un paziente, potremmo identificare la cura ideale. L’informazione in nostro possesso, in realtà, è tutt’altro che esauriente, e talvolta è persino sbagliata: ciò nonostante, dobbiamo proseguire per la nostra strada, ed è a questo che serve l’inferenza probabilistica. Nei casi più difficili, il cancro da cui è affetto il paziente è molto diverso dai casi precedenti, e tutto quello che abbiamo imparato si rivela inutile. Possiamo ancora sperare nell’intervento risolutivo degli algoritmi basati sulla somiglianza, che cercano analogie tra situazioni apparentemente molto diverse concentrandosi sugli elementi simili più importanti e ignorando tutto il resto.
In questo libro sintetizzeremo tutte queste capacità in un solo algoritmo [riprodotto di seguito]
