机器学习 —误差理论

来源:互联网 发布:24小时制的js时间插件 编辑:程序博客网 时间:2024/06/05 02:22

学习误差理论,会让我一肚子疑惑,学完了之后不知道怎么用。按照目前的理解是,这就是理论,知道有这样的性质,就像我们学高数的时候,一个个公式,我们知道有这么回事就OK了。这部分内容对以后算法调试会奠定理论基础,多读书总是好的!开始正式内容
最主要的两个概念偏差方差
方差都知道,现在来说说什么是偏差
这里写图片描述

这个图是我们针对样本进行的拟合的效果,其中图1,我们是用线性拟合,图中我们能看到拟合效果很弱,这个时候带来的问题就是偏差比较大
图三中我们看到,在样本上拟合效果非常好,偏差很小。
但是图一和图三他们的泛化能力都不好,用专业的术语就是泛化误差比较大。

这样一种规律:如果模型过于简单,其具有大的偏倚,而如果模型过于复杂,它就有大的方差。调整模型的复杂度,建立适当的误差模型,就变得极其重要了。

关于偏差和方差我们了解了之后,我们要运用它需要两个重要的引理。
我们在学习的时候,要带着以下三个问题去学习
一. 我们如何通过理论来解决偏差和方差的均衡? 这个会帮助选择模型
二.我们真正关心的是泛化误差,但是我们都是在训练模型上得到是训练误差,我们怎么把训练误差和泛化误差联系起来?
三.有什么理论可以支撑,我们在一定条件下可以证明某个模型是良好工作的?

这里写图片描述

引理2称为Chernoff边界(Chernoff bound),它说明:假设我们用随机变量的均值去估计参数,估计的参数和实际参数的差超过一个特定数值的概率有一确定的上界,并且随着样本量m的增大,与很接近的概率也越来越大。
这里写图片描述

在这里写一个我曾经比较困惑过的问题,引理2之所以要这样表示,是后面要用到 Hoeffding不等式,但是
这里写图片描述这个式子服从伯努利分布吗? 他是服从的!我们可以把这个式子当成关于x,y的二元函数,二我们上面假设(x,y)是独立同分布的,那他也就是伯努利的。而这种同分布独立性,是我们后面要学的PAC(probablyapproximately correct)的重要假设之一。
我们在定义泛化误差,泛化误差通俗理解就是把测试数据扩展到无限大之后,所表示的误差
这里写图片描述

我们在定义h()函数
这里写图片描述
那我们应该选择一个什么theta来满足最小训练误差呢?其实很简单吗
这里写图片描述
这么表示就OK
我们这样的筛选的theta的过程称为经验风险最小化 empirical risk minimization (ERM), 插入一下,像逻辑回归这样的算法都是属于经验最小化,对不对啊?就是调整theta,在测试数据上尽量少出错,是不是?

这里写图片描述
这部分的内容就是定义多,符号多,要记住都是干嘛的,逻辑其实都很简单。

接下来又是一个新的定义有穷集 H

这里写图片描述

这里写图片描述
以上的意思是我们要做两件事情
一.我们要确保:对类里任意一个h 这里写图片描述这里写图片描述的合理估计
二.我们要 确保这里写图片描述有上界
我们来讨论一下,为什么要做以上两个确保?
第一个确保中之所以要说要对所有h讨论,也很好理解,我们是把这种估计作为真理来应用,就是证明他的普遍性。(很抽象!!)
第二个确保是为什么呢?
这个在后面我们会看到,我们说这里写图片描述有上界,最终表达式其实是落在
这里写图片描述
那我们通过训练数据得到误差,从中选取最小的h()函数,也就是对应最小的误差,而这个又是总体的合理估计,而总体的合理估计 又与全局估计(我自己取得名字),那我们就有理由相信 训练误差和 全局估计是相差不多的,我们也就能通过训练误差来衡量算法的好坏了。
非常抽象!!好好捋一捋就OK

这里写图片描述

这里写图片描述

这里写图片描述

这个就属于把语言转变成概率表达!
这里写图片描述

上式表示了假设集内任意假设函数的训练误差和泛化误差的的接近程度小于一个常数的概率有下界,并且随着样本量的增加,训练误差接近泛化误差的概率随之增大。上式的结果称为一致收敛。

下面以此不等式引出个推论:

这里写图片描述

这个就慢慢推吧,不是很难,我们主要来说说他的意义是啥。

如果我们已知类的大小k,以及我们的误差概率delta(其实是用1减去的,这里是为了说法方便),以及训练误差泛化误差的差值gama,那我们至少要有多少数据。

同样地,我们也可以得到
这里写图片描述

这个式子其实就是把gama等量代换了,我们是把k,delta,以及样本个数m都确定的情况下,我们要估计训练误差泛化误差 的偏值最大是多少,到这步我们也就证明了我们的第一个确保! 因为只要我们只要调整参数,使得式子右边的值非常小,就可以近似认为式子左边是相等的。

第一个确保我们证明完了,现在再来证明一下第二个确保。

这里写图片描述
这样我们也就证明了第二个确保
现在我们把这个作为一个定理来写出来

这里写图片描述

这里写图片描述
这里写图片描述
到这一步,也就解释了我们在文章开头举例子的时候说的,为什么模型越复杂,我们的偏差越小,而方差会越来越大(抽象理解吧)

这里写图片描述

注意这个式子,我们会在无穷集里用到它!!

这个式子其实就是满足下面这个式子的概率
这里写图片描述

这里写图片描述

而我们退林就是满足这个式子的前提下,推出来的!

以上是关于有穷极的介绍,那对应的还有无穷极

无穷极
这里写图片描述
这里写图片描述
因此可以看出,训练样本量和模型参数数量为线性关系。事实上,依赖64位浮点数无法得出准确的参数,然而, 如果我们尝试去最小化训练误差,也会得出理想的假设函数。

以下是新的定义:(定义太多了。。。)
这里写图片描述

我们接下来再介绍VC维的定义:

这里写图片描述

具体的例子不说,直接写结论吧,写这个博客已经几个小时了,我想早点睡觉

线性分类器在二维平面上至多只能给3个点进行无误差的分类。(更一般的,k维线性分类器最多只能给k+1个点进行无误差分类。)然而,实际的应用中,并不需要构建一个模型使得对于训练集进行无误差的分类,甚至分类过于精确,会使得模型的泛化能力变得很弱,因此VC维仅仅是保证理论的严密,以及可以相关证明的前提条件,并不能完全做为分类算法准确程度的度量。

最后再给两个定理:

证明就略过

这里写图片描述

这里写图片描述