modifica formula multilayer mettendo i pesi di pout nel calcolo del gradiente e cambiando il segno del calcolo dell'errore

This commit is contained in:
2025-02-01 13:00:24 +01:00
parent 45a5b07bda
commit d79bd87b73
6 changed files with 22 additions and 24 deletions

View File

@@ -48,8 +48,8 @@ double randomico() {
}
double randomico_positivo() {
// Genero numeri nell'intervallo [0,1]
return ((double)(rand() % 101 * 0.01));
// Genero numeri nell'intervallo [-1,3]
return ((double)rand() / RAND_MAX) * 10.0f - 1.0f;
}
double funzione_sigmoide(Percettrone p, double x1, double x2) {
@@ -61,9 +61,9 @@ double funzione_sigmoide(Percettrone p, double x1, double x2) {
}
void correggi_pesi(Percettrone *p, double grad_w1, double grad_w2, double grad_bias) {
(*p).bias = (*p).bias - (grad_bias * (*p).lre);
(*p).w1 = (*p).w1 - (grad_w1 * (*p).lre);
(*p).w2 = (*p).w2 - (grad_w2 * (*p).lre);
(*p).bias = (*p).bias + (grad_bias * (*p).lre);
(*p).w1 = (*p).w1 + (grad_w1 * (*p).lre);
(*p).w2 = (*p).w2 + (grad_w2 * (*p).lre);
}
void stampa_layer_uno(Percettrone p, double y, int x1, int x2, double errore)