#include "stdio.h"
#include
const double e = 2.7182818;
实验结果
//设置一个神经网络
//有一个隐藏层(含有两个节点)
//输出层有一个节点
//输入数据是二维(两个节点)
//一个样本数据为:x = (0.35,0.9) 标签为0.5
//初始权值输入节点1到隐藏层:0.1,0.4
//输入节点2到隐藏层:0.8,0.6
//隐藏层到输出层初始权值为:0.3,0.9
//学习速率为1
double changeWeightFromHiddenToOutput(double cost,double
output,double hiddenLayerCode)
{
double result=0;
result = cost*output*(1-output)*hiddenLayerCode;
return result;
}
double changeWeightFromInputToHidden(double cost,double
output,double weightOfHiddenCodeToOutput,double
weightOfHiddenCode,double inputNum)
{
double result=0;
result =
cost*output*(1-output)*weightOfHiddenCodeToOutput*weightOfHiddenCode*(1-weightOfHiddenCode)*inputNum;
return result;
}
double sigmoidFunction(double x)
{