[FML]学习笔记三 Rademacher Complexity
该章节证明用到的不等式: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的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
随机推荐
- ADT-位图
利用位图数据结构实现排序,利用每一位的下标作为索引,每位的值作为属性值,可以表示存在或不存在,适合存储稠密的数据,排序遍历的范围会是索引的最大值 最后发现耗时比python中list自带的sort多, ...
- 配置Android SDK 开发环境(转)
1. 下载Eclipse 在前面我们配置好了JDK环境后,就可以开始配置Android的集成开发环境了,官方Google推荐的集成开发环境为Eclipse,所以我们就以Eclipse作为集成开发环境. ...
- GO的MAP字典简单用法示例
package main import "fmt" type PersonInfo struct { ID string Name string Address string } ...
- LeetCode_Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- Android Content Provider简介
Content Provider是Android的四大组件之一,与Activity和Service相同,使用之前需要注册: Android系统中存在大量的应用,当不同的应用程序之间需要共享数据时,可以 ...
- lucene 使用教程
原文转自:http://cloudera.iteye.com/blog/656459 1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品.因此它并不像 ...
- python calendar标准库基础学习
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calen ...
- 在Servlet中使用spring注入的bean
package abu.csdn.servlet; import java.io.IOException; import javax.servlet.ServletContext; ...
- 使用gfortran将数据写成Grads格式的代码示例
使用gfortran将数据写成Grads格式的代码示例: !-----'Fortran4Grads.f90' program Fortran4Grads implicit none integer,p ...
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...