⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jianjian.cpp

📁 主要用于神经网络学习
💻 CPP
字号:
  #include"graphics.h"
  #include"iostream.h"
  #include"conio.h"
  #include"math.h"
  double num(double w01,double w02,double w11,double w12,double w13,double w23,double a,double b,double c);
  double x1,x2,x3,p,e,e1,e2,e3,e0,n=0.2,x4,x5,x6,p1,p2,p3,y2,y3;
  int y,i,j,k=0,u=0;
  int x[2]={0,1};
  double l[4];
  main()
  {
  double w01=4,w02=8,w11=3,w12=2,w23=3,w13=1,a=0.2,b=0.6,c=0.2;
  window(10,10,200,200);
  num(w01,w02,w11,w12,w13,w23,a,b,c);
  return 0;
  }
  double num(double w01,double w02,double w11,double w12,double w13,double w23,double a,double b,double c)
  {
  k++;
  double y1;
  for(i=0;i<2;i++)
  {
    for(j=0;j<2;j++)
    {
       if(x[i]==x[j])
       {
       y=0;
       }
       if(x[i]!=x[j])
       {
       y=1;
       }
 next: x1=x[j]*w11+x[i]*w01-a;
       x2=x[i]*w02+x[j]*w12-b;
       x5=exp(-x1);
       x6=exp(-x2);
       y2=1/(1+x5);
       y3=1/(1+x6);
       x3=y2*w13+y3*w23-c;
       x4=exp(-x3);
       y1=1/(1+x4);
       p=(y1-y)*y1*(1-y1);
       p1=y2*(1-y2)*(p*w13);
       p2=y3*(1-y3)*(p*w23);
       p3=y-y1;
       e=(p3*p3)/2;

       if(e<0.01)
       {
       l[u]=y1;
       u++;
       continue;
       }
       else
       {
       w01=w01-n*p1*x[i];
       w02=w02-n*p2*x[i];
       w11=w11-n*p1*x[j];
       w12=w12-n*p2*x[j];
       w13=w13-n*p*y2;
       w23=w23-n*p*y3;
       c=c-n*p*(-1);
       a=a-n*p1*(-1);
       b=b-n*p2*(-1);
       goto next;
       }
     }
  }
       x1=0*w11+0*w01-a;
       x2=0*w02+0*w12-b;
       x5=exp(-x1);
       x6=exp(-x2);
       y2=1/(1+x5);
       y3=1/(1+x6);
       x3=y2*w13+y3*w23-c;
       x4=exp(-x3);
       y1=1/(1+x4);
       p=(y1-0)*y1*(1-y1);
       p1=y2*(1-y2)*(p*w13);
       p2=y3*(1-y3)*(p*w23);
       p3=0-y1;
       e0=(p3*p3)/2;

       x1=1*w11+0*w01-a;
       x2=0*w02+1*w12-b;
       x5=exp(-x1);
       x6=exp(-x2);
       y2=1/(1+x5);
       y3=1/(1+x6);
       x3=y2*w13+y3*w23-c;
       x4=exp(-x3);
       y1=1/(1+x4);
       p=(y1-1)*y1*(1-y1);
       p1=y2*(1-y2)*(p*w13);
       p2=y3*(1-y3)*(p*w23);
       p3=1-y1;
       e1=(p3*p3)/2;

       x1=0*w11+1*w01-a;
       x2=1*w02+0*w12-b;
       x5=exp(-x1);
       x6=exp(-x2);
       y2=1/(1+x5);
       y3=1/(1+x6);
       x3=y2*w13+y3*w23-c;
       x4=exp(-x3);
       y1=1/(1+x4);
       p=(y1-1)*y1*(1-y1);
       p1=y2*(1-y2)*(p*w13);
       p2=y3*(1-y3)*(p*w23);
       p3=1-y1;
       e2=(p3*p3)/2;

       x1=1*w11+1*w01-a;
       x2=1*w02+1*w12-b;
       x5=exp(-x1);
       x6=exp(-x2);
       y2=1/(1+x5);
       y3=1/(1+x6);
       x3=y2*w13+y3*w23-c;
       x4=exp(-x3);
       y1=1/(1+x4);
       p=(y1-0)*y1*(1-y1);
       p1=y2*(1-y2)*(p*w13);
       p2=y3*(1-y3)*(p*w23);
       p3=0-y1;
       e3=(p3*p3)/2;
    cout<<w01<<"   "<<w02<<"   "<<w11<<"   "<<w12<<"   "<<w13<<"   "<<w23<<"   "<<a<<"   "<<b<<"   "<<c<<endl;
    if((((e0<0.01)&&(e1<0.01))&&(e2<0.01))&&(e3<0.01))
    {
    cout<<"w01"<<"      "<<"w02"<<"      "<<"w11"<<"      "<<"w12"<<"      "<<"w13"<<"      "<<"w23"<<"      "<<"a"<<"      "<<"b"<<"      "<<"c"<<endl;
    cout<<endl;
    cout<<endl;
    cout<<"w01"<<"   "<<"w02"<<"   "<<"w11"<<"   "<<"w12"<<"   "<<"w13"<<"   "<<"w23"<<"   "<<"a"<<"   "<<"b"<<"   "<<"c"<<endl;
    cout<<w01<<"   "<<w02<<"   "<<w11<<"   "<<w12<<"   "<<w13<<"   "<<w23<<"   "<<a<<"   "<<b<<"   "<<c<<endl;
    cout<<"k="<<k;
    cout<<endl;
    return 0;
    }
    if(k<2000)
    {
    u=0;
    num(w01,w02,w11,w12,w13,w23,a,b,c);
    }
    else
    {
    cout<<"k="<<k<<endl;
    cout<<"00"<<"   "<<"01"<<"   "<<"10"<<"   "<<"11"<<endl;
    cout<<l[0]<<"   "<<l[1]<<"   "<<l[2]<<"   "<<l[3]<<endl;
    cout<<endl;
    cout<<"w01"<<"   "<<"w02"<<"   "<<"w11"<<"   "<<"w12"<<"   "<<"w13"<<"   "<<"w23"<<"   "<<"a"<<"   "<<"b"<<"   "<<"c"<<endl;
    cout<<w01<<"   "<<w02<<"   "<<w11<<"   "<<w12<<"   "<<w13<<"   "<<w23<<"   "<<a<<"   "<<b<<"   "<<c<<endl;
    }
 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -