台大机器学习基石 Lecture 8 - Noise and Error

本次Lecture主要讲了在存在Noise噪声的情况下,是否能够进行机器学习,VC Dimension是否还有作用,并且介绍了一些评价Model的Error度量方法,这是要根据实际问题来确定的。

台大机器学习基石 Lecture 8 - Noise and Error

Noise and Probablistic Target

数据集D存在噪声的情况下,是否还能学习呢?

Noise主要来源于以下三种——

  • 由于人为因素,正类被误分为负类,或者负类被误分为正类;

  • 同样特征的样本被模型分为不同的类;

  • 样本的特征被错误记录和使用。

我们之前的数据都是确定的(deterministic),而现在则变成了对每个一x,y出现的概率是台大机器学习基石 Lecture 8 - Noise and Error。下面的图继续用罐中抽小球的例子来解释(i.i.d.是指独立同分布)——

台大机器学习基石 Lecture 8 - Noise and Error

从而我们可以用数学证明,如果数据集按照概率台大机器学习基石 Lecture 8 - Noise and Error分布且是i.i.d.的,那么之前证明机器可以学习的方法依然奏效,VC Dimension有限即可推断台大机器学习基石 Lecture 8 - Noise and Error

台大机器学习基石 Lecture 8 - Noise and Error称为Target Distribution(目标分布),可以这么理解——Target Distribution是有噪声情况下的理想小目标(ideal mini-target),最理想的结果是什么,伴随着多少的noise。而确定的目标台大机器学习基石 Lecture 8 - Noise and Error则是Target Distribution的一个特例:

台大机器学习基石 Lecture 8 - Noise and Error

于是,学习的目标就是要在最常见的点上做到尽可能接近mini-target。

台大机器学习基石 Lecture 8 - Noise and Error

那么存在noise的情况下,Learning Flow变形成下面这样——

台大机器学习基石 Lecture 8 - Noise and Error

Error Measure

现在我们通过更加一般化的方法来看错误度量,也就是训练之后的台大机器学习基石 Lecture 8 - Noise and Error与理想的台大机器学习基石 Lecture 8 - Noise and Error的error measure:台大机器学习基石 Lecture 8 - Noise and Error

主要有三个特性——

  • out-of-sample:通过已有数据集之外的数据来测量
  • pointwise:对每一个数据点都要进行测试
  • classification:查看prediction与target是否一致,这也通常称为'0/1 error'

Pointwise Error实际上就是对数据集的每个点计算错误并计算平均, 在计算台大机器学习基石 Lecture 8 - Noise and Error台大机器学习基石 Lecture 8 - Noise and Error的point wise error表达式如下——

台大机器学习基石 Lecture 8 - Noise and Error

pointwise error是机器学习中最常用也是最简单的一种错误衡量方式(台大机器学习基石 Lecture 8 - Noise and Error),未来课程中,我们主要考虑这种方式。简便起见,记作台大机器学习基石 Lecture 8 - Noise and Error台大机器学习基石 Lecture 8 - Noise and Error台大机器学习基石 Lecture 8 - Noise and Error。主要有两类,0/1 error和squared error,前者主要用于分类,后者主要用于回归——

台大机器学习基石 Lecture 8 - Noise and Error

Ideal Mini-Target由台大机器学习基石 Lecture 8 - Noise and Error台大机器学习基石 Lecture 8 - Noise and Error共同决定,下面的例子能表明在相同的台大机器学习基石 Lecture 8 - Noise and Error下不同的台大机器学习基石 Lecture 8 - Noise and Error能产生不同的err结果,形成不同的ideal mini-target——

台大机器学习基石 Lecture 8 - Noise and Error

在加入error measure之后,Learning Flow变成了这样——

台大机器学习基石 Lecture 8 - Noise and Error

Algorithmic Error Measure

Error有两种:False Accept(错的认为是对的)和False Reject(对的认为是错的),0/1 error将这两种error视作相同的。

台大机器学习基石 Lecture 8 - Noise and Error

 我们可以给不同的错误给不同的权值,比如在CIA的指纹识别中,false accept的权值就显然高于false reject,可以用权值表来表示——

台大机器学习基石 Lecture 8 - Noise and Error +1 -1
+1 0 1
-1 1000 0

因此,err是依赖于应用和用户的。

测量error的方法台大机器学习基石 Lecture 8 - Noise and Error有多种,常用的主要分成两类——

台大机器学习基石 Lecture 8 - Noise and Error

 加入error measure后,Learning Flow变成了——

台大机器学习基石 Lecture 8 - Noise and Error

Weighted Classification

机器学习的Cost Function即来自于这些error,也就是算法里面的迭代的目标函数。weighted classification就是不同的(x, y)给出不同的'weight',在机器学习算法的cost function中进行优化。

将基于损失权重的台大机器学习基石 Lecture 8 - Noise and Error记为台大机器学习基石 Lecture 8 - Noise and Error,那么可以用Systematic Route的方法将台大机器学习基石 Lecture 8 - Noise and Error台大机器学习基石 Lecture 8 - Noise and Error联系起来,以CIA的权值表为例,我们可以类比于将1000的权值复制1000份,1的权值保持不变,然后用0/1 error的方法计算,这两个方法是等价的。

当然,我们不会真的复制1000份,这样太慢了,也不支持非整数的权值。

于是我们只要做到以下两点,提高检查-1的概率,并且在pocket中保留较小的台大机器学习基石 Lecture 8 - Noise and Error——

台大机器学习基石 Lecture 8 - Noise and Error

 这样的Systematic Route也被成为Reduction,在许多其他的算法中有应用。