Regressione non lineare con un modello neurale feedforward



Documenti analoghi
Backpropagation in MATLAB

Pro e contro delle RNA

SVM. Veronica Piccialli. Roma 11 gennaio Università degli Studi di Roma Tor Vergata 1 / 14

Ottimizzazione Multi Obiettivo

Elementi di Psicometria con Laboratorio di SPSS 1

Metodi Stocastici per la Finanza

Tecniche di riconoscimento statistico

VC-dimension: Esempio

Statistica. Lezione 6

Analisi di scenario File Nr. 10

VERIFICA DELLE IPOTESI

Dimensione di uno Spazio vettoriale

Elementi di Psicometria con Laboratorio di SPSS 1

Documentazione esterna al software matematico sviluppato con MatLab


A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

PROGRAMMA SVOLTO NELLA SESSIONE N.

Capitolo 13: L offerta dell impresa e il surplus del produttore

La distribuzione Normale. La distribuzione Normale

Introduzione al MATLAB c Parte 2

LEZIONE n. 5 (a cura di Antonio Di Marco)

1. Distribuzioni campionarie

Preprocessamento dei Dati

Elementi di Psicometria con Laboratorio di SPSS 1

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Esempi di algoritmi. Lezione III

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario:

Università degli Studi di Milano Bicocca CdS ECOAMM Corso di Metodi Statistici per l Amministrazione delle Imprese CARTE DI CONTROLLO PER VARIABILI

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Il concetto di valore medio in generale

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

Automazione Industriale (scheduling+mms) scheduling+mms.

Elementi di Psicometria con Laboratorio di SPSS 1

Suggerimenti per l approccio all analisi dei dati multivariati

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

LABORATORIO-EXCEL N. 2-3 XLSTAT- Pro Versione 7 VARIABILI QUANTITATIVE

Uno standard per il processo KDD

Ottimizazione vincolata

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Misure finanziarie del rendimento: il Van

MANUALE D'USO. ORIONE DI BISTULFI srl - Via Moscova, MILANO tel: info@orionesrl.it 1

E naturale chiedersi alcune cose sulla media campionaria x n

3. Confronto tra medie di due campioni indipendenti o appaiati

Misure finanziarie del rendimento: il Van

e-dva - eni-depth Velocity Analysis

TECNICHE DI SIMULAZIONE

Nella prima parte del corso l attenzione è venuta appuntandosi sui problemi inerenti la valutazione di investimenti aziendali e di strumenti

(a cura di Francesca Godioli)

Metodi statistici per le ricerche di mercato

Più processori uguale più velocità?

Test statistici di verifica di ipotesi

Strumenti di indagine per la valutazione psicologica

Analisi della performance temporale della rete

Corso di Matematica per la Chimica

Sommario. 1 Specifiche della soluzione. Davide Anastasia, Nicola Cogotti. 27 dicembre 2005

Note su quicksort per ASD (DRAFT)

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Capitolo 12 La regressione lineare semplice

Sommario. Capitolo 1 Impiego della statistica per la gestione dell azienda 1. Capitolo 2 Disponibilità e produzione delle informazioni statistiche 19

Metodi incrementali. ² Backpropagation on-line. ² Lagrangiani aumentati

La dispersione dei prezzi al consumo. I risultati di un indagine empirica sui prodotti alimentari.

Capitolo 2. Operazione di limite

SPC e distribuzione normale con Access

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Inferenza statistica. Statistica medica 1

Corso di. Dott.ssa Donatella Cocca

I ESERCITAZIONE. Gruppo I 100 individui. Trattamento I Nuovo Farmaco. Osservazione degli effetti sul raffreddore. Assegnazione casuale

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

CORSO DI STATISTICA (parte 2) - ESERCITAZIONE 7

Potenza dello studio e dimensione campionaria. Laurea in Medicina e Chirurgia - Statistica medica 1

PIANO DI LAVORO ANNUALE

L analisi dei rischi: l aspetto statistico Ing. Pier Giorgio DELLA ROLE Six Sigma Master Black Belt

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Corso di Psicometria Progredito

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE

Effetto reddito ed effetto sostituzione.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Verifica di ipotesi

Corso di Psicometria Progredito

CORSO DI STATISTICA (parte 2) - ESERCITAZIONE 8

Statistiche campionarie

ANALISI DELLE FREQUENZE: IL TEST CHI 2

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Riconoscimento e Recupero dell'informazione per Bioinformatica

rappresentazione astratta di un sistema e/o di una situazione reale tramite un insieme di dati/elementi ad essa analoghi

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO TESI DI LAUREA

risulta (x) = 1 se x < 0.

Modelli di Programmazione Lineare e Programmazione Lineare Intera

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Computazione per l interazione naturale: Modelli dinamici

I Modelli della Ricerca Operativa

Studio di fattibilità per controllo stringhe stampate, con sistema di visione Omron su confezione di Ascorbate.

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

STRATEGIA DI TRADING. Turning Points

Il Capital asset pricing model è un modello di equilibrio dei mercati, individua una relazione tra rischio e rendimento, si fonda sulle seguenti

Regressione Mario Guarracino Data Mining a.a. 2010/2011

Transcript:

Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale feedforward Obiettivi: (1) Imparare a stimare i pesi di una rete neurale feedforward con Matlab per affrontare un problema di regressione non lineare. Come si vede dalla spiegazione contenuta in queste pagine, con Matlab è piuttosto semplice. I comandi newff, train e sim sono i comandi fondamentali con cui, rispettivamente, si crea la rete, si stimano i suoi parametri con i dati e si effettuano poi previsioni. Attenzione però che, se da un lato Matlab semplifica di molto il codice necessario per stimare i pesi di una rete, rimangono sempre le difficoltà legate alle reti neurali: - difficoltà connesse all uso degli algoritmi di ottimizzazione numerica; - difficoltà connesse alla costruzione della rete, in particolare alla scelta della sua complessità ottimale (che è legata al numero di neuroni dello strato nascosto); se questa complessità è insufficiente, la rete può non essere in grado di rappresentare adeguatamente il problema e quindi di fare buone previsioni; se invece è eccessiva, la rete rischia di cadere in overfitting, iperspecializzandosi sui dati, approssimando non solo la componente deterministica ma anche quella stocastica e quindi perdendo capacità di generalizzazione. (2) Fare una serie di esperimenti numerici per comprendere il ruolo di uno dei parametri più importanti per una rete neurale: il numero di neuroni nello strato nascosto. Variando nhid potremo creare situazioni di under- e over-fitting, cioè situazioni in cui la complessità della rete è insufficiente o eccessiva per il problema che le si chiede di risolvere. Variando il numero di input ninp si potrà anche sperimentare il ruolo che hanno le variabili non importanti (dette talora noisy variables) sulla capacità previsiva della rete. Sarà interessante anche provare a lavorare con campioni piccoli o grandi (variando il parametro N) e con dati più o meno affetti da rumore (variando il parametro devstd). Osservazioni: (1) Nell esempio che abbiamo qui considerato non analizziamo dei dati reali, ma dei dati simulati. Si tratta cioè di dati artificiali, da noi generati utilizzando un processo (non lineare) generatore dei dati piuttosto semplice: y = -0.6 + 1.2 x 1 3 + sin(3.46 x 1 ) + ε dove ε è la componente stocastica distribuita come una normale di media nulla e deviazione standard s, cioè ε ~ N(0, s). Si vede quindi che y è influenzata solo dalla variabile x 1. Tutte le altre variabili osservate (x 2, x 3, etc.) sono quindi variabili non importanti ai fini previsivi. Anzi, sono variabili che, se utilizzate in fase di stima, possono peggiorare la qualità della previsione del modello. (2) Grazie al fatto che si tratta di dati simulati, noi conosciamo tutto di essi, anche la componente deterministica (indicata con una linea rossa), che nei problemi reali non è mai nota e che di fatto è il vero oggetto di indagine. Quindi in questo esperimento numerico abbiamo anche la possibilità di valutare se la rete riesce ad approssimare bene la componente deterministica. Nella realtà, lo ribadiamo, questa verifica ovviamente non è mai possibile e l unica strada percorribile per valutare la bontà del modello è quella dell analisi dei residui.

La scelta dell architettura di una rete La scelta dell architettura della rete dipende prima di tutto dalla natura del problema che si intende risolvere. Se si deve individuare un modello di regressione (non lineare), allora la scelta cade ad es. sulle reti feedforward; Se si vuole modellizzare/predire una serie temporale, allora si possono utilizzare le reti ricorrenti (ad es. le reti di Elman); in esse gli output ritardati sono input della rete; Se il problema invece è di stabilire a quale di un set di k classi le singole unità campionarie appartengono (classificazione) allora la scelta dovrà ad es. cadere sulle reti feedforward opportunamente adattate o sulle reti LVQ (learning vector quantization); Se il problema è di individuare nel campione, sulla base delle variabili osservate, dei gruppi omogenei di unità (cluster), allora si dovranno scegliere ad es. le SOM (self-organizing map). 1

La scelta dell architettura di una rete I comandi riportati qui sulla destra creano un oggetto neural network ed impostano le sue proprietà in accordo con l architettura da noi scelta. Esiste però anche la possibilità di costruire architetture nuove non previste nel toolbox di Matlab e di effettuare poi la stima dei loro parametri (con il comando train ) e di usarle per la previsione (con il comando sim ). 2

La stima dei parametri di un modello neurale Con il termine training si indica quello che in ambito statistico viene indicato con il termine di stima dei parametri della rete. La stima dei parametri di un modello equivale al problema della ricerca delle soluzioni di un problema di ottimo: - trovare i parametri del modello che massimizzano la funzione di (log-)verosimiglianza; - trovare i parametri del modello che minimizzano una funzione d errore (mae, mse, msereg, etc..). Indichiamo con f(x, θ) il nostro modello, dove x è il vettore di input (variabili osservate) e θ il vettore dei parametri del modello. La stima dei parametri consiste ad es. nella soluzione del problema di ottimo (minimi quadrati): N min Σ (y i - f(x i, θ) ) 2 θ Θ i=1 3

La stima dei parametri di un modello neurale A volte, specie con i modelli lineari, la soluzione al problema di ottimo la si può calcolare in modo semplice attraverso una formula. Ad esempio, nel modello di regressione lineare. la stima a minimi quadrati del vettore dei parametri è: β = ( X T *X) -1 X T Y Nella maggior parte dei casi però la soluzione del problema di ottimo deve però essere trovata attraverso metodi numerici. L impiego di questi metodi richiede una buona conoscenza dei diversi algoritmi numerici sviluppati dai ricercatori e dei limiti insiti in ciascuno di essi. 4

Gli algoritmi numerici di ottimizzazione La scelta dell algoritmo di ottimizzazione si basa su diversi elementi: - la natura e le dimensioni del problema di ottimo (no. di parametri da stimare, no. di dati nel campione,tipo di funzione da ottimizzare); - la disponibilità di risorse computazionali (velocità del processore, memoria disponibile) e le corrispondenti richieste computazionali dell algoritmo (velocità di convergenza, tempi di calcolo per ogni iterazione, quantità di memoria richiesta). 5

Gli algoritmi numerici di ottimizzazione Gli algoritmi di ottimizzazione numerica sono in generale processi iterativi del tipo: x t+1 = x t + t t esprime lo spostamento dell algoritmo da x t verso il punto di ottimo. Di questo spostamento di deve determinare direzione e ampiezza. Molti algoritmi calcolano t sulla base del gradiente della funzione e della sua Hessiana. L arresto dell algoritmo di ottimizzazione avviene: - dopo che e trascorso un tempo massimo; - dopo un numero massimo di iterazioni; - quando l errore e sceso al di sotto di una soglia fissata; - quando il gradiente e sceso sotto una soglia fissata; - quando l errore sul set di validazione è aumentato più di un certo numero di volte dall ultima volta che è diminuito (questo ovviamente quando si usa la cross-validation). 6

Gli algoritmi numerici di ottimizzazione Nel Neural Network Toolbox di Matlab sono disponibili diversi algoritmi di ottimizzazione numerica, alcuni specificamente pensati per il training delle reti neurali (ad es. le numerose versioni di backpropagation: traingd, traingda, traingrp, etc). 7

La stima di un modello neurale con Matlab [Xn,psx] = mapminmax(x',-1,1); [yn,psy] = mapminmax(y',-1,1); (1) Pre-processamento dei dati net=newff(minmax(xn),[nhid 1],{'tansig','tansig'},'trainlm'); net=init(net); (3) Inizializzazione dei pesi della rete (2) Creazione dell oggetto neural network optnet=train(net, Xn, yn); yout=sim(optnet, Xn); (4) Stima dei pesi/parametri della rete (5) Previsione con la rete yhat = mapminmax('reverse',yout,psy); (6) Processamento inverso dei dati 8

Pre-processing dei dati Talune trasformazioni dei dati di partenza possono essere utili per migliorare la successiva fase di stima dei parametri della rete. In Matlab sono disponibili 3 tipi di pre-processing dei dati: (1) Riscalamento fra un min ed un max. [Xn,psx] = mapminmax(x',-1,1); (2) Standardizzazione [Xn,psx] = mapstd(x',0,1); (3) Analisi delle componenti principali [Xn,psx] = processpca(x',0.1); Ciascuna riga di X viene riscalata fra -1 ed 1. Ciascuna riga di X viene trasformata in modo da avere media 0 e deviazione standard 1. Processa la matrice X con la PCA in modo che le componenti scartate spieghino al più il 10% della variabilità totale dei dati 9