IT学习站-137zw.com

more +资源更新Forums

more +随机图赏Gallery

价值3600元的中文网第八期php cms 视频 完整版视频课程价值3600元的中文网第八期php cms 视频 完整版视频课程
10节课让你成为滚床单高手  强烈推荐 屌丝的福音10节课让你成为滚床单高手 强烈推荐 屌丝的福音
价值5980元高端JAVA架构课程 精英培训计划视频教程 java架构价值5980元高端JAVA架构课程 精英培训计划视频教程 java架构
最新流出的传智博学谷黑马python5.0课程最新流出的传智博学谷黑马python5.0课程
价值19000元的小码哥大神班IOS五期不加密版本教程价值19000元的小码哥大神班IOS五期不加密版本教程
从网络基础概念到校园网整体规划组建系列视频教程(共40集)从网络基础概念到校园网整体规划组建系列视频教程(共40集)

python-卷积神经网络全面理解-tensorflow实现手写数字识别

python-卷积神经网络全面理解-tensorflow实现手写数字识别

[复制链接]
普通人物怨 | 显示全部楼层 发表于: 2019-11-14 11:20:00
普通人物怨 发表于: 2019-11-14 11:20:00 | 显示全部楼层 |阅读模式
查看: 82|回复: 0

你还没有注册,无法下载本站所有资源,请立即注册!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    首先,关于神经网络,其实是一个结合很多知识点的一个算法,关于cnn(卷积神经网络)大家需要了解:
          下面给出我之前总结的这两个知识点(基于吴恩达的机器学习)
          代价函数:
          代价函数
          代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均
          具体的了解请看我的博客:
          https://blog.csdn.net/qq_40594554/article/details/97389489

          梯度下降:
          梯度下降一般讲解采用单变量梯度下降,但是一般在程序中常用多变量梯度下降
          单变量梯度下降大家可以了解最小二乘法,多变量梯度下降也是基于上述知识点演化而来,具体讲解可以看我的博客:
          https://blog.csdn.net/qq_40594554/article/details/97391667

    在这里,我们以上述知识点为基础,了解深度神经网络里面的卷积神经网络:
    大家可以看我这两篇了解神经网络相关知识点
    神经网络:https://blog.csdn.net/qq_40594554/article/details/97399935
    神经网络入门:https://blog.csdn.net/qq_40594554/article/details/97617154

    神经网络的一个大致流程如下:
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190907225809353-1754286969


    例如:我们有三个数据:x1,x2,x3,我们将其输入到我们的这个神经网络中,我们称L1为输入层,L2为隐藏层,L3为输出层
        我们用通俗的话来描述:即为我们的输入层L1输入3个数据,通过3个神经单元a1,a2,a3,其中x1,x2,x3在a1中占有不同的权值,x1,x2,x3在a2中又占有不同的权值,x1,x2,x3在a3中占有不同的权值
        通过代价函数求出最优解,即为最优权值,最后得出a1,a2,a3的值,然后a1,a2,a3再通过L3的这个神经单元,通过权值计算得出输出,这就是一个最简单的神经网络,如果不是很理解,大家可以看我上面的博客。
    下面我用tensorflow实现普通的神经网络:即为通过几层隐藏层来进行权值确定。

    上述中的相关神经元计算,类似于一个黒夹子,计算过程是不显示的我们最后知道的是结果,在传统神经网络计算中,一般计算的神经元是非常多的,所以传统神经网络无法满足,容易出现计算量大,但是准确率低的可能性,于是出现了卷积神经网络!
    
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190909092327652-1149581876




    
    上图中,我们需要计算的权值非常多,就需要大量的样本训练,我们模型的构建,需要根据数据的大小来建立,防止过拟合,以及欠拟合。
    因此,cnn算法通过感受野和权值共享减少了神经网络需要训练的参数个数,如图(大家可以百度了解这是什么意思):
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190909092439886-777200937



    其实卷积神经网络很容易理解:
      他的最简单相关步骤为:积卷层-池化层-积卷层-池化层-....-全连接层
      卷积层:数据通过卷积核,按照卷积核的步长,一步一步扫描,得出一个新的特征图
      池化层:通过卷积核扫描后得出的特征图,进行池化,实际上池化层也是加强特征图的一个手段

    卷积层(建议大家可以百度卷积核是什么):  
    
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190909093028704-1776360369


    池化层(常用的有最大值池化,平均池化):
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190909093126009-163009497



    实际上通过上述手段主要是来获取和增强特征
    至于全连接层,即为通过池化后的结果,通过激励函数后,排除不需要的特征图,然后输出:
    我这里给出一个关于手写数字识别的源码:
        很容易第一次就可以得出很高的准确率:
python-卷积神经网络全面理解-tensorflow实现手写数字识别  技术博客 1785247-20190909093627169-87903931


    希望大家能够看懂cnn算法的流程(讲的比较多,当然CNN算法不可能一篇文章就学会了,我这里仅仅给大家讲了CNN算法的一个流程)。我之前的相关博文也在上面,可能对大家的理解有帮助,大家可以查看。
                 个人水平有限,目前还不能实现手写CNN算法以及数学公式,后面会继续学习,当然,对于机器学习,神经网络推荐大家先从视频学习开始,例如:吴恩达的机器学习。
                  最后希望大家学有所成!
  


  


    


来源:http://www.137zw.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
137zw.com IT学习站致力于免费提供精品的java技术教程和python技术教程,CCNA书籍/资料/CCNP书籍/资料教程/CCIE书籍/资料/H3C学习/认证/一级建造师考试/微软学习/认证/包括基础教程和高级实战教程,同时也提供分享网站源码下载和互联网相关一系列的技术教程,我们想做的就是让知识分享更有价值!(IT学习站官方唯一域名地址:www.137zw.com 请谨防假冒网站!)本站所有资源全部收集于互联网或网友自行分享,分享目的仅供大家学习与参考,如无意中侵犯您的合法权益,请联系本站管理员进行删除处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

浙ICP备19022368号-1|Archiver|手机版|IT学习站-137zw.com

GMT+8, 2020-7-12 00:40 , Processed in 0.181045 second(s), 33 queries .

快速回复 返回顶部 返回列表