这篇文章主要用自己的话对Week4-Week8的大体思路的一些总结,不涉及细节。
Part1-Part5主要阐述一个问题:learning在什么情况下是可行的?一个好的learning应该是在已知训练集和未知数据集中都有良好表现的,良好表现是指预测的误差较小。那么如果我们可以找到一个函数or方程使得它在训练集上误差小,并且这个函数在已知训练集和未知数据集中都有差不多的表现,那么我们可以说learning是可行的。现在问题拆分成两个:
- Ein≈0 E i n ≈ 0
- Eout≈Ein E o u t ≈ E i n
核心内容是解决问题2,即满足什么条件可以使得
Eout≈Ein
E
o
u
t
≈
E
i
n
。证明和论述主要是放在二分类问题的框架上,主要步骤就是不停的扩大上界。
1. 通过类比统计上样本均值推断总体均值的罐子模型,得到某一个固定的
h
h
一定可以满足:
2. 为了可以保证 Ein≈0 E i n ≈ 0 ,希望 H H 所有的hypothesis都能满足,利用union bound放大 H H 出现不满足的概率:
3. 显然这个bound过大了,因为不同的hypothesis很可能有重叠部分被重复计算,导致概率被高估。这时候把相似的hypothesis合并成一类,相似的定义是同一个dichotomy,即对所有的训练集的判断完全一致的hypothesis归为一类。 H H 一共可以产生的类用表示,即资料量为 N N 时,最多可以产生的dichotomy的个数。至于这样是否合理,后面会有说明。那么用 mH(N) m H ( N ) 替换 M M :
4. 经过分析发现 mH(N) m H ( N ) 的大小和break point有关,寻找已知min break point为k的情况下, mH(N) m H ( N ) 的上界 B(N,k) B ( N , k ) ,通过证明发现:
5. 之前我们用 mH(N) m H ( N ) 代替 M M ,这明显不合理,因为同一个dichotomy的不同hypothesis不一定完全重叠,或者说一样的 h h ,不一定也一样,那么可以对之前不等式右端做些调整,使得一定成立,有严格证明,并不能看懂,暂且记住:
6. 把break point的定义替换成VC维,同时用上界 Nk−1 N k − 1 代替 B(N,k) B ( N , k ) ,可以有:
7. 此时如果VC维 k k 有限,N够大,就能满足第二个条件。不加以证明的,当数据中存在noise时,VC维的理论依旧有效。那么就需要满足条件一,最后提出error的定义,演算法通过不断的减少cost function,得到一个的 g g 作为的估计。具体的演算法要等后面的课程讲解。
总体的步骤大抵如上,最重要的
mH(N)
m
H
(
N
)
怎么调整系数和
2N
2
N
就能严格满足不等式,这里没看懂,可以说是很遗憾了。罢了,我就安安心心地调调包侠呗。
2018-01-30 于杭州