机器学习笔记--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
随机推荐
- WebRTC MediaStream接口
MediaStream API旨在方便地从用户本地摄像机和麦克风访问媒体流.getUserMedia()方法是访问本机输入设备的主要方式. API有几个关键点: 1. 实时视频或音频以流对象的形式表示 ...
- 【linux】保存屏幕日志log
例如: #!/bin/bash #LOG="examples/mnist/lenet_log_mylog" LOG="LOG/log.txt.`date +'%Y-%m- ...
- Arts打卡第5周
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不 ...
- ftplib python ftp
在气象领域,FTP是比较常用的一个数据来源.本文尝试采用python的ftplib包,实现了从指定ftp服务器中批量下载文件的功能.供大家学习参考. https://docs.python.org/3 ...
- wmi 远程访问问题解决
WMI远程访问问题解决方法 WMI 全称为:Microsoft Windows Management Instrumentation (WMI) 按微软的介绍大致如下: WMI 是 Mic ...
- osg fbx 模型树结构
void Test::printOsgGroup(osg::ref_ptr<osg::Group> &groupParam) { qDebug() <<groupPar ...
- 27flutter日期 时间组件flutter_cupertino_date_picker的使用
pubspec.yaml flutter_cupertino_date_picker: ^ DatePicker.dart import 'package:date_format/date_forma ...
- java最简单复制文件方法,不依赖任何框架
java最简单复制文件方法 把java2.txt内容复制到java.txt中 import java.io.File; import java.io.IOException; import jav ...
- 微信小程序企业付款到个人
<?php /** * 小程序之企业付款到个人! */ class WxPayModel extends Model { public function sendMoneyToPerson($t ...
- vue-cli 引入stylus报错
在App.vue页面添加以下代码报错: <style lang="stylus" rel="stylesheet/stylus"> </sty ...