这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:
 
 为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才能比较确认我们得到坏的数据集的概率比较低,也就是说算法得出的假设和最佳假设在全局表现相同(错误率相等),可是PLA的假设是平面上的直线,不是无数个么?为什么可以正常泛化?
 
为解释这个问题,有了这节以及下面几节的课程
 可以看到这个问题其实很重要,因为这是我们理解机器为啥能学习的关键一步,因为很多机器学习算法的假设看似都是无限的。下面这个图给出了理解机器为啥能学习的关键:
满足假设个数有限,采样数据足够大是算法泛化能力强大与否的关键,而Ein足够小是保证算法正确的前提。即,机器学习算法的终极目标是找到泛化能力强的错误率低的假设
Training的目的是保证Ein足够小,Test则是确认Ein可以和Eout相同,即泛化效果好
对于M,其对机器学习算法的影响可以理解为,如果M小,泛化能力强,但是选择太少,不一定能找到Ein足够小的假设;如果M大,选择多,有很大概率找到好的假设,但是得到坏数据的概率也相应的增加了。所以,M的大小很关键。既不能小也不能大,那么对于看似无穷大的M的PLA该怎么解释?
 
首先回忆下M是怎么计算出来的,
问题的关键在于不等式的最后一步,是取的Union bound,也就是假设各个假设之间没有交集,这是最坏的情况,可是实际上往往不是如此,很多情况下,都是有交集的,也就是说M实际上没那么大。
那么就会想,什么样的假设有交集?当然是类似的,也就是错误率相同的,分类情况相同的。由此引入Dichotomy的概念。
  上图中提到的dichotomy实际上指的是,能够得出不同X分类的假设的个数。例子是对全体直线,假设数据集大小是N,那么其实最多dichotomy就是2^N,而不是前面说的无限个。这个概念对证明M其实不大的作用不是很大,真正有作用的是成长函数,及M的上线。
  成长函数,则是值最大的Dichotomy。
  通过计算4种不同机器学习问题的Growth Function,发现其实它不是2^N,而是会比它小,那么如果M可以用Growth Function 替代,那么就有希望了。
  Break Point: 对特定假设函数集合,假设数据集的个数是N,那么使得数据集其中k个数据的所有种类的dichotomy都不能被shattered,即为一个break point;
  那么很明显的一个性质(通过数学归纳法),如果k为break point,那么k+1,k+2,。。。等之后所有新加入的数据都为break point
  可以想象得到,M并不是无限的,而是由Growth Function决定的,如果它是多项式级别的话,可以认为机器是可以学习的。

Coursera台大机器学习课程笔记4 -- Training versus Testing的更多相关文章

  1. Coursera台大机器学习课程笔记3 – 机器学习的可能性

    提纲: 机器学习为什么可能? 引入计算橙球概率问题 通过用Hoeffding's inequality解决上面的问题,并得出PAC的概念,证明采样数据学习到的h的错误率可以和全局一致是PAC的 将得到 ...

  2. Coursera台大机器学习课程笔记15 -- Three Learning Principles

    这节课是最后一节,讲的是做机器学习的三个原则. 第一个是Occan's razor,即越简单越好.接着解释了什么是简单的hypothesis,什么是简单的model.关于为什么越简单越好,林老师从大致 ...

  3. Coursera台大机器学习课程笔记6 -- The VC Dimension

    本章的思路在于揭示VC Dimension的意义,简单来说就是假设的自由度,或者假设包含的feature vector的个数(一般情况下),同时进一步说明了Dvc和,Eout,Ein以及Model C ...

  4. Coursera台大机器学习课程笔记5 -- Theory of Generalization

    本章思路: 根据之前的总结,如果M很大,那么无论假设泛化能力差的概率多小,都无法忽略,所以问题转化为证明M不大,然后上章将其转化为证明成长函数:mh(N)为多项式级别.直接证明似乎很困难,本章继续利用 ...

  5. Coursera台大机器学习课程笔记14 -- Validation

    这节课是接着上节的正则化课程的,目的也是为了防止overfitting. 第一小节讲了模型的选择,前面讲了很多模型,那么如何做出正确的选择呢?我们的目标是选择最小的Eout目标函数.首先应避免视觉化选 ...

  6. Coursera台大机器学习课程笔记8 -- Linear Regression

    之前一直在讲机器为什么能够学习,从这节课开始讲一些基本的机器学习算法,也就是机器如何学习. 这节课讲的是线性回归,从使Ein最小化出发来,介绍了 Hat Matrix,要理解其中的几何意义.最后对比了 ...

  7. Coursera台大机器学习课程笔记7 -- Noise and Error

    本章重点:  简单的论证了即使有Noise,机器依然可以学习,VC Dimension对泛化依然起作用:介绍了一些评价Model效果的Error Measurement方法. 一论证即使有Noisy, ...

  8. Coursera台大机器学习课程笔记13 -- Regularization

    这一节讲的是正则化,在优化中一直会用到正则化项,上课的时候老师一句话代过,没有作过多的解释.听完这节课后, 才明白好大学和野鸡大学的区别有多大.总之,这是很有收获的一节课. 首先介绍了为什么要正则化, ...

  9. Coursera台大机器学习课程笔记11 -- Nonlinear Transformation

    这一节讲的是如何将线性不可分的情况转为非线性可分以及转换的代价.特征转换是机器学习的重点. 最后得出重要的结论是,在做转换时,先从简单模型,再到复杂模型. 参考:http://www.cnblogs. ...

随机推荐

  1. Nginx日常操作和配置

    安装位置:/usr/local/nginx配置目录:/usr/local/nginx/conf配置文件:/usr/local/nginx/conf/nginx.conf启动命令:/usr/local/ ...

  2. MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划

    这篇文章主要介绍了MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划的相关资料,需要的朋友可以参考下 一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存 ...

  3. JavaScript对寄生组合式继承的理解

    有关JavaScript的几种继承方式请移步JavaScript的几种继承方式 原型链的缺陷 SubType.prototype = new SuperType(); 这样做的话,SuperType构 ...

  4. [IOS初学]ios 第一篇 storyboard 与viewcontroller的关系

    学习了一下ios,把一个基本的概念搞清楚了,在android或者wp中,大家基本都是习惯与一个画面场景代表一个类,新建场景的时候自动新建了类,但在ios中使用了storyboard之后发现,在stor ...

  5. JAVA实现复制文件夹

    package com.filetest; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...

  6. shape

    <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http:/ ...

  7. 你听说过哪些坑人 or 赚钱的歪点子?真是骗局太多,傻子都不够用啊!

    又到了骗术揭秘时间了.各位看客您扶稳做好了,来给你深扒一些行业内幕了. 或者说一些投机的思路. 先提前写一些字,相信你们一会评论时候会用的上.直接复制,比较省力. “这年头傻逼太多,骗子明显不够用啊. ...

  8. 微博mid和id转换

    mid为62进制编码,id为常见的10进制编码. id从低位到高位,7个数字为一组,转换为62进制,并顺序合并,即转换为mid. mid从地位到高位,4个字母为一组,转换为10进制,并右移7位,计算和 ...

  9. eclipse SE增加Web开发插件;安装配置Apache

    在eclipse SE版本点击"Help"--"Install New Software..."--"Work with"中输入" ...

  10. RDLC 设置标题每页显示