COMPUTATIONAL INTELLIGENCE

Obiettivi formativi

CONOSCENZA E COMPRENSIONE. Sono forniti i principi di base della progettazione di sistemi automatici per il machine learning (problemi di classificazione, clustering, approssimazione funzionale e predizione) basati su tecniche di Intelligenza Computazionale (reti neurali, logica fuzzy, algoritmi evolutivi). Gli studenti che passano la prova finale saranno in grado di leggere e comprendere testi ed articoli su argomenti avanzati nell’ambito del Soft Computing e dell’Intelligenza Computazionale (Reti neurali, meta-euristiche di ottimizzazione, sistemi fuzzy). CAPACITÀ APPLICATIVE. Gli studenti che passano la prova finale saranno in grado di applicare i principi metodologici e gli algoritmi studiati per la progettazione di innovativi sistemi di machine learning, in contesti multidisciplinari. AUTONOMIA DI GIUDIZIO. Gli studenti che passano la prova finale saranno in grado di analizzare i requisiti di progettazione e di scegliere il sistema di machine learning che meglio si adatta al caso di studio. ABILITÀ DI COMUNICAZIONE. Gli studenti che passano la prova finale saranno in grado di compilare un rapporto tecnico e di realizzare una opportuna presentazione finalizzato a documentare un qualunque lavoro di progettazione, sviluppo e misura di prestazioni inerente un sistema di machine learning. CAPACITÀ DI APPRENDERE. Gli studenti che passano la prova finale saranno in grado di proseguire in autonomia l’approfondimento dei temi trattati a lezione, realizzando il necessario processo di apprendimento continuo che caratterizza la professionalità in ambito ICT.

Canale 1
ANTONELLO RIZZI Scheda docente

Programmi - Frequenza - Esami

Programma
Prima parte: Introduzione all'intelligenza computazionale: Soft Computing; Pattern Recognition; Machine Learning. Sistemi complessi. Capacità di generalizzazione. Inferenze logiche amplificative e non amplificative. Deduzione e induzione. Induzione su spazi metrici. Intelligenza artificiale. Test di Turing. Ingredienti necessari per un comportamento intelligente. Processi orientati e non orientati. Campionamento di processo. Definizione del problema di classificazione. Spazio delle etichette. Processi dinamici. Definizioni di problema di classificazione, regressione e clustering. Sequenza di progettazione classica per sistemi di Pattern recognition e Machine Learning. Funzioni di rappresentazione e preprocessing. Generazione e selezione di feature. Problemi di k-clustering e problemi di free-clustering. Funzioni di distanza. Distanze di Minkowsky. Analogia come inferenza fondamentale nella teoria delle decisioni. Algoritmo k-NN. Sistemi di modellazione basati sui dati. Normalizzazione statistica e affine. Rappresentanti di cluster: differenza tra spazi metrici e non metrici. Misure di prossimità punto-insieme. Tipi di dati fondamentali nel Machine Learning. Matrici di correlazione e covarianza. Distanza di Mahalanobis. Algoritmo K-NN per l'approssimazione di funzioni. Algoritmo k-means. Rappresentante MinSod. Algoritmo k-medoid. Apprendimento come ottimizzazione. Problemi di ottimizzazione. Gradiente, Hessiano. Funzioni lineari e forme quadratiche. Condizione necessaria e sufficiente per minimi locali e globali. Metodi di ottimizzazione numerica.Discesa del gradiente. Metodo di Newton. Regressione lineare e algoritmo Least Squares Estimator (LSE). Il perceptron. Perceptron multistrato: il caso xor. Perceptron multistrato: il caso di regioni decisionali connesse e non connesse. Perceptron multistrato per l'approssimazione di funzioni. Retropropagazione dell'errore. Ottimizzazione evolutiva: algoritmi genetici. Introduzione ai sistemi fuzzy. Sistemi di inferenza fuzzy. Ragionamento fuzzy. Modus ponens. Modus ponens generalizzato. Regole di Sugeno e Mamdani. Reti ANFIS. Addestramento di reti ANFIS mediante discesa del gradiente e tecniche di clustering. Seconda parte: Installazione e configurazione di un ambiente Anaconda per la prototipazione di applicazioni di machine learning. Visual Studio Code e GitHub. Utilizzo di ambienti di sviluppo integrati e Jupyter Notebook per la sperimentazione interattiva in Python. Strutture dati fondamentali in Python e loro applicazione nel Machine Learning classico. Introduzione alle librerie Python essenziali per l'analisi dei dati e il calcolo scientifico. Problema di overfitting. Misure di complessità strutturale. Criterio del rasoio di Occam. N-fold cross validation. Misure di performance nella classificazione e nell'approssimazione di funzioni. Support Vector Machine e problemi di apprendimento supervisionato. SVM (Hard and soft margin). SVM kernelizzate. Lavorare in spazi non metrici. SVM multiclasse. Una breve introduzione al Deep Learning. Addestramento pratico di reti neurali. Architetture di reti neurali. Reti neurali convoluzionali. Sequenze di apprendimento e reti neurali ricorrenti. Architetture ibride. Esercitazione con Python Notebook sulla regressione lineare e logistica. Soluzioni MLE e gradient descent. Introduzione alle librerie Python per il Deep Learning. Tensor Flow e PyTorch. Hardware per Deep Learning. Differenziazione automatica. Esercitazione su Python Notebook. Introduzione alla previsione di serie temporali. Tassonomia, definizioni e obiettivi principali. Componenti di una serie temporale e principali proprietà statistiche. Modelli tradizionali e modelli di Deep Learning per la previsione. Esercitazione sulla previsione di serie temporali energetiche. Intelligenza computazionale per la gestione dell'energia. Introduzione, obiettivi e principali driver. Smart Grid e Comunità Energetiche Rinnovabili (CER). Sistemi di gestione dell'energia. Esercitazione su algoritmi genetici e ottimizzazione di sistemi di gestione dell'energia basati su un sistema di inferenza fuzzy. Integrazione del modulo di previsione nel ciclo. Ottimizzazione dei flussi di potenza per singola microgrid. Sistemi di gestione dell’energia nelle CER.
Prerequisiti
Conoscenze di base di Geometria, Algebra, Analisi Matematica, Teoria dei Segnali e dell’Informazione, Fondamenti di Informatica, Elaborazione numerica dei segnali.
Testi di riferimento
Kruse, R., Borgelt, C., Braune, C., Mostaghim, S., & Steinbrecher, M. (2016). Computational intelligence: a methodological introduction. Springer. Dispense e lucidi delle lezioni disponibili sul sito del docente
Modalità insegnamento
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
Frequenza
E' fortemente consigliata la frequenza.
Modalità di esame
L'esame finale consiste nella valutazione di una tesina. L'argomento è concordato con il docente.
Modalità di erogazione
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
ANTONELLO RIZZI Scheda docente

Programmi - Frequenza - Esami

Programma
Prima parte: Introduzione all'intelligenza computazionale: Soft Computing; Pattern Recognition; Machine Learning. Sistemi complessi. Capacità di generalizzazione. Inferenze logiche amplificative e non amplificative. Deduzione e induzione. Induzione su spazi metrici. Intelligenza artificiale. Test di Turing. Ingredienti necessari per un comportamento intelligente. Processi orientati e non orientati. Campionamento di processo. Definizione del problema di classificazione. Spazio delle etichette. Processi dinamici. Definizioni di problema di classificazione, regressione e clustering. Sequenza di progettazione classica per sistemi di Pattern recognition e Machine Learning. Funzioni di rappresentazione e preprocessing. Generazione e selezione di feature. Problemi di k-clustering e problemi di free-clustering. Funzioni di distanza. Distanze di Minkowsky. Analogia come inferenza fondamentale nella teoria delle decisioni. Algoritmo k-NN. Sistemi di modellazione basati sui dati. Normalizzazione statistica e affine. Rappresentanti di cluster: differenza tra spazi metrici e non metrici. Misure di prossimità punto-insieme. Tipi di dati fondamentali nel Machine Learning. Matrici di correlazione e covarianza. Distanza di Mahalanobis. Algoritmo K-NN per l'approssimazione di funzioni. Algoritmo k-means. Rappresentante MinSod. Algoritmo k-medoid. Apprendimento come ottimizzazione. Problemi di ottimizzazione. Gradiente, Hessiano. Funzioni lineari e forme quadratiche. Condizione necessaria e sufficiente per minimi locali e globali. Metodi di ottimizzazione numerica.Discesa del gradiente. Metodo di Newton. Regressione lineare e algoritmo Least Squares Estimator (LSE). Il perceptron. Perceptron multistrato: il caso xor. Perceptron multistrato: il caso di regioni decisionali connesse e non connesse. Perceptron multistrato per l'approssimazione di funzioni. Retropropagazione dell'errore. Ottimizzazione evolutiva: algoritmi genetici. Introduzione ai sistemi fuzzy. Sistemi di inferenza fuzzy. Ragionamento fuzzy. Modus ponens. Modus ponens generalizzato. Regole di Sugeno e Mamdani. Reti ANFIS. Addestramento di reti ANFIS mediante discesa del gradiente e tecniche di clustering. Seconda parte: Installazione e configurazione di un ambiente Anaconda per la prototipazione di applicazioni di machine learning. Visual Studio Code e GitHub. Utilizzo di ambienti di sviluppo integrati e Jupyter Notebook per la sperimentazione interattiva in Python. Strutture dati fondamentali in Python e loro applicazione nel Machine Learning classico. Introduzione alle librerie Python essenziali per l'analisi dei dati e il calcolo scientifico. Problema di overfitting. Misure di complessità strutturale. Criterio del rasoio di Occam. N-fold cross validation. Misure di performance nella classificazione e nell'approssimazione di funzioni. Support Vector Machine e problemi di apprendimento supervisionato. SVM (Hard and soft margin). SVM kernelizzate. Lavorare in spazi non metrici. SVM multiclasse. Una breve introduzione al Deep Learning. Addestramento pratico di reti neurali. Architetture di reti neurali. Reti neurali convoluzionali. Sequenze di apprendimento e reti neurali ricorrenti. Architetture ibride. Esercitazione con Python Notebook sulla regressione lineare e logistica. Soluzioni MLE e gradient descent. Introduzione alle librerie Python per il Deep Learning. Tensor Flow e PyTorch. Hardware per Deep Learning. Differenziazione automatica. Esercitazione su Python Notebook. Introduzione alla previsione di serie temporali. Tassonomia, definizioni e obiettivi principali. Componenti di una serie temporale e principali proprietà statistiche. Modelli tradizionali e modelli di Deep Learning per la previsione. Esercitazione sulla previsione di serie temporali energetiche. Intelligenza computazionale per la gestione dell'energia. Introduzione, obiettivi e principali driver. Smart Grid e Comunità Energetiche Rinnovabili (CER). Sistemi di gestione dell'energia. Esercitazione su algoritmi genetici e ottimizzazione di sistemi di gestione dell'energia basati su un sistema di inferenza fuzzy. Integrazione del modulo di previsione nel ciclo. Ottimizzazione dei flussi di potenza per singola microgrid. Sistemi di gestione dell’energia nelle CER.
Prerequisiti
Conoscenze di base di Geometria, Algebra, Analisi Matematica, Teoria dei Segnali e dell’Informazione, Fondamenti di Informatica, Elaborazione numerica dei segnali.
Testi di riferimento
Kruse, R., Borgelt, C., Braune, C., Mostaghim, S., & Steinbrecher, M. (2016). Computational intelligence: a methodological introduction. Springer. Dispense e lucidi delle lezioni disponibili sul sito del docente
Modalità insegnamento
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
Frequenza
E' fortemente consigliata la frequenza.
Modalità di esame
L'esame finale consiste nella valutazione di una tesina. L'argomento è concordato con il docente.
Modalità di erogazione
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
ENRICO DE SANTIS Scheda docente
ENRICO DE SANTIS Scheda docente
  • Codice insegnamento1044577
  • Anno accademico2025/2026
  • CorsoTelecommunication Engineering - Ingegneria delle Telecomunicazioni
  • CurriculumIngegneria delle Comunicazioni (percorso valido anche ai fini del rilascio del doppio titolo italo-francese o italo-statunitense )
  • Anno2º anno
  • Semestre1º semestre
  • SSDING-IND/31
  • CFU6