内容简介:如果你已经读过了传统机器学习的书,相信你下一步就会对神经网络和深度学习产生兴趣,但却往往苦于不知道该从何入手。在这里我推荐给大家一本神经网络的好书给大家,对于没有任何数学基础的同学可以完全看懂整个数学证明原理,并且能实现出神经网络模型,而且本书非常轻薄,读起来就像故事一样:
如果你已经读过了传统机器学习的书,相信你下一步就会对神经网络和深度学习产生兴趣,但却往往苦于不知道该从何入手。
在这里我推荐给大家一本神经网络的好书给大家,对于没有任何数学基础的同学可以完全看懂整个数学证明原理,并且能实现出神经网络模型,而且本书非常轻薄,读起来就像故事一样:
《 Python神经网络编程 》。
推荐学习方法
先读附录,把其中的微积分知识学习一下,然后再开始从头学习。
对于书中所有的证明,务必争取看懂,不要跳过。
唯一绊住我的地方就是梯度下降的公式推导,其中有一处Σ求和公式略带误导性,其关键在于微分公式中唯一的变量只有Wij(特指某一个权重),而其他的权重都是已知量,因此可以消解。
实现关键
神经网络的训练分为3步:
- 信号前馈:根据权重矩阵,从输入层开始,逐层传递信号到输出层。
- 误差反向传播:先计算输出层的误差,然后根据权重矩阵,反向逐层传播误差到各个层的神经元。
- 梯度下降调整权重:因为计算出了所有层的每个神经元的误差,因此根据误差与权重之间的微分公式,可以根据误差值和当前权重算出此时的斜率,进而对权重进行一定的下降调整,这就是学习权重的过程,其目的就是误差最小化,当然这里需要通过学习率调节学习的速度。
我的实践
我的神经网络代码在这里: https://github.com/owenliang/NeuralNetwork
对于官方测试集的识别率接近97%左右,但对我个人手写的识别率要差很多,相信只有更高级的卷积模型才能进一步改善这个问题。
我另外改造了一版支持多个隐藏层的神经网络模型,但是发现增加更多的隐层并没有带来性能上升,反而精度下降了,据说这是因为模型过于复杂,而数据量太小并且过于简单,而这个更多隐层的神经网络应该就叫做深度神经网络了吧。
总结
读完这本书的感受是,理解神经网络一定要理解其数学原理,而如何把复杂的数学原理讲简单,这就是这本书的价值,可见作者水平之高。
博主无私的分享着知识,你愿意送他一顿热腾腾的早餐吗?
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP 6与MySQL 5基础教程
(美)厄尔曼 / 陈宗斌 等 / 人民邮电出版社 / 2008-11-1 / 65.00元
本书是一部经典的入门级著作,采用基于任务的方法来讲授PHP和MySQL,使用大量图片指导读者深入学习语言,并向读者展示了如何构造动态Web站点。书中用简洁、直观的步骤和讲解提供了学习任务和概念的最快方式。通过学习本书,读者可以快速、高效地掌握PHP和MySQL,成为一位构建Web站点的高手。 本书适合初中级Web应用开发和设计人员阅读。 本书是讲述PHP和MySQL技术的畅销书,以深入......一起来看看 《PHP 6与MySQL 5基础教程》 这本书的介绍吧!