机器学习笔记--Hoeffding霍夫丁不等式
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霍夫丁不等式的更多相关文章
- python机器学习笔记:EM算法
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于E ...
- Python机器学习笔记:不得不了解的机器学习面试知识点(1)
机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因 ...
- word2vec中关于霍夫曼树的
再谈word2vec 标签: word2vec自然语言处理NLP深度学习语言模型 2014-05-28 17:17 16937人阅读 评论(7) 收藏 举报 分类: Felven在职场(86) ...
- Python机器学习笔记:SVM(1)——SVM概述
前言 整理SVM(support vector machine)的笔记是一个非常麻烦的事情,一方面这个东西本来就不好理解,要深入学习需要花费大量的时间和精力,另一方面我本身也是个初学者,整理起来难免思 ...
- Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树
Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 ...
- 赫夫曼\哈夫曼\霍夫曼编码 (Huffman Tree)
哈夫曼树 给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree).哈夫曼树是带权路径长度最短的树,权值较大的结点离 ...
- python数字图像处理(16):霍夫圆和椭圆变换
在极坐标中,圆的表示方式为: x=x0+rcosθ y=y0+rsinθ 圆心为(x0,y0),r为半径,θ为旋转度数,值范围为0-359 如果给定圆心点和半径,则其它点是否在圆上,我们就能检测出来了 ...
- python数字图像处理(15):霍夫线变换
在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线.圆.椭圆等. 在skimage中,霍夫变换是放在tranform模块内,本篇主要讲解霍夫线变换. 对于平面中的一条直线,在笛卡尔坐标系中 ...
- 机器学习笔记:Gradient Descent
机器学习笔记:Gradient Descent http://www.cnblogs.com/uchihaitachi/archive/2012/08/16/2642720.html
随机推荐
- ubuntu video and audio
推荐你直接安装ubuntu-studio系统.里面有默认安装了很多多媒体软件,主要集中在4个方面1.音频编辑:Jack, Ardour, Audacity, Qtractor. Hydrogen, Y ...
- ngx.shared.DICT.expire 详解
ngx.shared.DICT.expire 原文链接: ngx.shared.DICT.expire syntax: success, err = ngx.shared.DICT:expire(ke ...
- sqlserver 触发器语法
语法:Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger)CREATE TRIGGER ...
- Python问题:error: Microsoft Visual C++ 9.0 is required
Python问题:error: Microsoft Visual C++ 9.0 is required 原因是缺少编译C的 VCForPython包. 解决办法: 安装VCForPython即可. ...
- 安卓打包apk
打apk包的环境依赖 1.jdk 2.sdk 3.ndk 打apk包的工具 gradle mkdir /usr/local/Android cd /usr/local/Android mkdir sd ...
- 编译安装python3事出错:
configure: error: no acceptable C compiler found in $PATH 问题解决 解决方法: yum intall gcc -y
- 【用户体验度量】用户费力度评分(CES)
http://www.woshipm.com/operate/2819882.html CES这个评分方式有点意思. 相关文章: http://www.woshipm.com/pd/856291.ht ...
- Jsoup-简单爬取知乎推荐页面(附:get_agent())
总览 今天我们就来小用一下Jsoup,从一个整体的角度来看一看爬虫 一个基本的爬虫框架包括: [x] 解析网页 [x] 失败重试 [x] 抓取内容保存至本地 [x] 多线程抓取 *** 分模块讲解 将 ...
- Node.js使用ftp连接远程ftp服务器枚举和下载文件示例
示例代码: var Ftp = require('ftp'); var fs = require('fs'); var path = require('path'); // 首先判断参数中是否包含{d ...
- 第十九章 动态URL权限控制——《跟我学Shiro》
目录贴:跟我学Shiro目录贴 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配:如果没有权限直接跳到相应的错误页面.Shiro也支持类似的机 ...