霍夫丁不等式与真实的机器学习

1.霍夫丁不等式

在一个罐子里,放着很多小球,他们分两种颜色{橘色,绿色}。从罐中随机抓N个小球。设:罐中橘色球的比例为μ(未知),抓出来的样本中橘色球的比例为ν(已知)。根据概率论中的霍夫丁不等式(Hoeffding’s Inequality)若N足够大,ν就很可能接近μ。

同理的,在机器学习中:N足够大的时候可以用数据集D上的 [h(x)≠f(x)] 来推测{χ}上的 [h(x)≠f(x)]。就是说,如果样本足够大,那么备选函数h在D上犯错误的比例接近其在{χ}上犯错误的比例。设某一备选函数h在D上的犯错比例为E-in(h),在整个输入集上的犯错比例为E-out(h),则有:

通过上式,可以根据备选函数h在D上的表现来衡量它的正确性,并最终从备选函数集H中选出最优的那个h作为g,且g≈f。

2.真实的机器学习

先举一个例子,150个人每人抛一个硬币5次,至少有一个人5次皆为人头向上的概率为1 - (31/32)^150 = 99.15%所以一个小概率事件如果重复多次,他发生的概率就会变得很大。

同理,如下情形是有可能的:学习算法A在备选函数集H中(含有很多h)孜孜不倦地挑选着h,突然找到一个hi,发现它在D上没犯错误或只犯了很少错误,A高兴大喊:我找到g了,就是这个hi!但实际上这个hi在{χ}上却犯了很多错误(Ein(hi)与Eout(hi)差很远)。对于这个hi来说,D是一个坏样本(Bad Sample)。H中可能提取若干样本Di,{ i= 1, 2,3 . . . },对于某一个h来说,其中一些样本是Bad Sample。因为Eout big (far from f), but Ein small(correct on most examples)

对于对于任意样本D和给定的h,有

BAD data for many h
?? no ‘freedom of choice’ by A
?? there exists some h such thatEout(h) and Ein(h) far away

在整个备选函数集H(有M个元素)上,以下4个命题等价:

---D是H的Bad Sample   ---D是某些h的Bad Sample  --学习算法A不能在H中做自由筛选   ---存在某些h使得E-in(h)与E-out(h)差很远

根据上表,可以看出,D-1126这样的训练数据集是比较优质的。

给定任意D,它是某些H的Bad Sample的概率为:

即H中备选函数的数量M越少,样本数据量N越大,则样本成为坏样本的概率越小。在一个可接受的概率水平上,学习算法A只需要挑选那个表现最好的h作为g就行了。即在上式中H的个数要求为有限个。

时间: 2024-11-07 20:02:06

霍夫丁不等式与真实的机器学习的相关文章

物体三维识别论文介绍——基于霍夫投票

作者:袁野 Date:2020-04-02 来源:物体三维识别论文介绍——基于霍夫投票 文章“Objectrecognition in 3D scenes with occlusions and clutter by Hough voting”发表在2010年,提出了一个经典的将霍夫投票思想用于三维场景目标识别的方法,在杂乱场景和有遮挡情况下取得了不错的效果.这一思想在近年的文章中被多次引用,一些深度学习的方法也有该投票思想的影子.该方法已在PCL库中有简易实现.一.算法框架算法借助点云三位特征

[BZOJ1002] [FJOI2007] 轮状病毒 (基尔霍夫矩阵)

Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同的n轮状病毒数输出 Sample Input 3 Sample Output 16 HINT Source Solution 基尔霍夫矩阵,左转生成树的计数及其应用 推出本题的递推式:f[n] = f[n - 1] * 3 - f[n - 2] + 2 如果你能看懂,拜托给我讲讲,本人不懂. 注意要使用高精度 1 #include <cstri

基于python的二元霍夫曼编码译码详细设计

一.设计题目 对一幅BMP格式的灰度图像(个人证件照片)进行二元霍夫曼编码和译码 二.算法设计 (1)二元霍夫曼编码: ①:图像灰度处理: 利用python的PIL自带的灰度图像转换函数,首先将彩色图片转为灰度的bmp图像,此时每个像素点可以用单个像素点来表示. ②:二元霍夫曼编码: 程序流程图: 详细设计: 统计像素点频率,首先通过python自带的PIL库的图像像素点读取函数read()获取灰度图像的所有像素点,通过循环遍历每个像素点,将每个出现的像素点值以及其次数以键值对的形式放入到pyt

霍夫曼编码求节省空间

霍夫曼编码将频繁出现的字符采用短编码,出现频率较低的字符采用长编码.具体的操作过程为:i)以每个字符的出现频率作为关键字构建最小优先级队列:ii)取出关键字最小的两个结点生成子树,根节点的关键字为孩子节点关键字之和,并将根节点插入到最小优先级队列中,直至得到一棵最优编码树. 霍夫曼编码方案是基于______策略的.用该方案对包含a到f6个字符的文件进行编码,文件包含100000个字符,每个字符的出现频率(用百分比表示)如表1-3所示,则与固定长度编码相比,该编码方案节省了______存储空间.

[bzoj1002][FJOI2007]轮状病毒-题解[基尔霍夫矩阵][高精度][递推]

Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示 N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示 现给定n(N<=100),编程计算有多少个不同的n轮状病毒 Input 第一行有1个正整数n Output 计算出的不同的n轮状病毒数输出 Sample Input

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

在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线.圆.椭圆等. 在skimage中,霍夫变换是放在tranform模块内,本篇主要讲解霍夫线变换. 对于平面中的一条直线,在笛卡尔坐标系中,可用y=mx+b来表示,其中m为斜率,b为截距.但是如果直线是一条垂直线,则m为无穷大,所有通常我们在另一坐标系中表示直线,即极坐标系下的r=xcos(theta)+ysin(theta).即可用(r,theta)来表示一条直线.其中r为该直线到原点的距离,theta为该直线的垂线与x轴的夹角.如

Huffman tree(赫夫曼树、霍夫曼树、哈夫曼树、最优二叉树)

flyfish 2015-8-1 Huffman tree因为翻译不同所以有其他的名字 赫夫曼树.霍夫曼树.哈夫曼树 定义引用自严蔚敏<数据结构> 路径 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径. 路径长度 路径上的分支数目称作路径长度. 树的路径长度 树的路径长度就是从根节点到每一结点的路径长度之和. 结点的带权路径长度 结点的带权路径长度就是从该结点到根节点之间的路径长度与结点上权的乘积. 树的带权路径长度 树的带权路径长度就是树中所有叶子结点的带权路径长度之和,通常记做

C语言之霍夫曼编码学习

?1,霍夫曼编码描述哈夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩. 在计算机信息处理中,"哈夫曼编码"是一种一致性编码法(又称"熵编码法"),用于数据的无损耗压缩.这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码.这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目

学习 opencv---(13)opencv霍夫变换:霍夫线变换,霍夫圆变换

在本篇文章中,我们将一起学习opencv中霍夫变换相关的知识点,以及了解opencv中实现霍夫变换的HoughLines,HoughLinesP函数的使用方法,实现霍夫圆变换的HoughCircles函数的使用方法. 先尝鲜一下其中一个示例程序的运行截图: 一.引言 在图像处理和计算机视觉领域中,如何从当前的图像中提取所需要的特征信息是图像识别的关键所在.在许多应用场合中需要快速准确的检测出直线或者圆.其中一种非常有效的解决问题的方法是霍夫(Hough)变换,其为图像处理中从图像识别几何形状的基