Intelligenza Artificiale
Con questo articolo inauguriamo una serie di approfondimenti tecnologici sul mondo della Data Science. Iniziamo con il definire cosa è l’ Artificial Intelligence (Intelligenza Artificiale) ed una sintesi di come sono suddivise le relative tecniche.
Per Artificial Intelligence si intendono metodi, algoritmi e tecniche che rendono intelligente un sistema in un modo che possa sembrare umano nel risolvere problemi ed interagire con l’ambiente.
L’Artificial Intelligence è suddivisa in 2 macro approcci: Simbolico (Ipotesi Debole) e Computazionale (Ipotesi Forte).
- Simbolico: Metodi che rappresentano la conoscenza in modo esplicito e simbolico e utilizzano metodi di ragionamento formale.
- Computazionale: Tecniche in cui la rappresentazione e l’elaborazione della conoscenza si basa principalmente su metodi numerici.
Tra le tecniche Computazionali che in questi ultimi anni hanno avuto grande rilevanza troviamo il Deep Learning . Algoritmi in grado di estrarre conoscenza da dati “grezzi” utilizzando reti neurali multi-layer con molti livelli, da cui il nome Deep – “Profondo”.
Approccio Simbolico
L’approccio Simbolico si basa su una conoscenza “ex ante” che:
- E’ Introdotta da esperti umani, usando formalismi simbolici.
- E’ elaborata dai “motori” attraverso operazioni formali su espressioni simboliche.
- Lavora su una Base di conoscenza (KB: Knowledge Base) formalizzata da esperti del dominio.
- Consente ad utilizzatori di porre domande ed il sistema fornisce spiegazioni su come il problema è stato risolto.
Approccio Computazionale
L’approccio Computazionale si basa sulla conoscenza “ex post” che:
- E’ estratta dall’elaborazione automatica di dati grezzi.
- E’ rappresentata ed elaborata principalmente attraverso formalismo e metodi numerici.
- Simula un meccanismo cognitivo umano.
- Non ha nessuna conoscenza precedente ed apprende mediante esempi.
- Lavora in 2 fasi: apprendimento ed esecuzione
Supervised – Unsupervised
Le tecniche computazionali di apprendimento (Learning) sono di diverse categorie ma hanno in comune due modi di lavorare:
- Supervised Learning: Il modello viene appreso a partire da una serie di dati di esempio (input e output). L’obiettivo del modello è trovare correlazioni tra input e output.
- Unsupervised Learning: Il modello viene appreso a partire da una serie di soli dati in input. Non vengono forniti dati di output perché l’obiettivo del modello è quello di estrarre gli output in modo autonomo.
Di seguito una figura che esemplifica come un processo Supervised necessita di esempi classificati per definire un modello applicabile mentre un “Unsupervised” cerca la vicinanza e similitudine tra gli esempi.