林轩田机器学习基石Lecture 7:The_VC_Dimension

@Lecture 7:The_VC_Dimension
上节课讲到mH会被N的多项式bound住,N的多项式又会小于N的k-1次方,因此坏事情(H的Ein和Eout离得很远)发生的概率会被bound住
林轩田机器学习基石Lecture 7:The_VC_Dimension_第1张图片

Defifinition of VC Dimension

VC Dimension的定义,即最小的break point -1,也就是能H可以shatter的最大的点的数量
林轩田机器学习基石Lecture 7:The_VC_Dimension_第2张图片
也就是说好的H,是有breakpoint的,是dvc是finite的。
由定义可知,机器可学习(存在dvc)于算法无关,于输入数据的分布无关,于目标函数无关。
需要注意的是dvc于输入的样本个数N之间也没有必然联系。
林轩田机器学习基石Lecture 7:The_VC_Dimension_第3张图片

VC Dimension of Perceptrons

2D的PLA算法
林轩田机器学习基石Lecture 7:The_VC_Dimension_第4张图片
也就是PLA可以利用在d>2的数据上面吗?
已知:
1D Perceptrons dvc =2
2D Perceptrons dvc =3
是否可以猜想,d-D 的Perceptrons 的dvc = d +1
证明相等可以转换为证明下述不等式:
林轩田机器学习基石Lecture 7:The_VC_Dimension_第5张图片
先证明dvc大于等于d+1:也就是There are some d + 1 inputs we can shatter.
在数学上就是 y = w x x是d+1维,x可逆,则存在w = yx-1

再证明dvc小于等于d+1:也就是We cannot shatter any set of d + 2 inputs
也就是X的d+2肯定会被前d+1线性表出,且只有一种结果,因此无法shatter任何d+2的维度

因此dvc = d+1

Physical Intuition of VC Dimension

假设H可以用参数w = (w0, w1, · · · , wd )表示,VC Dimension的物理意义在做二元分类时为模型可以有多少个自由度也就是w的个数
如2D分类时,y = w0x0+w1x1+b,w =(w0,w1,b) 三个参数=dvc=3
但这个不是一定的,是大多数情况下用来估计自由参数w的个数

回顾机器学习的两个目标
一个是使得Ein约等于0
一个是使Ein约等于Eout
large dvc是模型复杂度高,Ein小,Ein和Eout 离得远,(另一种说法是在训练数据上面过拟合,会带来train_err小,但是test_err大)
small dvc 是模型复杂度低,Ein大,Ein和Eout 离得近,train_err会大,但是train_err-test_err约等于0
因此需要选择一个合适的dvc,在机器学习的两个任务中间trade_off

Interpreting VC Dimension

VC bound函数:
林轩田机器学习基石Lecture 7:The_VC_Dimension_第6张图片
Ein和Eout trade off图像:选择一个dvc中间值,不是越大越好,也不是越小越好
林轩田机器学习基石Lecture 7:The_VC_Dimension_第7张图片
也可以根据VC bound 得到训练所需的样本数
理论上N=100000dvc,但实际上,N=10dvc就够了林轩田机器学习基石Lecture 7:The_VC_Dimension_第8张图片
总结:
两个事情:一个是dvc=d+1,二是dvc的物理意义:模型自由度,选择dvc要在机器学习的两个任务中间trade off选择

你可能感兴趣的:(林轩田课程笔记,机器学习)