Hoeffding霍夫丁不等式

在<>第八章"集成学习"部分, 考虑二分类问题\(y \in \{-1, +1\}\) 和真实函数\(f\), 假定基分类器的错误率为\(\epsilon\), 即对每个基分类器\(h_{i}\)有
\[
\begin{equation}
P(h_{i}(x) \neq f(x)) = \epsilon
\end{equation}
\]
假设集成通过简单投票法结合\(T\)个基分类器, 若有超过半数的基分类器正确, 则集成分类就正确:

\[
\begin{equation}
H(x) = sign(\sum_{i=1}^{T}h_{i}(x))
\end{equation}
\]
假设基分类器的错误率相互独立, 则由Hoeffding不等式可知, 集成的错误率为:
\[
\begin{equation}
\begin{aligned}
P(H(x) \neq f(x)) &= \sum_{k=0}^{\lfloor T/2 \rfloor}{T \choose k}(1 - \epsilon)^{k}\epsilon^{T - k}\\
&\leq exp(-\frac{1}{2}T(1 - 2\epsilon)^{2})
\end{aligned}
\end{equation}
\]
对怎么得到小于等于之后的式子不甚明白.

维基百科上Hoeffding不等式的介绍是:

Hoeffding不等式适用于有界的随机变量. 设有两两独立的一系列随机变量\(X_{1}, ..., X_{n}\). 假设对所有的\(1\le i \le n\), \(X_{i}\)都是几乎有界的变量, 即满足:
\[
\begin{equation}
\mathbb{P}(X_{i} \in [a_{i},b_{i}]) = 1.
\end{equation}
\]
那么这n个随机变量的经验期望:
\[
\begin{equation}
\overline{X} = \frac{X_{1}+\cdot\cdot\cdot+X_{n}}{n}
\end{equation}
\]
满足以下的不等式:
\[
\begin{equation}
\mathbb{P}(\overline{X}-\mathbb{E}[\overline{X}]\ge t) \le exp\left(-\frac{2t^{2}n^{2}}{\sum_{i=1}^{n}(b_i-a_i)^2}\right)
\end{equation}
\]
\[
\begin{equation}
\mathbb{P}(\lvert \overline{X}-\mathbb{E}[\overline{X}]\rvert \ge t) \le 2exp \left(-\frac{2t^2n^2}{\sum_{i=1}^n(b_i-a_i)^2} \right)
\end{equation}
\]

先记这些定义吧, 证明以后有兴趣再看吧....

伯努利随机变量的特例

假定一个硬币A面朝上的概率为\(p\), 则B面朝上的概率为\(1-p\). 抛n次硬币, A面朝上次数的期望值为\(n * p\). 则A面朝上的次数不超过k次的概率为:
\[
\begin{equation}
\begin{aligned}
P(H(n) \le k)&=\sum_{i=0}^kC_n^ip^i(1-p)^{n-i}\\
&=\sum_{i=0}^k\frac{n!}{i!(n-i)!}p^i(1-p)^{n-i}
\end{aligned}
\end{equation}
\]
\(H(n)\)为抛n次硬币A面朝上的次数

对某一\(\varepsilon > 0\)当\(k=(p-\varepsilon)n\) 时, 有Hoeffding不等式
\[
\begin{equation}
P(H(n)\le(p-\varepsilon)n)\le e^{-2\varepsilon ^2n}
\end{equation}
\]
对应的, 当\(k=(p+\varepsilon)n\) 时,
\[
\begin{equation}
P(H(n)\ge(p+\varepsilon)n)\le e^{-2\varepsilon ^2n}
\end{equation}
\]
由此可得
\[
\begin{equation}
P((p-\varepsilon)n \le H(n) \le (p + \varepsilon)n) \ge 1-2e^{-2\varepsilon^2n}
\end{equation}
\]
利用式(9)可推式(3)

式(3)的\(1-\epsilon\) 相当于式(9)的\(p\) , 令\(H(n)\)为基分类器分类正确的数量, 有
\[
\begin{equation}
P(H(x)\neq f(x))=P(H(n) \le \lfloor\frac{T}{2}\rfloor)
\end{equation}
\]
总分类器的数量为\(T\)(就是n), 令\(\frac{T}{2}=(1-\epsilon-\varepsilon)T\), 可推得\(\varepsilon=\frac{1}{2} - \epsilon\) , 根据式(9)可得
\[
\begin{equation}
\begin{aligned}
P(H(n) \le \lfloor\frac{T}{2}\rfloor) &\le exp(-2(\epsilon-\frac{1}{2})^2T)\\
&=exp(-2(\epsilon^2+\frac{1}{4}-\epsilon)T)\\
&=exp(-\frac{T}{2}(4\epsilon^2+1-4\epsilon))\\
&=exp(-\frac{1}{2}T(1 - 2\epsilon)^{2})
\end{aligned}
\end{equation}
\]

便得到式(3)得最终不等式形式

机器学习笔记--Hoeffding霍夫丁不等式的更多相关文章

  1. python机器学习笔记:EM算法

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于E ...

  2. Python机器学习笔记:不得不了解的机器学习面试知识点(1)

    机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因 ...

  3. word2vec中关于霍夫曼树的

    再谈word2vec 标签: word2vec自然语言处理NLP深度学习语言模型 2014-05-28 17:17 16937人阅读 评论(7) 收藏 举报  分类: Felven在职场(86)    ...

  4. Python机器学习笔记:SVM(1)——SVM概述

    前言 整理SVM(support vector machine)的笔记是一个非常麻烦的事情,一方面这个东西本来就不好理解,要深入学习需要花费大量的时间和精力,另一方面我本身也是个初学者,整理起来难免思 ...

  5. Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树

    Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 ...

  6. 赫夫曼\哈夫曼\霍夫曼编码 (Huffman Tree)

    哈夫曼树 给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree).哈夫曼树是带权路径长度最短的树,权值较大的结点离 ...

  7. python数字图像处理(16):霍夫圆和椭圆变换

    在极坐标中,圆的表示方式为: x=x0+rcosθ y=y0+rsinθ 圆心为(x0,y0),r为半径,θ为旋转度数,值范围为0-359 如果给定圆心点和半径,则其它点是否在圆上,我们就能检测出来了 ...

  8. python数字图像处理(15):霍夫线变换

    在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线.圆.椭圆等. 在skimage中,霍夫变换是放在tranform模块内,本篇主要讲解霍夫线变换. 对于平面中的一条直线,在笛卡尔坐标系中 ...

  9. 机器学习笔记:Gradient Descent

    机器学习笔记:Gradient Descent http://www.cnblogs.com/uchihaitachi/archive/2012/08/16/2642720.html

随机推荐

  1. [APIO2018]铁人两项——圆方树+树形DP

    题目链接: [APIO2018]铁人两项 对于点双连通分量有一个性质:在同一个点双里的三个点$a,b,c$,一定存在一条从$a$到$c$的路径经过$b$且经过的点只被经过一次. 那么我们建出原图的圆方 ...

  2. 线程wait和notify方法的demo详解

    wait和notify都是针对某个线程而言的: package com.roocon.thread.t1; public class NewThread implements Runnable { @ ...

  3. docker启动elasticsearch失败--jvm内存不足解决方案

    centos下载完elasticsearch并修改完配置后运行docker命令: docker run –name es1 -p : -p : -d -v /docker/es/esmaster/es ...

  4. Alpha项目冲刺! Day5-产出

    各个成员今日完成的任务 林恩:任务分工,博客撰写,了解安卓环境搭建 杨长元:安卓本地数据库基本建立 李震:改了图标和背景 胡彤:完善服务端 寇永明:研究测试代码 王浩:研究测试代码 李杰:研究测试代码 ...

  5. javascript 的垃圾回收机制讲一下

    定义:指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束. 像 C 这样的编程语言,具有低级内存管理原语,如 malloc()和 free().开发人员使用这些原语显式地对操作系统的内存进行 ...

  6. C#-片段-插入片段:测试

    ylbtech-C#-片段-插入片段:测试 using Microsoft.VisualStudio.TestTools.UnitTesting; 1.返回顶部 ·测试方法 [Microsoft.Vi ...

  7. Facebook libra开发者文档- 1 -welcome

    参考https://developers.libra.org/docs/welcome-to-libra 欢迎来到Libra开发者网站!Libra的使命是建立一个简单的全球货币和金融基础设施,为数十亿 ...

  8. js 点击列表li,获得当前li的id

    html <ul id="demo"> <li id="li-1">li1</li> <li id="li- ...

  9. osg HUD 前景色

    #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include<iostream> #include <osgV ...

  10. VSCode使用Dart和lutter所需按照的插件

    Dart Flutter Flutter Widget Snippets [可快速敲出关联代码] Code Runner: 用于代码运行 Awesome Flutter Snippetsnash