深度学习 _ 总结篇

前篇总结

  1. 深度学习 _ 简介及相关概念
    http://blog.csdn.net/xieyan0811/article/details/78401473

  2. 深度学习 _ 工具
    http://blog.csdn.net/xieyan0811/article/details/78411882

  3. 深度学习 _BP 神经网络
    http://blog.csdn.net/xieyan0811/article/details/78425453

  4. 深度学习 _ 卷积神经网络 CNN
    http://blog.csdn.net/xieyan0811/article/details/78438329

  5. 深度学习 _ 循环神经网络 RNN 与 LSTM
    http://blog.csdn.net/xieyan0811/article/details/78462982

朋友反馈说,看不懂 CNN 和 RNN 篇.文章确实因为篇幅原因,有点跳步了.不过我觉得主要原因还是跳过了前面的基础部分.我们很多时候喜欢直击重点,跳过过程,但是有的过程确实跳不过去. 数据挖掘,机器学习,机器视觉,语言处理这些背后有很多数学概率基础,且不止于此,它和大多数程序员之前接触的写应用,网络编程,数据库,配系统,学习编程语言,把人家的库拿来搭一搭…

不一样,那些即使不懂原理,也能照猫画虎做个七八成.在这里,我们用 Python/R,它们把技术细节都解决了,这里拼的不是工作量,拼的是算法,是对数据的理解.参加个比赛或者技术选型,人家用啥模型,咱也用啥模型,即使只调参,也需要理解数据和掌握数学工具.不明白原理,还是没法跟人家拼? 我个人觉得,这个很难速成.对于程序员来说,唯一的捷径可能是从代码入手,在做的过程中,逐步把数学和原理补上.程序员对代码直觉相对好一点,有时候我看不懂图和公式,但我看得懂代码.

谈谈我对深度学习的理解

深度学习可以理解成一层一层地抽象提取隐含的特征,最后求解问题.一开始我觉得这和浅层学习中的算法集成差不多,那个也可以一层一层搭起来的. 随着学习的深入,我觉得它确实有明显的优势,比如: 第一:它引入的激活函数可以解决非线性问题. 第二:数据从 x 流向 y,而误差从 y 逐层流回 x,整个网络中所有权值都在不断调整,不是某一层调完就不动了,浅层集成大多数时候是单向的,没这灵活. 第三:它相对自动化,第个层间具体传输的内容,不用人手动指定和对接.

神经网络解决的问题

一般把有监督学习分为三种(概念引自《机器学习》Peter

Flach 著):几何模型(如线性拟合),概率模型(如贝叶斯网络),逻辑模型(如决策树).具体算法可能是其中一种或多种的结合. 看看神经网络与这三种模型的关系: 第一:几何模型,神经网络层与层间的连续就是线性变换,然后利用误差调整参数,这个过程就是线性拟合. 第二:概率模型,神经网络本来就是个概率类模型.它网络中各个权重表示的就是它对最终结果的影响,预测出的值也可以是结果的概率. 第三:逻辑模型,逻辑模型主要是:与,或,非,异或这些运算的组合,最常看到激活函数的例子就是处理异或运算.我们也常在池化中见到与或运算.因此,它也是神经网络可以实现的. 还有一些无监督学习,在 CNN 的卷积和 DropOut 中也实现了一部分. 那么是不是神经网络就可以代替所有算法了呢?杀鸡需要牛刀吗?异或还需要训练吗?确实很多算法都可以迂回地改用神经网络实现.但是还要考虑运算量和复杂度的问题.正如人脑处理简单问题和复杂问题也有不同的路径:有的是查表,有的是套路,有的是具体问题具体分析.神经网络也不是一种算法,而是一类算法的集合.好坏还是要看具体场景.写算法就像搭积木,你中有我,我中有你,不好讲哪块好,哪块不好.

关于鹦鹉学舌

机器学习现阶段还是以模仿为主,即人们常说的鹦鹉学舌.真正的强人工智能,自主的思考,至少需要有常识(大量地采样和组织数据),才能识别出非常态的"特性",有了这些才能组合,理解,发现因果.再深入到确定目标,以及目标分解等等.这条链上缺失的东西有还是很多很多,目前以学术研究为主.想了解更多,建议阅读马文明斯基的《心智社会》.

推荐

关于深度学习的书也不太多,有一些从具体工具入手,如 Caffe,TensorFlow 等等.卖 得最好的是《深度学习》Ian Goodfellow,

Yoshua Bengio, Aaron

Courville 著("花书"),目前在当当的计算机网络类图书排名第一,也可见现在"深度学习"有多热门.虽然字不大,还很厚,不过去掉前边的数学知识,后面的附录,也还好,并且复杂的公式不多,讲得也很细,确实是良心之作.

总结

机器学习只是人工智能的一部分,光靠它恐怕实现不了强人工智能.不过随着技术地进步越来越多相关技术也更多地溶入和结合起来,我们也不妨把它作为人工智能的切入点. 本篇是本次深度学习系列的最后一篇,接下来的文章还会围绕机器学习展开,包括经典算法的代码实例,常用工具,Kaggle 比赛介绍等等,可能会穿插地写. 在这个过程中我们尽量不调库自己写算法,加入真实的应用场景,并且和原理结合起来,不过顺序可能会从兴趣出发,并非由浅入深.呵呵,我尽量写吧,欢迎继续关注…

技术文章定时推送
请关注公众号:算法学习分享 [

](http://www.cnblogs.com/52machinelearning/p/5821591.html)