为什么要有深度学习?系统学习清单

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

01

回顾

利用36天的时间,系统地梳理了机器学习(ML)的一些经典算法,从算法思想,到算法实例,有的包括源码实现,有的包括实战分析,大致分类如下:

机器学习的概念总结

1机器学习:不得不知的概念(1)

2机器学习:不得不知的概念(2)

3机器学习:不得不知的概念(3)

线性回归

4回归分析简介

5最小二乘法:背后的假设和原理(前篇)

6最小二乘法原理(后):梯度下降求权重参数

7机器学习之线性回归:算法兑现为python代码

8机器学习之线性回归:OLS 无偏估计及相关性python分析

9机器学习线性回归:谈谈多重共线性问题及相关算法

10机器学习:说说L1和L2正则化

逻辑回归

11机器学习逻辑回归:原理解析及代码实现

12机器学习逻辑回归:算法兑现为python代码

决策树算法

13机器学习:谈谈决策树

14机器学习:对决策树剪枝

15机器学习决策树:sklearn分类和回归

16机器学习决策树:提炼出分类器算法

35决策树回归:不掉包源码实现

贝叶斯算法

17机器学习:说说贝叶斯分类

18朴素贝叶斯分类器:例子解释

19朴素贝叶斯分类:拉普拉斯修正

20机器学习:单词拼写纠正器python实现

21机器学习:半朴素贝叶斯分类器

22机器学习期望最大算法:实例解析

高斯混合聚类模型(GMM)

23机器学习高斯混合模型(前篇):聚类原理分析

24机器学习高斯混合模型(中篇):聚类求解

25机器学习高斯混合模型(后篇):GMM求解完整代码实现

26高斯混合模型:不掉包实现多维数据聚类分析

27高斯混合模型:GMM求解完整代码实现

数据降维算法

28数据降维处理:背景及基本概念

29数据降维处理:PCA之特征值分解法例子解析

30数据降维处理:PCA之奇异值分解(SVD)介绍

31数据降维处理:特征值分解和奇异值分解的实战分析

集成算法

36机器学习:提升树(boosting tree)算法的思想

32机器学习集成算法:XGBoost思想

33机器学习集成算法:XGBoost模型构造

34机器学习:XGBoost 安装及实战应用

有了对这些 ML 算法的基本认识后,下一站,探索下深度学习吧,首先要清楚,深度学习也是机器学习的一个子领域,并且在近几年变得非常火热。

那么,第一问题,为什么深度学习变得如此火热? 上面说的这些ML算法还有用吗?

02

为什么要有深度学习?

深度学习可以用更多的数据或是更好的算法来提高学习算法的结果。对于某些应用而言,深度学习在大数据集上的表现比其他机器学习(ML)方法都要好。

性能表现方面,深度学习探索了神经网络的概率空间,与其他工具相比,深度学习算法更适合无监督和半监督学习,更适合强特征提取,也更适合于图像识别领域、文本识别领域、语音识别领域等。

为什么深度学习会如此被热衷,因为它不以任何损失函数为特征,也不会被特定公式所限制,这使得该算法对科学家们更为开放,它能以比其他传统机器学习工具更好的方式进行使用和扩展。

1960年后,线性分类器的局限性开始被认识到,它只能将输入空间切分为非常简单的区域,即由一个超平面分离的两个半区间。对于像图像和语音识别这类问题,需要输入-输出函数对输入的非相关变化(位置的变化,方向变化,光照变化,语音的高音和低音变化)不敏感,而对类别敏感(如白狼和萨摩耶犬)。

在像素级别,两张不同的姿态,不同环境下萨摩耶犬的照片会有极大的不同,而同样的背景,同样位置的萨摩耶犬和白狼的照片可能非常相似。对直接操作图像像素的线性分类器或者其他“浅层”分类器可能不容易区分后两张照片,同时将前两张放在同一类。这就是为什么浅层分类器需要好的特征提取器—有选择地产生图片中重要类别信息的表示,同时对无关信息如姿态具有不变性—-以解决选择无关的困境。

为了让分类器更强大,可以使用广义非线性特征以及核函数方法。但广义特征(如高斯核函数)泛华能力差,常规的方法是手动设计好的特征提取器,而这需要大量工程经验和领域专家才能完成。如果好的特征可以使用通过学习的方法自动学习得到,上述问题就可以避免,这是深度学习的核心优势。

由此可见,深度学习有它强于传统的机器学习算法的地方,并且有时候只能用深度学习借助训练神经网络来完成某些识别任务。

03

深度学习系统学习清单

这本书的组织思路如下:

1. Perceptrons 感知器,这是最简单的神经网络

2. Sigmoid neurons

3.The architecture of neural networks

4A simple network to classify handwritten digits 手写字分类

对手写字分类任务中,涉及到深度学习非常重要的参数求解方法:梯度下降学习权重参数;书中给出了源码实现。

5 反向传播算法(BP)

6 提升神经元学习的方法

7 可视化地证明:神经网络可以表示任何函数

8 为什么深度神经网络难以训练,包括常见的梯度消失问题。

再分析总结几套常用的神经网络:

DNN,深度神经网路。

特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。

RNN,循环神经网络

训练样本输入是连续的序列,且序列的长短不一,比如基于时间的序列:一段连续的语音,一段连续的手写文字。这些序列比较长,且长度不一,比较难直接的拆分成一个个独立的样本来通过DNN/CNN进行训练。

但是 RNN有致命的缺陷,只能知道记忆短暂的信息,对于距离相距很远的信息记忆能力差。比如我们做完型填空时,可能需要整合全文来填某一个句子,比如 I grew up in China….此处省略一万字.....I speak fluent _____ . 如果 RNN 只知道邻近的几个单词,可能它会知道此处需要填写一门语言,但至于应该填什么,就需要找到更远前的信息,直到 找到 China 才行。这种需要寻找相距很远信息的情况,实际上非常常见。

此时需要,LSTM,它是 RNN 的一种特殊形式,它被广泛应用在语音识别、语言建模、机器翻译、为图像起标题。

CNN,卷积神经网络

是深度学习算法在图像处理领域的一个应用。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

以上总结的是一本深度学习电子书的提纲,几套深度学习的神经网络模型,DNN,RNN,LSTM,CNN ,接下来,将会对它们进行详细总结。

参考文献

http://neuralnetworksanddeeplearning.com

http://ufldl.stanford.edu/tutorial/

请记住:每天一小步,日积月累一大步!

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171215G0YK2N00?refer=cp_1026

扫码关注云+社区