台湾国立大学(林轩田)《机器学习基石》(第7-8讲)VC Dimension ,Noise and Error

课程地址:https://class.coursera.org/ntumlone-001/class
课件讲义:http://download.csdn.net/download/malele4th/10208897
注明:文中图片来自《机器学习基石》课程和部分博客
建议:建议读者学习林轩田老师原课程,本文对原课程有自己的改动和理解

目录

  • 目录
    • Lecture 7 The VC Dimension
    • Lecture 8
      • Noise
      • Error Measure

Lecture 7 The VC Dimension

前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释。机器能够学习必须满足两个条件:

  • 假设空间H的Size M是有限的,即当N足够大的时候,那么对于假设空间中任意一个假设g,Eout≈Ein。
  • 利用算法A从假设空间H中,挑选一个g,使Ein(g)≈0,则Eout≈0。

这两个条件,正好对应着test和trian两个过程。train的目的是使损失期望Ein(g)≈0;test的目的是使将算法用到新的样本时的损失期望也尽可能小,即Eout≈0。

正因为如此,上次课引入了break point,并推导出只要break point存在,则M有上界,一定存在Eout≈Ein。

本次笔记主要介绍VC Dimension的概念。同时也是总结VC Dimension与Ein(g)≈0,Eout≈0,Model Complexity Penalty(下面会讲到)的关系。

下面介绍一个新的名词:VC Dimension。VC Dimension就是某假设集H能够shatter的最多inputs的个数,即最大完全正确的分类能力。(注意,只要存在一种分布的inputs能够正确分类也满足)。

shatter的英文意思是“粉碎”,也就是说对于inputs的所有情况都能列举出来。例如对N个输入,如果能够将 2N 种情况都列出来,则称该N个输入能够被假设集H shatter。

总结:
本节课主要介绍了VC Dimension的概念就是最大的non-break point。然后,我们得到了Perceptrons在d维度下的VC Dimension是d+1。接着,我们在物理意义上,将dvc与自由度联系起来。最终得出结论dvc不能过大也不能过小。选取合适的值,才能让Eout足够小,使假设空间H具有良好的泛化能力。

Lecture 8

上一节课,我们主要介绍了VC Dimension的概念。如果Hypotheses set的VC Dimension是有限的,且有足够多N的资料,同时能够找到一个hypothesis使它的Ein≈0,那么就能说明机器学习是可行的。本节课主要讲了数据集有Noise的情况下,是否能够进行机器学习,并且介绍了假设空间H下演算法A的Error估计。

Noise

首先,Data Sets的Noise一般有三种情况:

由于人为因素,正类被误分为负类,或者负类被误分为正类;
同样特征的样本被模型分为不同的类;
样本的特征被错误记录和使用。

之前的数据集是确定的,即没有Noise的,我们称之为Deterministic。现在有Noise了,也就是说在某点处不再是确定分布,而是概率分布了,即对每个(x,y)出现的概率是P(y|x)。

因为Noise的存在,比如在x点,有0.7的概率y=1,有0.3的概率y=0,即y是按照P(y|x)分布的。数学上可以证明如果数据集按照P(y|x)概率分布且是iid的,那么以前证明机器可以学习的方法依然奏效,VC Dimension有限即可推断Ein和Eout是近似的。

Error Measure

机器学习需要考虑的问题是找出的矩g与目标函数f有多相近,我们一直使用Eout进行误差的估计,那一般的错误测量有哪些形式呢?

我们介绍的矩g对错误的衡量有三个特性:

out-of-sample:样本外的未知数据
pointwise:对每个数据点x进行测试
classification:看prediction与target是否一致,classification error通常称为0/1 error

实际上,机器学习的Cost Function即来自于这些error,也就是算法里面的迭代的目标函数,通过优化使得Error(Ein)不断变小。
cost function中,false accept和false reject赋予不同的权重,在演算法中体现。对不同权重的错误惩罚,可以选用virtual copying的方法。

总结:
本节课主要讲了在有Noise的情况下,即数据集按照P(y|x)概率分布,那么VC Dimension仍然成立,机器学习算法推导仍然有效。机器学习cost function常用的Error有0/1 error和squared error两类。实际问题中,对false accept和false reject应该选择不同的权重。

你可能感兴趣的:(机器学习基石—台湾大学,机器学习基石,VC,Dimension,林轩田,Noise)