• Non ci sono risultati.

Capitolo 2 Le tecniche di previsione

2.5 Le caratteristiche delle RNA

(21)

∑∑ −

=

p i p i p i

d

x

w

E

2

)

(

2

1

)

(

,

dove x è il risultato prodotto dalla matrice dei pesi w*, e d è il prodotto desiderato. L’algoritmo di

backpropagation parte dal calcolo dell’errore e=x-d ottenuto come differenza tra il risultato

fornito dalla rete (x) e il target, ovvero il risultato atteso (d). Questo errore è “propagato” dallo strato del nodo di uscita all’indietro verso i nodi di ingresso, producendo piccole correzioni. Ogni coefficiente wij è corretto proporzionalmente all’influenza del suo peso nella funzione E2.

Per calcolare la correzione del peso wij, è necessario calcolare il gradiente õE come

ij

w

E

E

=

,

dal quale si ottiene la relazione ricorsiva che modifica il singolo coefficiente

ij i ij ij

w

E

t

w

t

w

=

+1) ( ) α

(

,

dove α è una costante, detta tasso di apprendimento (learning rate).

In Beltratti, Margarita, Terna (1996) si ricorda che spesso tale coefficiente è mantenuto sufficientemente piccolo da consentire all’algoritmo di apprendimento di giungere ad una soluzione. Un valore piccolo ha le conseguenze negative di aumentare il numero delle iterazioni necessarie per ottenere la soluzione.

È consuetudine aggiungere un secondo parametro che modifica l’algoritmo di

backpropagation in modo da utilizzare la formula di correzione:

ij t ij t ij t

w

w

E

w + ∆

1

=

α β

,

dove β è detto momentum. Esso introduce alcuni gradi di persistenza nella modifica dei pesi, poiché la variazione al tempo t dipende anche da quella al tempo t-1. È utile a ridurre l’eccessiva oscillazione dei pesi.

2.5 Le caratteristiche delle RNA

L’insieme dei fenomeni che caratterizzano un sistema economico, tende a fare emergere alcune ricorrenze dominanti, dovute alla capacità adattiva degli agenti attori di un tale sistema. Sulla base di questa considerazione la nuova visione dell’economia considera che la crescita dei percorsi del sistema economico non discende direttamente da alcune condizioni iniziali e da leggi di interazione deterministiche. Al contrario, spesso si riscontrano effetti evidenti di eventi poco rilevanti.

2 Si ricorda che wij ha un peso sulla funzione di costo E, poiché il valore xi in essa contenuto è frutto della applicazione della (17).

In una tale visione la strada più promettente nella ricerca e nell’analisi di questi fenomeni è quella dell’adozione di tecniche adattive, basate su meccanismi di intelligenza artificiale. Attraverso l’approccio cognitivista si delega il compito della ricerca delle relazioni intrinseche che danno origine ai fenomeni di un sistema ad agenti in grado di apprendere dal comportamento degli altri agenti e dall’ambiente nel quale sono integrati. Le modalità che regolano il percorso dell’apprendimento diventano un componente fondamentale del modello. Lo sviluppo delle funzioni a rete neurale spesso porta alla definizione di equazioni non lineari, molto complesse che sono in grado di mappare la realtà passata e talvolta a prevedere con sorprendente precisione gli accadimenti futuri.

In Terna (1994) si identificano i vantaggi principali derivanti dall’uso delle funzioni neurali derivano dalla natura connessionista di questo sistema. Il connessionismo identifica i sistemi dotati di:

Parallelismo: i carichi computazionali sono ripartiti tra gli elementi di una struttura

costituita da legami paralleli. Il risultato è un sistema con capacità di calcolo indipendente ed interattivo, con capacità di risposta immediata.

Rappresentazione subsimbolica della conoscenza: in una struttura connessionista la

conoscenza non è memorizzata in modo esplicito o simbolico (Hinton, 1986). Tale conoscenza risulta distribuita all’interno del sistema.

Autorganizzazione: le strutture impersonali del mondo economico reale, come il mercato,

sono in realtà frutto dell’azione di collettività di agenti autorganizzanti.

Robustezza all’errore e ridondanza: derivano direttamente dalla capacità di

memorizzazione distribuita. Quando la struttura dovesse essere danneggiata, non avverrebbe un blocco, ma soltanto un degrado del funzionamento. Anche per questa caratteristica, quando l’input si presenta disturbato da un rumore, il sistema di risposta riesce in modo più o meno efficiente ad eliminarlo.

Le funzioni a rete neurale, però, non spiegano le relazioni che generano i fenomeni. Esse funzionano perfettamente ma non hanno una plausibilità dal punto di vista del ragionamento umano. I valori contenuti nei nodi nascosti della rete sono strettamente correlati con la rappresentazione distribuita o sub-simbolica dei significati intrinseci, per questo è così difficile interpretarli direttamente. In sintesi si può dire che i nodi nascosti si comportano come una funzione la cui forma, aggregata a quelle prodotte dagli altri nodi, coopera nell’approssimazione della funzione obiettivo. Ciò si può comprendere realizzando un paragone tra le struttura di una RNA e quella di un’organizzazione sociale. Il comportamento generale del sistema emerge spesso dall’interazione apparentemente disordinata delle sue componenti. Gli agenti di un sistema hanno un comportamento di tipo microeconomico, non sono coscienti degli effetti che questo comporta in aggregato. Allo stesso modo i nodi di una rete neurale sono banali “calcolatrici” che applicano regole elementari. Non è immediatamente comprensibile il motivo per cui la rete nel suo

complesso sia in grado di adattarsi ai pattern di input sulla base di una fitta rete di semplici funzioni non lineari che svolgono banali sommatorie.

Esistono diversi metodi consolidati per la ricerca di una spiegazione interpretativa della struttura assunta dalla matrice dei pesi dopo un processo di apprendimento. Una buona strada di indagine circa l’innaturale struttura interna della funzione è fornita dall’interpretazione dei nodi nascosti, la tecnica di cluster analysis, l’esame delle derivate tra output ed input della funzione, l’introduzione di un’euristica adatta a estrarre regole da una RNA e la lettura delle interazioni in modelli fondati su agenti.

L’analisi di cluster è una tecnica statistica fondata sull’idea di misurare le distanze, in una metrica coerente, tra i punti di uno spazio multidimensionale. Applicandola, si possono formare molti gruppi, o cluster, di vettori. Per ogni cluster è interessante investigare le caratteristiche dei pattern associati con i vettori così raggruppati; in molti casi si scopre un nome per i gruppi di pattern di un cluster che rappresentano situazioni, oggetti, ecc. con una caratteristica comune. Inoltre, analizzando cluster di cluster, può emergere una completa classificazione gerarchica. Nel caso delle RNA analizzare la struttura dei cluster in funzione di una determinata categoria di dati di input fornisce l’interpretazione della compito svolto da determinati gruppi di nodi.

Questo è molto interessante da un punto di vista cognitivo, perché può spiegare come le reti neurali inferiscono sui pattern, assimilandoli internamente a differenti cluster, sebbene non diano una spiegazione a livello di singolo nodo. Il vantaggio esplicativo di tale metodo va ricercato nella capacità di spiegazione distribuita tra i nodi nascosti, poiché ciò che si sta misurando è la distanza tra vettori e non tra singoli nodi. Quindi l’analisi a cluster dello strato dei nodi nascosti spiega l’organizzazione strutturale dei pattern.

Un altro limite di questa tecnica di indagine previsionale è data dalla difficoltà di impostazione dei parametri caratterizzanti una RNA. Si può incorrere in un problema di

overfitting, che può diventare molto serio. In generale, non è noto quale sia l’ampiezza ideale di

una rete neurale per risolvere un dato problema. Se la rete è troppo stretta, nel senso che possiede pochi nodi nello strato nascosto, essa non sarà sufficientemente flessibile da emulare la dinamica del sistema che produce la serie storica (fenomeno di underfitting). Se viene scelta troppo larga (troppi nodi hidden), l’eccessiva libertà permette alla rete di apprendere non soltanto il segnale, ma anche il rumore (overfitting). Al fine di verificare di non essere incappati nella trappola di una rete eccessivamente estesa, si utilizza la tecnica della validazione interna. Tale tecnica consiste nella divisione della serie storica in due serie separate. La prima verrà utilizzata per il procedimento di apprendimento e la seconda, costituita da pattern che la rete non ha mai incontrato prima, per la verifica circa la bontà dell’apprendimento.

Infatti, la presenza di molti nodi fa sì che ogni nodo possa “imparare a rispondere” ad ogni piccolo gruppo di pattern ed il comportamento generale che si ottiene è una funzione che apprende esattamente la struttura che ha osservato. Ciò la rende rigida e ne limita la capacità di

generalizzazione. Quando, al contrario, i nodi sono pochi la previsione che la rete effettua può essere valida se i dati non oscillano molto e sono relativi ad una casistica ridotta.