4. 机器学习基石-When can Machine Learn?
来源:互联网 发布:黑客帝国矩阵 编辑:程序博客网 时间:2024/05/22 07:00
When can Machine Learn? - Feasible of Learning
- When can Machine Learn? - Feasible of Learning
- 1. Learning is Impossible?
- 2. Probability of the Rescue
- 1) Hoeffding Inequity
- 2) Connection Between Hoeffding Inequity and Learning
- 3) Connection Between Hoeffding Inequity and Real Learning
- ① Introduction of Bad Data
- ② Probability of Bad Data
- Summary
- Reference
这章主要讨论 Whether machine learning is possible or not.
1. Learning is Impossible?
在讨论之前,先看下面的一个问题
这类似于一道智商题,却没有标准答案,根据你不同的一个视角,可以找到不同的规则。比如:
- 左上角的正方形是否涂黑
- 是否对称
- 正中间的正方形是否涂黑
- …
所以无论机器学到的是什么模型,其他人都能说机器说错了。也就是说机器不能真的学习了。
2. Probability of the Rescue
1) Hoeffding Inequity
上面提到了机器不能学习,因为机器求出来的假设函数
\rho \left[ \lvert \nu - \mu \rvert > \epsilon\right ] \leq 2 \cdot \exp \left( -2 \epsilon^2 N \right)
\tag{
$$
其中
ρ 为概率符号,∣ν−μ∣ 表示2个值的近似程度,ϵ 是这个近似程度的下界,N 为样本数量的大小,所以不等式的意思是两个值的差别大于ϵ 的概率小于等于2⋅exp(−2ϵ2N) 。所以,如果当ϵ 一定的情况下, 随着样本数量N 越大,那么这个差距的可能性越小(参考e−n 的曲线),当ϵ 很小且N 大到一定的程度的时候,μ 和ν 差别很小的概率很低,即μ 和ν 相等是一个大概近似正确(Probably Approximately Correct, PAC)的情况。
下面举例说明公式的意义(以概率统计中的从罐子中有放回的取球为例),如图二。
图二 Sampling[2]
罐子中只有橙色和绿色的球,其中橙色球的概率为
2) Connection Between Hoeffding Inequity and Learning
下面引用PPT里面的对比图来进行解释。
上面的抽样调查中,我们关键有: 罐子中橙色球的实际概率
对应到实际学习中就是: 实际测试中
并且可以得到以下公式(2)和公式(3)
ϵ 表示为期望值,即实际样本中的错误率Eout
为了查看方便,列个表格进行说明
因此结合Hoeffding的理论支持后,我们可以扩展机器学习的流程图,如图四所示。
其中虚线表示未知概率
ρ 对随机抽样以及实际测试中h(x)≠g(x) 的概率Eout 的影响,实线表示训练过程中满足h(x)≠g(x) 的概率Ein 。
上面提到的
所以Hoedding的不等式可以变成公式(6)
接近于
\rho \left[ \lvert E_{in} - E_{out} \rvert > \epsilon\right] \leq 2 \cdot \exp \left( -2 \epsilon^2 N \right)
\tag{
$$
同样的,当 $\epsilon$一定(一般都很小),并且训练样本 $N$足够大的情况下,我们有 $E_{in} \approx E_{out}$,也就是说 $g(x) \approx f(x)$,这时候的流程图就变成了一个 $h$对应一个 $f$的情况了,如图五所示。
但这个并非是真正意义上的学习,因为只有一个Hypothesis(因为通过一个一段数据集,我们只能得到一个Hypothesis),所以我们下面讨论多个。
3) Connection Between Hoeffding Inequity and Real Learning
上面我们讨论了根据Hoeffding Inequity,在
疑问:但是在应对多个Hypothesis的时候,我们就有多个
h(x) 和多个Ein ,那样我们真的能确定Ein≈Eout 吗?
① Introduction of Bad Data
在连续抛5次硬币过程中,一个人抛到正面朝上的概率为
分析: 因为一个人连续5次抛出正面朝上几率为
132<3% , 所以如果机器学习的话,在测试的时候他更偏向于预测“不能连续抛出5次正面朝上”(因为选择会偏向于选择概率更大的一边)。但是当150次试验的时候,一个人连续5次抛出正面朝上的几率Eout>99% ,而在训练的时候的概率Ein<3% ,也就是说机器学习了之后进行了错误的估计(即Ein远远≠Eout 。导致这种结果的几率就是所谓的 bad data(也就是Noise:偏差值,数据与所需数据不吻合等)。疑问:
1.如果说存在bad data,那样的话怎么区分呢?(下面会证明bad data出现的概率)。
2.如果万一
Ein 很大的话,那么Eout 也很大,那么这机器学习还什么意义呢?(这个问题后面解释)
② Probability of Bad Data
首先在单个假设的时候如图六所示
而在多个假设的时候如图七所示
最后计算 Bad Data发生的概率如图8所示。
由计算结果可以发现,这里的M是一个有限的数,所以当训练样本
N 越大,那么Bad Data出现的概率越低,Ein≈Eout ;如果训练样本N 一定的情况下,M越大,也就是说Hypothesis越多,那样可以供我们用算法A 进行选择的越多,那么越有可能选到一个好的样本,使得Ein≈0
总结如下表:
最终我们的Learning Flow 就可以变成图9。
在足够样本的情况下,机器算是能学到东西了!
Summary
这章主要讨论 Whether machine learning is possible or not.
思路:
1. 首先直线学习是不可能的:因为输入样本与实际测试样本差别可能很大
2. 1中讨论的情况是事情,但是有根据统计学中的Hoeffding不等式,可以有补救的办法(某种程度上,可以使得学习后的机器在实际测试中有较小的错误),然后根据Hoeffding不等式,来联系机器学习,说明机器学习是某种程度上可行的
Reference
1.机器学习基石(台湾大学-林轩田)\4\4 - 1 - Learning is Impossible- (13-32)
2.机器学习基石(台湾大学-林轩田)\4\4 - 2 - Probability to the Rescue (11-33)
3.机器学习基石(台湾大学-林轩田)\4\4 - 3 - Connection to Learning (16-46)
4.机器学习基石(台湾大学-林轩田)\4\4 - 4 - Connection to Real Learning (18-06)
- 4. 机器学习基石-When can Machine Learn?
- 1. 机器学习基石-When can Machine Learn?
- 2. 机器学习基石-When can Machine Learn?
- 3. 机器学习基石-When can Machine Learn?
- 5. 机器学习基石-Why can Machine Learn?
- 6. 机器学习基石-Why can Machine Learn?
- 7. 机器学习基石-How can Machine Learn?
- 8. 机器学习基石-How can Machine Learn?
- 9. 机器学习基石-How can Machine Learn?
- 10. 机器学习基石-How can Machine Learn?
- 12. 机器学习基石-How can Machine Learn Better?
- 13. 机器学习基石-How can Machine Learn Better?
- 14. 机器学习基石-How can Machine Learn Better?
- 机器学习基石-Dual Support Vector Machine
- NTU-Coursera机器学习:机器学习基石 (Machine Learning Foundations)
- 机器学习基石第二讲:learn to answer yes/no
- 林轩田之机器学习课程笔记(when can machines learn之learning problem)(32之1)
- 林轩田之机器学习课程笔记(when can machines learn之types of learning)(32之3)
- hdu 1828 Picture
- 观光公交
- 3. 机器学习基石-When can Machine Learn?
- POJ 2305 Basic remains——Java进制转换
- sonar扫描非maven项目
- 4. 机器学习基石-When can Machine Learn?
- ucos-iii学习之挂起队列
- harding
- android studio 发布APK 时出现的问题“not found for signing config 'externalOverride'的问题处理
- Linux用户与权限
- Rust: 如何交换Vec类型中数据的位置?
- Linux下/usr/bin/python被删除的后果
- 蚂蚁金服面试题库
- 使用一种非常不优雅的方式解决斐波那契数列