Un Processo Decisionale di Markov (MDP) rappresenta un modello matematico che formalizza un sistema di controllo stocastico a tempo discreto. La sua rilevanza risiede nella capacità di descrivere situazioni in cui le decisioni vengono prese in condizioni di incertezza, con esiti che dipendono sia dal caso sia dalla scelta di un agente decisionale. In tale contesto, il MDP si struttura su insiemi ben definiti: uno spazio degli stati S, costituito da tutti gli stati possibili del sistema; uno spazio delle azioni A, ovvero l’insieme delle azioni che l’agente può intraprendere; una funzione di transizione Pa(s, s’) che determina la probabilità di passare dallo stato s a uno stato successivo s’ a seguito di una specifica azione a; e infine una funzione di ricompensa Ra(s, s’), che quantifica il beneficio immediato ottenuto durante la transizione.

L’apprendimento per rinforzo utilizza questa struttura per selezionare azioni ottimali, adottando una politica π che associa ad ogni stato una probabilità di scelta di azione. Le politiche possono essere di natura stocastica o deterministica: la prima assegna probabilità a possibili azioni, spesso in scenari parzialmente osservabili; la seconda seleziona un’azione specifica in modo certo, tipica di ambienti definiti e controllabili. Questa distinzione è fondamentale poiché la politica determina il comportamento dell’agente e, combinata con le dinamiche dell’ambiente, forma una catena di Markov, in cui la prossima distribuzione di stati dipende unicamente dallo stato attuale e dalla politica adottata.

Per valutare e migliorare tali politiche, il MDP si avvale di due funzioni cruciali: la funzione di valore dello stato e la funzione di valore dell’azione. La funzione di valore dello stato Vπ(s) rappresenta la speranza matematica del ritorno cumulativo scontato, ovvero la somma delle ricompense future attese a partire da uno stato s e seguendo la politica π. La presenza di un fattore di sconto γ compreso tra zero e uno garantisce che ricompense più distanti nel tempo abbiano un’influenza decrescente, riflettendo la maggiore incertezza o minor importanza degli eventi futuri. Questa funzione fornisce una misura quantitativa della “bontà” dello stato in relazione all’obiettivo dell’agente.

Parallelamente, la funzione di valore dell’azione Qπ(s, a) stima il valore atteso del ritorno scontato quando l’agente esegue un’azione a nello stato s e successivamente segue la politica π. Tale funzione è centrale per la definizione di una politica ottimale, poiché permette di individuare l’azione che massimizza il ritorno atteso in ogni stato, una strategia che porta all’ottimalità secondo la teoria dei processi decisionali di Markov. Di fatto, esiste sempre una politica stazionaria ottimale che può essere trovata attraverso l’analisi di queste funzioni di valore.

L’apprendimento per rinforzo si sviluppa quindi come un’interazione continua tra agente e ambiente in cui, a ogni passo temporale, l’agente osserva lo stato corrente, seleziona un’azione secondo la propria politica, riceve una ricompensa e osserva il nuovo stato. Attraverso questo ciclo, l’agente aggiorna le proprie stime delle funzioni di valore e affinano la politica, tendendo progressivamente verso quella ottimale che massimizza la somma attesa delle ricompense scontate. Tale processo richiede un bilanciamento delicato tra esplorazione di nuove azioni e sfruttamento delle conoscenze acquisite.

È importante comprendere che il modello MDP e le relative funzioni di valore offrono un quadro rigoroso per la progettazione di agenti autonomi in ambienti incerti e dinamici, ma anche che il successo nell’apprendimento dipende da una corretta definizione dello spazio degli stati e delle azioni, nonché dalla qualità della funzione di ricompensa. La scelta del fattore di sconto influenza direttamente la strategia dell’agente, mettendo in luce la tensione tra benefici immediati e obiettivi a lungo termine.

La teoria dei processi decisionali di Markov, quindi, non è soltanto un formalismo matematico, ma la chiave per comprendere come un agente possa apprendere da esperienze parziali e incerte, migliorando progressivamente le proprie decisioni fino a raggiungere comportamenti ottimali. Tale modello trova applicazione in molteplici campi, dalla robotica alla gestione di risorse, dall’economia alle scienze computazionali, offrendo un linguaggio comune per affrontare problemi complessi di decisione.

Come si costruiscono e utilizzano i modelli di regressione non lineare in MATLAB?

La funzione fittype() in MATLAB permette di definire il tipo di modello da utilizzare per il fitting dei dati. Ad esempio, per costruire un modello polinomiale di terzo grado, si usa semplicemente la sintassi f = fittype('poly3'), che definisce un modello lineare di tipo Poly3 con la forma p1x3+p2x2+p3x+p4p_1 x^3 + p_2 x^2 + p_3 x + p_4. Questa funzione è particolarmente utile per lavorare con modelli predefiniti o personalizzati.

Per ottenere una maggiore flessibilità nella costruzione del modello di fitting, si impiega la funzione fitoptions(), che consente di impostare numerose opzioni personalizzabili tramite coppie Nome-Valore. È possibile creare un oggetto fitOptions in diversi modi, come per esempio per modelli di libreria, per modelli personalizzati, oppure modificando opzioni già esistenti e combinandole. Le opzioni si dividono in categorie funzionali: alcune valide per tutti i metodi di fitting, altre per interpolazione, smoothing o per minimi quadrati lineari e non lineari. Nel contesto dell’analisi dei minimi quadrati, si sottolinea l’importanza di opzioni come normalizzazione, robustezza del fitting (ad esempio, metodo LAR), e limiti sui parametri.

Per la regressione non lineare, MATLAB offre la funzione fitnlm(), che permette di definire modelli non lineari tramite una funzione modello specificata dall’utente, generalmente sotto forma di funzione anonima rappresentata da un handle di funzione. Questa funzione si distingue da fit() perché è dedicata esclusivamente a modelli non lineari e utilizza un procedimento iterativo per stimare i coefficienti partendo da valori iniziali (beta0). Il modello può essere definito sia con una funzione vettoriale di tipo @(b,x), dove b è il vettore dei coefficienti e x la matrice dei predittori, sia con una formula simbolica, purché la funzione ritorni valori reali.

Un esempio tipico vede l’uso di un dataset reale, come “carbig”, da cui si estraggono variabili predittive e una variabile risposta, che vengono organizzate in una tabella. La funzione modello può essere, per esempio, una combinazione di potenze dei predittori con coefficienti da stimare. L’inizializzazione dei parametri beta0 è fondamentale, poiché influenza direttamente la convergenza dell’algoritmo iterativo.

La funzione nlinfit() offre funzionalità simili a fitnlm(), ma restituisce direttamente il vettore dei coefficienti stimati e consente ulteriori opzioni di controllo, come la definizione di pesi per le osservazioni o modelli di errore non costanti. Inoltre, è possibile ottenere informazioni aggiuntive come i residui, la matrice Jacobiana, la matrice di covarianza stimata dei coefficienti e altre metriche utili per valutare la qualità e la robustezza del modello.

Comprendere appieno l’uso di questi strumenti richiede familiarità con il concetto di funzione vettoriale per modelli non lineari, l’importanza della scelta e della taratura dei parametri iniziali, e la gestione delle opzioni di fitting per migliorare la robustezza e la validità del modello. Occorre considerare che i metodi iterativi di stima possono essere sensibili ai valori iniziali e ai limiti imposti sui parametri, e che un’adeguata diagnostica dei residui e delle varianze stimate è cruciale per interpretare correttamente i risultati e prevenire sovra-adattamenti o risultati non significativi.

Inoltre, è essenziale integrare sempre la conoscenza statistica con una comprensione approfondita del contesto applicativo, poiché la modellizzazione non lineare, per sua natura, comporta una complessità maggiore rispetto alla regressione lineare, e richiede un bilanciamento accurato tra flessibilità del modello e interpretabilità. Infine, la scelta delle funzioni e delle opzioni di fitting deve essere guidata da un’analisi preliminare dei dati, tenendo conto di eventuali outlier, distribuzioni degli errori e correlazioni tra variabili, per garantire modelli solidi e generalizzabili.