机器学习6
来源:互联网 发布:制作动漫人物的软件 编辑:程序博客网 时间:2024/06/05 16:03
机器学习第七章
VC dimension of H
指的是第一个break point 的前面一个点
当资料量N ≤ Dvc的时候,那么存在可能被shatter掉,当然也不是绝对。
当资料量N > Dvc的时候,那么一定不能被shatter掉
所以其实就是当数据量N足够大,Dvc足够大的时候,就可以说明Eout和Ein足够接近,而且这个和算法以及分布没有关系
对于1维的传感器我们可以知道dvc = 2,对于2维的传感器我们知道dvc = 3
所以我们现在猜想对于d维传感器的dvc = d + 1
那我们如何证明这个猜想呢?
利用以前的数学知识,我们可以想到如果我们可以证明dvc ≥ d+1 && dvc ≤ d+1 ,我们就可以说明dvc = d+1了
如果,我们能找到一个d+1被shatter,那么我们就说明dvc ≥ d+1
那么我们取这样一个矩阵d+1 × d+1 大小的,第一行10000...000,第二行11000.00000,第三行10100000...00
从第二行,第二列开始是个d × 的单位矩阵,接着在第一列全部填1,第一行除了第一个全部填0
由于可以shatter,所以输出向量y可以是一种组合,w便是我们的传感器参数,所以sign(Xw) = y,在y任意组合下都要满足。
如果Xw = y,那么显然上面sign(Xw) = y 也成立。
因为X是可以取反矩阵的,所以,只要w = X的反矩阵乘上y就能满足上述式子。
所以证明了这个X是可以被shatter的,所以dvc ≥ d+1
那接下来,我们需要证明dvc ≤ d+1,怎么样才能说明这个是正确的呢?只需要说明对于任意的d+2都不能被shatter就能够说dvc ≤ d+1
作者是用向量的线性相关来证明的,比如我现在的资料是d+1维的,然后我们有d+2个资料,所以是d+2行,d+1列,作者没有说明为什么这d+2个向量是线性相关的,目前数学太渣,也没有证明的思路,所以就直接用结论吧===真心觉得自己应该恶补一下线性代数===
那么设Xd+2 = a1Xd+1 + a2Xd+2 + ... + ad+1Xd+1==
同时乘上w
wXd+2 = a1wXd+1 + aw2Xd+2 + ... + awd+1Xd+1
那么右边的值限制了左边的取值,所以不能,作者说得很简单,说如果wXn是负的,那么an是负的,不然都是正的,所以右边肯定大于0,所以左边大于0,并没有很严格证明===,不过不是数学课,大概明白就好,估计太向下抓数学,作者觉得没有必要。
但是总而言之就是得到了dvc ≤ d+1
所以综上得到了dvc = d+1.
接着作者科普了一下dvc的物理含义,其实就是一个事物的自由度,即可以从几个维度去调节他,比如1d -positive,dvc =1 ,想象一下,它确实只有一个分解点可以调节,而interval显然有两个调节点。。。
所以可以这样理解===感觉好吊===
下面部分数学公式有一点点多,我就截图了
这是我们得到的公式,
那么变形
得到这样的部分。
再用δ把ε表示出来,带入
然后我们比较关注的后面这个不等式。
所以继续
随着dvc增大,dvc越大,那说明在h的选择也就越多,既然h选择越多,那么我们更容易找到Ein小的h,所以Ein肯定是在下降的,但是随着dvx的增多,显然复杂性在增大,就是后面那一堆根号。所以对于Eout来说,它的ERROR是个山谷型的曲线。
对于机器学习算法来说,我们不仅仅要考虑到算法的Ein要小,同时还要考虑到复杂度,并不是算法的Ein越小越好。
现在有公式,我们完全可以带人数字去计算我们的bound,在理论上我们计算出来N≈10000dvc,而实际上我们只需要10倍,效果就还不错了。
所以说这个中间真的还是很宽松的
主要原因是
1.hoeffding‘s inequality
2.成长函数的使用,成长函数是这个资料数量能达到的高度,
3.我们使用的是成长函数上限(边界函数)的上限(那个多项式复杂度)
4.union bound
对于不同的模型,vc bound 的宽松程度差不多
- 机器学习-笔记6
- 机器学习6
- 机器学习6-tensorflow
- 机器学习笔记6
- 机器学习6
- 《机器学习》读书笔记6
- 机器学习作业6
- 机器学习(6)SVM
- 机器学习 6 unsupervised learning
- 机器学习面试问题6
- 斯坦福机器学习6-7
- python机器学习day'6
- 机器学习习题(6)
- 机器学习(6)-神经网络
- 机器学习课堂笔记6
- [机器学习:李宏毅]6、Backpropagation
- 机器学习|机器学习方法
- 机器学习
- Android 轻松实现后台搭建+APP版本更新
- 8.3.1 How MySQL Uses Indexes MySQL 如何使用索引
- RSA算法原理
- android线程 handler原理
- 九度OJ 1187:最小年龄的3个职工 (排序)
- 机器学习6
- effective c++成对使用new 和 delete时要采取相同形式
- 数据库的检查约束check约束
- 多tomcat 同一个浏览器 同一个项目 会导致session覆盖
- C#代码生成器
- Xcode7 App Transport Security has blocked a cleartext HTTP (http://) resource load
- PHP中9大缓存技术总结
- Concurrency and multi-thread learn from Cloud Computer Individual Project 3.2
- 保证前端数据实时性 --- js异步轮询