[MatLab] Implementazione Rete Neurale per Ottimizzazione

Messaggioda Matricola252 » 23/10/2021, 18:22

Salve a tutti,
Sto cercando di implementare una rete neurale che permetta di stimare una funzione accessibile (da esercizio) solo attraverso simulazioni. In particolare dispongo di una funzione che è descritta da variabili casuali nella forma
M = (W0 - B + R)*I - C*R;
Dove B ed R sono variabili discrete con distribuzione di probabilità binomiale. R ha probabilità costante per ogni valore mentre B ha probabilià pB = @(m) 0.001*m + 0.4*(1-m);
Per poter accedere alla simulazione, faccio 100 esperimenti con parametri esplicitati tra i dati del problema. Lo scopo è stimare la funzione M nei punti 0, 0.1, ... 1 e costruire poi una rete neurale non lineare per l'ottimizzazione dei pesi tramite steepest descent method (metodo del gradiente). Sfruttando la legge dei grandi numeri so che la media di N simulazioni nel punto m sarà un'ottima approssimazione del valore di M in m.
I parametri di B e di R sono
B = binornd(W0, pB(m))
R = binornd(N-W0, pR)
dove N e W0 sono dei vettori di lunghezza pari al numero di simulazioni (l'esercizio richiede 100 e 10000 simulazioni separate).
Alla fine di un ciclo sui punti i = 0, 0.1, ..., 1 ricavo M(i) = sum(M_i)/n_sim, con M_i vettore ricavato dalla funzione M_i = (W0 - B + R)*I - C*R.
Adesso posso pensare di costruire una rete neurale:
M(i) corrisponde ai miei punti di output yp risultato della combinazione lineare mentre gli input xp saranno i valori 0, 0.1, etc. A questo punto, per evitare una weight implosion sui pesi degli archi, cerco di normalizzare l'output e qui mi sale il primo dubbio: x_max = 1 e x_min = 0 corrispondendo ai valori minimo e massimo del vettore d'ingresso? Il secondo dubbio che mi sale è: dopo la normalizzazione, come posso denormalizzare il valore dell'output?
In generale purtroppo non sono in grado di stabilire se io stia andando nella direzione giusta e sono pieno di dubbi, spero di poterli chiarire su questo forum
Matricola252
New Member
New Member
 
Messaggio: 36 di 72
Iscritto il: 28/05/2018, 23:22

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite