本节主题:
我这个笔记是结合了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无穷大怎么办
这是下节要解决的问题。