Perceptrón simple

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> #include <time.h> typedef enum { false, true } boolean; int main () { float datos[3][4]; datos[0][0] = 1; datos[1][0] = 1; datos[2][0] = 1; datos[0][1] = 1; datos[1][1] = 0; datos[2][1] = 0; datos[0][2] = 0; datos[1][2] = 1; datos[2][2] = 0; datos[0][3] = 0; datos[1][3] = 0; datos[2][3] = 0; float pesos[3]; srand48(time(NULL)); pesos[0] = (drand48() * 2) - 2; pesos[1] = (drand48() * 2) - 2; pesos[2] = (drand48() * 2) - 2; boolean aprendiendo = true; int salidaEntera; int cont; float salidaReal; float tasaDeAprendizaje = 0.3; float error; while (aprendiendo) { aprendiendo = false; for (cont = 0; cont <= 3; cont ++) { salidaReal = datos[0][cont] * pesos[0] + datos[1][cont] * pesos[1] + pesos[2]; if ( salidaReal > 0 ){ salidaEntera = 1; }else{ salidaEntera = 0; } error = datos[2][cont] - salidaEntera; if (error != 0) { pesos[0] = pesos[0] + tasaDeAprendizaje * error * datos[0][cont]; pesos[1] = pesos[1] + tasaDeAprendizaje * error * datos[1][cont]; pesos[2] = pesos[2] + tasaDeAprendizaje * error * 1; aprendiendo = true; } } } for (cont = 0; cont <= 3; cont++ ) { salidaReal = datos[0][cont]*pesos[0] + datos[1][cont]*pesos[1] + pesos[2]; if ( salidaReal > 0 ){ salidaEntera = 1; }else{ salidaEntera = 0; } printf ("%d \n",salidaEntera); } return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines