Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

lunes, 3 de febrero de 2014

Neurona Artificial (I). Perceptrón Simple.

En este apartado voy a crear una neurona artificial muy básica. Más adelante iré añadiendo nuevas caracteristicas hasta llegar a crear una red neuronal artificial funcional que  sea capaz de aprender y resolver problemas complejos.

El funcionamiento de una "neurona" artificial se puede deducir observando el siguiente esquema:




Codigo1 (Perceptron.java):

package neurona2;

import java.util.Random;

public class Perceptron {

    public static void main(String[] args) {


        //Valores Entradas
        double x1 = 1.4;
        double x2 = -0.33;


        //Valores Pesos (aleatorios)
        double w1 = new Random().nextDouble();
        double w2 = new Random().nextDouble();

        Neurona n = new Neurona(x1, x2, w1, w2);

        System.out.println("Entrada 1 (x1): " + x1);
        System.out.println("Entrada 2 (x2): " + x2);
        System.out.println("Salida 1 (y1) = " + n.getY1());
       
    }

}



Codigo 2 (Neurona.java):

package neurona2;

public class Neurona {

    final double x1, x2, w1, w2;

    Neurona(double x1, double x2, double w1, double w2) {
        this.x1 = x1;
        this.x2 = x2;
        this.w1 = w1;
        this.w2 = w2;
    }

    public double getY1() {
        double wx, y1;
        wx = (x1 * w1) + (x2 * w2); //Función propagación
        y1 = Math.tanh(wx); //Salida
        return y1;
    }
}



Resultado:

run:
Entrada 1 (x1): 1.4
Entrada 2 (x2): -0.33
Salida 1 (y1) = -0.2846455790167466
BUILD SUCCESSFUL (total time: 0 seconds)


Con la tecnología de Blogger.