We want:

根据Hoeffding:

但是M是无穷大的,是否可以找到一个有穷大的m_H去替代无穷大的M?
思考:M从何而来。

Hset里有M个h,对于每个Data,只要存在一个h会造成Bad,即Ein和Eout差很远,则称该Data是一个Bad sample,因此是用or的关系。这里的upper bound之所以是可以加起来的,是因为假设了Bad sample发生在不同的h上,即h1(D1)是Bad的,h2(D1)就不会Bad。但是这种假设是不对的。例如:对于两个很接近的h,他们对于同一个Data,会产生几乎接近的Ein。

所以不能通过直接把概率相加起来的办法作为Bad产生的概率上限。
考虑:可否将线,也就是h分组。结论是可以的。
方法:对于N个x,从x_1到x_N,即使h是无限个的,但是通过这些h,把这N个x分出来的结果是有限个的,例如对于N等于2,x1和x2被分的所有可能就只有4种。00,01,10,11。

定义:一个Hset是由很多个用来区分x的h组成的,表达如下:

现在定义二分(dichotomy):

Hset和dichotomy set的区别

定义dichotomy set的大小

这是依赖于输入的N。为了去除这种依赖,定义成长函数growth function:

怎样计算m_H(N)呢?
1D情况1:positive ray在threshold左边为-1右边+1

m_H(N) = N+1。因为有N+1个地方可以放分割线。
情况2:在interval内为+1,其他为-1


右边的1那一项表示没有点在interval内,即全部是-1
2D情况:在convex set内为+1,外面为-1。假设输入的N个x在一个大圆上,那么H里的所有h都可以实现不同的dichotomy。

shattered:特别的N个点,可以做出2^N个dichotomy。
总结:

定义:break point
第一个做不出2^k个dichotomy的点的个数(e.g:2d:k=4) convex set没有break point

以下的情况是h没有办法产生的dichotomy

Infinite size of Hypothesis set and growth function的更多相关文章

  1. [Vue warn]: You may have an infinite update loop in a component render function

    [Vue warn]: You may have an infinite update loop in a component render function 这个问题很奇怪,之前从来没有遇到过.如果 ...

  2. [under the hood]Reduce EXE and DLL Size with LIBCTINY.LIB

    Matt Pietrek Download the code for this article: Hood0101.exe (45KB) W ay back in my October 1996 co ...

  3. First-class function

    https://en.wikipedia.org/wiki/First-class_function In computer science, a programming language is sa ...

  4. OpenCV Error: Assertion failed (src.size == dst.size && src.channels() == dst.channels()) in cvConvertScale

    发现问题:在做kinect采集的深度图去噪的时候遇到了cvConvertScale格式转换的问题. OpenCV Error: Assertion failed (src.size == dst.si ...

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

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

  6. Microsoft SQL Server Trace Flags

    Complete list of Microsoft SQL Server trace flags (585 trace flags) REMEMBER: Be extremely careful w ...

  7. Foundations of Machine Learning: The PAC Learning Framework(1)

    写在最前:本系列主要是在阅读 Mehryar Mohri 等的最新书籍<Foundations of Machine Learning>以及 Schapire 和 Freund 的 < ...

  8. Exercises for IN1900

    Exercises for IN1900October 14, 2019PrefaceThis document contains a number of programming exercises ...

  9. TCP拥塞控制算法 优缺点 适用环境 性能分析

    [摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点    缺点   适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ...

随机推荐

  1. vscode + angular

    0.在命令行中,cd到项目下执行: npm install 1.调试->启动调试->node.js, 会生成.vscode/launch.json文件 2.修改launch.json文件& ...

  2. MySQL级联删除和级联修改

    1.新建主键table create table demo1_zhujian ( id int primary key auto_increment, name )); 2.新建外键table cre ...

  3. SpringMVC两种处理器适配器

    1.实现Controller接口的处理器适配器 package com.xiaostudy; import javax.servlet.http.HttpServletRequest; import ...

  4. 从0开始 图论学习 邻接表 STL vector

    邻接表表示 用vector实现 writer:pprp 代码如下: #include <bits/stdc++.h> using namespace std; const int maxn ...

  5. 07_MySQL DQL_多表查询_等值内连接

    #6:连接查询/*含义:多表查询,当查询的字段来自多个表 笛卡尔积: 表1,m行:表2,n行: 表1,表2 = m*n行发生原因:表1的每行和表2的n行拼接,形成n行,最终得到m*n行如何避免:增加连 ...

  6. 简单UML

    http://www.cnblogs.com/pluviophile/p/7542017.html,看了这篇博文感觉这个例子有用遂搬运过来方便查阅 上面的类图就体现了所需要了解的类的6个基本关系 该类 ...

  7. 前端构建大法 Gulp 系列

    参考: 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp ...

  8. 使用lock锁或Monitor.Enter的目的

    锁定的目的:由于多个线程 并行/并发 处理同一个“数据对象”(比如:在其它线程的某个地方发生了Clear.Add.Remove.Change等操作),导致“数据对象”不断变化,没法用了,所以,为了保证 ...

  9. 开源 E-ChartSdk 的使用方法

    SVN 源码地址:http://code.taobao.org/svn/keshihua-echarts/ 1.1.如何声明 var sdk = new ChartSdk(); 1.2.加载JS中的图 ...

  10. LM3S之boot loader学习笔记-2

    LM3S之boot loader学习笔记-2 彭会锋 () 上一篇中介绍了bootloader的基础知识,对于bootloader的作用和如何编写bootloader也有了大概的了解了,这一篇主要讲解 ...