本节主题:
我这个笔记是结合了Lecture4/5/6三节课的,开始讨论机器学习的可行性:Why can Learn? 主要是对三节课背后的思想的内核进行总结,并加入一点自己的思考。
1. NFL(No Free Lunch)的推论:
如果 (E_{in}) 和 (E_{out}) 毫无关联,那么基于 (E_{in}) 找到的 hypothesis h 根本就无法适用于 (E_{out}) ,换言之,虽然你找到的 hypothesis h 在你已知的 (D_{in}) 上有良好的学习效果,但是它在未知的 (D_{out}) 上的预测结果根本就不可行,不可信。【本质原因是 (D_{out}) 上的规律和 $ D_{out} $ 上的规律,可以完全没有相关性】
2. 引入概率统计【解决上述问题】
-
如果 $ D_{in} $ 和 $ D_{out} $ 是【独立同分布】的,即他们都是从同一个数据源经过不同的采样过程得到的,那么它们的潜在规律是相同的,那么就有可能根据 $ D_{in} $ 上面找到的
hypothesis h来处理 $ D_{out} $ 。 -
但是 $ D_{in} $ 上面的规律在什么条件下才是适用于 $ D_{out} $ 呢?引入 $ E_{in} $ 和 $ E_{out} $ 表示某个
hypothesis h在 $ D_{in} $ 和 $ D_{out} $上面的误差,如下:
问题转化成:我们想找一个hypothesis h,能让 $ E_{in} = E_{out} $
-
由
Hoffield-Inequailty:
(P[| E_{in} - E_{out} | > epsilon] leq 2 exp lgroup -2 epsilon ^2 N group)
易知,在某一个特定的hypothesis h条件下【这个(h)必须已经固定,等价于常数,不可以再变化】,如果N足够大【或者(epsilon)足够大,但是没意义啊,误差超大,这个hypothesis就是废了】,那么 $ E_{in} = E_{out}, PAC(probabely ; approximatly ; correct)$ -
再回到机器学习的本质:【找一个
g,g越接近理想的f越好】,即想要 $ g approx f $ 。上面我们已经能想办法做到 $ E_{in} = E_{out}, PAC $ ,如果我们能设法找到一个hypothesis h使得 $ E_{in} approx 0 $ ,那么 $ E_{out} approx 0 $ ,即说明在 $ D_{out} $ 上面,这个hypothesis h的误差基本为0,所以 $ g approx f, PAC $ 当前这个h就是我们所求的g. -
至此,我们的【假设及目标】已经清晰:
- 假设 $ D_{in} $ 和 $ D_{out} $ 是独立同分布的. 【这是ML的假设】
- 在已经固定了一个h的前提下,要保证N足够大 【确保了 $ E_{in} = E_{out},PAC $ 】
- 从H中找一个
hypothesis h(令之为g),使得 $ E_{in} approx 0 $ 。【进而 $ E_{out} = 0, g = f, PAC $ 】
-
BAD DATA的问题:
- 某一个
hypothesis h,在操作某一个数据集D时,发生:$ P(|E_{in}-E_{out}|>epsilon) $ 非常大,这个数据集D就是一个Bad Data。 - 只要 (D_{n}) 在【某个】
hypothesis h上是Bad Data,那么 (D_{n}) 就是Bad Data。只有当 $ D_{n} $ 在【所有】的hypothesis上都是好的数据,才说明 (D_{n}) 不是Bad Data,【才可以】自由选择演算法(mathcal{A})对(mathcal{D})进行建模,我们【才可以】安全地执行【寻找 $ E_{in} $ 最小】的算法找最合适的h。 - 否则,我们找到的
h可能很不幸就是那个引发BAD DATA的h。 - 那么,现在我们必须研究下
BAD DATA发生的概率的upper-bound,从而想办法【比如给约束条件/假设】尽量减小这个upper-bound。
- 某一个
3. BAD-DATA的upper-bound:
- 根据
Hffield-Inequality,我们推测BAD-DATA的发生的union-bound,
最终的结论是:当hypothesis的个数M是【有限】整数时,且N极大时,这个union-bound就会极其小【趋近0】。
2. 换句话说,只要控制了(|mathcal{H}|)即M为finite有限的,我们再去执行【寻找满足(E_{in}=0)的h】的算法时,任意搜索到的h碰到Dad Data的概率都会很低。
3. 小结下:如果hypothesis的个数M是有限的,N足够大,那么通过演算法(mathcal{A})【任意选择】一个g,都有 $ E_{in} approx E_{out}$ 成立;同时,如果找到一个g,使 $ E_{in} approx 0 $ ,PAC就能保证 $ E_{out} approx 0 $ 。至此,就证明了机器学习是可行的。
4. 遗留问题:
但是,如果我们的M事实上是无限大的整数,这个upper-bound会怎样?【比如PLA和Packet- Alg的M就是无穷大,因为hyperplane直线或平面,而直线天生就可以画无数条】
4. M无穷大怎么办
这是下节要解决的问题。