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. TensorFlow Android Camera Demo 使用android studio编译安装和解决Execution failed for task ':buildNativeBazel'报错

    可以参考官网:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-stud ...

  2. python argparse(参数解析)模块学习(一)

    class ArgumentParser(_AttributeHolder, _ActionsContainer): """Object for parsing comm ...

  3. 视频和swf的相对路径加载,卸载

    package com{ import flash.display.MovieClip; import flash.net.NetConnection; import flash.net.NetStr ...

  4. IPV4/IPV6双协议栈配置案例

    拓扑: XRV1配置: =================================================================== hostname XRV1! ipv6 ...

  5. canvas(三) star- demo

    /** * Created by xianrongbin on 2017/3/8. * 本例子使用渐变画出 璀璨星空 */ var dom = document.getElementById('clo ...

  6. angularJs, ui-grid 设置默认group, 及排序

  7. 真·浅谈treap树

    treap树是一种平衡树,它有平衡树的性质,满足堆的性质,是二叉搜索树,但是我们需要维护他 为什么满足堆的性质?因为每个节点还有一个随机权值,按照随机权值维持这个堆(树),可以用O(logn)的复杂度 ...

  8. SQL学习(一.索引)

    数据库索引 作用: 提高查询速度 确保数据的唯一性 可以加速表和表之间的连接,实现表和表之间的参照完整性 使用分组和排序子句进行数据检索时,可以减少分组和排序的时间 全文检索字段进行搜素优化 分类: ...

  9. squid常用操作

    如何查看squid的缓存命中率 使用命令: squidclient -h host -p port mgr:info比如: /usr/local/squid/bin/squidclient -h 12 ...

  10. Python select模块学习

    select 是常用的异步socket 处理方法 一般用法: # iwtd,owtd,ewtd 分别为需要异步处理的读socket队列, 写socket队列(一般不用), 和错误socket队列, 返 ...