资源简介
神经网络实现异或问题,采用的是2:2:1的结构,并采用sigmoid函数
代码片段和文件信息
/********************************************
**
** 神经网络实现异或操作
** 臧潇 清华大学
** 2012.10.18
**
****************************************************/
#include
#include
#include
#include
#define Ni 2 // 输入层神经元的个数
#define Nm 2 // 隐含层神经元的个数
#define No 1 // 输出层神经元的个数
#define Enom 0.02 // 误差下限,达到这个误差以内即可认为训练成功
#define MAXSAMPLE 1000 // 样本的最大个数
#define BP_LEARNING (float)(0.5) // 学习系数
// 输入层神经元只有传递的功能
float HWeight[Ni+1][Nm]; // 隐含层神经元的输入权值
float OWeight[Nm+1][No]; // 输出层神经元的输出权值
float inputValue[Ni];
float destValue[No];
float E; // 每轮的误差
// 训练的过程
int train(float in[Ni]float d[No]);
// 神经网络初始化
void init();
// 测试的过程
int processTest(float in[Ni]);
//Sigmoid函数
float Sigmoid(float num);
int main()
{
float input[MAXSAMPLE][Ni]; // 输入
float dest[MAXSAMPLE][No]; // 目标输出
float test[Ni]; // 测试输入
int num;
int ij;
long count=0;
// 输入相关的测试
printf(“Please input the number of sample:“);
scanf(“%d“&num);
for(i=0;i {
for(j=0;j scanf(“%f“&input[i][j]);
for(j=0;j scanf(“%f“&dest[i][j]);
}
init();
while(1)
{
E=0;
for(i=0;i {
train(input[i]dest[i]);
}
if(E break;
if(count%20000==0)
printf(“第%d迭代的误差为 %f \n“countE);
count++;
}
// 训练好的神经网络测试
while(1)
{
printf(“Please input the test data:“);
for(i=0;i scanf(“%f“&test[i]);
processTest(test);
}
return 1;
}
// 测试的过程
int processTest(float in[Ni])
{
int ij;
float net[Nm]iin[Nm]out[No];
// 计算隐含层的神经元值
for(i=0;i {
net[i]=1*HWeight[0][i];
for(j=1;j net[i]+=HWeight[j][i]*in[j-1];
}
// 使用S函数
for(i=0;i iin[i]=Sigmoid(net[i]);
// 计算输出层的值
for(i=0;i {
net[i]=1*OWeight[0][i];
for(j=1;j相关资源
- BP神经网络C语言工程当前最终版
- 可以在单片机上计算的BP神经网络C语
- BP算法的C++实现
- 基于VC++的人脸定位系统
- 基于ANN的神经网络识别数字系统
- 利用Hopfield神经网络解决TSP问题-论文
- 深度学习之卷积神经网络CNN用于人脸
- 深度学习之卷积神经网络CNN模式识别
- 卷积神经网络代码c++
- BP神经网络实现人脸识别包含软件源码
- LeNet-5神经网络——C源代码
- c++开发的人工神经网络做人脸识别
- RBF神经网络C++源码
- 人工神经网络之BP网络模拟三角函数
- Fast ANN神经网络算法源码
- 车牌识别 openCV mfc BP神经网络
- deep learning卷积神经网络CNN在C++环境下
- 基于C++版本的Bp神经网络,数据拟合,
- c++版神经网络实现
- C++ bp神经网络算法
- c-c++写的卷积神经网络
- 基于SVM与人工神经网络的车牌识别O
- Hopfield神经网络解决TSP问题C++程序
- 基于SVM与人工神经网络的车牌识别C
- BP神经网络的c++实现
- 基于BP神经网络的简单字符识别算法自
- rbf神经网络c语言编程
- BP三层神经网络实现C++代码注释详细
- RBF神经网络的C++源码
- 数字识别之神经网络法
川公网安备 51152502000135号
评论
共有 条评论