newrb
Progettare una rete a base radiale
Descrizione
considera due di questi argomenti:net = newrb(P,T,goal,spread,MN,DF)
P: matriceRperQdi vettori di inputQT: matriceSperQdi vettori di classi targetQgoal: 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 bene. 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
radbascon pesi pari a quel vettore.I pesi di livello
purelinsono riprogettati per minimizzare l'errore.
Cronologia versioni
Introduzione prima di R2006a