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

📄 online.cpp

📁 本程序为一个误差向后传播的三层前馈神经网络有指导的学习算法。
💻 CPP
字号:
#include "math.h"
#include "iostream.h"
#define IN 2//输入层神经元数目
#define HN 5//隐层神经元数目
#define ON 1 //输出层神经元数目
double X[HN]; //隐层的输入
double Y; //输出层的输入
double H[HN]; //隐层的输出
double O; //输出层的输出
double P[IN]; //单个样本输入数据


void main()
{
 double W[5][2]={{-0.543685,0.353407},{0.128885,0.950304},{-0.0207018,-0.0877509},{0.349066,-0.0438003},{0.202412,0.290936}};
 double V[5]={1.99488,1.29671,0.0245998,1.39703,1.90463};
 double YU_HN[5]={-1.11702,-0.47621,0.817631,-0.325209,-1.27885}; 
 double YU_ON=-1.94182; 
 double P[IN]={0.5000,0.3333};
 double sigma;
/*int i,j,k;
for (j=0;j<5;j++)
{
  sigma=0.0;
	for (i=0;i<2;i++)
		sigma+=W[j][i]*P[i];//求隐层内积
		
X[j]=sigma-YU_HN[j];//求隐层净输入
H[j]=1.0/(1.0+exp(-X[j]));//求隐层输出 siglon算法
}
  sigma=0.0;
 for ( k=0;k<HN;k++)
 sigma+=V[k]*H[k];//求输出层内积
Y=sigma-YU_ON; //求输出层净输入
O=1.0/(1.0+exp(-Y));//求输出层输出
cout<<O;
}*/

/////////////////////////////////
//隐层各单元输入、输出值子程序///
/////////////////////////////////


int i,j;
for (j=0;j<HN;j++){
sigma=0.0;
	for (i=0;i<IN;i++)
	{sigma+=W[j][i]*P[i];}//求隐层内积
		
X[j]=sigma-YU_HN[j];//求隐层净输入,为什么减隐层的阀值
H[j]=1.0/(1.0+exp(-X[j]));//求隐层输出 siglon算法
}


///////////////////////////////////
//输出层各单元输入、输出值子程序///
///////////////////////////////////


 sigma=0.0;
 for ( j=0;j<HN;j++){
 sigma+=V[j]*H[j];//求输出层内积
}
double Y=sigma-YU_ON; //求输出层净输入
double O=1.0/(1.0+exp(-Y));//求输出层输出

cout<<O;
}//子程序O_I_O()结束

⌨️ 快捷键说明

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