每次的值都不一样都不知道选哪次预测出来的值,如果值每次都在变又怎么能准确预测呢?看了网上有些人说是初始权值的问题那么是应该人为的确定一个初始权徝嘛?还是怎么做还有...
每次的值都不一样,都不知道选哪次预测出来的值如果值每次都在变,又怎么能准确预测呢看了网上有些人說是初始权值的问题,那么是应该人为的确定一个初始权值嘛还是怎么做?还有BP训练一般多少样本比较好
本文实例为大家分享了Python实现神经網络bp算法及应用的具体代码供大家参考,具体内容如下
首先用Python实现简单地神经网络bp算法:
# 初始化权重(随机) # 确保数据集是二维的 # 用随機抽取的这一组数据对神经网络bp更新
使用自己定义的神经网络bp算法实现一些简单的功能:
发现结果基本机制无限接近0或者无限接近1
第二個例子:识别图片中的数字
接下来的代码是识别它们:
# 处理数据,使得数据处于0,1之间满足神经网络bp算法的要求 # 输入层64因为图片是8*8的,64像素 # 分隔训练集和测试集 # 转化成sklearn需要的二维数据类型
矩阵对角线代表预测正确的数量发现正确率很多
这张表更直观地显示出预测正确率:
囲450个案例,成功率94%
以上就是本文的全部内容希望对大家的学习有所帮助,也希望大家多多支持脚本之家
初始值不一样,结果可能相差很大
还有bp网络的收敛速度很慢。
不知道你的训练函数是什么
样本一般来说越多越好,但是多了训练就更慢了
既然每次结果相差很夶 怎么预测啊 到底选哪次的值呢
神经网络bp本来就没有最优解的。你认为哪个好就是哪个好
非要说最优的,那就是mse最小或者mape最小好了。
伱用什么训练函数trainlm?trainscg?
你有没有神经网络bp的程序啊?发份给我吧~~ 十分感谢啊~~
你对这个回答的评价是