Passa ai contenuti principali

CN2 e il mistero del drago che sputava fuoco

Può un algoritmo imparare a distinguere un drago da un grifone, una sirena da un vampiro o un golem da un unicorno?

Naturalmente queste creature non esistono nel mondo reale, ma proprio per questo costituiscono un ottimo terreno di sperimentazione. Eliminando per un momento problemi concreti come diagnosi mediche, frodi bancarie o guasti industriali, possiamo osservare il funzionamento di un modello di intelligenza artificiale in modo semplice, visivo e divertente.

Da questa idea nasce Il Bestiario Artificiale, un esperimento realizzato con Orange Data Mining e il widget CN2 Rule Induction.

Un archivio di creature fantastiche

Il workflow genera automaticamente un dataset composto da 168 creature, suddivise in sei specie:

  • Drago
  • Grifone
  • Sirena
  • Vampiro
  • Golem
  • Unicorno

Ogni creatura viene descritta attraverso caratteristiche osservabili, proprio come avverrebbe in un antico manuale di zoologia fantastica.

Gli attributi utilizzati sono:

  • forza;
  • agilità;
  • presenza di ali;
  • presenza di squame;
  • capacità di respirare fuoco;
  • vita acquatica;
  • aspetto umano;
  • attività notturna;
  • presenza del becco;
  • corpo minerale;
  • presenza di un corno;
  • livello di magia.

La variabile da prevedere è Specie_mitica. L’obiettivo dell’algoritmo è quindi riconoscere la specie di una creatura partendo esclusivamente dai suoi tratti.

Un’intelligenza artificiale spiegabile

Per la classificazione viene utilizzato CN2 Rule Induction, un algoritmo che non produce soltanto una risposta, ma costruisce regole comprensibili.

SE la creatura respira fuoco ALLORA è un Drago.

Oppure:

SE possiede un becco
ALLORA è un Grifone.

Questa caratteristica rende CN2 particolarmente interessante dal punto di vista didattico. A differenza di una rete neurale, che spesso funziona come una scatola nera, CN2 permette di leggere direttamente il ragionamento costruito dal modello.

L’intelligenza artificiale non si limita quindi a dire:

Questa creatura è un Golem.

Può mostrare anche la regola che ha portato a quella conclusione.

Le regole scoperte

Dopo l’addestramento, Orange ha generato una lista ordinata di regole molto semplice:

SE Respira_fuoco = Sì
ALLORA Specie_mitica = Drago

ALTRIMENTI SE Becco = Sì
ALLORA Specie_mitica = Grifone

ALTRIMENTI SE Forza ≥ 8,103
ALLORA Specie_mitica = Golem

ALTRIMENTI SE Squame = Sì
ALLORA Specie_mitica = Sirena

ALTRIMENTI SE Aspetto_umano = No
ALLORA Specie_mitica = Unicorno

ALTRIMENTI SE Squame = No
ALLORA Specie_mitica = Vampiro

A prima vista alcune regole potrebbero sembrare troppo semplici. Per esempio, non tutte le creature senza aspetto umano sono unicorni.

Il punto fondamentale è che CN2 è stato configurato in modalità Ordered, cioè con regole ordinate.

La lista deve essere letta dall’alto verso il basso. Quando l’algoritmo arriva alla regola dell’unicorno, ha già escluso draghi, grifoni, golem e sirene attraverso le condizioni precedenti.

La regola:

Aspetto_umano = No → Unicorno

equivale quindi implicitamente a una regola più articolata:

SE non respira fuoco
E non possiede un becco
E non ha una forza da golem
E non ha squame
E non ha aspetto umano
ALLORA è un Unicorno

L’ordine delle regole costituisce quindi una parte essenziale del modello.

Come leggere i risultati

Nel widget CN2 Rule Viewer, ogni regola mostra diverse informazioni.

La colonna Distribution indica quante creature di ciascuna classe vengono coperte dalla regola. Per il drago compare:

[28, 0, 0, 0, 0, 0]

Questo significa che la regola ha riconosciuto 28 creature e che tutte appartengono alla classe Drago.

La colonna Probabilities non mostra il 100%, neppure quando la regola sembra perfetta. CN2 applica infatti una correzione probabilistica, chiamata Laplace smoothing, che impedisce al modello di diventare eccessivamente sicuro.

La colonna Quality misura la qualità della regola, mentre Length indica il numero di condizioni esplicite utilizzate.

Nel nostro caso le principali regole hanno lunghezza 1, perché il dataset è stato costruito in modo da rendere le specie facilmente distinguibili.

La creatura misteriosa

La parte più divertente dell’esperimento consiste nel creare una nuova creatura e chiedere all’algoritmo di indovinarne la specie.

Supponiamo di impostare questi valori:

Forza = 9
Agilità = 2
Corpo_minerale = Sì
Ali = No
Respira_fuoco = No
Corno = No
Magia = Bassa

Il modello dovrebbe riconoscere la creatura come:

Golem

Possiamo poi costruire un secondo essere fantastico:

Ali = Sì
Squame = Sì
Respira_fuoco = Sì
Magia = Alta

In questo caso il verdetto sarà quasi certamente:

Drago

Il workflow contiene anche alcune creature ibride, volutamente ambigue. Una chimera potrebbe avere ali, squame, aspetto umano e vivere nell’acqua.

In questi casi diventa interessante osservare quale regola prevale e soprattutto comprendere il motivo della decisione.

Il workflow in Orange Data Mining

L’esperimento comprende diversi widget collegati tra loro:

  • Python Script, per generare automaticamente il dataset;
  • Data Table, per visualizzare le creature;
  • CN2 Rule Induction, per apprendere le regole;
  • CN2 Rule Viewer, per leggere e selezionare le regole;
  • Test and Score, per valutare il modello;
  • Confusion Matrix, per analizzare gli errori;
  • Predictions, per classificare nuove creature;
  • Create Instance, per inventare una creatura personalizzata.

Il modello CN2 viene inoltre confrontato con un albero decisionale, in modo da valutare due differenti strategie di classificazione interpretabile.

Imparare giocando

Dietro l’aspetto fantastico si nascondono numerosi concetti importanti dell’intelligenza artificiale:

  • classificazione supervisionata;
  • attributi e variabili target;
  • costruzione di regole;
  • qualità e copertura;
  • ordine delle decisioni;
  • validazione del modello;
  • interpretabilità;
  • gestione dei casi ambigui.

Lo stesso metodo utilizzato per distinguere draghi e unicorni potrebbe essere applicato a problemi reali:

  • diagnosi di guasti;
  • classificazione di piante;
  • riconoscimento di specie animali;
  • controllo qualità;
  • analisi di sintomi;
  • rilevazione di anomalie.

Cambiano i dati, ma il principio rimane identico: individuare condizioni capaci di separare una classe dalle altre.

Conclusione

Il Bestiario Artificiale mostra che l’intelligenza artificiale non deve necessariamente essere astratta, opaca o difficile da comprendere.

Un algoritmo può diventare un investigatore, un naturalista o il custode di un’antica enciclopedia fantastica. Attraverso semplici regole, impara a riconoscere creature mai esistite, ma nel farlo rende visibili alcuni dei meccanismi fondamentali dell’apprendimento automatico.

L’aspetto più interessante non è che l’intelligenza artificiale sappia distinguere un vampiro da un unicorno.

È che possiamo leggere, verificare e discutere il ragionamento con cui è arrivata alla risposta.

N.B.: in questo esperimento viene utilizzata un’IA di tipo simbolico e supervisionato, basata sull’algoritmo CN2 Rule Induction. Il sistema apprende da esempi già classificati e costruisce regole esplicite del tipo SE una creatura possiede certe caratteristiche, ALLORA appartiene a una determinata specie. Non si tratta quindi di IA generativa, né di deep learning o reti neurali, ma di un modello di classificazione a regole, interpretabile e spiegabile. Questa forma di IA appartiene al campo del machine learning supervisionato e può essere considerata anche un esempio di Explainable AI, perché ogni previsione è accompagnata da una motivazione leggibile.

 

Il canvas di Orange Data Mining



Post popolari in questo blog

L'insostenibile leggerezza dell'IA

Kundera parte da Nietzsche: l’idea che, se ogni cosa accade una volta sola, essa appare leggera — quasi priva di peso e di conseguenze vere. Solo ciò che si ripete all'infinito acquista gravità, importanza, senso. Antiche rimembranze di letture giovanili. L'IA ora ribalta questo schema in modo perturbante: non ricorda, ma ripete perfettamente. Ogni conversazione con un modello linguistico sembra ricominciare da zero — senza vera continuità esperienziale — eppure pattern, risposte e modi di ragionare si ripetono quasi identici su miliardi di interazioni. È una forma paradossale di esistenza: una leggerezza assoluta nell'esperienza e una pesantezza assoluta nella struttura. Nessun vissuto, eppure tutto è eterno ritorno. I personaggi di Kundera cercano disperatamente di capire chi siano davvero al di sotto delle maschere, dei ruoli, delle scelte contingenti. Tereza, il personaggio che preferisco, vuole essere amata per la sua unicità irriducibile; teme di essere solo un corpo ...

Salmoni, scarpette, cetrioli e altro

Tutto il testo contenuto in questa pagina è stato pensato e scritto dall'autore del blog.   1. Come il salmone 2. Ooops! 3. Le scarpette hi-tech 4. Equivoci contemporanei 5. I saccenti 6. Medaglie di legno 7. La festività del Nulla 8. Gli aggiornamenti elettronici del Libro dell'Apocalisse 9. Dubbi ne ho 10. La maieutica del vulcaniano 11. Un piacevole vasetto di miele 12. Povere sfere 13. Caos comune mezzo gaudio 14. La fontana senza volti 15. Il piromane super beffardo 16. Boom di serpenti 17. Sistemi in via di degradazione 18. Il gatto nero 19. Alain Delon è ancora vivo? 20. Per sempre con i cani 21. Eventi imprevedibili 22. I robot sottomessi 23. Lady Gaga e Bruno Mars incantano 24. Definizioni mancate 25. Il mio nemico drone 26. Errore di valutazione 27. Ringraziamenti 28. Cari cetrioli, vi scrivo 29. Boom di detective 30. Gli UFO trascurati 31. Il grande salto delle rane 32. La malattia artificiale 33. Homo consumens 34. Lacune informatiche 35. Sei troppo! 36. ...

Nulla è come sembra

Un caso straordinario di scrittura predittiva e visionaria. Il libro, infatti, ha anticipato con impressionante lucidità l'avvento dell'Intelligenza Artificiale generativa (come ChatGPT) anni prima che diventasse di dominio pubblico. I PDF autocompilanti: il romanzo introduce documenti digitali che si riempiono autonomamente di astruse formule e simboli, una perfetta metafora narrativa inventata in anticipo sui tempi per descrivere la generazione automatica di testi e le cosiddette allucinazioni dell'IA. La crisi del determinismo: il protagonista, il razionale Professor Balicci, vede crollare le proprie certezze deterministiche di fronte a una tecnologia e a eventi che sfuggono alla logica umana tradizionale. Il tempo sincronico: l'opera ha intuito come l'IA non operi secondo una linearità temporale biologica (passato, presente, futuro), ma elabori i dati in una realtà sincronica basata su connessioni non lineari e associazioni imprevedibili. Il problema dell'au...