该章节证明用到的不等式:Hoeffding不等式,McDiarmid不等式以及jensen不等式

Hoeffding's:

McDiarmid不等式是Hoeffding不等式的一个推广,用f(S)代替了和函数Sm,用ci代替了(bi-ai):

Jensen’s inequality:

If x is a random variable and φ is a convex function,then:

φ(E(x))<=E(φ(x))

在前面PAC Learning Model的推广中,只证明了对于有限H的情况下PAC的有效性,那么对于H的大小是无限的情况,是否能够 进行有效的学习呢?在前一章中的矩阵的例子就是一个无限H大小的例子,并且已经被证明了是PAC-learnable的。本章中我们将要为无限大小的假设集H的情况推导general learning guarentees。

既然H的大小是无限的,那么我们就不能用H的大小来表示H的complexity,在这里引入Rademacher Complexity的概念来标记H的complexity。

g是一个损失函数将(x,y)映射至L(h(x),y),G是g的集合。

Rademacher Complexity通过测量一个假设集H能够fit随机噪点的程度来表达H的complexity:

注意,б的取值是离散的{-1,1}

我们知道向量的内积可以表示两个向量的关系程度,empirical Rademacher complexity测量的就是函数集G在S上与random noise的关系程度。我们知道complexity越大的G就会有越多的gs,那么就能够更好的适应random noise。

下面基于Rademacher complexity给出第一个generalization bound:

将(3.13)得到的结论以及(3.5)带回(3.7),并且使用δ/2替代δ,就得到了(3.3)的推论。

这里有一点不太懂个,为什么changing one point in S changes Rs(G) by at most 1/m?????????

下面在具有0-1 loss function的binary classification上使用Redemacher Complexity:

也就是说,损失函数集G的经验Redemacher Complexity是假设集的经验Remacher Complexity的一半。

两边取期望可以得到对于任何一个样本集大小m>=1的binary classification,有:

证明很简单:

可以利用lemma 3.1对二项分类问题使用公式(3.3)(3.4)得到generalization bound:

注意这里的R(h)是损失函数不是Redemacher。

[FML]学习笔记三 Rademacher Complexity的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  3. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  4. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  5. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  6. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  7. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. Activiti工作流学习-----基于5.19.0版本(6)

    七. BPMN的简介 读者了解到这里,应付一般的工作流开发已经足够了.此处应该有华丽的分割线,在工作流项目中核心开发人员主要是对工作流业务设计以及实现,而初级开发人员是对业务功能的代码实现.以后将主要 ...

  2. Net线程池设计

    Net线程池设计 功能描述: 支持创建多个线程池,并统一管理 支持不同线程池的容量控制,以及最少活动线程的设置 支持不同线程池中活动线程的闲时设置,即线程空闲时间到期后即自动被回收 结构设计: Thr ...

  3. linux下查看和设置软件的安装路径

    1:你可以通过whereis 软件名来查找系统里的文件位置 比如你想查找eclipse文件,那么就: [root@localhost ~]# whereis eclipse 会显示: eclipse: ...

  4. NGINX实现IF语句里的AND,OR多重判断

    原理 就是用SET变量进行. AND 就用变量叠加,OR就用0或1切换. nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现: 首先是伪代码( ...

  5. mysql sql优化<1>

    <pre name="code" class="html">explain SELECT t.* FROM ( SELECT t1.sn AS cl ...

  6. The 2015 China Collegiate Programming Contest Game Rooms

    Game Rooms Time Limit: 4000/4000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  7. 线性时间构造普吕弗(Prüfer)序列

    tree -> sequence 首先预处理数组 deg[N], deg[i]表示编号为i的节点的度数,我们每次要删除的节点肯定是 满足deg[i]=1 的编号最小节点, 首先找到所有叶子并选出 ...

  8. java算法之身份证号码验证

    调用时直接 new IDCard().verify(身份证id);就可以了 实现代码如下: public class IDCard { private String _codeError; //wi ...

  9. 源码分析之struts1自定义方法的使用与执行过程

    最近有人问我,你做项目中用户的一个请求是怎么与struts1交互的,我说请求的url中包含了action的名字和方法名,这样就可以找到相应方法,执行并返回给用户了. 他又问,那struts1中有什么方 ...

  10. Linux中输入命令按tab提示后会自动转义解决方案(xjl456852原创)

    linux在命令行输入命令时,如果有$字符,按tab键时会自动在前面加入转义字符,反而达不到自己需要的效果. 例如: 在Centos7下,我要进入一个环境变量,并编辑一个文件: 比如我要进入$JAVA ...