“机器学习知识体系”的版本间的差异

来自DataFocus资料库
跳到导航 跳到搜索
最优化
最优化
第62行: 第62行:
 
牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。其泰勒展开公式如下:J(θ)=J(θ0)+(θ−θ0)J′(θ0)+(θ−θ0)<sup>2</sup>/2J″(θ0).使 J′(θ) 等于0,得到更新方程为:θ=θ0−J′(θ0)/J″(θ0).
 
牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。其泰勒展开公式如下:J(θ)=J(θ0)+(θ−θ0)J′(θ0)+(θ−θ0)<sup>2</sup>/2J″(θ0).使 J′(θ) 等于0,得到更新方程为:θ=θ0−J′(θ0)/J″(θ0).
  
从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。但是牛顿法作为一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂,体现在目标函数的二阶导是被除数,当参数 θθ 是向量时,其二阶导为Hessian矩阵又因为它是分母,所以需要计算其逆矩阵,计算比较复杂。
+
从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。但是牛顿法作为一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂,体现在目标函数的二阶导是被除数,当参数θ是向量时,其二阶导为Hessian矩阵又因为它是分母,所以需要计算其逆矩阵,计算比较复杂。
  
 
===正则化===
 
===正则化===

2019年5月28日 (二) 07:52的版本

数学基础

概率统计

  • 频率学派与贝叶斯学派

频率学派亦称古典概型,是使用随机事件的发生的频率描写叙述概率的方法。在贝叶斯学派的观点下概率表示的是事件的不确定性大小,参数被预设为概率分布。在频率学观点中,参数被当做是一个需要我们求的确定的參数。而在贝叶斯观点中,參数的情况来自于一个预设的分布而不是一个确定的值。贝叶斯观点的优势在于在模型中引入参数的先验知识。比如在抛硬币的试验中。假设抛三次硬币出现了三次都是正面。那么依据频率学的观点,使用最大似然进行预计那么得到出现正面的可能性为1。这就是说以后都是以1的概率出现正面。相反在贝叶斯的理论中,引入一个合理的先验将会避免这样极端的结论。

  • 随机变量

随机变量(random variable)表示随机试验各种结果的实值单值函数,体现了随机试验与唯一实值的映射关系,并且随机事件不论与数量是否直接有关,都可以数量化,即都能用数量化的方式表达随机试验的发生。

  • 分布

统计分布(frequency distribution)亦称“次数(频数)分布(分配)”。在统计分组的基础上,将总体中的所有单位按组归类整理,形成总体单位在各组间的分布。分布在各组中的单位数叫做次数或频数。各组次数与总次数(全部总体单位数)之比,称为比率或频率。将各组别与次数依次编排而成的数列就叫做统计分布数列,简称分布数列或分配数列。它可以反映总体中所有单位在各组间的分布状态和分布特征,研究这种分布特征是统计分析的一项重要内容。

  • 概率分布

概率分布,是指用于表述随机变量取值的概率规律。事件的概率表示了一次试验中某一个结果发生的可能性大小。若要全面了解试验,则必须知道试验的全部可能结果及各种可能结果发生的概率,即随机试验的概率分布。如果试验结果用变量X的取值来表示,则随机试验的概率分布就是随机变量的概率分布,即随机变量的可能取值及取得对应值的概率。通过概率分布我们可以得到概率密度函数,根据随机变量所属类型的不同,概率分布取不同的表现形式。

  • 累积分布函数

累积分布函数(Cumulative Distribution Function),又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X,随着变量的增大函数值也增大。一般以大写CDF标记,,与概率密度函数probability density function(小写pdf)相对。

  • 独立

如果一个事件的发生不影响另一个事件的概率,则两个事件是独立的,统计独立的或随机独立的。有如下公式: p(x,y)=p(x)∗p(y)

  • 条件分布

对于二维随机变量(X,Y),可以考虑在其中一个随机变量取得(可能的)固定值的条件下,另一随机变量的概率分布,这样得到的X或Y的概率分布叫做条件概率分布,简称条件分布。 P(A|B)=P(AB)/P(B)

  • 贝叶斯准则

贝叶斯准则的一般形式与条件分布类似 P(A|B)=P(AB)/P(B) ,其中展开形式如下:P(B)=∑P(B|Aj)P(Aj)

P(Aj|B)=P(B|Aj)P(Aj)/∑P(B|Aj)P(Aj)

损失函数

  • 损失函数概念

损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。另一方面也存在最大化目标函数的方法,如极大似然估计,一般而言可通过在最大化目标函数前面添加负号的方法转化成求最小化损失函数。 损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项,这里仅介绍经验风险损失函数,没有正则项。

  • 回归问题损失函数
  • 绝对值损失函数

绝对值损失函数将真实值与预测值的差的绝对值作为损失的度量: L(Y,f(X))=|Y−f(X)| 其中 Y,X 为单个样本的标签值与特征向量,该公式只计算了单个样本的损失。

  • 平方损失函数(Squared Loss)

平方损失函数又称均方误差,即真实值与预测值之差的平方和的均值。通常用于回归问题以及线性模型中,之所以采用平方的形式,而非绝对值或三次方的形式,是因为极大似然与最小化平方损失是等价的。具体公式如下:其中 yi 是第i个样本的标签值, f(xi)是第i个样本的预测值。

  • 分类问题损失函数
  • 对数损失函数(Log Loss)

对数函数,在最优化含有乘积的目标函数中(如极大似然函数),由于其单调性能够,能够在保证结果不变的情况下通过取对数的方法转化为求和的形式,从而大大简化目标函数的求解过程。进一步地,通过在对数函数前添加负号,就变成了求解最小化对数损失函数。对数损失函数标准形式如下:其中 P(Y|X) 为小于1的概率值,逻辑回归作为一种0-1二分类算法,其损失函数为对数损失函数:其中 yi 是第i个样本的真实值, f(xi)f(xi) 是第i个样本的概率预测值。

  • 交叉熵损失函数(Cross Entropy Loss)

对于多分类问题,softmax函数往往与交叉熵损失函数一起使用,其形式如下:其中 yi 是第i个样本真实标签的one-hot向量,真实类别对应的维度是1,其余维度为0, f(xi) 是第i个样本经过softmax函数转化后的概率值向量。逻辑回归的损失函数也是二分类情况下的交叉熵损失函数。

  • 其他损失函数
  • 0-1损失函数

0-1损失是指,预测值和目标值不相等为1,否则为0: 感知机使用放宽条件下的0-1损失函数,即满足 |Y−f(X)|<T|Y−f(X)|<T 时认为相等: 其中 Y,X 为单个样本的标签值与特征向量,该公式只计算了单个样本的损失。

  • 指数损失(Exponential Loss)

指数函数具有单调性,非负性的优良性质,使得越接近正确结果误差越小,Adaboost算法就是使用的指数损失函数。但是指数损失存在的一个问题是误分类样本的权重会指数上升,如果数据样本是异常点,会极大的干扰后面基本分类器学习效果,这也是Adaboost算法的一个缺点。其标准指数损失函数公式如下:

  • 铰链损失函数(Hinge Loss)

铰链损失函数,又称折页损失函数、合页损失函数,常用于支持向量机(SVM)中的最大间隔分类。其基本思想是,想让正确分类的得分比错误分类的得分至少高出一个临界值并且其损失为0,否则计算损失,其基本形式如下: 其中n为样本数,K为类别数,p为临界值,si是第i个样本真实类别的得分, sik 是第i个样本错误类别的得分。在支持向量机中,hinge损失函数转化为如下结构化损失形式: 其中 yi 是第i个样本的真实值,取值范围为(-1,1), f(xi)f(xi) 是第i个样本的预测值,可以认为是该样本到分隔线的距离,临界值为1。只有当样本被正确分类,且距离大于1时,损失为0,,否则就要计算损失。

最优化

机器学习中绝大多数算法到最后都可以建模成一种最优化模型进行参数求解,一般情况下都是通过最小化损失函数来求解参数,最优化模型所使用的方法我们称为最优化方法。常见的最优化方法有梯度下降法、随机梯度下降法、牛顿法和拟牛顿法、momentum 动量法、Adagrad等等。

  • 梯度下降法

梯度下降法又称最速下降法,其搜索方向为其当前位置下降最快的方向,是最为常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局最优解。一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。其具体公式如下:θnew=θold−α∂J(θ)/∂θ其中α是学习率, J(θ)是所有训练样本的平均损失函数,参数的更新方向为其导数的负方向。 梯度下降法的缺点:靠近极小值时收敛速度减慢,学习率的设定影响结果是否收敛,以及当目标函数是非凸时,参数初始值的设定影响结果能否达到全局最优。

  • 随机梯度下降法

当训练样本量很大时,针对全部样本计算其损失再求平均得到平均损失函数值,将会耗费大量时间,因此梯度下降法又称批量梯度下降法。为了减少计算成本,由此衍生了两种梯度下降法,即小批量梯度下降法、随机梯度下降法。 小批量梯度下降法基本与批量梯度下降法形式一致,只是每次训练的时候随机抽取一部分训练样本并计算其损失;而随机梯度下降法每次训练的时候只选取一个训练样本来进行参数更新。 小批量梯度下降法与随机梯度下降法虽然不是每次迭代得到的损失函数都向着全局最优方向,但每次训练更新的速度比批量随机梯度下降快,并且大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,随机梯度下降法以损失很小的一部分精确度和增加一定数量的迭代次数为代价,换取了总体的优化效率的提升。增加的迭代次数远远小于样本的数量。适用于大规模训练样本情况。

  • 牛顿法

牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。其泰勒展开公式如下:J(θ)=J(θ0)+(θ−θ0)J′(θ0)+(θ−θ0)2/2J″(θ0).使 J′(θ) 等于0,得到更新方程为:θ=θ0−J′(θ0)/J″(θ0).

从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。但是牛顿法作为一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂,体现在目标函数的二阶导是被除数,当参数θ是向量时,其二阶导为Hessian矩阵又因为它是分母,所以需要计算其逆矩阵,计算比较复杂。

正则化

机器学习概念

机器学习问题

机器学习方法

机器学习调参

评价准则

算法

机器学习算法

深度学习算法

机器学习流程

数据获取

特征工程

模型选取与调优

模型验证与分析

开发框架

ensorFlow

Pytorch

Keras

Scikit-Learn

Numpy

Pandas

Matplotlib