【发布时间】:2014-06-24 22:50:57
【问题描述】:
我正在尝试对神经网络进行编程,现在我正在对其进行测试。我已将其简化为 2 个带有 2 个输入和 1 个输入的训练示例。
Input : Output
1,0 : 1
1,1 : 0
我循环前向和反向传播 1000 次,网络输出总是收敛到 1 或 0,这取决于初始化的随机权重从哪里开始。不管我输入什么,输出都是一样的。它不会学习。
我不知道如何寻求帮助以免重载我的所有代码,所以我将发布我正在做的事情:
Create random initial weights
For i = 1 to 1000
For j = 1 to Samples in Training Set (2)
Set activations (Sigmoid function)
Forward-prop
delta = sum of (deltas in next layer * weights connecting this node with next deltas) * act*(1-act)
Weights = Weights + lambda(.05) * delta * x(i)
我似乎做错了什么吗?是否有一些/所有我应该发布的代码?关于我还应该测试什么的任何建议?我一直在 Excel 中手动测试所有内容,一切似乎都按我预期的方式工作(前向传播、增量计算等)
【问题讨论】:
标签: machine-learning neural-network