码迷,mamicode.com
首页 > 其他好文 > 详细

利用手写数字识别项目详细描述BP深度神经网络的权重学习

时间:2019-06-12 21:11:15      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:简单的   com   任务   app   存储   min   方式   并且   content   

本篇文章是针对学习《深度学习入门》(由日本学者斋藤康毅所著陆羽杰所译)中关于神经网络的学习一章来总结归纳一些收获。


 

本书提出神经网络的学习分四步:1.mini-batch 2.计算梯度 3.更新参数 4.重复前面步骤

1.从识别手写数字项目学习神经网络

所谓“从数据中学习”是指 可以由数据#自动决定权重#。当解决较为简单的问题,使用简单的神经网络时,网络里的权重可以人为的手动设置,去提取输入信息中特定的特征。但是在实际的神经网络中,参数往往是成千上万,甚至可能上亿的权重,这个时候人为手动设置是不可能完成的任务。因此,当可以由数据去学习得到网络的权重,是一件计算机智能的事。本篇文章通过实现手写数字识别的实际项目来分析神经网络的学习。 有效的利用数据有两种方案:1.先从图像中提取特征量,再用机器学习技术学习这些特征量的模式。 第一步:从图像中提取特征量的方法是人为的设置图像特征提取的滤波器,常用的滤波器有:SIFT,SURF和HOG等,使用这些滤波器将图像数据转换为向量,最后对转换后的向量使用机器学习中的SVM,KNN等分类器进行学习。这个方案的缺点是就是特征提取的滤波器需要人为手动设计,针对不同的问题就要设置不同的滤波器。2.神经网络(深度学习)的方法就是完全用数据去训练权重,找出相应的特征,做出判断。如图1在书上的P83页的图4-2有一个更加简洁直观地比较了两种方案的区别。神经网络的优点是对所有的问题都可以用同样的流程来解决。

 

2.手写数字识别

 2.1 训练集

识别手写数字是用来学习神经网络的一个经典的项目。手写数字识别的#标准库#是MINIST手写数字数据集

MINST数据集在LeCun的博客上(http://yann.lecun.com/exdb/mnist/)。在本书中用代码的方式从网站上下载了数据集,并且将所下载到的数据转为字典型数据统一存在了.pkl文件中。这一操作需要用到很多Python的库,以及存储数据时的格式操作时,可以看出对编程有较高的要求。

 

利用手写数字识别项目详细描述BP深度神经网络的权重学习

标签:简单的   com   任务   app   存储   min   方式   并且   content   

原文地址:https://www.cnblogs.com/happy-sir/p/10878101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!