机器学习基石 4 Feasibility of Learning
机器学习基石 4 Feasibility of Learning
Learning is Impossible?
机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接近于目标函数 \(f(x)\)。
问题:这种预测是可能的么?其泛化性的本质是什么?是什么保证了 \(h(x) \approx f(x)\) ?
Probability to the Rescue
情景:有一个装有很多很多珠子的罐子,珠子的颜色是橙色和绿色,那么我们可以通过抽样的方法来估计橙色珠子的比例。

Hoeffding's inequality:
采样次数 \(N\) 足够大时,\(v\) 和 \(\mu\) 有如下关系:

于是可以说 \(v\) 和 \(\mu\) 大概近似相等(probably approximately correct,PAC)。
因此,选择合适的 \(N\) 以及 \(\epsilon\),就可以通过 \(v\) 预测 \(\mu\)。
Connection to Learning
可以将以上的情景与机器学习问题对应起来,如下图所示:

- 橙色:\(h(x) \neq f(x)\)
- 绿色:\(h(x) = f(x)\)
- 橙色珠子概率 \(\mu\):\(h(x) \neq f(x)\) 的概率
- 抽到橙色珠子:在某个样本点 \(x_n\) 上,\(h(x_n) \neq f(x_n) = y_n\)
- 抽到绿色珠子:在某个样本点 \(x_n\) 上,\(h(x_n) = f(x_n) = y_n\)
- 抽样动作:判断 \(h(x_n)\) 与 \(f(x_n)=y_n\) 是否相等
于是在一定条件下,我们可以通过测试 \(h(x_n) \neq y_n\) 的比例来推断 \(h(x) \neq f(x)\) 的概率。
这里需要注意的是,\(x_n\) 需要是独立同分布的,但是我们并不需要知道具体的分布函数。
完善学习流程图:


公式如下:

上面的公式保证了在一定条件下,\(E_{in}(h)\) 与 \(E_{out}(h)\) 不会相差太远,那么只要我们能选择合适的 \(h\) 使得 \(E_{in}(h)\) 比较小,那么 \(E_{out}(h)\) 也会比较小,我们就完成了学习。
算法的目的:在假设集 \(H\) 中选择合适的 \(h\),并且通过验证,判断 \(E_{in}(h)\) 是否真的合适。
验证的过程:

同理,需要保证测试样本与训练样本是独立同分布的,但是不需要知道具体的分布函数。
Connection to Real Learning
以上的分析是对于一个 \(h\) 来说的,下面考虑多个 \(h\) 的情况。
引入一个 BAD Data 的概念,对于一个 \(h\) 这种情况,BAD Data 指的是在这个数据集下,\(E_{in}(h)\) 与 \(E_{out}(h)\) 相差很大;对于一个 \(h\) 这种情况,BAD Data 指的是在这个数据集下,存在某个 \(h\),\(E_{in}(h)\) 与 \(E_{out}(h)\) 相差很大。
如果数据集是 BAD Data,那么即使我们通过机器学习,得到一个 \(h(x)\),并且 \(E_{in}(h)\) 很小,我们也无法保证说(PAC) \(E_{out}(h)\) 很小,于是学习失败了,因此我们希望 BAD data 出现的概率越小越好。
对于一个 \(h\) 这种情况,BAD data 出现的概率(前面已经说过了):

对于多个 \(h\) 这种情况,BAD data 出现的概率(Union Bound):

其中 \(M\) 表示的是假设集中 \(h\) 的个数。
如果 \(M\) 的值是有限的,那么 \(N\) 足够大的情况下,BAD data 出现的概率很小,即无论哪个 \(h\),都有 \(E_{in}(h) \approx E_{out}(h)\) (PAC),那么我们通过合适的算法选择一个 \(E_{in}\) 小的 \(h\),就能保证 \(E_{out}\) 小(PAC),于是学习成功了。
完善学习流程图:

机器学习基石 4 Feasibility of Learning的更多相关文章
- 机器学习基石 3 Types of Learning
机器学习基石 3 Types of Learning Learning with Different Output Space Learning with Different Data Label L ...
- 机器学习基石:01 The Learning Problem
什么时候适合用机器学习算法? 1.存在某种规则/模式,能够使性能提升,比如准确率: 2.这种规则难以程序化定义,人难以给出准确定义: 3.存在能够反映这种规则的资料. 所以,机器学习就是设计算法A,从 ...
- 林轩田机器学习基石笔记1—The Learning Problem
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Lear ...
- 机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA
原文地址:https://www.jianshu.com/p/ed0aee74523f 一.Perceptron Learning Algorithm (一)算法原理 PLA本质是二元线性分类算法,即 ...
- 机器学习基石:16 Three Learning Principles
三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据 ...
- 机器学习基石 2 Learning to Answer Yes/No
机器学习基石 2 Learning to Answer Yes/No Perceptron Hypothesis Set 对于一个线性可分的二分类问题,我们可以采用感知器 (Perceptron)这种 ...
- 机器学习基石 1 The Learning Problem
机器学习基石 1 The Learning Problem Introduction 什么是机器学习 机器学习是计算机通过数据和计算获得一定技巧的过程. 为什么需要机器学习 1 人无法获取数据或者数据 ...
- 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
大家好,我是Mac Jiang,非常高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解 ...
- 机器学习基石(台湾大学 林轩田),Lecture 1: The Learning Problem
课程的讲授从logo出发,logo由四个图案拼接而成,两个大的和两个小的.比较小的两个下一次课程就可能会解释到它们的意思,两个大的可能到课程后期才会解释到它们的意思(提示:红色代表使用机器学习危险,蓝 ...
随机推荐
- MD5碰撞后时代,MD5还有存在的意义吗?
MD5是一种HASH函数,又称杂凑函数,由32位16进制组成,在信息安全范畴有广泛和首要运用的暗码算法,它有类似于指纹的运用.在网络安全协议中, 杂凑函数用来处理电子签名,将冗长的签名文件紧缩为一段一 ...
- JS与浏览器的几个兼容性问题
第一个:有的浏览器不支持getElementsByClassName(),所以需要写一个function()来得到需要标签的class,然后进行class的增加.删除等操作. 第二个:在需要得到特定标 ...
- 学习计划——巩固基础+进阶练习
时间:2016/3/23---24 内容:如何用CSS进行网页布局 课程复习 目标:完成一个demo+完成一篇学习心得博客 时间:2016/3/25---26 内容:网页布局基础 课程复习 目标: ...
- Thinkpad W540通过扩展坞连接显示器后蓝屏原因
问题:Thinkpad W540通过扩展坞连接显示器后蓝屏 描述:直接扩展连接显示器重启电脑,一直黑屏,等待光标,进不了桌面.分离扩展,进入后,再连接显示器,蓝屏死机. 解决:用尽办法,重装显示驱动, ...
- indexOf()--数组去重
@(JavaScript) 数组去重方法有多中,这里列举出自己认为比较容易理解的方法. 思路: 创建一个新的空数组,用来存放去重后的新数组. 利用for循环循环遍历需要去重的数组. 利用indexOf ...
- java线程之多个生产者消费者
温故一下上一节所学习的生产者消费者代码: 两个线程时: 通过标志位flag的if判断和同步函数互斥较好解决两个线程,一个生产者.一个消费者交替执行的功能 类名:ProducterConsumerDem ...
- link js重构心得
过年前后一段时间,对link库的代码进行的大量的重构,代码精简了许多,性能也得到了很大的改善,写此文记录期间所做的改进和重构,希望对看到此文的js程序员有所帮助. 1. 代码构建 最初代码使用gulp ...
- CI Weekly #14 | 如何搭建合适的持续交付开发流程?
时隔 10 个月,flow.ci 开始正式收费上线.为感谢对我们的内测支持,所有内测用户可继续免费使用基础版 30 天,截止至 3 月 15 日失效.欢迎随时告诉我们你对收费版 flow.ci 的反馈 ...
- ROM及其他知识
ROM--Read Only Memory 中文意思是:只读存贮器 以前的游戏机用的都是卡带,里面是一块或几块集成电路芯片,游戏程序就是在生产厂家一次性写入这几块芯片,以后用户玩游戏的时候只能读出 ...
- 20150817---成长日记1---DelayQueue&&Delayed&&Other
今天第一次接触DelayQueue,源于项目中的话单解析入库的拆分线程中引入,首先简单了解一下DelayQueue: DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素.该队列的 ...