机器学习--偏差和方差

这篇博文主要是解释偏差和方差,以及如何利用偏差和方差理解机器学习算法的泛化性能

综述

在有监督学习中,对于任何学习算法而言,他们的预测误差可分解为三部分

  1. 偏差
  2. 方差
  3. 噪声

噪声属于不可约减误差,无论使用哪种算法,都无法减少噪声。 通常噪声是从问题的选定框架中引入的错误,也可能是由诸如未知变量之类的因素引起的,这些因素会影响输入变量到输出变量的映射。噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。而剩下两种误差则与我们选择的学习算法相关,并且可以通过一些方法减小

数学推导

对于测试样本 x, 

上面的期望预测是针对 不同 数据集 D, f 对 x 的预测值取其期望, 也被叫做 average predicted. 使用样本数目相同的不同训练集产生的方差为

期望输出与真实标记的差别成为偏差

噪声

算法的期望泛化误差E(;D)为

                      

偏差

偏差度量了学习算法的期望预测和真实值之间的差别,刻画了学习算法本身的拟合能力.

  • 低偏差:表明期望输出和真实标记之间误差小,学习算法拟合能力更强
  • 高偏差:表明期望输出和真实标记之间误差大,学习算法拟合能力较差

低偏差机器学习算法的示例包括:决策树,kNN和支持向量机;高偏差机器学习算法的示例包括:线性回归,线性判别分析和逻辑回归

通常来说线性算法学习速度更快,更易于理解,但灵活性较低而无法从数据集中学习复杂的信号,具有较高的偏差.因此,它们针对复杂问题具有较低的预测性能.想象一下,将线性回归拟合到具有非线性模式的数据集:

                                        

无论我们采集多少观察值/样本,线性回归都将无法对数据中的曲线建模,期望输出与真实标记之间有很大差别也就是说模型具有很高的偏差,这就是欠拟合

方差

方差度量了样本量相同的的不同训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响

目标函数是由机器学习算法从训练数据中估算出来的,因此我们应该期望算法具有一定的方差。理想情况下,从一个训练数据集到下一个训练数据集的方差不应太大,这也意味着该算法能学习到输入和输出变量之间的隐藏底层映射。而具有高方差的机器学习算法容易受到训练数据细节的强烈影响.

  • 低方差:表明训练数据集的变化对目标函数的估计值造成较小的变动
  • 高方差:表明训练数据集的变化对目标函数的估计值造成较大的变动

通常,具有很大灵活性的非线性机器学习算法具有很大的方差.例如,决策树具有很高的方差,如果在使用前不对决策树进行减枝,则差异更大。

低方差机器学习算法的示例包括:线性回归,线性判别分析和逻辑回归。

高方差机器学习算法的示例包括:决策树,kNN和支持向量机

例如,假设有一个算法可以完全不受约束的拟合上面的同一数据集:

                           

上述模型基本上已经拟合了全部训练数据,甚至是噪声,因此当训练数据发生轻微变化时会导致模型以及模型预测值产生很大的变动,这被称为过拟合

方差-偏差折衷

偏差-方差分解说明,泛化性能是由学习算法的能力,数据充分性以及学习任务本身的难度决定的.给定学习任务为了取得更好的泛化性能,则需要使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小.任何监督式机器学习算法的目标都是实现低偏差和低方差,这意味着算法应该有一个好的的预测性能.从上面的示例中我们也可以看到:

  • 线性机器学习算法通常具有高偏差低方差
  • 非线性机器学习算法通常具有较低的偏差但具有较高的方差

机器学习算法的参数化通常就是在偏差和方差中寻求平衡,以下是为特定算法进行偏差方差折衷的一个示例:

  • 支持向量机算法具有低偏差和高方差,但是可以通过增加C参数来改变权衡,该参数会影响训练数据中允许的余量的违反次数,从而增加偏差但减小方差。

一般来说偏差和方差是有冲突的,在机器学习中,偏差和方差之间始终存在如下的关系

  • 增加偏差将减小方差
  • 增加方差将减少偏差

下图给出了一个示意图,当算法复杂度不够或者是训练程度不足时,学习器的拟合能力不足,偏差主导泛化错误率.随着算法复杂度加深或训练程度加强,学习器的拟合能力逐渐增强,训练数据的扰动逐渐被学习器学习到,此时方差逐步主导了泛化错误率.而我们要做的就是在在偏差和方差之间寻找一个平衡点,即泛化误差最小的点, 达到optimal balance.

                      

我们选择的算法以及平衡偏差和方差方式会产生不同的折衷效果.

                      

上图中蓝色的点表示预测值,中心红点表示真实值,蓝点越靠近中心点表明预测值与真实值越接近,偏差越小.蓝色点越分散表明预测值之间差别很大,方差大,反之蓝色点越集中表明预测值之间差别很小,从而方差小

实际上我们无法计算真实的偏差和方差值,因为我们不知道真正的的目标函数是什么,但我们可以利用偏差和方差帮助我们更好的理解机器学习算法的性能,在偏差和方差之间寻求平衡可以使我们的模型避免过拟合或者欠拟合.

reference  <机器学习>---周志华   

Gentle Introduction to the Bias-Variance Trade-Off in Machine Learning--Jason Brownlee

Understanding the Bias-Variance Tradeoff

WTF is the Bias-Variance Tradeoff? (Infographic)

原文地址:https://www.cnblogs.com/laozhanghahaha/p/12354339.html

时间: 2024-11-13 08:13:04

机器学习--偏差和方差的相关文章

加州理工学院公开课:机器学习与数据挖掘_偏差与方差权衡(第八课)

课程简介: 在回顾了VC分析之后,本节课重点介绍了另一个理解泛化的理论:偏差与方差,并通过学习曲线的运用比较了VC分析和偏偏差方差权衡的不同用途. 课程大纲: 1.偏差与方差的权衡 2.学习曲线 1.偏差与方差的权衡 在上一节课:VC 维中,我们求出了 Eout 的边界,Eout < Ein + Ω.该公式描述了 Eout 的边界.现在让我们从不同的角度来分析 Eout. 我们把 Eout 分解为两部分: 1.假设集 H 近似 f 的能力(即 H 中与 f 距离最小的 G 与 f 的误差大小 )

机器学习中的数学(2)-线性回归,偏差、方差权衡

机器学习中的数学(2)-线性回归,偏差.方差权衡 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任.如果有问题,请联系作者 [email protected] 前言: 距离上次发文章,也快有半个月的时间了,这半个月的时间里又在学习机器学习的道路上摸索着前进,积累了一点心得,以后会慢慢的写写这些心得.写文章是促进自己对知识认识的一个好方法,看书的时候往往不是非

stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)

本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归模型的影响. ①可视化数据集 本作业的数据集分成三部分: ?训练集(training set),样本矩阵(训练集):X,结果标签(label of result)向量 y ?交叉验证集(cross validation set),确定正则化参数 Xval 和 yval ?测试集(test set)

偏差和方差以及偏差方差权衡(Bias Variance Trade off)

当我们在机器学习领域进行模型训练时,出现的误差是如何分类的? 我们首先来看一下,什么叫偏差(Bias),什么叫方差(Variance): 这是一张常见的靶心图 可以看左下角的这一张图,如果我们的目标是打靶子的话,我们所有的点全都完全的偏离了这个中心的位置,那么这种情况就叫做偏差 再看右上角这张图片,我么们的目标是右上角这张图片中心的红色位置,我们射击的点都围绕在这个红色的点的周围,没有大的偏差,但是各个点间过于分散不集中,就是有非常高的方差 我们进行机器学习的过程中,大家可以想象,我们实际要训练

偏差vs方差

在这部分我们检验多项式层数d和过拟合和欠拟合之间的关系. 1.我们区分是否是偏差或方差导致我们预测错误. 2.大偏差是欠拟合,大方差是过拟合.理想情况下,我们需要在这两者之间找到中庸之道. 当我们增加多项式的D时,训练误差会减小. 同时,交叉验证误差会随着d增加到一个点而减小,然后随着d的增加而增大,形成一个凸曲线. 这是总结在下面的图: 正则化和偏差/方差 在上图中,我们看到,作为λ的增加,我们的配合变得平滑.另一方面,当λ接近0,我们倾向于过度拟合数据.那么我们如何选择我们的参数λ得到它"恰

过拟合 VS 欠拟合 偏差 VS 方差

1. 过拟合 欠拟合 过拟合:在训练集(training set)上表现好,但是在测试集上效果差,也就是说在已知的数据集合中非常好,但是在添加一些新的数据进来训练效果就会差很多,造成这样的原因是考虑影响因素太多,超出自变量的维度过于多了: 欠拟合:模型拟合不够,在训练集(training set)上表现效果差,没有充分的利用数据,预测的准确度低: 高阶多项式回归的过拟合与欠拟合 逻辑回归的过拟合与欠拟合 2. 偏差 方差 偏差:首先error=bias+variance:bias反映的是模型在样

偏差与方差,欠拟合与过拟合的关系

偏差(Bias) 偏差指预测输出与真实标记的差别,记为: 偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力. 方差(Variance) 方差指一个特定训练集训练得到的函数,与所有训练集得到平均函数的差的平方再取期望,记为: 方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响.方差表示所有模型构建的预测函数,与真实函数的差别有多大. 偏差-方差示意图 偏差与方差的区别可用如下的靶标图来说明: 低偏差低方差时,是我们所追求的效果,此时

偏差与方差

1. 偏差:估计量的数学期望(平均值)与真值的偏离程度 2. 方差:反映了估计量的取值在其数学期望(平均值)周围的分散或集中程度(波动程度) 3. 相合性

为什么说朴素贝叶斯是高偏差低方差?

首先,假设你知道训练集和测试集的关系.简单来讲是我们要在训练集上学习一个模型,然后拿到测试集去用,效果好不好要根据测试集的错误率来衡量.但很多时候,我们只能假设测试集和训练集的是符合同一个数据分布的,但却拿不到真正的测试数据.这时候怎么在只看到训练错误率的情况下,去衡量测试错误率呢? 由于训练样本很少(至少不足够多),所以通过训练集得到的模型,总不是真正正确的.(就算在训练集上正确率100%,也不能说明它刻画了真实的数据分布,要知道刻画真实的数据分布才是我们的目的,而不是只刻画训练集的有限的数据