机器学习理论知识部分--偏差方差平衡(bias-variance tradeoff)

摘要:

  1.常见问题

    1.1 什么是偏差与方差?

    1.2 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?

  2.模型选择

  3.特征选择

  4.特征工程与数据预处理

内容:

1.常见问题

  1.1 什么是偏差与方差?

泛化误差(general error)可以分解成偏差(bias)的平方加上方差(variance)加上噪声(noise)。偏差度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界,刻画了问题本身的难度。一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。

  1.2 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?

一般在机器学习中,将学习器在训练集上的误差称为训练误差或者经验误差,在新样本上的误差称为泛化误差。显然我们希望得到泛化误差小的学习器,但是我们事先并不知道新样本,因此实际上往往努力使经验误差最小化。然而,当学习器将训练样本学的太好的时候,往往可能把训练样本自身的特点当做了潜在样本具有的一般性质。这样就会导致泛化性能下降,称之为过拟合,相反,欠拟合一般指对训练样本的一般性质尚未学习好,在训练集上仍然有较大的误差。

欠拟合:一般来说欠拟合更容易解决一些,例如增加模型的复杂度(增加决策树中的分支,增加神经网络中的训练次数等等),增加特征(“组合”、“泛化”、“相关性”),减少正则化系数(参考)。

过拟合:过拟合的解决方案一般有重新清洗数据(导致过拟合的一个原因也有可能是数据不纯导致的),增加样本数量,对样本进行降维,降低模型复杂度,利用先验知识(L1,L2正则化),利用cross-validation,early stopping等等。

  

  

时间: 2024-11-05 01:41:28

机器学习理论知识部分--偏差方差平衡(bias-variance tradeoff)的相关文章

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

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

2.9 Model Selection and the Bias–Variance Tradeoff

结论 模型复杂度↑Bias↓Variance↓ 例子 $y_i=f(x_i)+\epsilon_i,E(\epsilon_i)=0,Var(\epsilon_i)=\sigma^2$ 使用knn做预测,在点$x_0$处的Excepted prediction error: $EPE(x_0)=E\left[\left(y_0-\hat{f}(x_0)\right)^2|x_0\right]\\ \ \ =E\left[\left(y_0-E(y_0)\right)^2|x_0\right]+\l

On the Bias/Variance tradeoff in Machine Learning

参考:https://codesachin.wordpress.com/2015/08/05/on-the-biasvariance-tradeoff-in-machine-learning/ 之前一直没搞明白什么是bias,什么是variance,现在看看这篇博文. 当你的模型太简单,也就是你的train error太大的时候,你的bias就会比较大:当你的模型变得复杂时,bias变小,同时模型变得比较senstive,variance就会变大 但bias变化的幅度更大,所有整体看来,cros

浅说机器学习理论

机器学习是现在在风口上.其包括一系列的具体算法,学习这些算法需要一定的数学基础(线性代数.概率论),网上有大量的资料可以参考学习:对于工程来说门槛就更低了,有许多优秀的现成框架可以使用.虽然我们调用一些api.调调参数就能完成很多工作,但是理解这背后的"为什么"还需要下一番功夫.机器学习理论是该领域的分析框架,这方面的内容比较抽象,且"实用性不强",所以常常被人忽略.这篇博客就来通俗地讲讲这些理论. 1.什么是机器学习 计算机编程算法是用来解决各种实际问题的.在传统

【机器学习快速入门】简单自学机器学习理论

[机器学习快速入门]简单自学机器学习理论 机器学习理论--part I 前言 (第II部分内容点此:第III部分内容点此) 动机 大多数人在小的时候被魔术师以及魔术技巧所迷住,并想弄明白其中的奥秘.有些人会带着这份迷恋研究到更深处并学习魔术技巧,有些人会接受专业的训练,而其他人会继续平庸下去.我在年幼时也尝试过魔术技巧并沉迷于其中,然而后来学习的是另外一种魔术,称作计算机编程. 编程确实酷似魔法, 和魔术一样,自学的现象在计算机编程世界占了上风.在过去的两年计算机开发者调查显示,超过一半的开发者

机器学习理论研究方法探讨

本文译自:http://www.alexirpan.com/2016/07/17/ml-sleep.html,原文标题<The Machine Learning Casino>,译文供您参考. 一.机器学习理论研究 机器学习是一种能使计算机半自主地对数据进行分析,并从中学习经验的算法. 机器学习理论的研究听上去就好像做这么一件事,让我们的研究人员去深刻探索,提高计算机学习数据集的效率的方法. 事实上,机器学习理论的研究可以在我们的生活的每时每刻找到影子.就好像你在不断的进行一场赌博,只不过你的

偏差方差分解

偏差方差分解 (误差分解) 先引入一个问题: Machine Learning 与 Curve Fitting 的区别是什么?1 Curve Fitting 是使用所有的数据拟合一条曲线; 而 Machine Learning 是采用真实世界中采样的一小部分数据,并且我们希望我们的模型能够对于未知数据有不错的泛化性能.因此涉及到Bias-Variance的权衡. 学习算法的预测误差, 或者说泛化误差(generalization error)可以分解为三个部分: 偏差(bias), 方差(var

偏差-方差分解

1. 偏差-方差分解是解释学习算法泛化性能的一种重要工具,试图对学习算法的期望泛化误差率(generalization error)进行分解.可以分解为三部分,偏差(bias).方差(variance)和噪声(noise).其中, 偏差:度量了模型的期望值和真实结果的偏离程度,刻画了模型本身的拟合能力 方差:度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所产生的影响. 噪声:表达了当前任务上任何学习算法所能达到的期望防滑误差的下界,刻画了学习问题本身的难度. 2. 泛化误差:

机器学习算法中的偏差-方差权衡(Bias-Variance Tradeoff)

简单的以下面曲线拟合例子来讲: 直线拟合后,相比原来的点偏差最大,最后一个图完全拟合了数据点偏差最小:但是拿第一个直线模型去预测未知数据,可能会相比最后一个模型更准确,因为最后一个模型过拟合了,即第一个模型的方差比最后一个模型小.一般而言高偏差意味着欠拟合,高方差意味着过拟合.他们之间有如下的关系:              本文地址                                            请参考一下三篇文章: 机器学习中的数学(2)-线性回归,偏差.方差权衡 Bi