Il libro esamina in dettaglio una vasta gamma di tecniche e algoritmi di intelligenza artificiale, offrendo un panorama completo che spazia dalla classificazione supervisionata all’apprendimento non supervisionato, dalle reti neurali tradizionali al deep learning, fino al reinforcement learning e ai sistemi neuro-fuzzy adattativi. Il materiale è organizzato in capitoli che illustrano, con un approccio sia teorico che pratico, come utilizzare strumenti MATLAB, inclusi APPs e librerie, per sviluppare applicazioni reali in molteplici ambiti.
Nel contesto della classificazione, il libro introduce algoritmi classici come Naïve Bayes, SVM, KNN, alberi decisionali e random forest, arricchendo la trattazione con venti progetti concreti che includono la classificazione di segnali audio digitali, suoni di animali, immagini di frutta, così come dati medici e automobilistici. Vengono inoltre presentate tecniche avanzate di estrazione delle caratteristiche, quali l’istogramma delle gradienti orientate (HOG), i speed-up robust features (SURF), il local binary pattern (LBP) e il bag of features (BOF), strumenti fondamentali per migliorare la qualità della rappresentazione dei dati e la precisione della classificazione.
L’approfondimento sulle reti neurali e sul deep learning include l’analisi di architetture essenziali come le reti feedforward, il backpropagation, le reti convoluzionali e ricorrenti, evidenziando analogie e differenze rispetto alle metodologie di machine learning tradizionale. I progetti illustrativi mostrano applicazioni pratiche, tra cui la previsione di terremoti, la classificazione di immagini e suoni animali, dimostrando l’efficacia degli strumenti MATLAB per la progettazione, il training e la validazione di modelli complessi.
L’apprendimento non supervisionato è esplorato attraverso vari algoritmi di clustering – esclusivo, sovrapposto, gerarchico e probabilistico – e l’utilizzo delle regole di associazione. Sono inclusi sedici progetti che consentono di sperimentare metodologie e valutazioni innovative, fondamentale vista la difficoltà intrinseca di misurare le performance in assenza di etichette predefinite.
La sezione dedicata al reinforcement learning approfondisce concetti chiave come agente, stato, azione, ricompensa, politica e processi decisionali di Markov, con l’ausilio del Reinforcement Learning Toolbox di MATLAB. Nove esempi pratici supportano la comprensione di come progettare e implementare sistemi che apprendono dall’interazione con l’ambiente, aprendo la strada a soluzioni automatizzate e adattative in contesti reali.
L’integrazione tra sistemi fuzzy e reti neurali è affrontata tramite l’Adaptive Neuro-Fuzzy Inference System (ANFIS), che combina la capacità decisionale dei sistemi fuzzy con l’apprendimento delle reti neurali, risultando particolarmente efficace per dati incerti o vaghi. Tre progetti dimostrano l’applicazione di ANFIS in scenari reali, valorizzando i punti di forza di entrambi gli approcci.
Ulteriori approfondimenti riguardano applicazioni avanzate di sistemi fuzzy, con esempi che spaziano dal controllo di motori DC per sistemi di tracciamento laser, alla decisione ottimale per robot militari, fino alla minimizzazione della dose di radiazioni per pediatria. L’attenzione a casi studio complessi sottolinea l’importanza di un approccio interdisciplinare e mirato per risolvere problemi concreti con metodi AI sofisticati.
Le implementazioni avanzate di deep learning, infine, mostrano la predizione di tassi di cambio, modelli di inondazione, classificazione di veicoli, riconoscimento di animali e identificazione di frodi bancarie tramite immagini, confermando la versatilità e la potenza di queste tecniche applicate a dataset reali e complessi.
Oltre ai contenuti tecnici, il testo offre un quadro esaustivo delle risorse MATLAB disponibili, illustrando come gli strumenti APPs, con interfacce grafiche intuitive, favoriscano un accesso immediato per i principianti, mentre le librerie di funzioni consentono a utenti più esperti di sviluppare soluzioni sofisticate e flessibili. La combinazione di teoria, applicazioni pratiche e strumenti software rende il libro un riferimento fondamentale per chi desidera comprendere e applicare l’intelligenza artificiale in modo professionale.
È importante considerare che, oltre alla conoscenza degli algoritmi e degli strumenti, la padronanza dei dati, la scelta oculata delle caratteristiche da estrarre, la valutazione critica delle metriche di performance e la comprensione dei limiti di ciascun metodo rappresentano elementi imprescindibili per il successo di qualsiasi progetto AI. Il percorso didattico proposto integra teoria e pratica, ma il progresso reale si ottiene solo attraverso l’esperienza diretta, l’adattamento continuo delle tecniche al contesto specifico e la capacità di interpretare i risultati in modo consapevole.
Come si costruisce un sistema fuzzy di tipo-2 con MATLAB: dalla logica fuzzy all’implementazione avanzata
La costruzione di un sistema di inferenza fuzzy di tipo-2 (IT2 FIS) rappresenta una delle metodologie più robuste e sofisticate per gestire l'incertezza nei sistemi dinamici complessi. A differenza dei sistemi fuzzy di tipo-1, i quali modellano l'incertezza con funzioni di appartenenza ben definite, i sistemi di tipo-2 introducono un secondo livello di incertezza attraverso l’uso di funzioni di appartenenza intervallari. L'applicazione pratica di tali sistemi richiede non solo una conoscenza teorica approfondita, ma anche la padronanza di strumenti computazionali come MATLAB, il quale fornisce due approcci principali: uno visuale, tramite l’app Fuzzy Logic Designer, e uno testuale, attraverso l’uso diretto delle funzioni MATLAB.
Nel primo metodo, utilizzando l’interfaccia grafica, è possibile creare il sistema fuzzy interattivamente. Dopo aver lanciato MATLAB e digitato fuzzyLogicDesigner nella finestra dei comandi, si apre l’ambiente visuale in cui si può selezionare il file IT2_Fuzzy.fis. Si inizia con l’editor delle regole: selezionando le variabili di input ex e dex, rispettivamente, e scegliendo la regola corrispondente nella variabile di output yit2. Per esempio, quando ex è LN e dex è LP, la regola associata sarà: IF ex è LN AND dex è LP THEN yit2 è ZE, indicando che la velocità del motore deve essere nulla quando l’errore è negativo grande e il tasso di variazione dell’errore è positivo grande.
L’interfaccia consente di inserire manualmente tutte le 25 regole previste, cliccando sul pulsante "+" dopo ogni definizione. Una volta completato l’inserimento, il sistema può essere salvato, visualizzato nella sezione Rule Inference e testato variando dinamicamente gli input per osservare l’output in tempo reale. Inoltre, è possibile esplorare la superficie di controllo del sistema fuzzy selezionando l’opzione "Control Surface", utile per comprendere visivamente la mappatura input-output complessiva del sistema.
Tuttavia, per chi cerca un controllo maggiore e una flessibilità professionale, l’approccio mediante funzioni MATLAB rappresenta la via privilegiata. La costruzione comincia con la creazione di uno script, salvato come IT2_Func.m. Si invoca la funzione mamfistype2() per generare un nuovo sistema fuzzy Mamdani di tipo-2, e si definiscono le variabili di input e output con i relativi intervalli: ex in [-0.3, 0.3], dex in [-0.15, 0.15] e yit2 in [-600, 600].
Le funzioni addMF() permettono l’aggiunta delle funzioni di appartenenza (MF) per ciascuna variabile. Nel caso dell’input ex, ad esempio, si utilizzano funzioni di tipo sigmoide per LN e LP, mentre SN, ZE e SP sono definite tramite funzioni gaussiane. Il codice riflette la precisione nella definizione dei parametri, come l’ampiezza e la posizione, garantendo che ogni MF copra correttamente la gamma di variabilità prevista.
Lo stesso procedimento viene replicato per dex e yit2, rispettando le caratteristiche e la semantica delle funzioni di appartenenza. La possibilità di plottare ogni MF consente di verificarne la correttezza grafica prima della validazione complessiva del sistema. Il risultato è un sistema fuzzy robusto, in grado di rappresentare con efficacia l’incertezza tipica delle applicazioni ingegneristiche non lineari.
È importante evidenziare che, sebbene l’approccio grafico fornisca un accesso immediato e intuitivo, l’uso diretto delle funzioni MATLAB consente una scalabilità più elevata, personalizzazione dei parametri e integrazione in pipeline computazionali complesse. Inoltre, attraverso script automatizzati, si possono generare, testare e ottimizzare centinaia di configurazioni in modo efficiente, caratteristica imprescindibile per applicazioni real-time o su larga scala.
Per il lettore avanzato, è essenziale comprendere non solo la sintassi delle funzioni, ma il significato semantico delle MF utilizzate: ogni forma di curva implica una differente sensibilità nella risposta del sistema. Le funzioni sigmoidali introducono una transizione più dolce nei margini, mentre quelle gaussiane possono essere utilizzate per rappresentare aree centrali con maggiore precisione.
Altro aspetto fondamentale è la coerenza logica delle regole di controllo. Ogni regola deve riflettere una reale necessità del comportamento del sistema, evitando ambiguità o contraddizioni logiche tra regole adiacenti. Nella pratica, l’ottimizzazione delle regole avviene spesso tramite tecniche di machine learning o ottimizzazione evolutiva, che possono essere integrate in MATLAB tramite toolbox esterni o funzioni personalizzate.
Infine, il lettore deve acquisire dimestichezza con l’analisi del comportamento globale del sistema, tramite il controllo della superficie di inferenza e la simulazione dinamica degli input. Il sistema fuzzy, infatti, non deve essere visto come una semplice mappatura statica, ma come un’entità dinamica che interagisce con l’ambiente operativo. Solo con una comprensione profonda di questi elementi sarà possibile progettare sistemi fuzzy di tipo-2 davvero efficaci, capaci di affrontare le sfide dell’incertezza nel controllo automatico, nella robotica e nell’intelligenza artificiale.
Chi dovrebbe davvero affidarsi a un consulente finanziario?
Come i GANs stanno rivoluzionando la diagnostica neuroimaging: accuratezza, sintesi e predizione
Come Hubble ha cambiato la nostra visione dell'universo e l'espansione dello spazio-tempo

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский