package nn3;
public class bp {
int number,number_link;
int number_step;
int[][] link=new int[70][6];
int number_point;
int[] y=new int[700];
double[][] x=new double[700][11];
double[][] e=new double[11][700];
int datanumber;
int[][] alpha=new int[7][4];
int[] alphax=new int[4];
void makedata(int tr){
int[][] a=new int[7][4];
int s,sx;
double minv=9999.9;
for(sx=0;sx<number+1;sx++){
alphax[sx]=alpha[tr][sx];
}
int de;
for(de=1;de<1000;de++){
for(s=1;s<number_link+1;s++){
for(sx=0;sx<number+1;sx++){
a[s][sx]=alpha[s][sx];
}
}
for(sx=0;sx<number+1;sx++){
a[tr][sx]=(int)(20*Math.random())-10;
}
double v0,v1;
v sub2=new v();
sub2.e=e;
sub2.link=link;
sub2.number=number;
sub2.datanumber=datanumber;
sub2.number_point=number_point;
sub2.number_link=number_link;
sub2.alpha=a;
v1=sub2.makedata();
if(minv>v1){
minv=v1;
for(sx=0;sx<number+1;sx++){
alphax[sx]=a[tr][sx];
}
}
}
for(sx=0;sx<number+1;sx++){
alpha[tr][sx]=alphax[sx];
}
System.out.println(minv);
}
}
最終更新:2017年08月11日 23:39