Main Content

newrb

Progettare una rete a base radiale

Descrizione

esempio

net = newrb(P,T,goal,spread,MN,DF) considera due di questi argomenti:

  • P: matrice R per Q di vettori di input Q

  • T: matrice S per Q di vettori di classi target Q

  • goal: obiettivo dell'errore quadratico medio

  • spread: diffusione delle funzioni a base radiale

  • MN: numero massimo di neuroni

  • DF: 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

comprimi tutto

Questo esempio mostra come progettare una rete a base radiale.

Progettare una rete a base radiale con input P e target T.

P = [1 2 3];
T = [2.0 4.1 5.9];
net = newrb(P,T);

Simulare la rete per un nuovo input.

P = 1.5;
Y = sim(net,P)

Argomenti di input

comprimi tutto

Vettori di input, specificati come matrice R per Q.

Vettori della classe target, specificati come matrice S per Q.

Obiettivo dell'errore quadratico medio, specificato come scalare.

Diffusione delle funzioni a base radiale, specificata come scalare.

Numero massimo di neuroni, specificato come scalare.

Numero di neuroni da aggiungere tra le visualizzazioni, specificato come scalare.

Argomenti di output

comprimi tutto

Nuova rete a base radiale, restituita come oggetto di rete

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.

  1. La rete viene simulata.

  2. Viene trovato il vettore di input che presenta l'errore maggiore.

  3. Viene aggiunto un neurone radbas con pesi pari a quel vettore.

  4. I pesi di livello purelin sono riprogettati per minimizzare l'errore.

Cronologia versioni

Introduzione prima di R2006a

Vedi anche

| | |