机器学习基石的泛化理论及VC维部分整理(第六讲)
第六讲
第五讲主要讲了机器学习可能性,两个问题,(1)\(E_{in} 要和 E_{out}\) 有很接近,(2)\(E_{in}\)要足够小。
对于第一个假设,根据Hoefding's Inequality 可以得到,\( P[|E_{in} - E_{out}| > \epsilon] < 2Mexp(-2\epsilon^2N)\)
对于上述的\(M\)来说,如果 \(M < \infty\),则当\(N\)足够大时,\(P\)会比较小,也就是坏事情出现的概率比较小,机器学习是可能的,但是当\(M = \infty\)时,就无法进行学习了。
那怎么办?考虑到or的过程中有不少重叠的部分,就从数据的角度来看到底有多少种可能的 effective Hypothesis,多少种可能的Hypothesis就是成长函数的值,Break Point的概念也就出来了,就是当\(m_{\mathcal{H}}(k) < 2^k\),\(k\)就是Break Point。 Break Point有什么用呢?
本节引出一个新概念,Break Function,是指最小的Break Point \(k\),Growth Function 可能的最大值,记为\(B(N,k)\)。
当\( k = 1\)时,\( B(N,1) = 2^0 = 1\)
当\( k > N\)时,\(B(N,k) = 2^{N}\)
当\( k = N\)时,\(B(N,k) = 2^{N} - 1\),最大的可能值
根据上述两条会得到一个矩阵的一部分数据,
重点要考虑\( k < N\)的情况,怎么算呢? 林老师给出一个图示,在第六讲的12页-17页,
\(B(4,3)\) 可以有11个可能的Hypothesis,对于Break Point是3来说,应该只能Shattered 2个点的情况,2个点的所有情况是4,那么如果遮住\(x_{4}\),再去重之后应该不超过\(2B(3,3)\)。
也就是说,从三个点扩展到四个点的过程中,只有部分的dichotomy被复制了,我们把这部分被复制的点的个数称为\(\alpha\),没被复制的点的个数称为\(\beta\)。满足\(0\leq \alpha, \beta \leq B(3,3)\)。可知 \( B(3,3) \geq \alpha + \beta , B(4,3) = 2\alpha + \beta\) ,单独看\(\alpha\)部分,因为Break Point是 3,故任何三个都不能被Shattered,那么,如果只看\(\alpha\)部分,则,\( x_{1}, x_{2}, x_{3}\) 中任意两个都不能被Shattered,(如果可以,加上\(x_{4}\)则有3个点被Shattered)则,\(\alpha \leq B(3,2) \),有如下三个结果:
(1) \( B(4,3) = 2\alpha + \beta\)
(2)\( B(3,3) \geq \alpha + \beta\)
(3) \(B(3,2) \geq \alpha\)
综合上面三个公式,可得:
\( B(4,3) \leq B(3,3) + B(3,2)\)
推广得:\( B(N,k) \leq B(N-1,k) + B(N-1, k-1)\)
根据数学归纳法,
\( B(N,k) \leq \sum_{i=0}^{k-1}\binom{N}{i}\)
从上面这个式子可以更为欣喜的得到,之前的概率上界是可以在多项式里的,这样当\(N\) 足够大时,出现坏事情的概率就会比较小。这样学习就会更为可行。
下面就要去求解一个上界:VC Bound
want:
\( P[ \exists h \in \mathcal{H} s.t. |E_{in}(h) - E_{out}(h)| > \epsilon] \leq 2 m_{\mathcal{H}}(N) exp(-2\epsilon^2N)\)
机器学习基石的泛化理论及VC维部分整理(第六讲)的更多相关文章
- 机器学习基石的泛化理论及VC维部分整理(第五讲)
第五讲 Training versus Testing 一.问题的提出 \(P_{\mathcal{D}}\left [ BAD \mathcal{D} \right ] \leq 2M \cd ...
- 机器学习基石的泛化理论及VC维部分整理
第四讲 机器学习的可行性 一.Hoeffding's Inequality \(P[\left | \nu -\mu \right |>\epsilon ] \leq 2exp(-2\epsi ...
- 机器学习基石笔记:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 【机器学习基石笔记】七、vc Dimension
vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只 ...
- 《机器学习基石》---VC维
1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个 ...
- 机器学习基石7-The VC Dimension
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满 ...
- 机器学习基石:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 【转载】VC维的来龙去脉
本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...
- 机器学习基石12-Nonlinear Transformation
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...
随机推荐
- 【欧拉定理】计算(a^(b^c))%1000000007
欧拉定理(称费马-欧拉定理或欧拉 函数定理) 欧拉定理表明,若n,a为正整数,且n,a互素(即gcd(a,n)=1),则 这个定理可以用来简化幂的模运算.比如计算7222的个位数,实际是求7222被1 ...
- div a 和 div > a 的区别———后者指作用到div下一级的 a 标签 ,仅一级
div a 和 div > a 的区别---后者指作用到div下一级的 a 标签 ,仅一级 如: <div> <a href="#">可以作用到< ...
- 自定义表单样式之checkbox和radio
1,起因 最近在工作中要实现自定义式的radio样式,而我们通常使用的时默认的样式,因为自己实在想不到解决的方法,于是开始搜索,最终看到了不错的解决办法,可以完美解决我们遇到的问题. 2,原理 大家都 ...
- Linux 命令 - crontab: 任务调度
cron 是一个 Linux 下的定时执行工具,可以在无需人工干预的情况下运行作业.守护进程 cron 会读取 crontab 文件,根据配置在指定的时间执行任务.contab 命令用来添加.删除.显 ...
- Android的ListView分页功能
一.功能分析----ListView“加载更多”,功能如下图所示: 这个效果是当你上拉拖动页面时(注意有区别于下拉刷新),页面提示正在加载,2秒后显示留言更多内容:具体功能知道那我就来讲解下如何实现这 ...
- Service通信详解
1.使用Intent进行异步通讯 在Service任务一旦完成后,就发送广播.开发者只需要实现一个BroadcastReceiver来监听响应既可. Activity.startService启动in ...
- (转)Salesforce的440亿美金并购宣告企业软件市场进入3.0互联网化时代
导语:Salesforce代表着“移动+云”时代企业软件领域新的架构和商业模式的颠覆者.企业软件转向“移动+云”架构,将极大改变传统企业IT市场的格局…… 近期一则新闻极大的刺激了企业软件市场的神经, ...
- 实现android上解析Json格式数据功能
实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...
- TweenMax动画库学习(四)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- Android开发系列之按钮事件的4种写法
经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity ...