Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos:
Una red neuronal artificial está compuesta por los siguientes componentes:
Una neurona artificial se implementa de la siguiente manera: las entradas (x) se introducen en las dendritas. Cada una
posee un peso (wij, neurona j – entrada i). Dentro del cuerpo se aplican diferentes funciones de procesamiento
(propagación, activación, salida) hasta llegar al axón (salida y).
/** *
* @author Boris Sosa Maydana
*/
public class Perceptron {
/**
*/
public static double RecalcularPesos(double pesoj, double ti, double xi){
double wj=pesoj+0.5*ti*xi;
return(wj);
}
public static void main(String[] args) {
// Función principal
double [] pesos = {0.0,0.0,0.0} ;
//creacion de pesos aleatorios
for (int j=0; j<pesos.length; j++){
pesos[j] = Math.random();
System.out.println("peso "+j+" = "+pesos[j]);
} //fin for
System.out.println("*****************************************");
double yi=0;
int i=0;
while(i<entradas.length){
yi=pesos[0]*entradas[i][0]+pesos[1]*entradas[i][1]+pesos[2]*entradas[i][2];
if (yi>=0) {yi=1;}
else {yi=-1;} //fin else
if (yi==salidas[i]){
System.out.println("Entradas ("+entradas[i][0]+"),("+entradas[i][1]+") salida ("+salidas[i]+")(Si cumple)");
}else{
System.out.println("Entradas ("+entradas[i][0]+"),("+entradas[i][1]+") salida ("+yi+") se esperaba ("+salidas[i]+")(No cumple)");
System.out.println("********CORRECCION DE PESOS**********");
for (int k=0;k<pesos.length;k++){
pesos[k]=RecalcularPesos(pesos[k],salidas[i],entradas[i][k]);
System.out.println(pesos[k]);
} //fin for
System.out.println("*************************************************");
i=-1; // para q empiece el proceso
} //fin else
i++;
}//fin de while
}
}
A DESARROLLAR:
1. Implemente el código fuente mostrado anteriormente utilizando lenguaje Java
2. Interprete como funciona la red neuronal, tomando en consideración número de capas, funciones de transferencia, y pesos
óptimos calculados.
3. Modifique o amplíe el código para resolver el problema de or-exclusivo (XOR)