源程序是public class xin extends Object
{
int i,j,c=0;
double a,a1,e3,y,t;
double x[]=new double[5];
double e1[]=new double[16];
double e2[]=new double[16];
double we1[]=new double[16];
double we2[]=new double[16];
double hide1[]=new double[16];
double hide2[]=new double[16];
double hide3=0.0;
double step11=0.5;
double step12=0.3;
double step13=0.1;
public double Sigmoid(double f)
{
double x;
f=0.0;
f=1.0/(1.0+Math.exp(-x));
return(f);
}
public void Weight_processing()
{
double w1[][]=new double[5][16];
for(i=0;i<5;i++)
for(j=0;j<16;j++)
{
java.util.Random r=new java.util.Random();
double a=r.nextFloat()/10.0;
w1[i][j]=a;
}
double w2[][]=new double[16][16];
for(i=0;i<16;i++)
for(j=0;j<16;j++)
{
java.util.Random r=new java.util.Random();
double a=r.nextFloat()/10.0;
w2[i][j]=a;
}
double w3[]=new double[16];
for(i=0;i<16;i++)
{
java.util.Random r=new java.util.Random();
double a=r.nextDouble()/10.0;
w3[i]=a;
}
}
do
{
a1=0.0;
for(j=0;j<16;j++)
hide1[j]=0.0;
for(i=0;i<4;i++)
for(j=0;j<16;j++)
hide1[j]+=x[i]*w1[i][j];
for(j=0;j<16;j++)
hide1[j]=Sigmoid(hide1[j]);
for(j=0;j<16;j++)
hide2[j]=0.0;
for(i=0;i<16;i++)
for(j=0;j<16;j++)
hide2[j]+=hide1[j]*w2[j][i];
for(j=0;j<16;j++)
hide2[j]=Sigmoid(hide2[j]);
for(j=0;j<16;j++)
hide3+=hide2[]*w3[j];
y=Sigmoid(hide3); a1+=(t-y)*(t-y)/2.0;
e3=y*(1.0-y)*(t-y);
for(i=0;i<16;i++)
we2[i]=0;
for(i=0;i<16;i++)
we2[i]+=w3[i]*e3;
for(i=0;i<16;i++)
e2[i]=hide2[i]*(1.0-hide2[i])*we2[i];
for(i=0;i<16;i++)
we1[i]=0;
for(i=0;i<16;i++)
for(i=0;i<16;i++)
we1[i]=we2[i][j]*e2[i];
for(i=0;i<16;i++)
e1[i]=hide1[i]*(1.0-hide1[i])*we1[i];
for(i=0;i<16;i++)
w3[i]+=step11*hide2[i]*e3;
for(i=0;i<16;i++)
for(j=0;j<16;j++)
w2[i][j]+=step12*hide1[i]*e2[j];
for(i=0;i<5;i++)
for(j=0;j<16;j++)
w1[i][j]+=step13*x[i]*e1[j];
c+=1
}while(a1>0.0001)
}
{
int i,j,c=0;
double a,a1,e3,y,t;
double x[]=new double[5];
double e1[]=new double[16];
double e2[]=new double[16];
double we1[]=new double[16];
double we2[]=new double[16];
double hide1[]=new double[16];
double hide2[]=new double[16];
double hide3=0.0;
double step11=0.5;
double step12=0.3;
double step13=0.1;
public double Sigmoid(double f)
{
double x;
f=0.0;
f=1.0/(1.0+Math.exp(-x));
return(f);
}
public void Weight_processing()
{
double w1[][]=new double[5][16];
for(i=0;i<5;i++)
for(j=0;j<16;j++)
{
java.util.Random r=new java.util.Random();
double a=r.nextFloat()/10.0;
w1[i][j]=a;
}
double w2[][]=new double[16][16];
for(i=0;i<16;i++)
for(j=0;j<16;j++)
{
java.util.Random r=new java.util.Random();
double a=r.nextFloat()/10.0;
w2[i][j]=a;
}
double w3[]=new double[16];
for(i=0;i<16;i++)
{
java.util.Random r=new java.util.Random();
double a=r.nextDouble()/10.0;
w3[i]=a;
}
}
do
{
a1=0.0;
for(j=0;j<16;j++)
hide1[j]=0.0;
for(i=0;i<4;i++)
for(j=0;j<16;j++)
hide1[j]+=x[i]*w1[i][j];
for(j=0;j<16;j++)
hide1[j]=Sigmoid(hide1[j]);
for(j=0;j<16;j++)
hide2[j]=0.0;
for(i=0;i<16;i++)
for(j=0;j<16;j++)
hide2[j]+=hide1[j]*w2[j][i];
for(j=0;j<16;j++)
hide2[j]=Sigmoid(hide2[j]);
for(j=0;j<16;j++)
hide3+=hide2[]*w3[j];
y=Sigmoid(hide3); a1+=(t-y)*(t-y)/2.0;
e3=y*(1.0-y)*(t-y);
for(i=0;i<16;i++)
we2[i]=0;
for(i=0;i<16;i++)
we2[i]+=w3[i]*e3;
for(i=0;i<16;i++)
e2[i]=hide2[i]*(1.0-hide2[i])*we2[i];
for(i=0;i<16;i++)
we1[i]=0;
for(i=0;i<16;i++)
for(i=0;i<16;i++)
we1[i]=we2[i][j]*e2[i];
for(i=0;i<16;i++)
e1[i]=hide1[i]*(1.0-hide1[i])*we1[i];
for(i=0;i<16;i++)
w3[i]+=step11*hide2[i]*e3;
for(i=0;i<16;i++)
for(j=0;j<16;j++)
w2[i][j]+=step12*hide1[i]*e2[j];
for(i=0;i<5;i++)
for(j=0;j<16;j++)
w1[i][j]+=step13*x[i]*e1[j];
c+=1
}while(a1>0.0001)
}
解决方案 »
- 如何看懂java class文件中的指定?它是汇编语言吗?
- java 获取本机CPU个数
- JFrame 画线问题
- java怎样开发类似QQ超炫的界面
- 怎么实现调用操作系统的命令如ping等 把cmd的命令返回信息在java窗口中输出.
- java菜鸟 求指导!!!
- ++++++++JDK不同版本存在的问题+++++++++
- 还是classpath这个该死的问题。
- 请问applet怎么能与所在的页面进行通讯 即从页面中取得变量和把返回值返回给页面?
- 为什么Class放到applet 中运行不正确
- 多多都给...急急急。。。请问哪里有保存邮件附件的JSP源程序??
- 国内有没有现在weblogic 8.0的站点
while(a1>0.0001);
试试