台大《机器学习基石》课程Week4-7讲的主要是机器学习算法为什么可行。看的稀里糊涂的,结合相关资料,做个总结,梳理下思路~
ML的框架如下:
1 符号表示
f:X→Y
:
X
表示输入空间,可以理解为样本特征;
D:(x1,y1,...,(xN,yN))
为训练集。
H
:hypothesis set,一个有限or无限的方程or函数的集合。演算法
g
:final hypothesis
2 Feasibility of Learning
2.1 机器学习是否可行
考虑一个简单的二分类问题。
2.2 统计学上的一个例子
统计学中我们可以使用样本均值推断总体均值,且样本均值统计量具有良好的性质:其抽样分布趋于期望为总体均值,方差为总体方差的
如上图所示:
bin
:一个装满橙色和绿色小球的罐子
μ
:罐子中orange小球的占比
1−μ
:罐子中green小球的占比
sample
:从罐子中随机抽样一次
N
:抽样大小,即抽出的小球数
1−ν
:样本中green小球的占比
那么
ν
可以代替或者某种程度衡量
μ
吗?概率论中的Hoeffding不等式可以解决这一问题。
其中: ε 为容忍度,当 μ 和 ν 差别小于容忍度时,称 μ 和 ν 差不多(‘PAC’,probably approximately correct)。当 μ 和 ν 差别大于容忍度时,称 μ 和 ν 差很多。差很多这件事发生的越小越好,最大不超过不等式右边。相同的 ε 时,如果N足够大,那么我们可以有较大的概率说 μ 和 ν 差不多。
2.3 类比Learning
类比与机器学习问题,罐子相当于数据总体,对于某一个固定的
h
,可按照如下方式标记:
1 . 如果
2 . 如果
h(xn)=f(xn)
,即判断一致,标记第n个小球为green
按照之前sample小球的方式,我们可以利用sample中orange的占比估计总体中orange的占比。即可以推断
h
在未知数据集上的表现。记
*
*
Ein(h)=1N∑Nn=1[h(x)≠f(x)]
由Hoeffding不等式:
当不等号右边这个上界足够小,可以说 h 在sample和总体中表现差不多(不等式的本来含义是差很多的概率很小,反之)。此时我们只能说
其中我们需要独立同分布与总体的验证数据,把 h 当做
2.4 Bad Sample & Bad Data
抛一个正常的硬币50次,如果出现正面40次,反面10次。则 ν=0.8 ,与 μ=0.5 相差很大。此时采用这次sample的样本均值显然不合理。因此这一次sample,就是一个bad sample。(凡是由于抽样误差所造成样本分布与总体分布相差很大样本,都称之为bad sample。参考[1])
learning也会遇到这样的问题,比如
h1
是一个很好的方程,但是sample的都是orange ball,那么演算法
A
不会选择;反之,
故而为了演算法
A
可以自由的挑选方程(
我们可以说 P[BadDforh]≤2exp(−2ε2N) ,即hoeffding不等式对某一个固定 h ,可以使得其在任意一个sample上出现bad data的概率很小。那么对于所有hypothesis而言,出现Bad Data的概率呢。先看一个直观的例子,150个人抛硬币,每个人抛5次,至少出现有一个人连续5次硬币都朝上的概率为
由此,hypothesis set的大小对learning的有关。M有限,数据量越大,出现bad sample的概率越小。这样就可以保证 D 对所有的
3 Summary
本文的主要内容是Learning是否能够可行。如果M有限,N足够大,一般而言演算法可以找到一个
g
,使得
4 Ref
[1] http://beader.me/mlnotebook/section2/is-learning-feasible.html
[2] http://blog.csdn.net/red_stone1/article/details/71082934
2018-01-20 于杭州