package nnx;
public class f {
double[] op=new double[101];
double[][] e=new double[5][101];
double[][] es=new double[5][101];
int number;
int number_step;
int number_var;
double[] beta=new double[5];
double[][] alpha=new double[5][5];
double[][][] theta=new double[3][5][5];
int[] y=new int[101];
double[][] x=new double[101][5];
int s,sx,tr;
double makedata(){
int s,sx;
int eq;
for(eq=1;eq<number_var+1;eq++){
for(s=1;s<number+1;s++){
double z=alpha[eq][0];
for(sx=1;sx<number_var+1;sx++){
z=z+alpha[eq][sx]*x[s][sx];
}
es[eq][s]=1/(1+Math.exp(-z));
}
}
for(tr=1;tr<number_step+1;tr++){
for(eq=1;eq<number_var+1;eq++){
for(s=1;s<number+1;s++){
e[eq][s]=es[eq][s];
}}
for(eq=1;eq<number_var+1;eq++){
for(s=1;s<number+1;s++){
double z=theta[tr][eq][0];
for(sx=1;sx<number_var+1;sx++){
z=z+theta[tr][eq][sx]*e[sx][s];
}
es[eq][s]=1/(1+Math.exp(-z));
}
}
}
for(s=1;s<number+1;s++){
double z=beta[0];
for(sx=1;sx<number_var+1;sx++){
z=z+beta[sx]*es[sx][s];
}
op[s]=1/(1+Math.exp(-z));
}
double don=0;
for(s=1;s<number+1;s++){
don=don+(op[s]-y[s])*(op[s]-y[s]);
}
return don;
}
}
最終更新:2018年03月13日 01:43