曲水的博客

曲水的博客

第二讲 机器学习基础

2022-03-06

一、机器学习介绍

详见第一讲 深度学习简介中第一小节的第一小点。

二、容量、过拟合、欠拟合

泛化能力(容量)

  • 泛化能力是指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。

  • 通俗地讲,模型的容量是指它拟合各种函数的能力。比如,模型是3次多项式构成的函数。那么它拟合函数的能力有:一次函数、二次函数、三次函数。如果它是更高次的表达式,显然,它就可以拟合更多阶次的函数。

  • 更改容量的方法有:

    • 选择假设空间,即学习算法可以选择为解决方案的函数集。
    • 通过改变输入特征的数目和加入这些特征对应的参数。
    • 模型的表示容量(由假设空间确定的容量)往往大于模型的有效容量(模型真实的泛化能力)。
    • 奥卡姆剃刀原则:在同样能够解释已知观测现象的假设中,我们应该挑选最简单的那一个。
    • 模型中参数和非参数的设置。
    • 通过调整训练集的规模。

过拟合与欠拟合

  • 当模型在训练集上的误差非常小但是在测试集上的误差非常大的时候,就说明模型过拟合,泛化能力差。

  • 当模型在训练集上的误差非常大的时候说明模型欠拟合。

容量与拟合之间的关系

  • 更简单的函数更可能泛化(训练误差和测试误差的差距小), 但我们仍然需要选择一个充分复杂的假设以达到低的训练误差。

  • 通常而言,当模型容量上升时,训练误差会下降,直到其渐近最小可能误差(假设误差度量有最小值)。泛化误差是一个关于模型容量的 U 形曲线函数。

正则化(Regularization)

  • 简言之,正则化是用来防止模型过拟合而采取的手段。所有损害优化的方法都是正则化。

  • 正则化的方法有:

    • 通过增加优化的约束,例如L1约束和L2约束、数据增强等。
    • 通过干扰优化的过程,例如权重衰减、随机梯度下降、提前停止优化等。

  • 正则化的原理:通过对代价函数增加一个限制条件,例如在回归模型中,可以限制其较高次的参数大小不能过大。正是那些高次项导致了过拟合的产生,所以如果能让这些高次项的系数接近于0的话,就能很好的拟合了。所以对代价函数进行修改如下:

没有免费午餐定理

  • 在某种意义上,没有一个机器学习算法总是比其他的要好。我们能够设想的最先进的算法和简单地将所有点归为同一类的简单算法有着相同的平均性能(在所有可能的任务上)。
  • 幸运的是,这些结论仅在我们考虑所有可能的数据生成分布时才成立。在真实世界应用中,如果我们对遇到的概率分布进行假设的话,那么我们可以设计在这些分布上效果良好的学习算法。

三、估计量、偏差、方差

点估计

对于m个独立同分布的数据 x1,x2,,xnx_1,x_2,\cdots,x_n ,如果有映射关系使得:

θ^m=g(x1,x2,,xm)\hat{\theta} _m = g(x_1,x_2,\cdots,x_m)

θ^\hat\thetax1,x2,,xnx_1,x_2,\cdots,x_n的一个点估计。如果 gg 为函数(满足映射关系为一对一或者多对一),则称:

y=f(x1,x2,,xm)+ϵy = f(x_1,x_2,\cdots,x_m)+\epsilon

x1,x2,,xnx_1,x_2,\cdots,x_n的一个函数估计。

偏差

  • 定义估计量 θ^\hat\theta 的偏差为:

bias(θ^m)=E(θ^m)θbias(\hat\theta_m)=\rm E(\hat\theta_m)-\theta

  • 无偏估计:如果 bias(θ^m)=0bias(\hat\theta_m)=0, 称 θ^\hat\thetaθ\theta 的一个无偏估计。

  • 渐进无偏,如果统计量 θ^\hat\theta 满足下面式子,则称作渐进无偏。

limmbias(θ^)=0\lim_{m\rightarrow\infty} bias(\hat\theta)=0

方差

  • 定义估计量 θ^\hat\theta 的方差为:

Var(θ^m)=E[θ^mbias(θ^m)]2Var(\hat\theta_m)=\rm E[\hat\theta_m-bias(\hat\theta_m)]^2

  • 标准差:方差的算数平方根。

  • 中心极限定理:当样本量很大的时候,所有分布都趋向于正态分布。这个时候可以根据偏差和标准差计算出置信区间。

偏差和方差的均衡:均方误差

  • 定义均方误差 MSE 为:

MSE=E[(θ^mθ)2]=bias(θ^m)2+Var(θ^m)MSE = \rm E[(\hat\theta_m-\theta)^2]=bias(\hat\theta_m)^2+Var(\hat\theta_m)

  • 均方误差和模型容量之间的关系:

常用估计方法

极大似然估计(MLE)

  • 极大似然估计中的 θ^\hat\theta 由以下极大似然估计函数计算出:

θ=arg maxθp(X;θ)=arg maxθ1mp(xi;θ)\theta = \arg\ \max_{\theta} p(X;\theta)=\arg\ \max_{\theta} \prod_1^m p(x_i;\theta)

  • 在计算中可以将其取对数,变成对数似然估计:

θ=arg maxθ1mlogp(xi;θ)\theta = \arg\ \max_{\theta} \sum_1^m \log p(x_i;\theta)

KL散度(KL Explanation)

  • KL散度可以用来衡量两个概率分布之间的相似性,两个概率分布越相近,KL散度越小。

D(PQ)=1N[p(xi)logp(xi)p(xi)logq(xi)]D (P||Q)=\sum_1^N[p(x_i)\log p(x_i)-p(x_i)\log q(x_i)]

  • 通常 PP 为真实事件的概率分布,QQ 为理论拟合出来的该事件的概率分布。因为 D(PQ)D (P||Q) (P拟合Q)和 D(QP)D (Q||P) (Q拟合P)是不一样的。

  • 由于在使用中,PP 是我们的已知的数据集(训练集),所以 p(xi)logp(xi)p(x_i)\log p(x_i) 是确定的常数,因此在做优化的时候,我们只需要最小化后面的部分即可:

min1Np(xi)logq(xi)\min -\sum_1^N p(x_i)\log q(x_i)

条件对数似然估计(Conditional Log-likelihood)

  • 条件对数似然估计类似于极大似然估计:

θ=argmaxθ1mlogP(yixi;θ)\theta = \arg \max_{\theta} \sum_1^m \log P(y_i|x_i;\theta)

贝叶斯估计(Bayesian Statistics)

  • 贝叶斯估计在做估计时考虑了 θ\theta 所有可能的取值。

p(θx1,,xm)=p(x1,,xmθ)p(θ)p(x1,,xm)p(\theta | x_1,\cdots,x_m) = \frac{p(x_1,\cdots,x_m | \theta)p(\theta)}{p(x_1,\cdots,x_m)}

  • 其中 p(θ)p(\theta) 是先验概率分布,p(x1,,xmθ)p(x_1,\cdots,x_m | \theta) 为概率。

  • 和极大似然估计(MLE)最主要的不同:考虑了先验概率,利用了 θ\theta 的全分布:

p(xm+1x1,x2,,xm)=p(xm+1θ)p(θx1,x2,,xm)dθp( x_{m+1} | x_1,x_2,\cdots,x_m) = \int p(x_{m+1} | \theta) p(\theta | x_1,x_2,\cdots,x_m)d\theta

最大后验估计(Maximum A Posteriori Estimation)

  • 最大后验估计即最大化后验概率:

θ=argmaxmp(θx)=argmaxmlogp(θx)+logp(θ)\theta = \arg \max_m p(\theta|x) = \arg \max_m \log p(\theta |x) +\log p(\theta)

  • 优点:
    • 利用全贝叶斯公式,利用所有的信息作出估计。
    • 在训练集数据中并不能得到先验概率,减小了方差,但是增大了偏差。
    • 可以用于设计复杂但是可解释的正则化项。
  • MLE(极大似然估计)+ 正则化项 = 最大后验估计。

四、促成深度学习的挑战

  • 维度灾难:当机器学习的数据的维度很高的时候,机器学习变得十分困难以至于无法完成。

  • 局部恒常性和光滑性:大多数的机器学习算法可能会收敛于一个局部恒常点(局部最优点),而不是寻找全局最优点。

  • 数据规模:部分机器学习算法已经无法适应当前的AI级别的数据规模,例如KNN、决策树等。

  • 流形学习:图像,声音和文本字符串等数据是高度集中的,支持很多种流形假设,有可种各样的转换方式,可以通过映射将其降维学习。提取流形具有挑战性但是十分具有前景。


参考链接:

CSDN-机器学习:模型的容量
CSDN-机器学习:正则化
CSDN-贝叶斯估计
知乎-KL散度理解以及使用pytorch计算KL散度
博客园-最大后验估计
博客园-流行学习

课件下载链接

  • 0