*
* @author gilberto
*/
public class BackPropagation {
public static void main(String[] args) {
// TODO code application logic here
int M = 1;
int epocas = 1000;
int padrao = 1;
int H = 2; //numero de neuronios primeira camada
int L = 1; //numero de neuronios da segunda camada
double net;
double net2;
double n = 0.01;
double E;
//matriz de entradas da rede, onde cada linha representa um padrão
double matx[][] = {{ 1.0 }};//padrao de entrada
//matriz de saidas desejadas da rede, onde cada linha representa
//um padrao
double matd[][] = {{(1.0 + Math.sin(1.0*(Math.PI/4)))}};//padrao 4
double w1[][] = {{-0.48,-0.27},
{-0.13,-0.41}};//matriz de pesos primeira camada
double w2[][] = {{0.48,0.09,-0.17}};//matriz de pesos segunda camada
double waux1[][] = new double[ 2 ][ 2 ];//delta w
double waux2[][] = new double[ 1 ][ 3 ];//delta w
double y1[][] = new double[ padrao ][ H+1 ];//matriz de saidas estimada
s primeira camada
double derivada1[][] = new double[ padrao ][ H ];//matriz de derivadas
primeira camada
double derivada2 = 1.0;//derivada da segunda camada
double delta1;
double delta2[][] = new double[ padrao ][ H ];
double y2[][] = new double[ 1 ][ 1 ];//matriz de saidas estimadas segun
da camada
double x[] = new double[ 2 ];//vetor de entradas para cada padrao
double e[] = new double[ 1 ];//vetor de erro
double a[] = { 1.0 };//coeficiente angular da reta
/****************
int aux1;
int aux2;
//inicializa os pesos aleatoriamente com valores
//entre -1.0 e 1.0
for( int k1 = 0; k1<3; k1++ ){
w[ k1 ][ k2 ] = aux1 * Math.random();
}//fim do for
********************/
y1[ 0 ][ 0 ] = 1.0;//bias
x[ 0 ] = 1.0;//bias
for(int j = 0; j<epocas; j++ ){
for( int i = 0; i<padrao; i++ ){
}//fim do for
}//fim do for
waux1[ j3 ][ i3 ] = n * delta2[ i ][ j3 ] * x[ i3 ];
w1[ j3 ][ i3 ] = w1[ j3 ][ i3 ] + waux1[ j3 ][ i3 ];
}//fim do for
}//fim do for
System.out.println();
//imprime uma linha da matriz de saida desejada
System.out.print("y["+0+"]["+0+"]= "+y2[ 0 ][ 0 ]+"\t");
System.exit(0);
}//fim do if
System.out.println();
//imprime uma linha da matriz de saida desejada
System.out.print("y["+0+"]["+0+"]= "+y2[ 0 ][ 0 ]+"\t");
}//fim do main
}
//fim do metodo
}
//fim do metodo
}//fim da classe