4-ML的可行性(1)

本节主题:

我这个笔记是结合了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. 引入概率统计【解决上述问题】

  1. 如果 $ D_{in} $ 和 $ D_{out} $ 是【独立同分布】的,即他们都是从同一个数据源经过不同的采样过程得到的,那么它们的潜在规律是相同的,那么就有可能根据 $ D_{in} $ 上面找到的 hypothesis h 来处理 $ D_{out} $ 。

  2. 但是 $ D_{in} $ 上面的规律在什么条件下才是适用于 $ D_{out} $ 呢?引入 $ E_{in} $ 和 $ E_{out} $ 表示某个 hypothesis h 在 $ D_{in} $ 和 $ D_{out} $上面的误差,如下:

[E_{in}(h) = frac{1}{N} sum_{n=1}^{N} lVert h(x_n) eq f(x_n) Vert \ E_{out}(h) = epsilon_{x sim P} lVert h(x) eq f(x) Vert ]

问题转化成:我们想找一个hypothesis h,能让 $ E_{in} = E_{out} $

  1. 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)$

  2. 再回到机器学习的本质:【找一个gg越接近理想的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.

  3. 至此,我们的【假设及目标】已经清晰:

    • 假设 $ 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 $ 】
  4. 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 DATAh
    • 那么,现在我们必须研究下BAD DATA发生的概率的upper-bound,从而想办法【比如给约束条件/假设】尽量减小这个upper-bound

3. BAD-DATA的upper-bound:

  1. 根据Hffield-Inequality,我们推测BAD-DATA的发生的union-bound

[egin{aligned} & mathbb{P}_{mathcal{D}}[BAD mathcal{D}] \ & = mathbb{P}_{mathcal{D}}[BAD mathcal{D} for h_1 or BAD mathcal{D} for h_2 or ... or BAD mathcal{D} for h_M]\ & leq mathbb{P}_{mathcal{D}}[BAD mathcal{D} for h_1] + mathbb{P}_{mathcal{D}}[BAD mathcal{D} for h_2]+...+mathbb{P}_{mathcal{D}}[BAD mathcal{D} for h_M] \ & leq 2exp(-2epsilon ^2N) + leq 2exp(-2epsilon ^2N) + ... + leq 2exp(-2epsilon ^2N) \ & = 2Mexp(-2epsilon ^2N) end{aligned} ]

最终的结论是:当hypothesis的个数M是【有限】整数时,且N极大时,这个union-bound就会极其小【趋近0】。
2. 换句话说,只要控制了(|mathcal{H}|)Mfinite有限的,我们再去执行【寻找满足(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会怎样?【比如PLAPacket- AlgM就是无穷大,因为hyperplane直线或平面,而直线天生就可以画无数条】

4. M无穷大怎么办

这是下节要解决的问题。

原文地址:https://www.cnblogs.com/LS1314/p/9129311.html