train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0;
test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g)。
如果|H|小,更易保证test(不等式右式小),难保证train(选择少);
如果|H|大,更易保证train(选择多),难保证test(不等式右式大)。
如果|H|无限呢?2Mexp(...)可能大于1了,对于概率值上限来说失去意义。那能否用个有限值代替|H|呢?
看一下2Mexp(...)这个上限的来源。
本质是求并集,但是得出2Mexp(...)这个式子是默认无交集的情况下求的并集,
实际上,A确定后,H形式也确定,
给定D,在H里存在相似的h,这些h在D上的表现一致,即存在交集,所以2Mexp(...)这个式子作为上限来说过大了。
给定D,可通过将H里相似h分到同类里(同类里h的数目可能是无限的),将|H|变为类数,就可能将无限的|H|变为有限的类数。
定义给定D下,将|H|分得的类为dichotomies,每一个dichotomy在D上表现相同。
假设D里有2个样本点,将D分为OO、OX、XO、XX的h分别归为一类,共有4类。
可以发现dichotomies的数量是依赖于具体D和H的,但是dichotomies的数量的最大值只依赖与D里样本点的个数N和H,
例如感知器算法里,N=2时,最大值不超过2的N次方,这里是4。
定义dichotomies的数量的最大值为N的成长函数,记为mH(N)。------只和H、N有关。
即给定样本数N,H里假设类数是小于等于mH(N)的。
对于2维感知机,mH(1)=2,mH(2)=4,mH(3)=8,mH(4)=14。
可以看出,成长函数可能是多项式型的(好的,能保证只要N足够大,2mH(N)exp(...)小),也可能是指数型的(坏的)。
对于2维及以上维数的感知机,成长函数是多项式型的吗?
shatter:如果H里的假设能够保证k个输入能够输出任意标签的组合,称H能shatter这k个输入。
break point k:H不能shatter这k个输入,称k为断点。
猜想,只要存在断点,就能保证成长函数是多项式型,进而保证了test。

机器学习基石笔记:05 Training versus Testing的更多相关文章

  1. 机器学习基石:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  2. Coursera台大机器学习课程笔记4 -- Training versus Testing

     这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才 ...

  3. 林轩田机器学习基石课程学习笔记5 — Training versus Testing

    上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...

  4. 05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  5. 机器学习基石 5 Training versus Testing

    机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f ...

  6. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  7. 机器学习基石笔记:Homework #1 PLA&PA相关习题

    原文地址:http://www.jianshu.com/p/5b4a64874650 问题描述 程序实现 # coding: utf-8 import numpy as np import matpl ...

  8. 机器学习基石笔记:01 The Learning Problem

    原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...

  9. 机器学习基石笔记:04 Feasibility of Learning

    原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近 ...

随机推荐

  1. JQuery/JS插件 数组转换为Table

    //数组 转换为 table var arr = [{ "D_AlarmValue": 7.00, "D_Code": "002", &qu ...

  2. 查找单链表中倒数第K个位置上的结点,若查找成功返回该节点的data域,若不成功只返回0

    算法的基本设计思想:定义两个指针变量p和q  初始时均指向头结点的下一个结点(即链表的第一个结点)p沿链表移动,当p移动到第k个结点时,q指针开始与p指针同时移动,当p指针移动到最后一个结点时,q指针 ...

  3. tesseract编译错误:fatal error: allheaders.h: No such file or directory

    错误描述: globaloc.cpp::: fatal error: allheaders.h: No such file or directory #include "allheaders ...

  4. 【python原理解析】python中分片的实现原理及使用技巧

    首先:说明什么是序列? 序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引:在python中的序列包含:字符串.列表和元组 然后是:什么是分片? 分片就是通过操作索引访问及获得序列的一个或 ...

  5. Android后台监控指定app的输入内容,抢红包,模拟点击原理

    Android开启辅助功能之后可以用AccessibilityService 去后台监控指定的app的输入内容,也可以监控到app的动作 以及通知栏的动作, 抢红包其实就根据通知栏出现了红包的通知消息 ...

  6. 震惊!90%的程序员不知道的Java知识!

    震惊!90%的程序员不知道的Java知识! 初学Java的时候都会接触的代码 public static void main(String[] args){ ... } 当时就像背公式一样把这行代码给 ...

  7. Robotics Tools

    https://sites.google.com/site/sunglok/rv_tool/robot Robotics Tools Contents 1 Robotics Tutorials 2 R ...

  8. Boost::bind使用详解

    1.Boost::bind 在STL中,我们经常需要使用bind1st,bind2st函数绑定器和fun_ptr,mem_fun等函数适配器,这些函数绑定器和函数适配器使用起来比较麻烦,需要根据是全局 ...

  9. dismiss 多个viewController

    控制器堆栈是dismiss掉下面的,上面的自动就dismiss. [self.presentingViewController.presentingViewController dismissView ...

  10. js 定时更改div背景图片

    今天遇到一个业务场景,使用js将一个div标签的背景图片定时更换一下. 之前百度了几个,有css+js,也有css3的,不过css3的兼容有问题,之后同事提示,可以使用js直接来更换div的北京图片, ...