用Python实现BP神经网络(附代码)
前两期线性回归及逻辑回归项目已发布,今天来讲讲BP神经网络。求误差更详细的推导过程:梯度检查检查利用BP求的梯度是否正确利用导数的定义验证:求出来的数值梯度应该与BP求出的梯度非常接近验证BP正确后就不需要再执行验证梯度的算法了实现代码:权重的随机初始化神经网络不能像逻辑回归那样初始化theta为0,因为若是每条边的权重都为0,每个神经元都是相同的输出,在反向传播中也会得到同样的梯度,最终只会预测一种结果。所以应该初始化为接近0的数实现代码预测正向传播预测结果实现代码输出结果梯度检查:随机显示100个手写数字显示theta1权重训练集预测准确度归一化后训练集预测准确度
下载地址
用户评论