newrb
Progettare una rete a base radiale
Descrizione
considera due di questi argomenti:net
= newrb(P
,T
,goal
,spread
,MN
,DF
)
P
: matriceR
perQ
di vettori di inputQ
T
: matriceS
perQ
di vettori di classi targetQ
goal
: obiettivo dell'errore quadratico mediospread
: diffusione delle funzioni a base radialeMN
: numero massimo di neuroniDF
: numero di neuroni da aggiungere tra le visualizzazioni
Le reti a base radiale possono essere utilizzate per l'approssimazione di funzioni. newrb
aggiunge neuroni al livello nascosto di una rete a base radiale finché non raggiunge l'obiettivo dell'errore quadratico medio specificato.
Quanto più è grande spread
, maggiormente uniforme è l'approssimazione della funzione. Una diffusione troppo ampia implica la necessità di un numero elevato di neuroni per adattarsi a una funzione che cambia rapidamente. Una diffusione troppo piccola implica la necessità di un numero elevato di neuroni per adattarsi a una funzione omogenea e la rete potrebbe non generalizzarsi in modo corretto. Chiamare newrb
con diverse diffusioni per trovare il valore migliore per un determinato problema.
Esempi
Argomenti di input
Argomenti di output
Algoritmi
newrb
crea una rete a due livelli. Il primo livello ha neuroni radbas
e calcola i propri input ponderati con dist
e il proprio input netto con netprod
. Il secondo livello ha neuroni purelin
e calcola il proprio input ponderato con dotprod
e i propri input netti con netsum
. Entrambi i livelli hanno delle bias.
Inizialmente, il livello radbas
non presenta neuroni. Le fasi successive vengono ripetute finché l'errore quadratico medio della rete non scende al di sotto di goal
.
La rete viene simulata.
Viene trovato il vettore di input che presenta l'errore maggiore.
Viene aggiunto un neurone
radbas
con pesi pari a quel vettore.I pesi di livello
purelin
sono riprogettati per minimizzare l'errore.
Cronologia versioni
Introduzione prima di R2006a