笔记作者:OUC_Shizue
参考课程:复旦大学 邱锡鹏 《神经网络与深度学习》
第一章:机器学习概论
一、机器学习的定义
1、直接定义
机器学习≈计算机自动构建映射函数
Machine Learning 是指从有限的观测数据中学习出具有一般性的规律,并利用这些规律对未知数据进行预测的方法
2、为什么要机器学习
现实世界问题复杂,通过人工总结规律构建映射较为困难;因此我们将其转化为提供数据样本让计算机自动总结规律,构建映射。
3、如何构建输入输出函数
从大量数据中学习规律——function;
即x(representation)->y(label),如果x,y服从分布P(x,y),则从分布中取样作为train data,接着构造假设空间F,即一系列f(x)构成的函数族,从中选出最能符合train data映射关系的f’(x),但此时f’(x)为仅在train data上得到的拟合函数,对该data之外的数据预测效果未知,机器学习的目的就在于让该f’(x)对一切x均有较好预测效果。
![Mechine Learning 机器学习笔记_第1张图片](http://img.e-com-net.com/image/info8/8ae959e733be45a3ab37b44bb7d45458.jpg)
4、表示学习介绍
(1)局部表示
one-hot:一维表示,依赖与知识库、规则
例如:
- A:[1,0,0,0]
- B:[0,1,0,0]
- C:[0,0,1,0]
- D:[0,0,0,1]
K个元素可以表示K个语义
(2)分布式表示
- 多维度表示,例如RGB表示所有颜色,k个元素表示2的k次方个语义。
- 特点:压缩、低维、稠密向量
- 可将one-hot向量嵌入到空间从而转化为分布式表示。
二、机器学习的类型
1、监督学习
(1)回归问题 Regression
(2)分类问题 Classification
2、无监督学习
(1)聚类 Clustering
给一些x让计算机自动分类,让类内样本相似,类间样本各不相似
(2)降维 Dimensionality Reduction
将平面数据投影到二维空间,让相似样本距离较近,便于可视化
(3)密度估计 Density Estimation
给定一个空间,将空间内任意一点的密度函数p(x)估计出来
3、强化学习
通过与环境进行交互来学习,例如AlphaGo在下棋过程中以输赢来作为指标
![Mechine Learning 机器学习笔记_第2张图片](http://img.e-com-net.com/image/info8/75aada513a3f4b8a9797109182380e6d.jpg)
三、机器学习的要素
- 数据:连续用回归,离散用分类,只给x用无监督;同时需要抽取特征,自动抽取则为表示学习
- 模型:给定假设空间,从中选择最优模型,对x预测y达到最优效果
- 学习准则:通过一个准则判断学习效果的好坏
- 优化算法:给定一个准则后对模型进行优化
四、泛化与正则化
1、泛化误差
- 经验风险-期望风险=泛化误差
- 若经验风险过大,期望风险过小,则泛化误差较大,发生过度拟合;因此机器学习的目标为经验风险低,同时泛化误差低
![Mechine Learning 机器学习笔记_第3张图片](http://img.e-com-net.com/image/info8/c5220d1d6ce74e0bbf322b7b437338ae.jpg)
2、优化与正则化的目标
(1)优化
选出一个模型使得经验风险最小,但此时模型往往过拟合,即泛化误差较大
(2)正则化
降低模型复杂度,减小泛化误差
3、正则化 Regularization
(1)定义
所有损害优化的方法都是正则化
(2)方法
- 增加优化约束:L1/L2约束、数据增强(构造一些新样本,干扰优化)
- 干扰优化过程:权重衰减、随机梯度下降、提前停止(使用一个验证集Validation Dataset来测试每次迭代的参数在验证集上是否为最优,如果在验证集上的错误率不再下降则停止迭代)
五、线性回归
1、回归 Regression
![Mechine Learning 机器学习笔记_第4张图片](http://img.e-com-net.com/image/info8/7a4659b9c5e5488da69c1fcd7f511aa7.jpg)
2、线性回归 Linear Regression
![Mechine Learning 机器学习笔记_第5张图片](http://img.e-com-net.com/image/info8/8e403774f484409cbee921b53009eb14.jpg)
⊕表示拼接,即在增广矩阵末尾加上该数
3、经验风险最小化 Empirical Risk Minimization,ERM
![Mechine Learning 机器学习笔记_第6张图片](http://img.e-com-net.com/image/info8/c4ce368c01c549059c32a841350bbe5c.jpg)
![Mechine Learning 机器学习笔记_第7张图片](http://img.e-com-net.com/image/info8/efa7e66d499c4ac3a98b0ce5c1fd2283.jpg)
4、矩阵微积分部分知识
![Mechine Learning 机器学习笔记_第8张图片](http://img.e-com-net.com/image/info8/24732ac819d24c3c869c0d746d804d55.jpg)
5、结构风险最小化 Structure Risk Minimization,SRM
- 对应概率中的岭回归 Ridge Regression
- 当特征之间存在共线性时,X*X转置不可逆,因此通过一个正则化项对w进行约束
![Mechine Learning 机器学习笔记_第9张图片](http://img.e-com-net.com/image/info8/27f059ac8cb3416d89233dfc994ca6f6.jpg)
6、概率角度看线性回归
![Mechine Learning 机器学习笔记_第10张图片](http://img.e-com-net.com/image/info8/5ff3212a0ae34f8abac629bda5e97d11.jpg)
(1)似然函数 Likelihood
![在这里插入图片描述](http://img.e-com-net.com/image/info8/4d3e3fe4edce4ea189d2c40b1e05635b.jpg)
(2)线性回归中的似然函数
![Mechine Learning 机器学习笔记_第11张图片](http://img.e-com-net.com/image/info8/fb8d07ae26ab44dc92d883ac29ee2696.jpg)
(5)最大似然估计 Maximum Likelihood Estimate,MLE
- 目标为在给定每一x时,得到标签y的似然最大,即样本中所有似然的连乘最大。
- 在机器学习中似然常常与指数相关,因此引入log简化计算;例如每个概率为0.01,如果有100个样本则为0.01的100次方,联合概率过小,会产生计算误差
- 引入log的似然函数也称对数似然函数
- 最大似然估计的解与最小二乘一致,因此可以理解为最大似然估计与经验风险最小化两种方法等价
![Mechine Learning 机器学习笔记_第12张图片](http://img.e-com-net.com/image/info8/a4fa0ac65c4e476996e3acac2e0ca629.jpg)
(6)贝叶斯视角
贝叶斯学习
![Mechine Learning 机器学习笔记_第13张图片](http://img.e-com-net.com/image/info8/0948429d3fa641eda3486f016fe58ca2.jpg)
贝叶斯公式
即条件概率公式的变形,使得p(x|y)与p(y|x)能够相互转化
![Mechine Learning 机器学习笔记_第14张图片](http://img.e-com-net.com/image/info8/997f0eeb74cf4a07937853cd1fa85e9d.jpg)
后验(posterior)、似然(likelihood)、先验(prior)
p(w|x)∝p(x|w)p(w) 后验∝似然*先验
贝叶斯估计 Bayesian Estimation
![Mechine Learning 机器学习笔记_第15张图片](http://img.e-com-net.com/image/info8/9aed845e86544cc7b25a92197444db17.jpg)
代入得
![Mechine Learning 机器学习笔记_第16张图片](http://img.e-com-net.com/image/info8/4a58238f86764750a865269b3f28acd0.jpg)
最大后验估计 Maximum A Posteriori Estimation,MAP
![Mechine Learning 机器学习笔记_第17张图片](http://img.e-com-net.com/image/info8/df13f14b37134f3795475418429f926e.jpg)
求解得到下式,其与结构风险最小化对应
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c6e8a5d94aea495d89747f641a475eb3.jpg)
7、四种准则总结
平方误差与概率一一对应,上面理解为对最大值进行限制,下面理解为对w服从以0为中心的高斯分布
平方误差:
概率:
六、多项式回归
1、曲线拟合 Curve Fitting
![在这里插入图片描述](http://img.e-com-net.com/image/info8/290f032bbddc4364b6331ad2757173c4.jpg)
2、平方误差 Sum-of-Squares
![Mechine Learning 机器学习笔记_第18张图片](http://img.e-com-net.com/image/info8/fa9501dc333b4c62a5bb958b9c8b6e0c.jpg)
3、如何选择多项式次数 Degree
实质上为模型选择问题(Model Selection Problem),如果次数太低则欠拟合,太高则过拟合。例如下图中曲线次数选择为9次,穿过了所有训练样本,但在x发生细小波动时结果便产生巨大波动,因为展开次数过大,较小项需要很大系数才能对图像产生影响,因此函数图像边缘出现较大极值。
![Mechine Learning 机器学习笔记_第19张图片](http://img.e-com-net.com/image/info8/46651563677848979515029a9a16e473.jpg)
4、控制过拟合:正则化 Regularization
(1)惩罚大系数
由于存在政策化项,因此此处R(w)为结构风险
![Mechine Learning 机器学习笔记_第20张图片](http://img.e-com-net.com/image/info8/11cb3e8c447a404eb523e1ba02f17540.jpg)
引入λ=-18以后例题中曲线拟合效果,可见相较于引入超参数之前,过拟合现象得到了较好控制
![Mechine Learning 机器学习笔记_第21张图片](http://img.e-com-net.com/image/info8/b05dcf29e26d45b4869d3b3d506cdaa7.jpg)
(2)增加train data数量
此处为大数定律的体现,当样本数量无限大的时候经验风险就趋向与期望风险
![Mechine Learning 机器学习笔记_第22张图片](http://img.e-com-net.com/image/info8/99b4901f68cd48059ffa8cdf0f662663.jpg)
七、模型选择与“偏差-方差”分解
1、模型选择
- 拟合能力强的模型一般复杂度会比较高,容易过拟合
- 如果限制模型复杂度,降低拟合能力,可能会欠拟合
2、如何选择模型
- 模型越复杂,训练错误越低
- 不能根据训练错误最低来选择模型
- 在选择模型时,测试集不可见
3、引入验证集 Validation Set/Development Set
(1)将训练集分为两部分
- 训练集 Training Set
- 验证集 Validation Set
(2)选择模型
- 在训练集上训练不同的模型
- 选择在验证集上错误最小的模型
4、数据稀疏时进行交叉验证 Cross-Validation
- 将训练集分为S组,每次使用S-1组作为训练集,剩下一组作为验证集
- 取验证集上平均性能最好的一组
![Mechine Learning 机器学习笔记_第23张图片](http://img.e-com-net.com/image/info8/0f504cb924714a52b5f90ae3944027fd.jpg)
5、模型选择的准则
(1)一些准则
- 赤池信息量准则 Akaike Information Criterion,AIC
- 贝叶斯信息准则 Bayesian Information Criterion,BIC
(2)模型复杂度与期望风险之间的关系
- 偏差-方差分解 Bias-Variance Decomposition
6、偏差-方差分解
(1)期望风险
![Mechine Learning 机器学习笔记_第24张图片](http://img.e-com-net.com/image/info8/25a83e9c18ab4d5b894180a4e3f135e7.jpg)
(2)机器学习能学到的最优模型
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2a94e1507d4c47fda3718cb37be8a8a6.jpg)
(3)期望风险分解
![Mechine Learning 机器学习笔记_第25张图片](http://img.e-com-net.com/image/info8/f449c9ae823940ada6cba44f5870180d.jpg)
![Mechine Learning 机器学习笔记_第26张图片](http://img.e-com-net.com/image/info8/cd1d9a5f076945f68f2d61503cc3acc3.jpg)
(4)具体方法
![Mechine Learning 机器学习笔记_第27张图片](http://img.e-com-net.com/image/info8/387bebf0c450425fa8e05d34668c8253.jpg)
- bias.x:训练得到的所有模型的期望与最优模型期望的差值的平方,即该模型再不同数据集上得到的平均性能与最优性能的差值
- variance.x:在不同数据集上得到的期望与在所有数据集上的平均期望的差值,即该模型对每个数据集上的性能与平均性能之间的差值
(5)期望错误分解
![Mechine Learning 机器学习笔记_第28张图片](http://img.e-com-net.com/image/info8/a78a31efca9f4668a1bf412972e5b15f.jpg)
(6)偏差-方差评估模型好坏
每个蓝点表示学习得到的一个模型,越靠近中心效果越好
- a表示理想模型
- b模型整体能力不够,欠拟合
- c模型整体能力不错,但整体较为分散,过拟合;一般通过模型集成来提高模型能力
- d模型为失败模型,避免出现
![Mechine Learning 机器学习笔记_第29张图片](http://img.e-com-net.com/image/info8/0642a198d9fc4e71a94afa68a04d54fc.jpg)
(7)bias、variance、模型复杂度三者关系
注意最优模型并不位于bias与variance交点
![Mechine Learning 机器学习笔记_第30张图片](http://img.e-com-net.com/image/info8/6623fa4fe1df4db3b019653dfa9d511d.jpg)
八、常用定理
1、没有免费午餐定理 No Free Lunch Theorem,NFL
对于基于迭代的最优算法,不存在某种算法对所有问题都有效
2、丑小鸭定理 Ugly Ducking Theorem
丑小鸭与天鹅之间的区别和两只天鹅之间的区别一样大
3、奥卡姆剃刀原理 Occam’s Razor
如无需要,勿增实体;即可以用简单模型不用复杂模型
4、归纳偏置 Inductive Bias
很多学习算法经常会对学习的问题做一些假设,这些假设就成为归纳偏执
- 最近邻分类器中,假设在特征空间中,一个小的局部区域中的大部分样本都同属一类
- 在朴素贝叶斯分类器中,我们会假设每个特征的条件概率是相互独立的
- 归纳偏置在贝叶斯学习中也常成为先验(Prior)
5、PAC学习
(1)定义
PAC: Probably Approximately Correct,根据大数定律,当训练集大小趋近无穷大时,泛化误差趋向于0,即经验风险趋近于期望风险
![Mechine Learning 机器学习笔记_第31张图片](http://img.e-com-net.com/image/info8/02c5a50e38cb4a85a65067981c3fd545.jpg)
(2)样本复杂度计算
![Mechine Learning 机器学习笔记_第32张图片](http://img.e-com-net.com/image/info8/e1eadb5fd3b44270b76dc4407178c5b5.jpg)
第二章:线性模型
一、分类问题示例
![Mechine Learning 机器学习笔记_第33张图片](http://img.e-com-net.com/image/info8/28710052bacd433abcdc43194e223ad5.jpg)
![Mechine Learning 机器学习笔记_第34张图片](http://img.e-com-net.com/image/info8/4c3979773ed045ad9c4b7d4857439ddb.jpg)
二、线性回归模型
1、线性回归模型
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6a625a8af33f409ca04ae83b470b890a.jpg)
2、线性分类模型
- 由于x连续,而y为离散的label,因此可以在线性f外套一阈值函数,使其离散化。结果表示可以用0/1,+1/-1。
- 此处的f(x)也称为判别函数 Discriminant Function,g(x)为决策函数
- g(f(x;w))为离散模型,但目的是为了在面上画出分类线(或高维内的分类面),因此称为线性分类模型
- 线性分类模型=线性判别函数+线性决策边界
![Mechine Learning 机器学习笔记_第35张图片](http://img.e-com-net.com/image/info8/ac8a876652aa47d0a801503055214d55.jpg)
![Mechine Learning 机器学习笔记_第36张图片](http://img.e-com-net.com/image/info8/b7d8902fe08f4ef6aa063207664ab8b4.jpg)
(1)二分类问题 Binary Classification
学习准则/损失函数:0-1损失函数,即分类正确为1,分类错误为0,但由于该函数无法求导,因此无法对其进行优化
![Mechine Learning 机器学习笔记_第37张图片](http://img.e-com-net.com/image/info8/0c5278a7bf73437487b6d9b26381b405.jpg)
(2)多分类问题 Multi-class Classification
一个超平面无法分解空间,因此需要多条线/面来分割空间;常见模型如下
![Mechine Learning 机器学习笔记_第38张图片](http://img.e-com-net.com/image/info8/6225d1d7f5a84b98873f9c3cb54259a8.jpg)
- a模型有多少个类就要建立多少个分类器,产生对应数量的决策面,接着投票;但是会存在问号所示的模糊区域,该类区域不属于任意一个类
- b模型两两建立分类器,即有C个类需要建立C(C-1)/2个分类器,但在C较大时所需要的分类器数量较多
- c模型对a进行改进,a模型为投票机制,因此会存在模糊区域;而c模型为按得分分类,每个点都属于其中一个类,简单理解为每个点属于其距离最近的类,从而消除了模糊区域
![Mechine Learning 机器学习笔记_第39张图片](http://img.e-com-net.com/image/info8/813bd46dcc594c65a9ee995f523b216b.jpg)
三、交叉熵与对数似然
1、信息论 Information Theory
![Mechine Learning 机器学习笔记_第40张图片](http://img.e-com-net.com/image/info8/69427fb6747e48b19a7e75d859ac856a.jpg)
2、自信息 Self Information
一个随机事件所包含的信息量。对于一个随机变量X,当X=_x_时的自信息_I(x)定义为_I(x)=-log p(x),自信息具有可加性
3、熵 Entropy
(1)熵的信息论定义
信息论中,熵用来衡量一个随机事件的不确定性,例如填词游戏中:applicatio_ 熵小于 appl_,一个事件一定发生则其信息量为0
- 熵越高,随机变量的信息越多
- 熵越低,随机变量的信息越少
(2)熵的数学定义
随机变量X的自信息的数学期望称为熵,分布越均衡熵越大
![Mechine Learning 机器学习笔记_第41张图片](http://img.e-com-net.com/image/info8/6db8020f271e402e8a277523a3c63f70.jpg)
(3)熵编码 Entropy Encoding
在对分布_p(y)_的符号进行编码时,熵_H§_也是理论上最优的平均编码长度,这种编码方式称为熵编码.
例如对一篇文档中的{a,b,c}进行编码,可知其服从某一分布,可根据其自信息设置其码字长度:a的长度为_-log(a),b的长度为-log(b),c的长度为-log©,平均码字长度为_H§=-p(a)log(a)-p(b)log(b)-p©log©
(4)交叉熵 Cross Entropy
![Mechine Learning 机器学习笔记_第42张图片](http://img.e-com-net.com/image/info8/99fa41b04dae43829a63b0a525f33e25.jpg)
可以利用交叉熵来衡量两个分布的差异
(5)KL散度 Kullback-Leibler Divergence
![Mechine Learning 机器学习笔记_第43张图片](http://img.e-com-net.com/image/info8/1600acc0bb4c48c88e4ff598467a4b73.jpg)
KL散度也可用于衡量两个分布的差异,差异越小KL散度越小,反之越大
4、交叉熵与KL散度应用到机器学习
可以用于衡量真是分布与预测分布之间的差异
![Mechine Learning 机器学习笔记_第44张图片](http://img.e-com-net.com/image/info8/c6113b77f932406fbadab59f299f527d.jpg)
由于优化的部分为Pθ,即预测分布,与真实分布Pr无关,因此上式可简化为
![Mechine Learning 机器学习笔记_第45张图片](http://img.e-com-net.com/image/info8/227c1824cf4845a39b79315899e64cec.jpg)
因此最小化两个分布的差异,即最小化两个分布的交叉熵;而式中的Pr为one-hot向量形式,因此除_y*项之外均为0,因此可写为_min KL=-logpθ(y*|x),即负对数似然,因此优化目标转化为使对数似然最大化,即最大对数似然估计
四、Logistic回归 Logistic Regression
1、模型
也称为对数几率回归,简称对率回归,模型如下,其中1为增广向量:
![Mechine Learning 机器学习笔记_第46张图片](http://img.e-com-net.com/image/info8/9aca75c3ee004524b3e3e77cefd00e88.jpg)
2、分类问题
![Mechine Learning 机器学习笔记_第47张图片](http://img.e-com-net.com/image/info8/df62699459134155ab9036df46f18655.jpg)
3、Logistic函数
此类函数也称为Sigmoid函数,其单增且反函数单增,两端饱和,因此常用作神经网络的激活函数,即上述函数g
![Mechine Learning 机器学习笔记_第48张图片](http://img.e-com-net.com/image/info8/7d276c3a5e2142038b06093f0f0b0358.jpg)
4、Logistic回归
![Mechine Learning 机器学习笔记_第49张图片](http://img.e-com-net.com/image/info8/e7718dd337a040f3856dcabd5eabb238.jpg)
5、损失函数(学习准则)
由于Logistic回归函数不可导,因此需要将损失函数转化到交叉熵模块,从而进行优化。
(1)定义
![Mechine Learning 机器学习笔记_第50张图片](http://img.e-com-net.com/image/info8/20dcc83b52dc49669a3ad5351ad63013.jpg)
(2)梯度下降
![Mechine Learning 机器学习笔记_第51张图片](http://img.e-com-net.com/image/info8/142020d8a6834090bb1f456cb06c1b0c.jpg)
五、Softmax回归
Softmax回归可以理解为Logistic回归在多分类问题上的扩展
1、多分类问题 Multi-class Classification
![Mechine Learning 机器学习笔记_第52张图片](http://img.e-com-net.com/image/info8/ebf16c290baf4550ac8c41fc445e0535.jpg)
2、Softmax函数
![Mechine Learning 机器学习笔记_第53张图片](http://img.e-com-net.com/image/info8/2c115f4069db43559474efafe3ed8477.jpg)
例如:
![Mechine Learning 机器学习笔记_第54张图片](http://img.e-com-net.com/image/info8/c73dda3b09864e4d9f674fac25e8c865.jpg)
3、Softmax回归
![Mechine Learning 机器学习笔记_第55张图片](http://img.e-com-net.com/image/info8/d0bf030e1c2549afb08239e2122285ef.jpg)
4、交叉熵损失
![Mechine Learning 机器学习笔记_第56张图片](http://img.e-com-net.com/image/info8/5ec5ae1a3aba4a72990cf9d1a259ddef.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/36851e25b4d74f67afd8a2f13f2cc631.jpg)
例子:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/0a9ff5f8a7014322b4d204ac12f288fc.jpg)
![Mechine Learning 机器学习笔记_第57张图片](http://img.e-com-net.com/image/info8/302769de3bed4019b5bca3b71a588cb6.jpg)
5、学习准则:交叉熵
![Mechine Learning 机器学习笔记_第58张图片](http://img.e-com-net.com/image/info8/c8c67a137fdc43b08234e760bc58a358.jpg)
![Mechine Learning 机器学习笔记_第59张图片](http://img.e-com-net.com/image/info8/01b514bdfaa24ee18bd3d39eb3975d0f.jpg)
六、感知器
1、模型
![Mechine Learning 机器学习笔记_第60张图片](http://img.e-com-net.com/image/info8/bee44655d24b472ead87fa9fee0c61f3.jpg)
![Mechine Learning 机器学习笔记_第61张图片](http://img.e-com-net.com/image/info8/03e620c286ac442daa140e25be402f4b.jpg)
在感知器中y(n)取+1/-1,当y(n)=+1时,如果上式小于0,这说明w*Tx(n)<0,即预测结果为-1,说明预测错误,反之如果上式>0成立则说明预测正确
2、学习算法
![Mechine Learning 机器学习笔记_第62张图片](http://img.e-com-net.com/image/info8/0f4ae42bdf504afb8653ef7305a27517.jpg)
每次更新w以后ywTx的值较原值增大,每次更新一个样本,直到所有样本分类正确
3、学习准则
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6990b6a6763d4a3ba6ad9385f034f41f.jpg)
当分类正确时,梯度为0,分类错误时,梯度为-yx
4、感知器的学习过程
![Mechine Learning 机器学习笔记_第63张图片](http://img.e-com-net.com/image/info8/0d05282abdf1445baba4082202e4a98d.jpg)
每次循环需要对样本重新随机排序,否则靠后的样本对模型的影响会较大,需要进行正则化增大随机性;迭代次数也可通过设置验证集,当模型在验证集上的错误率不再下降时停止迭代。
下图为感知器参数学习的更新迭代过程,分界面为WTx=0:
![Mechine Learning 机器学习笔记_第64张图片](http://img.e-com-net.com/image/info8/e55d5d6166d64a538d74c4b40bbfe392.jpg)
5、收敛性
![Mechine Learning 机器学习笔记_第65张图片](http://img.e-com-net.com/image/info8/2f5bec2c19f349dfa3ab83406f8df64e.jpg)
七、支持向量机 Support Vector Machine
1、最大间隔
![Mechine Learning 机器学习笔记_第66张图片](http://img.e-com-net.com/image/info8/1dacc7a69d364411a73c6102d3c9c7de.jpg)
2、支持向量机 SVM
![Mechine Learning 机器学习笔记_第67张图片](http://img.e-com-net.com/image/info8/67541f0b20e44395b57a586b82cf15a5.jpg)
![Mechine Learning 机器学习笔记_第68张图片](http://img.e-com-net.com/image/info8/430ed66d326f4312b3ff04e194bf451f.jpg)
![Mechine Learning 机器学习笔记_第69张图片](http://img.e-com-net.com/image/info8/cb4cf612a0114088968105f491cdd18f.jpg)
3、软间隔 Soft Margin
![Mechine Learning 机器学习笔记_第70张图片](http://img.e-com-net.com/image/info8/5f27b8f4d5994192acfbfb91b3ffdff3.jpg)
![Mechine Learning 机器学习笔记_第71张图片](http://img.e-com-net.com/image/info8/9b9e7abe29014b81be6039359375178d.jpg)
如果ξ=0则样本线性可分,0<ξ<1说明模型可以分对,但存在部分样本不可分;ξ>1则说明会出现分类错误;因此软间隔SVM的目标为ξ最小
4、带软间隔的支持向量机
![Mechine Learning 机器学习笔记_第72张图片](http://img.e-com-net.com/image/info8/69fc929f09524e1d84088c7b9d3f27c5.jpg)
可以理解为max部分为经验风险,后项为正则化项,该式也称为Hinge损失函数,感知器损失如下:
![Mechine Learning 机器学习笔记_第73张图片](http://img.e-com-net.com/image/info8/e230f356dfa840e7913bb98e7670bff6.jpg)
对比可见感知器内的点只要分对就不做惩罚,而SVM中即使分对但margin<1仍然要做惩罚
5、SVM优化
- 约束优化问题,可用拉格朗日优化/KKT算法,可将约束优化转化为非约束优化
- SMO算法
- 梯度下降法
6、SVM优势
可以和核方法(Kernel Method)相结合
八、线性分类模型总结
1、不同损失函数的对比
![Mechine Learning 机器学习笔记_第74张图片](http://img.e-com-net.com/image/info8/ecd32515abbf41db8080e87d3ddf72da.jpg)
(1)平方损失
从图中可见平方损失在x=1之后上升,说明预测正确依然进行了惩罚,因此平方损失不适合用于分类任务
![Mechine Learning 机器学习笔记_第75张图片](http://img.e-com-net.com/image/info8/cdc1185d7df740f7b73c34391d75bf07.jpg)
(2)Logistic回归
随着f(x)的增大对应损失越来越小,符合客观认知,但在f(x)=1之后仍然进行了惩罚,对于分类任务是没有必要的,因此需要再次优化
![Mechine Learning 机器学习笔记_第76张图片](http://img.e-com-net.com/image/info8/9b404c90aee548f7bec9d0b298059ee8.jpg)
(3)感知器损失
只要小于0就惩罚,因此适合用感知器进行分类
![在这里插入图片描述](http://img.e-com-net.com/image/info8/8b0f505e261c4ee0bcb2c4a79a96e379.jpg)
(4)软间隔SVM损失/Hinge损失
![Mechine Learning 机器学习笔记_第77张图片](http://img.e-com-net.com/image/info8/d95486546d6b4e4a82e859fc618ecbe2.jpg)
直观理解为感知器向右平移了一个单位,这一个单位用于宽容边界值,小于边界值才进行惩罚
2、小结
![Mechine Learning 机器学习笔记_第78张图片](http://img.e-com-net.com/image/info8/ed9e2ac7aaf64421a89ab81a98ce6fde.jpg)
3、线性不可分:XOR问题的解决
(1)问题描述
![Mechine Learning 机器学习笔记_第79张图片](http://img.e-com-net.com/image/info8/f0adebf1b8214df4aed423f423948b5d.jpg)
(2)解决方法:使用“基函数”的广义线性模型
例如使用图中一个点作为锚点,然后构造φ(x)计算每个点距离锚点的距离,将两部分点在新的空间构造,从而在新的平面内线性可分
![Mechine Learning 机器学习笔记_第80张图片](http://img.e-com-net.com/image/info8/178793d7a4944ded8eff2d9885b61f02.jpg)
第三章:前馈神经网络(全连接神经网络) FNN
一、神经元
1、激活函数性质
- 连续并可导(允许少数点上不可导)的非线性函数:可导的激活函数可以直接利用数值优化的方法来学习网络参数
- 激活函数及其导数要尽可能简单,有利于提高网络计算的效率
- 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率及稳定性
- 总体上升,部分区域可以有波动
2、常用的激活函数
![Mechine Learning 机器学习笔记_第81张图片](http://img.e-com-net.com/image/info8/d021b9e3d08d493d9b7d0882eb36ba05.jpg)
(1)S型函数
![Mechine Learning 机器学习笔记_第82张图片](http://img.e-com-net.com/image/info8/8a53bac0ae084c8abe6f61716853a416.jpg)
- 相互转化:tanh(x)=2σ(2x)-1
- 都是饱和函数
- Tanh函数是零中心化的,而Logistic函数的输出恒大于0
- 非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移(bias shift),并进一步使得梯度下降的收敛速度变慢;消除方法为对数据进行归一化;或者加上一个偏置σ(x)+b
(2)斜坡函数
Relu函数
当前机器学习激活函数首选Relu函数,但是存在死亡Relu问题(Dying Relu Problem),由于ReLU函数左侧为0,因此会出现所有输出都为0的绝对抑制状态,改进方法为使用LeakyReLU(x)函数,即在函数左边让其等于一个很小的参数,从而有了一个小的梯度,保证参数可以更新
![Mechine Learning 机器学习笔记_第83张图片](http://img.e-com-net.com/image/info8/b65dd6038a944a8e90448cb6573683ee.jpg)
LeakyReLU函数
![Mechine Learning 机器学习笔记_第84张图片](http://img.e-com-net.com/image/info8/d1cf96fcd8da4b64989b5a7f4ea8ba78.jpg)
如绿线所示,在x<0时也有一个较小梯度,可以让模型慢慢更新
近似的零中心化非线性函数
![Mechine Learning 机器学习笔记_第85张图片](http://img.e-com-net.com/image/info8/0ec09dda0b5641898bcd1c12e54327ce.jpg)
Rectifier函数的平滑版本
用曲线去逼近ReLU函数,但是计算相较于ReLU函数复杂,首选仍然是ReLU
Softplus(x)=log(1+exp(x))
(3)复合函数
(1)Swish函数:一种自门控(Self-Gated)激活函数
可以理解为Logistic函数与斜坡函数复合
![Mechine Learning 机器学习笔记_第86张图片](http://img.e-com-net.com/image/info8/fec2acd1eb5a4f3b820bb2c6be5fa3c0.jpg)
(2)高斯误差线性单元 Gaussian Error Linear Unit,GELU
![Mechine Learning 机器学习笔记_第87张图片](http://img.e-com-net.com/image/info8/eacc354083cd4bac83361e230c20e730.jpg)
高斯分布的累积分布函数也是S形函数,与swish函数类似;但由与高斯分布没有解析解,因此无法直接得到GELU函数,但可以通过Logistic函数与Tanh函数来近似。
![Mechine Learning 机器学习笔记_第88张图片](http://img.e-com-net.com/image/info8/9dd8b00c1ce94f2b9c2b116a711494f8.jpg)
3、几种激活函数总结
![Mechine Learning 机器学习笔记_第89张图片](http://img.e-com-net.com/image/info8/a8190c869a584c67bf1bf65414524d06.jpg)
二、神经网络
1、神经网络三个组成
(1)神经元的激活规则
主要指神经元输入到输出之间的映射关系,一般为非线性函数。
(2)网络的拓扑结构
不同神经元之间的连接关系
(3)学习算法
通过训练数据来学习神经网络的参数
2、连接主义模型
![Mechine Learning 机器学习笔记_第90张图片](http://img.e-com-net.com/image/info8/e79b4a5f443b4bf2b351510a1cffcb1e.jpg)
三、前馈神经网络
1、基础概念
- 各神经元分别属于不同的层,层内无连接
- 相邻两层之间的神经元全部两两连接
- 整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示
神经网络中输入层为第0层,后续以次为1、2、3…层,其中L M f为超参数,W b为参数,z a为活性值
![Mechine Learning 机器学习笔记_第91张图片](http://img.e-com-net.com/image/info8/428ffc25e22142d7af882b3242e94a84.jpg)
2、信息传递过程
![Mechine Learning 机器学习笔记_第92张图片](http://img.e-com-net.com/image/info8/f9a320fc48c1455a89a96cff4d93a8fe.jpg)
合并后得到:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/7d18336cce7e4cdda4a90c23899f9699.jpg)
前馈计算:
![在这里插入图片描述](http://img.e-com-net.com/image/info8/eb73d56cda5d4a7199bded922cad0438.jpg)
3、通用近似定理
![Mechine Learning 机器学习笔记_第93张图片](http://img.e-com-net.com/image/info8/f7b55693bb664c66a785bda6ff153d43.jpg)
4、应用到机器学习
![Mechine Learning 机器学习笔记_第94张图片](http://img.e-com-net.com/image/info8/0e2c1c809d3044cda0b9868a16285075.jpg)
如果g()为Logistic回归,那么Logistic分类器可看做神经网络的最后一层
5、参数学习
(1)对于多分类问题
![Mechine Learning 机器学习笔记_第95张图片](http://img.e-com-net.com/image/info8/5ad1883ceef041ad878370b36a9555d3.jpg)
(2)结构化风险函数
![Mechine Learning 机器学习笔记_第96张图片](http://img.e-com-net.com/image/info8/9b43314be40a40e89f7830e6965f1902.jpg)
其中正则化项可以选择Frobenius范数
![Mechine Learning 机器学习笔记_第97张图片](http://img.e-com-net.com/image/info8/c6b21f57f27041ef964bdc630ab80f4a.jpg)
![Mechine Learning 机器学习笔记_第98张图片](http://img.e-com-net.com/image/info8/3b5cdf438ba543339ff64d6ac10bd228.jpg)
6、梯度计算方法
神经网络是一个复杂的复合函数,有以下求解方法:
- 链式法则求解
- 反向传播算法(根据前馈网络的特点而设计的高效方法)
- 自动微分 Automatic Differentiation,AD
四、反向传播算法
1、定义
反向传播(Backpropagation,BP)是误差反向传播的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。 该方法对网络中所有权重计算损失函数的梯度。 这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。
2、算法实现
![Mechine Learning 机器学习笔记_第99张图片](http://img.e-com-net.com/image/info8/378cdc9414d046ae82e747924ba80338.jpg)
3、实例
(1)网络图
![Mechine Learning 机器学习笔记_第100张图片](http://img.e-com-net.com/image/info8/861268c635bd49e2ba5f4088e23a3c6e.jpg)
(2)前馈运算 激活函数为sigmoid
![Mechine Learning 机器学习笔记_第101张图片](http://img.e-com-net.com/image/info8/22de133183e04944b89639480532f880.jpg)
(3)反向传播
![Mechine Learning 机器学习笔记_第102张图片](http://img.e-com-net.com/image/info8/972638b25d4540fcb08c722af04270c1.jpg)
(4)参数更新
![Mechine Learning 机器学习笔记_第103张图片](http://img.e-com-net.com/image/info8/4edc5b3841f2406c9ffd2d83a3d47d95.jpg)
五、计算图与自动微分
1、定义
![Mechine Learning 机器学习笔记_第104张图片](http://img.e-com-net.com/image/info8/0dd38a1a7ef647eaaaa811fdd16c8457.jpg)
2、实例
针对上图有:
![Mechine Learning 机器学习笔记_第105张图片](http://img.e-com-net.com/image/info8/17731942b57241a58b5bb2e4206fddaf.jpg)
![Mechine Learning 机器学习笔记_第106张图片](http://img.e-com-net.com/image/info8/7567c6609ad14452ae677bf83e353f2e.jpg)
当x=1,w=0,b=0时,可以得到:
![Mechine Learning 机器学习笔记_第107张图片](http://img.e-com-net.com/image/info8/11c955d46a824f6cb77dc91f028063d2.jpg)
3、前向模式与反向模式
- 前向模式:传递过程中保存的参数较多,资源消耗可能过大
- 反向模式:与反向传播相同,资源占用较少
4、静态计算图和动态计算图
- 静态计算图是在编译时构建计算图,计算图构建成功之后在运行时不能改变,效率较高,可以在构建时进行优化,并行能力强,但灵活性较差(Theano、TensorFlow)
- 动态计算图在程序运行时动态构建,不容易进行优化,且输入的网络结构不一致时难以进行并行计算,但灵活性较高(DyNet、Chainer、Pytorch)
5、Keras快速搭建神经网络
![Mechine Learning 机器学习笔记_第108张图片](http://img.e-com-net.com/image/info8/b7cc761f135e4d96aaf8b8e8a9d579f3.jpg)
6、深度学习的三个步骤
六、前馈神经网络优化
1、非凸优化问题
局部最优但不是全局最优
![Mechine Learning 机器学习笔记_第109张图片](http://img.e-com-net.com/image/info8/48384fd2fb4147bf9765f3408308d0c8.jpg)
2、梯度消失问题 Vanishing Gradient Problem
例如导数在0~1之间,连乘以后梯度趋近于0,导致梯度消失,当神经网络深度较深时,下层网络的梯度趋近于0,难以更新;因此激活函数的导数最好在1附近,不能太大或过小,故推荐ReLU函数
![Mechine Learning 机器学习笔记_第110张图片](http://img.e-com-net.com/image/info8/3fcbe4653eef4deea72af7e77ef196ea.jpg)
3、优化问题难点
- 非凸优化问题:存在局部最优而非全局最优解,影响迭代
- 梯度消失问题:下层参数比较难调
- 参数过多,影响训练,参数解释起来比较困难
4、优化问题需求
第四章:卷积神经网络 CNN
一、概述
1、卷积神经网络 Convolutional Neural Networks,CNN
- 前馈神经网络的一种
- 受生物学上感受野(Receptive Field)的机制而提出,在视觉神经系统中,一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能激活该神经元
2、CNN的三个结构特性
- 局部连接
- 权重共享,降低参数数量
- 空间或时间上的次采样
二、卷积
1、定义
![Mechine Learning 机器学习笔记_第111张图片](http://img.e-com-net.com/image/info8/be02ab453ca544379a0f5413182811ed.jpg)
w被称为滤波器(filter)或卷积核(convolution kernel)
![Mechine Learning 机器学习笔记_第112张图片](http://img.e-com-net.com/image/info8/e86558cafb1b496dbf7d6519de8556cb.jpg)
如果输入长度为N,滤波器长度为K,则output长度为N-K+1
2、举例
此处选用Filter:[-1,0,1]
![Mechine Learning 机器学习笔记_第113张图片](http://img.e-com-net.com/image/info8/bf87fbb69b4942c8ae95905c7eef84a2.jpg)
3、卷积的作用
(1)近似微分
![Mechine Learning 机器学习笔记_第114张图片](http://img.e-com-net.com/image/info8/6976b9055fbf4dc691edb54e4ca51725.jpg)
同理,当滤波器w=[1,-2,1]时,可以近似信号序列的二阶微分
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2d5ef51ef0c14f29a088100dd6d4d09f.jpg)
(2)低通滤波/高通滤波
![Mechine Learning 机器学习笔记_第115张图片](http://img.e-com-net.com/image/info8/26aee2ec0aeb40dfb214c28c70ace565.jpg)
4、卷积扩展
引入滤波器的滑动步长S和零填充P(Padding)
![Mechine Learning 机器学习笔记_第116张图片](http://img.e-com-net.com/image/info8/ef4b8306794142bfa8588ce5011fdea5.jpg)
5、卷积类型
(1)按输出长度分类
卷积结果按输出长度不同可以分为三类,在早期文献中,卷积一般默认窄卷积,目前文献中一般默认未等宽卷积
- 窄卷积,步长S=1,两端不补零P=0,输出长度为M-K+1
- 宽卷积,S=1,P=K-1,输出长度为M+K-1
- 等宽卷积,S=1,P=(k-1)/2,输出长度M
(2)按维数分类
由于图像模块常用二维卷积,因此特别介绍
![Mechine Learning 机器学习笔记_第117张图片](http://img.e-com-net.com/image/info8/e522146a288f430abcf83a409d7c6ad0.jpg)
6、卷积作为特征抽取器
![Mechine Learning 机器学习笔记_第118张图片](http://img.e-com-net.com/image/info8/7781fda93aaa4d8285e89eb86a718e52.jpg)
三、卷积神经网络
1、用卷积层代替全连接层
![Mechine Learning 机器学习笔记_第119张图片](http://img.e-com-net.com/image/info8/e1adffd834904639b3e8fbb9963ccf28.jpg)
2、互相关
- 计算卷积需要进行卷积核翻转(但由于w是可学习的参数,因此翻转是非必要的)
- 卷积操作的目的:提取特征
![Mechine Learning 机器学习笔记_第120张图片](http://img.e-com-net.com/image/info8/c7881c7960dc40e882f0d6b5f9f7d023.jpg)
3、多卷积核
(1)多卷积核目的
将卷积核看做是特征提取器,引入多卷积核可以增强卷积层的能力
(2)以两维为例
特征映射(Feature Map):图像经过卷积后得到的特征
卷积层:输入:D个特征映射M×N×D
输出:P个特征映射M’×N’×P
4、卷积层的映射关系
![Mechine Learning 机器学习笔记_第121张图片](http://img.e-com-net.com/image/info8/8a875dcc8002450db7ef93bbed73b79a.jpg)
5、卷积层
![Mechine Learning 机器学习笔记_第122张图片](http://img.e-com-net.com/image/info8/1c26beb3cefe494f81961b42e86816eb.jpg)
6、汇聚层 Pooling Layers
![Mechine Learning 机器学习笔记_第123张图片](http://img.e-com-net.com/image/info8/23121563eb904b7ebb6c996d27cdfb32.jpg)
7、卷积网络结构
![Mechine Learning 机器学习笔记_第124张图片](http://img.e-com-net.com/image/info8/ea549a39831346b881d23cc75f281f6c.jpg)
典型结构:
四、其他卷积类型
1、空洞卷积
(1)如何增加输出单元的感受野
- 增加卷积核的大小
- 增加层数
- 在卷积之前进行汇聚操作
(2)空洞卷积
通过给卷积核插入“空洞”来变相增加其大小
![Mechine Learning 机器学习笔记_第125张图片](http://img.e-com-net.com/image/info8/a7f8630bc3f24808988ed8fdc85e69b5.jpg)
2、转置卷积/微步卷积
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2579d3912e4947e3ac3ea695d4cca81d.jpg)
五、典型的卷积神经网络
1、LeNet-5
![Mechine Learning 机器学习笔记_第126张图片](http://img.e-com-net.com/image/info8/20563085c81f43219228ed86e71d73a5.jpg)
2、Large Scale Visual Recognition Challenge中优秀模型
![Mechine Learning 机器学习笔记_第127张图片](http://img.e-com-net.com/image/info8/bf12c48b90f24b268d2f609e61eb2bd7.jpg)
2015为ResNet
3、AlexNet
![Mechine Learning 机器学习笔记_第128张图片](http://img.e-com-net.com/image/info8/0c983c88655b4f848b287ade5cf234bf.jpg)
4、Inception网络
![Mechine Learning 机器学习笔记_第129张图片](http://img.e-com-net.com/image/info8/4bbf4d30784842baad862524911e276a.jpg)
(1)Inception模块v1
穷举各类卷积再堆叠,大大提高得到的特征丰富程度
![Mechine Learning 机器学习笔记_第130张图片](http://img.e-com-net.com/image/info8/ee8818f2441844428225da04efa4b7b1.jpg)
(2)Inception模块v3
![Mechine Learning 机器学习笔记_第131张图片](http://img.e-com-net.com/image/info8/caec1774f65844c2b4c0cbf218440cd3.jpg)
5、残差网络 Residual Network,ResNet
(1)概览
![Mechine Learning 机器学习笔记_第132张图片](http://img.e-com-net.com/image/info8/e79c4ff022f84b68aa01f89c171b8e2d.jpg)
(2)定义
![在这里插入图片描述](http://img.e-com-net.com/image/info8/315c483579f94b1080a95655c1ce0988.jpg)
(3)残差单元
![Mechine Learning 机器学习笔记_第133张图片](http://img.e-com-net.com/image/info8/acfe8755846b4fd285bf47a5901e4b9e.jpg)
(4)残差应用的意义
残差的连接,或者说直连边是深度堆叠必不可少的技术,其使得梯度dh(x)/dx=1+df(x,θ)/dx,由于有1的存在,因此链式法则连乘之后不会出现梯度消失的现象,故可以大量堆叠
六、卷积神经网络的应用
1、AlphaGo
2、目标检测 Object Detection
3、像素级图像分割 RCNN
![Mechine Learning 机器学习笔记_第134张图片](http://img.e-com-net.com/image/info8/613c85d6ff6b423fae6debe5bbe6702c.jpg)
4、光学识别 OCR
![Mechine Learning 机器学习笔记_第135张图片](http://img.e-com-net.com/image/info8/e53504beb72c4f38b1a0b64f003c4adf.jpg)
七、卷积应用到文本
1、Ngram特征与卷积
![Mechine Learning 机器学习笔记_第136张图片](http://img.e-com-net.com/image/info8/a90f578277b84f1d87b32c483b46ad72.jpg)
2、基于卷积模型的句子表示
通过查表将单词编程向量
![Mechine Learning 机器学习笔记_第137张图片](http://img.e-com-net.com/image/info8/b8d2b9597adf48c39d0621496d672dd3.jpg)
![Mechine Learning 机器学习笔记_第138张图片](http://img.e-com-net.com/image/info8/7ba6a99746e947cda0a202eadf8241f5.jpg)
第五章:循环神经网络
一、给前馈神经网络增加记忆力
1、前馈网络特点 FNN
- 相邻两层之间存在单向连接,层内无连接
- 构成一个有向简单图
- 输入和输出的维数是固定的,不能任意改变
- (全连接前馈网络)无法处理变长序列数据
2、有限状态自动机 Finite Automata
![Mechine Learning 机器学习笔记_第139张图片](http://img.e-com-net.com/image/info8/e2a36d82db694b19b23134ad62e155a8.jpg)
3、图灵机
![Mechine Learning 机器学习笔记_第140张图片](http://img.e-com-net.com/image/info8/a905a911c1da4f878e4a891c50f2ac3b.jpg)
4、时延神经网络 Time Delay Neural Network,TDNN
![Mechine Learning 机器学习笔记_第141张图片](http://img.e-com-net.com/image/info8/38be972cd482409f90f1990596d1997c.jpg)
![Mechine Learning 机器学习笔记_第142张图片](http://img.e-com-net.com/image/info8/cd6be5bd86a244bcbd438bb52fe38870.jpg)
5、自回归模型 Autoregressive Model,AR
![Mechine Learning 机器学习笔记_第143张图片](http://img.e-com-net.com/image/info8/001dc9b66cdc4d5983a6c2782d8e03f4.jpg)
6、有外部输入的非线性自回归模型 Nonlinear Autoregressive with Exogenous Inputs,NARX
![Mechine Learning 机器学习笔记_第144张图片](http://img.e-com-net.com/image/info8/baf1f8a59c8b4f03a3bcfc9edf7410fd.jpg)
![Mechine Learning 机器学习笔记_第145张图片](http://img.e-com-net.com/image/info8/d1308d6c987f4ae3beb6543436dcd6b9.jpg)
二、循环神经网络 Recurrent Neural Network,RNN
1、图解
![Mechine Learning 机器学习笔记_第146张图片](http://img.e-com-net.com/image/info8/b9203450aebb447d9c9c33f7b6e22228.jpg)
- RNN比FNN更加符合生物神经网络的结构
- RNN已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上
2、按时间展开
![Mechine Learning 机器学习笔记_第147张图片](http://img.e-com-net.com/image/info8/ff3ee5b2a9244aca85e82a815b1e3200.jpg)
- 时间维度上较浅,需要加深
- 非时间维上较深,需要考虑梯度消失问题
3、简单循环网络 Simple Recurrent Network,SRN
![Mechine Learning 机器学习笔记_第148张图片](http://img.e-com-net.com/image/info8/afafaf5ef52b481d9b4e39604206fd70.jpg)
4、图灵完备 Turing Completeness
![Mechine Learning 机器学习笔记_第149张图片](http://img.e-com-net.com/image/info8/2c63d25475b94cdf98dbf6916bce9bcb.jpg)
5、应用
- 输入-输出映射(机器学习模型)
- 存储器(联想记忆模型,例如Hopfield)
三、RNN应用到ML中
1、序列到类别
输入是个序列(向量),输出是个类别
![Mechine Learning 机器学习笔记_第150张图片](http://img.e-com-net.com/image/info8/d2ba50235b934c9080b30b4949d4c596.jpg)
2、情感分类
第一步要将文字查表映射到一个向量作为一个input
![Mechine Learning 机器学习笔记_第151张图片](http://img.e-com-net.com/image/info8/8ee51a6a995b4f0b9b36ebd016e358e5.jpg)
3、同步序列到序列模式
输入是一个序列,输出也是个序列,且是一一对应的
![Mechine Learning 机器学习笔记_第152张图片](http://img.e-com-net.com/image/info8/ca37570a090d43728695c19980001959.jpg)
(1)中文分词
![Mechine Learning 机器学习笔记_第153张图片](http://img.e-com-net.com/image/info8/defe199b43ad4cb8a5236666aa8e30bf.jpg)
(2)信息抽取 Information Extraction,IE
![Mechine Learning 机器学习笔记_第154张图片](http://img.e-com-net.com/image/info8/a8f97c6436e743ac89358d337e4baedc.jpg)
(3)语音识别
Connectionist Temporal Classification,CTC
![Mechine Learning 机器学习笔记_第155张图片](http://img.e-com-net.com/image/info8/1bbb6235d55e4e01a5ea43a847e2c1c1.jpg)
![Mechine Learning 机器学习笔记_第156张图片](http://img.e-com-net.com/image/info8/ec4e22b416f44785814c480b1ba1c2f3.jpg)
4、异步序列到序列模式
![在这里插入图片描述](http://img.e-com-net.com/image/info8/2b09c2d757984f76b8c314f33daa45e6.jpg)
典型应用为机器翻译
四、参数学习
1、损失函数
![Mechine Learning 机器学习笔记_第157张图片](http://img.e-com-net.com/image/info8/710e7957547d4a3f9dc20045388d67ef.jpg)
2、随时间反向传播算法 BackPropagation Through Time,BPTT
![Mechine Learning 机器学习笔记_第158张图片](http://img.e-com-net.com/image/info8/1e6cd038dcf6477d873d71bc1e29ccc4.jpg)
![Mechine Learning 机器学习笔记_第159张图片](http://img.e-com-net.com/image/info8/d359639dc95f43c8afac02f7ffc20cad.jpg)
![Mechine Learning 机器学习笔记_第160张图片](http://img.e-com-net.com/image/info8/8bcb71ddef1440689245280774605367.jpg)
3、梯度
![Mechine Learning 机器学习笔记_第161张图片](http://img.e-com-net.com/image/info8/9399bcfba60c4be58aa741a14b899aba.jpg)
令括号中的部分等于γ,则
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6bee78b41ed047969dfb121844aba9d3.jpg)
从式子分析,当t-k较大,即两个时间点相隔较远时,若γ>1则梯度->∞,发生梯度爆炸;若γ<1则梯度->0,发生梯度消失
4、长程依赖问题 Long-Term Dependencies Problem
由于梯度爆炸或梯度消失问题,实际上只能学习到短周期的依赖关系;要解决该问题的方法即使得γ=1
五、解决长程依赖问题
1、问题来源
神经网络在时间维度上非常深,容易发生梯度消失或梯度爆炸问题
梯度爆炸可用权重衰减或梯度阶段方法解决;梯度消失则需要改进模型
2、改进方法
循环边改为线性依赖边,但此时ht与ht-1为线性关系,削弱了模型能力
![在这里插入图片描述](http://img.e-com-net.com/image/info8/b02a5b03c4fc466ca1414903ebc7a750.jpg)
进一步改进,增加非线性
![在这里插入图片描述](http://img.e-com-net.com/image/info8/9819ab4b579246a5b071ee92676777ba.jpg)
但由于此式子ht一直在增大,当信息饱和时难以更新信息
六、GRU与LSTM
1、门控机制
控制信息的积累速度,包括有选择地加入新的信息,并有选择地遗忘之前累积的信息。
2、门控循环单元 Gated Recurrent Unit,GRU
![在这里插入图片描述](http://img.e-com-net.com/image/info8/8a018cfd6c5c4ce5aac0a0fdf52ab2a7.jpg)
(1)更新门
Zt为0~1之间的一个一维向量,也称为更新门
![在这里插入图片描述](http://img.e-com-net.com/image/info8/8b9072a885b24d3b84e1f994008c763d.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/ecd0b76da574434da39c6e6f01b35230.jpg)
(2)重置门
为了实现ht只与xt相关,而与ht-1无关,因此引入重置门
![在这里插入图片描述](http://img.e-com-net.com/image/info8/7bb115df5fc344dd9a8d07e1fbc6dcb0.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/865aca481f734eecadd078c7a53bb067.jpg)
(3)单元实现
![Mechine Learning 机器学习笔记_第162张图片](http://img.e-com-net.com/image/info8/9f64390d533548ca906f4dc881b505ca.jpg)
3、长短期记忆神经网络 Long Short-Term Memory,LSTM
相较于GRU,其引入了一个内部记忆单元c,用c进行线性传递,将h解放出来,让h专门做非线性,提高模型非线性能力
![Mechine Learning 机器学习笔记_第163张图片](http://img.e-com-net.com/image/info8/b9b5fc1e2e444c67bdf0461640087650.jpg)
![Mechine Learning 机器学习笔记_第164张图片](http://img.e-com-net.com/image/info8/bcff41b2da924009ab56dc3fc7fddb49.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/bc03522c0eb84c70bdf232e6eaf871f1.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/fe3edd6886aa488396a8defb0a434a7d.jpg)
4、LSRM的变体
![Mechine Learning 机器学习笔记_第165张图片](http://img.e-com-net.com/image/info8/92eacc89b32a4c079876e4074f62bcc5.jpg)
七、深层循环神经网络
1、堆叠循环神经网络
![Mechine Learning 机器学习笔记_第166张图片](http://img.e-com-net.com/image/info8/4cc4e96298a94959bf4d3e10489ce582.jpg)
2、双向循环神经网络
![Mechine Learning 机器学习笔记_第167张图片](http://img.e-com-net.com/image/info8/92778fc134854332b7bd6b532f0845c7.jpg)
3、循环神经网络小结
![Mechine Learning 机器学习笔记_第168张图片](http://img.e-com-net.com/image/info8/1221779a3b804db7a688cb3c0214897a.jpg)
八、循环神经网络的应用场景
1、语言模型
自然语言理解->一个句子的可能性/合理性,简单理解为对语句进行打分,符合语法又符合语义的给较高分数;因此转化到概率层面,使用RNN解决
(1)N元语言模型
![Mechine Learning 机器学习笔记_第169张图片](http://img.e-com-net.com/image/info8/d1eabbf6006a4c3781e2bdc7c31203b5.jpg)
(2)具体实现
![Mechine Learning 机器学习笔记_第170张图片](http://img.e-com-net.com/image/info8/c606672c40804812ba7397bebe38a487.jpg)
2、自动生成Linux内核代码
在Linux上训练一个RNN,让其自动生成内核代码
![Mechine Learning 机器学习笔记_第171张图片](http://img.e-com-net.com/image/info8/e6ff40d3ff9840779058848309f07591.jpg)
3、作词机
可以使用某个歌手的全部作品训练RNN,后自动生成歌词
4、机器翻译
(1)传统机器翻译
![Mechine Learning 机器学习笔记_第172张图片](http://img.e-com-net.com/image/info8/0ce98e7a034b4f1f8ea4ae67a8903e44.jpg)
(2)基于序列到序列的机器翻译
![Mechine Learning 机器学习笔记_第173张图片](http://img.e-com-net.com/image/info8/c9ece536c88a4fa0a16c8acf9989c623.jpg)
5、看图说话
6、对话系统
![Mechine Learning 机器学习笔记_第174张图片](http://img.e-com-net.com/image/info8/3a551d3d0d8242878cd2a94d4adebf1c.jpg)
九、扩展到图结构
1、树结构
(1)程序
![Mechine Learning 机器学习笔记_第175张图片](http://img.e-com-net.com/image/info8/957ab516e22f4120af979276aa382a97.jpg)
(2)自然语言
![Mechine Learning 机器学习笔记_第176张图片](http://img.e-com-net.com/image/info8/312a035f0f2d4cb9906d8f63b56fb27e.jpg)
2、递归神经网络 Recursive Neural Network
递归神经网络是在一个有向无环图(Tree)上共享一个组合函数
![Mechine Learning 机器学习笔记_第177张图片](http://img.e-com-net.com/image/info8/7fcd5dee26a84af0bf40c17135b65972.jpg)
退化为循环神经网络
![Mechine Learning 机器学习笔记_第178张图片](http://img.e-com-net.com/image/info8/4d7390a431d9446d8e41a229d3e1f02c.jpg)
3、图网络(最热门研究方向之一)
(1)图网络举例
![Mechine Learning 机器学习笔记_第179张图片](http://img.e-com-net.com/image/info8/afcfd591be5d493194de08f02173468e.jpg)
(2)构成
![Mechine Learning 机器学习笔记_第180张图片](http://img.e-com-net.com/image/info8/64f38e84886240ac80e8ee95f9fe9b67.jpg)
(3)图网络更新方式
![Mechine Learning 机器学习笔记_第181张图片](http://img.e-com-net.com/image/info8/fa28868e49194d1bb968c03f9ee4041c.jpg)
(4)参数
![Mechine Learning 机器学习笔记_第182张图片](http://img.e-com-net.com/image/info8/29826241c28a43be87e8484e3a05f4d8.jpg)
第六章:网络优化与正则化
一、神经网络优化的特点
1、优化难点
-
结构差异大
没有通用算法可以适用于所有网络模型
超参数较多
-
非凸优化问题
参数初始化
逃离局部最优或鞍点
-
梯度消失/梯度爆炸问题
2、高维空间的非凸优化问题
(1)鞍点 Saddle Point
驻点 Stationary Point:梯度为0的点;高维空间中驻点大部分都为鞍点,因此优化重心就为逃离驻点
![Mechine Learning 机器学习笔记_第183张图片](http://img.e-com-net.com/image/info8/ab9b0b7176434ac4a6fa83b9bca05684.jpg)
(2)平坦最小值 Flat Minima
![Mechine Learning 机器学习笔记_第184张图片](http://img.e-com-net.com/image/info8/04fe37f11acf41b08da6d6d680c0185c.jpg)
3、优化地形可视化 Optimization Landscape
(1)优化地形:高位空间中损失函数的曲面形状
在没有加入残差连接时地形较为复杂,难以优化
![Mechine Learning 机器学习笔记_第185张图片](http://img.e-com-net.com/image/info8/9cba926cec93458dbaf2e98915762f93.jpg)
加入残差之后地形光滑
![Mechine Learning 机器学习笔记_第186张图片](http://img.e-com-net.com/image/info8/4be6fd6cf8eb4fff954e260e22b18c15.jpg)
4、神经网络优化的改善方法
动态学习率调整
梯度估计修正
- 更好的参数初始化方法、数据预处理方法来提高优化效率
- 修改网络结构来得到更好的优化地形
好的优化地形通常比较平滑
使用ReLU激活函数、残差连接、逐层归一化等
二、优化算法改进
1、随机梯度下降->小批量随机梯度下降 MiniBatch
![Mechine Learning 机器学习笔记_第187张图片](http://img.e-com-net.com/image/info8/b170e4b2b6e74e94b5f06067ab0640e6.jpg)
![Mechine Learning 机器学习笔记_第188张图片](http://img.e-com-net.com/image/info8/7f644b37b41a4e61a2457aa678b28df3.jpg)
2、批量大小
批量大小不影响随机梯度的期望,但会影响随机梯度的方差
3、批量大小对收敛的影响
批量越小随机性越强
![Mechine Learning 机器学习笔记_第189张图片](http://img.e-com-net.com/image/info8/72c057af9d864dae92cb7439f175dd52.jpg)
4、改进方法
学习率衰减
Adagrad
Adadelta
RMSprop
Monmentum:计算负梯度的“加权移动平均”作为参数更新的方向
Nesterov accelerated gradient
梯度截断
三、动态学习率
1、学习率的影响
![Mechine Learning 机器学习笔记_第190张图片](http://img.e-com-net.com/image/info8/f16bdc7c77cf46c09f0f739e6a7e17b1.jpg)
由上图可知,优秀的学习率应该是自适应的,开始大,接近最优点时逐步减小
2、学习率衰减
![Mechine Learning 机器学习笔记_第191张图片](http://img.e-com-net.com/image/info8/fb6c46e820f6400a9dc5b2b8fddb3cda.jpg)
3、周期性学习率调整 Cyclical Learning Rates
目的是跳出局部最优
![Mechine Learning 机器学习笔记_第192张图片](http://img.e-com-net.com/image/info8/7a0bbcca937740b0bc2c3bb0f12ce19d.jpg)
![Mechine Learning 机器学习笔记_第193张图片](http://img.e-com-net.com/image/info8/004e86c192e84a3594fd870010d9968b.jpg)
4、其他学习率调整方法
![Mechine Learning 机器学习笔记_第194张图片](http://img.e-com-net.com/image/info8/68e698d041d948e497e5c0089732b9bc.jpg)
5、自适应学习率
根据梯度动态计算当前学习率
![Mechine Learning 机器学习笔记_第195张图片](http://img.e-com-net.com/image/info8/728e1842eaef4a3e96c5da28200b7493.jpg)
四、梯度方向优化
1、动量法 Momentum Method
用之前累积的动量来替代真正的梯度
![Mechine Learning 机器学习笔记_第196张图片](http://img.e-com-net.com/image/info8/f7510fd21ef146e9b48c1ed13f3ed73c.jpg)
负梯度的加权移动平均
![Mechine Learning 机器学习笔记_第197张图片](http://img.e-com-net.com/image/info8/4288a81ac30c45c68fc3b020571c0d8e.jpg)
每次迭代的梯度可以看做是加速度,可以近似看做二阶梯度
2、Nesterov加速梯度
![Mechine Learning 机器学习笔记_第198张图片](http://img.e-com-net.com/image/info8/fc0a2e6253d44ee9a83a84ff21c8ff77.jpg)
3、Adam算法≈动量法+RMSprop
![Mechine Learning 机器学习笔记_第199张图片](http://img.e-com-net.com/image/info8/4fbcd25613ef422993dbe5f96ffc7ed6.jpg)
4、几种算法速度对比
5、梯度截断
![Mechine Learning 机器学习笔记_第200张图片](http://img.e-com-net.com/image/info8/16d011433d734805bb55eb2f056b30a4.jpg)
6、优化算法改进小结
![Mechine Learning 机器学习笔记_第201张图片](http://img.e-com-net.com/image/info8/e5dbb8aeaa80439ab5a6ff27e6edff03.jpg)
![Mechine Learning 机器学习笔记_第202张图片](http://img.e-com-net.com/image/info8/609defad8dc34e5283b414679a5e699b.jpg)
五、参数初始化
1、对称权重问题
参数初始化为0导致神经元行为都一致。
2、初始化方法
- 预训练初始化
- 随机初始化
- 固定值初始化(bias通常用0来初始化)
3、随机初始化
(1)Gaussian分布初始化
该初始化为最简单的初始化方法,参数从一个固定均值(比如0)和固定方差(比如0.01)的Gaussian分布进行初始化。
(2)均匀分布初始化
参数可以在区间[-r,r]内采用均匀分布进行初始化。
(3)范数保持性 Norm-Preserving
![Mechine Learning 机器学习笔记_第203张图片](http://img.e-com-net.com/image/info8/32a240307d95460b994501d8c225f8fa.jpg)
可以基于方差缩放的参数初始化;或正交初始化
4、基于方差缩放的参数初始化
Xavier初始化和He初始化
![Mechine Learning 机器学习笔记_第204张图片](http://img.e-com-net.com/image/info8/b54348b588e24ebf8b4e2cf00ac260d1.jpg)
5、正交初始化 Orthogonal Initialization
![Mechine Learning 机器学习笔记_第205张图片](http://img.e-com-net.com/image/info8/93a31a65a50a4753bdfdc79fa091caaf.jpg)
方法:
- 用均值为0、方差为1的高斯分布初始化一个矩阵
- 将这个矩阵用奇异值分解得到两个正交矩阵,使用其中一个作为权重矩阵
六、数据预处理
1、尺度不变性 Scale Invariance
机器学习算法在缩放全部或部分特征后不影响学习和预测
![Mechine Learning 机器学习笔记_第206张图片](http://img.e-com-net.com/image/info8/e3361108d6b54936b9f043e3fc345b33.jpg)
2、数据规范对梯度的影响
![Mechine Learning 机器学习笔记_第207张图片](http://img.e-com-net.com/image/info8/5b6110f8182c4e5e86010513b66291af.jpg)
3、规范化 Normalization
![Mechine Learning 机器学习笔记_第208张图片](http://img.e-com-net.com/image/info8/f0ebd544a3d64780934c1121289434f1.jpg)
七、逐层规范化
1、目的
- 更好的尺度不变性:内部协变量偏移
- 更平滑的优化地形
2、规范化方法
批量规范化 Batch Normalization,BN
层规范化 Layer Normalization
权重规范化 Weight Normalization
局部响应规范化 Local Response Normalization,LRN
3、批量规范化
![Mechine Learning 机器学习笔记_第209张图片](http://img.e-com-net.com/image/info8/ed36bb96fca44b58813b63f1f4e4c783.jpg)
![Mechine Learning 机器学习笔记_第210张图片](http://img.e-com-net.com/image/info8/fe4a0a558125436ab1939fc228068976.jpg)
![Mechine Learning 机器学习笔记_第211张图片](http://img.e-com-net.com/image/info8/fe221ce22dad49ff968a864e83e6e98c.jpg)
4、批量规范化
![Mechine Learning 机器学习笔记_第212张图片](http://img.e-com-net.com/image/info8/09e722b302574366a5e7a67460b66ca1.jpg)
八、超参数优化
1、常见超参
- 层数
- 每层神经元数量
- 激活函数
- 学习率(以及动态调整算法)
- 正则化系数
- mini-batch大小
2、优化方法
- 网格搜索
- 随机搜索
- 贝叶斯优化
- 动态资源分配
- 神经架构搜索
3、网格搜索 Grid Search
![Mechine Learning 机器学习笔记_第213张图片](http://img.e-com-net.com/image/info8/b7e796d1be744e9891186dd8010c1e08.jpg)
九、网格正则化
1、正则化 Regularization
![Mechine Learning 机器学习笔记_第214张图片](http://img.e-com-net.com/image/info8/a6881b7f99db4612aef76f9c96910c84.jpg)
2、如何提高神经网络的泛化能力
(1)干扰优化过程
- 早停法 Early-Stop
- 暂退法 Dropout
- 权重衰减
- SGD
(2)增加约束
3、早停法 Early-Stop
引入一个验证集validation Dataset来测试每一次迭代的参数在验证集上是否最优,如果在验证集上错误率不再下降就停止迭代
4、权重衰减 Weight Decay
- 通过限制权重的取值范围来干扰优化过程,降低模型能力
- 在每次参数更新时,引入一个衰减系数β
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6e91e4f44f8544b685b6e865ba7019c6.jpg)
十、暂退法 Dropout Method
1、概念及其原理
![Mechine Learning 机器学习笔记_第215张图片](http://img.e-com-net.com/image/info8/e67367a85a0043c7bfad330e21062e57.jpg)
2、dropout意义
(1)集成学习的解释
每做一次暂退,相当于从原始网络中采样得到一个子网络。如一个神经元有n个神经元,那么总共可以采样出2^n个子网络
(2)贝叶斯学习的解释
![Mechine Learning 机器学习笔记_第216张图片](http://img.e-com-net.com/image/info8/bae10d05f09f47e98733f19abf0e6067.jpg)
3、变分Dropout
![Mechine Learning 机器学习笔记_第217张图片](http://img.e-com-net.com/image/info8/69812f9d45f94a72a2be511cf1fbf4d3.jpg)
十一、l1、l2正则化
![Mechine Learning 机器学习笔记_第218张图片](http://img.e-com-net.com/image/info8/1186d45ad2834c16b79a88bfe03b6b94.jpg)
![Mechine Learning 机器学习笔记_第219张图片](http://img.e-com-net.com/image/info8/12b3a5468c65488592d1c0bbc7bec012.jpg)
十二、数据增强 Data Augmentation
1、图像数据增强
![Mechine Learning 机器学习笔记_第220张图片](http://img.e-com-net.com/image/info8/2bd50165485842438bf57f0f283a0131.jpg)
2、文本数据增强
- 词汇替换
- 回译 Back Translation
- 随机编辑噪声(增删改查、句子乱序)
3、标签平滑 Label Smoothing
![Mechine Learning 机器学习笔记_第221张图片](http://img.e-com-net.com/image/info8/e87b12121d7f46858fd1f7d32628e7da.jpg)
十三、小结
![Mechine Learning 机器学习笔记_第222张图片](http://img.e-com-net.com/image/info8/a341c2b7b18546e0b2a91fbe5aa07821.jpg)
第七章:注意力机制与外部记忆
一、人工神经网络中的注意力机制
1、软性注意力机制 Soft Attention Mechanism
![Mechine Learning 机器学习笔记_第223张图片](http://img.e-com-net.com/image/info8/bd1dda87f2af4c52bab972d9beff0b2d.jpg)
2、注意力打分函数
![Mechine Learning 机器学习笔记_第224张图片](http://img.e-com-net.com/image/info8/dbcfa1a821b74d9791f7fe75b95072a6.jpg)
3、注意力机制的变体
![Mechine Learning 机器学习笔记_第225张图片](http://img.e-com-net.com/image/info8/8f380dd49f5448e8a36f563c4b12541d.jpg)
![Mechine Learning 机器学习笔记_第226张图片](http://img.e-com-net.com/image/info8/f426fb7bc6254bb68dda650be6684d67.jpg)
4、指针网络 Pointer Network
![Mechine Learning 机器学习笔记_第227张图片](http://img.e-com-net.com/image/info8/075681b01a614c17845a90ec2a03f876.jpg)
相关单词
cache n.高速缓冲存储器 v.把(数据)存入高速缓冲存储器
validate v.验证,使生效,证实
estimator n.评估员,估计器
segway n.两轮平衡车
algorithm n.算法
representation n.代理人,描绘
feature representation 特征表示
convolution n.卷积
subsampling n.二次抽样,分段抽样,采样层
distributed adj.分布式的,分散式的
embedding v.嵌入,深深植入
word embedding 词嵌入
end-to-end 端到端
slope n.斜坡,坡度,斜率,偏导数
random variable 随机变量
相关资源、网站
主流框架:TensorFlow、Keras、Chainer、PyTorch
复旦大学邱锡鹏《神经网络与深度学习》书籍资料:https://nndl.github.io/
可视化理解分类:http://playground.tensorflow.org
作词机:https://github.com/phunterlau/wangfeng-rnn
剩余Transformer、半监督学习等部分内容后续补充~~