没有合适的资源?快使用搜索试试~ 我知道了~
BP神经网络实现手写数字输入识别python
54 下载量 46 浏览量
2021-01-20
11:53:50
上传
评论 10
收藏 317KB PDF 举报
温馨提示
BP神经网络实现手写数字输入识别python 代码可以在下面链接中下载: https://gitee.com/cloud_maple/python_machine_learning.git 训练集和测试集都可以在下面链接中下载: 链接:https://pan.baidu.com/s/1KQuhyM843fEIyeG-87T1QQ 提取码:ln6s 首先,我们需要引入下面两个库 import numpy import scipy.special 然后创建一个神经网络类,类里有三个函数:初始化函数、训练函数和查询函数。 初始化函数 1、引入输入层、隐藏层、输出层的节点个数、学习率这些参数 2、用
资源推荐
资源详情
资源评论
BP神经网络实现手写数字输入识别神经网络实现手写数字输入识别python
BP神经网络实现手写数字输入识别神经网络实现手写数字输入识别python
代码可以在下面链接中下载:
https://gitee.com/cloud_maple/python_machine_learning.git
训练集和测试集都可以在下面链接中下载:
链接:https://pan.baidu.com/s/1KQuhyM843fEIyeG-87T1QQ
提取码:ln6s
首先,我们需要引入下面两个库
import numpy
import scipy.special
然后创建一个神经网络类,类里有三个函数:初始化函数、训练函数和查询函数。
初始化函数初始化函数
1、引入输入层、隐藏层、输出层的节点个数、学习率这些参数
2、用numpy.random.normal生成初始权重矩阵
(ps1: numpy.random.normal (loc, scale, size) 的作用是生成高斯分布的概率密度随机数,loc是此概率分布的均值(对应着整个分布的中心是此概率分布的均值(对应着整个分布的中心centre)),scale是此概率分布的标准差是此概率分布的标准差
(对应于分布的宽度,(对应于分布的宽度,scale越大越矮胖,越大越矮胖,scale越小,越瘦高)越小,越瘦高), size是输出的是输出的shape)
(ps2:pow(x,y) 方法返回方法返回 x 的的 y 次方的值次方的值)
3、定义激活函数,这里用的激活函数是sigmoid函数,下图就是lambda x: scipy.special.expit(x)
训练函数训练函数
1、numpy.array (object,ndmin) 作用是生成一个数组,ndmin决定生成的最小维数,例子:
>>> np.array([1, 2, 3], ndmin=2)
array([[1, 2, 3]]
2、numpy.dot(x,y)在这里是二维数组的情况下,得到的是两数组的矩阵积,顺序是矩阵x乘以矩阵y
3、更新权重的原理
查询函数查询函数
目的就是为了将测试集数据导入已经训练好的神经网络,查询最终的输出,然后与测试集的标签比对,计算准确率。
代码如下:代码如下:
class NeuralNetwork:
def __init__(self,input_nodes,hidden_nodes,output_nodes,learning_rate):
#初始化输入层、隐藏层、输出层的节点个数、学习率
self.inodes=input_nodes
self.hnodes=hidden_nodes
self.onodes=output_nodes
#定义输入层与隐藏层之间的初始权重参数
self.wih=numpy.random.normal(0.0,pow(self.hnodes,-0.5),(self.hnodes,self.inodes))
#定义隐藏层与输出层之间的初始权重参数
self.who=numpy.random.normal(0.0,pow(self.onodes,-0.5),(self.onodes,self.hnodes))
self.lr=learning_rate
#定义激活函数sigmoid
self.activation_function=lambda x: scipy.special.expit(x)
pass
资源评论
weixin_38694355
- 粉丝: 3
- 资源: 964
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ltrace-0.7.91-16.el7.x64-86.rpm.tar.gz
- machinelearning-机器学习开发资源
- jeewx-boot-活动资源
- cocos-cocos资源
- Remote WOL MicroPython-硬件开发资源
- com_c++-蓝桥杯资源
- gotdx-golang资源
- audittest-javaEE框架项目资源
- xrkmonitor-c/c++源码资源
- 创创猫java多商户商城-商家入驻如淘宝京东-java开发项目资源
- kis-flow-活动资源
- Eazax-Kit Cocos 游戏开发工具包-cocos资源
- 小象智慧门店-连锁门店收银POS+门店小程序商城-硬件开发资源
- Machine Learning from Scratch-scratch资源
- gotdx-golang资源
- project-春节主题资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功