为什么要有深度学习?系统学习清单
2017-12-15 00:00
357 查看
请点击上面公众号,免费订阅。 《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,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)方法都要好。
性能表现方面,深度学习探索了神经网络的概率空间,与其他工具相比,深度学习算法更适合无监督和半监督学习,更适合强特征提取,也更适合于图像识别领域、文本识别领域、语音识别领域等。
为什么深度学习会如此被热衷,因为它不以任何损失函数为特征,也不会被特定公式所限制,这使得该算法对科学家们更为开放,它能以比其他传统机器学习工具更好的方式进行使用和扩展。
进一步地说,引用 《Deep Learning Book MIT》(免费电子书:http://www.deeplearningbook.org/)这本书上的某个观点,或许能进一步给出为什么要从机器学习到深度学习,
1960年后,线性分类器的局限性开始被认识到,它只能将输入空间切分为非常简单的区域,即由一个超平面分离的两个半区间。对于像图像和语音识别这类问题,需要输入-输出函数对输入的非相关变化(位置的变化,方向变化,光照变化,语音的高音和低音变化)不敏感,而对类别敏感(如白狼和萨摩耶犬)。
在像素级别,两张不同的姿态,不同环境下萨摩耶犬的照片会有极大的不同,而同样的背景,同样位置的萨摩耶犬和白狼的照片可能非常相似。对直接操作图像像素的线性分类器或者其他“浅层”分类器可能不容易区分后两张照片,同时将前两张放在同一类。这就是为什么浅层分类器需要好的特征提取器—有选择地产生图片中重要类别信息的表示,同时对无关信息如姿态具有不变性—-以解决选择无关的困境。
为了让分类器更强大,可以使用广义非线性特征以及核函数方法。但广义特征(如高斯核函数)泛华能力差,常规的方法是手动设计好的特征提取器,而这需要大量工程经验和领域专家才能完成。如果好的特征可以使用通过学习的方法自动学习得到,上述问题就可以避免,这是深度学习的核心优势。
由此可见,深度学习有它强于传统的机器学习算法的地方,并且有时候只能用深度学习借助训练神经网络来完成某些识别任务。
03—深度学习系统学习清单有了对ML算法的基本认识后,有助于对深度学习的快速理解,根据 playground.tensorflow.org 给出的一本免费深度学习电子书,再结合相关的paper,可以快速了解其中的理论
beca
和算法,包括广泛使用的几套神经网络模型,先对这些内容做一个提纲,接下来再有重点的总结。
这本书的组织思路如下:1. Perceptrons 感知器,这是最简单的神经网络
2. Sigmoid neurons
3. The architecture of neural networks
4 A simple network to classify handwritten digits 手写字分类
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/ http://www.deeplearningbook.org/
请记住:每天一小步,日积月累一大步!
《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,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)方法都要好。
性能表现方面,深度学习探索了神经网络的概率空间,与其他工具相比,深度学习算法更适合无监督和半监督学习,更适合强特征提取,也更适合于图像识别领域、文本识别领域、语音识别领域等。
为什么深度学习会如此被热衷,因为它不以任何损失函数为特征,也不会被特定公式所限制,这使得该算法对科学家们更为开放,它能以比其他传统机器学习工具更好的方式进行使用和扩展。
进一步地说,引用 《Deep Learning Book MIT》(免费电子书:http://www.deeplearningbook.org/)这本书上的某个观点,或许能进一步给出为什么要从机器学习到深度学习,
1960年后,线性分类器的局限性开始被认识到,它只能将输入空间切分为非常简单的区域,即由一个超平面分离的两个半区间。对于像图像和语音识别这类问题,需要输入-输出函数对输入的非相关变化(位置的变化,方向变化,光照变化,语音的高音和低音变化)不敏感,而对类别敏感(如白狼和萨摩耶犬)。
在像素级别,两张不同的姿态,不同环境下萨摩耶犬的照片会有极大的不同,而同样的背景,同样位置的萨摩耶犬和白狼的照片可能非常相似。对直接操作图像像素的线性分类器或者其他“浅层”分类器可能不容易区分后两张照片,同时将前两张放在同一类。这就是为什么浅层分类器需要好的特征提取器—有选择地产生图片中重要类别信息的表示,同时对无关信息如姿态具有不变性—-以解决选择无关的困境。
为了让分类器更强大,可以使用广义非线性特征以及核函数方法。但广义特征(如高斯核函数)泛华能力差,常规的方法是手动设计好的特征提取器,而这需要大量工程经验和领域专家才能完成。如果好的特征可以使用通过学习的方法自动学习得到,上述问题就可以避免,这是深度学习的核心优势。
由此可见,深度学习有它强于传统的机器学习算法的地方,并且有时候只能用深度学习借助训练神经网络来完成某些识别任务。
03—深度学习系统学习清单有了对ML算法的基本认识后,有助于对深度学习的快速理解,根据 playground.tensorflow.org 给出的一本免费深度学习电子书,再结合相关的paper,可以快速了解其中的理论
beca
和算法,包括广泛使用的几套神经网络模型,先对这些内容做一个提纲,接下来再有重点的总结。
这本书的组织思路如下:1. Perceptrons 感知器,这是最简单的神经网络
2. Sigmoid neurons
3. The architecture of neural networks
4 A 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/ http://www.deeplearningbook.org/
请记住:每天一小步,日积月累一大步!
《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!
相关文章推荐
- 微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART1——为什么要使用Unity? (转)
- 为什么计算机专业的学生要学习Linux系统?
- 系统学习深度学习(七)--主流深度学习开源框架对比
- 深度学习概论:为什么深度学习会兴起?
- 1.3 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-4)-- 为什么深度学习会兴起?
- 系统学习深度学习(一) --深度学习与神经网络关系
- 深度学习2:为什么深度学习要使用numpy库
- 系统学习深度学习(四十四)--Mask R-CNN
- 系统学习深度学习(四) --CNN原理,推导及实现源码分析
- 吴恩达(Andrew Ng)深度学习工程师笔记 - 第一门课-神经网络和深度学习-第一周深度学习概论-第四节:为什么深度学习会兴起?
- 计算机系统概述-为什么要学习计算机系统基础
- 学习“大型网站系统架构”读书清单
- 为什么IT运维工程师要学习Linux系统
- Android屏幕适配全攻略(最权威的官方适配指导)Android屏幕适配出现的原因 在我们学习如何进行屏幕适配之前,我们需要先了解下为什么Android需要进行屏幕适配。 由于Android系统
- 为什么要学习Linux系统?
- 为什么要学习Linux系统?
- 系统学习深度学习(四十一)--PVANet
- 为什么IT运维工程师要学习Linux系统