Python实现三层BP神经网络
来源:互联网 发布:牛顿环干涉实验数据 编辑:程序博客网 时间:2024/04/29 20:42
题外话
看论文,仿真实现,最基本的能力!研一的时候定要多看看论文,提升自己的代码能力!
引言
本篇博客默认读者有一定的BP神经网络的基础,BP神经网络的基本知识就不阐述了!
BP神经网络结构
本文内容:
1. 二分类的三层BP神经网络
2. 激活函数为sigmoid函数
3. 由于是二分类,输出函数和隐藏层函数都为sigmoid函数
4. 计算下一层节点的公式:y=wx+b
步骤
大概步骤:
1. 初始化weight和b的数据
2. 根据y=wx+b,来计算结果y
3. 根据loss_function来更新weight和b,根据梯度下降法,可以查看参考网址1
代码
https://github.com/paulpig/machine_learning/blob/master/fnn.py
注意点
此处为本篇博客的重点,也许你也像我一样能够根据参考网址,将代码编写出来了,但是无论训练多少次,实验结果都非常差!
本文提供四种思路:
1. 增加隐藏层的节点数量
2. 多增加一个输入层节点,将它作为偏移量b,或者每层每个节点都添加偏移量b,两者的效果是一样的!
3. weight的初始化定要慎重,weight的初始化大小要和节点的值相差不大,建议在(-2,2)之间取随机数!千万注意不可过大,也不可过小!
4. 原始数据的归一化操作,由于输入数据过大导致溢出
5. 增加训练次数或者调节步长
6. 增加动量因子,由于本文的训练的data比较小,没有出现局部最小情况,此处提供一种思路!
总结
- 递归下降法,真的理解到了数学有多么重要!
- 探索精神,出现实验结果不对的时候,心态不能乱,要想解密一样的玩的心态!心态真的太重要了!
- 之后将不断基于简单的BP神经网络来改进!
参考网址
- http://blog.csdn.net/google19890102/article/details/32723459
- http://www.cnblogs.com/Finley/p/5946000.html
阅读全文
0 0
- Python实现三层BP神经网络
- 三层 BP 神经网络 matlab 实现
- BP神经网络Python实现
- BP神经网络python实现
- 训练三层BP神经网络实现异或运算 Python 代码实现
- BP神经网络的Python实现
- 用python实现BP神经网络
- BP神经网络python简单实现
- BP神经网络python简单实现
- BP神经网络的Python实现
- bp神经网络的python实现
- 神经网络之BP神经网络(Python实现)
- 模式识别:三层BP神经网络的设计与实现
- 模式识别八--三层BP神经网络的设计与实现
- 用js实现一个三层的bp神经网络
- Python使用numpy实现BP神经网络
- BP神经网络的Python简单实现
- python利用矩阵计算实现BP神经网络
- 寻向所志大学生
- Java 集合框架-Map
- Java概述
- SSH与SSM学习之hibernate11——hibernate的二级缓存
- Web29. jQuery选择器 Dom操作 样式 事件处理 动画
- Python实现三层BP神经网络
- Google浏览器首页被劫持
- ContextMap详解
- 我是如何从桌面维护转到Linux系统运维
- Web30.jQuery与Ajax
- 一个重要的http协议头标:X-Forwarded-For
- 调用函数返回值
- Spring之IOC
- Nginx Rewrite规则与使用介绍和技巧实例