机器学习之理解Bias-Variance Tradeoff

简介: 这篇内容讨论了机器学习中的Bias-Variance Tradeoff概念。Bias代表模型预测期望值与真实值的差距,高Bias(欠拟合)可能源于模型过于简单。Variance则是模型预测在不同数据集上的变异性,高Variance(过拟合)可能因模型过于复杂,过度拟合噪声。理想的模型应在Bias和Variance之间找到平衡,以降低测试误差。文章通过多项式拟合正弦曲线的例子说明了如何在不同复杂度模型间进行权衡。

Snipaste_2024-04-08_14-36-12.jpg


1 引言

在机器学习中,我们经常会遇到模型过拟合和欠拟合的现象, 二者背后就是Bias-Variance Tradeoff.

今天,我们将详细介绍什么是Bias-Variance Tradeoff,它从何而来,为什么需要考虑,以及可以做些什么来改进我们的机器学习模型。

好的,闲话少说,我们直接开始吧. :)

2 问题引入

机器学习系统的实质思想为从收集的样本数据中对数据的潜在分布进行建模。如果我们采样了足够多的准确样本,则可以很容易地拟合出数据的分布,如下所示。


将上述过程进行抽象, 即对于样本 (x,y) , 我们估计这样的函数 f.

但问题是在现实生活中收集的样本通常是含有噪声的。这种噪声的来源可能是很多因素,例如量化、传感器的限制等。


因此我们无法获得分布的确切输出,而是向其中添加了噪声因素。所以现在的问题转变为估计函数 f,给定输入 x,及其相应的噪声输出 y。


我们的目标是有效地估计函数 f 并滤除噪声。现在,由于我们对添加到样本输出中的噪声知之甚少,如果处理不当,机器学习系统最终会将输入 x 映射到含噪声输出 y(称为过拟合)。此映射不是函数 f 的准确表示,并且会在其他测试数据上产生更高的误差。

Bias-Variance Tradeoff告诉我们,在存在噪声的情况下,我们的底层系统 (f(x)) 应该有多复杂,才能相当准确地表示我们数据集的分布。

3 什么是Bias和 Variance?


Bias和Variance都可以视为机器学习系统中的错误来源。

假设我们有一个训练数据集 D,它由采用样本(x,y)组成,该数据集的潜在分布服从y=f(x)+e.

我们希望从数据集D中构建模型  ,以使得训练标签和预测值之间的误差最小


.

3.1 Bias定义

Bias被称为模型预测期望值

和gt值f(x) 之间的误差


对从不同数据子集 D_i 预测的函数执行求期望操作 Snipaste_2024-04-08_14-37-45.jpg

简而言之,从潜在分布中采样 n 个不同的数据集 D_i(每个数据集由多个 (x,y) 对组成),并估计 n 个不同的函数 f_i 。然后


通过估计函数的Bias我们可以知道基础模型预测的能力。一般而言,较简单的模型无法捕捉高维数据的复杂性,因此它们具有更高的偏差。

例如,您有一个从正弦曲线采样的数据集,并且您正尝试使用 1 次多项式来估计它,即通过函数 y = ax+b。无论您采样多少个数据点 (x,y),直线永远无法捕捉到正弦曲线的趋势。因此,对于正弦曲线,直线模型具有非常高的偏差。

另一方面,假设您将多项式的次数增加到 3,即现在通过 y = ax² +bx+c 对其进行估计。该多项式的性能将比前一个好得多,因此在估计正弦曲线时,3 次多项式的偏差比 1 次多项式小得多。


模型的BIas很高一般来说与以下因素有关:

  • 欠拟合——无法捕捉数据潜在分布
  • 训练和测试数据集上错误很高
  • 过于简化的模型

3.2 Variance定义

方差(Variance)是指给定数据集的模型预测的平均离散程度。

Snipaste_2024-04-08_14-38-13.jpg

通过估计函数的方差可以知道该函数能够根据数据集的变化进行调整的程度。方差越大,函数对不断变化的数据集就越稳健。

例如,假设您训练两个不同的多项式来拟合从正弦曲线采样的数据,即 1 次和 3 次多项式。您在三个不同的数据集(D1、D2 和 D3)上训练这两个多项式。下图显示了多项式次数和数据集的估计函数。


可以看出,1 次多项式在三个不同的数据集上变化不大(因此方差较低),而 3 次多项式的估计彼此差异很大(因此方差较高)。

模型的Variance高一般来说与以下因素有关:

  • 过拟合——对数据集中的噪声也进行了建模
  • 更加强调尽可能接近地拟合每个数据点
  • 训练数据错误率低,但测试数据错误率高
  • 过于复杂的模型和稀疏的训练数据。

3.3 小结

一般来说,如果你增加深度学习系统的复杂度,系统的Bias会减少,而方差(Variance)会增加。它们此消彼涨。你不能同时减少它们, 这一点将是偏差-方差权衡的基础。

4 Bias-Variance 权衡

机器学习模型的预期测试误差可以通过以下公式分解为其偏差和方差:

一个完整的推导可以在这里找到。上述中是由于数据中的噪声引起的误差,与模型的选择无关.

因此,为了减少估计误差,我们需要同时减少偏差(Bias)和方差(Variance)。

我们必须选择一个模型(在我们的示例中是多项式的次数),以最小化误差的方式来权衡偏差和方差。在过拟合和欠拟合的情况下,测试误差都可能很高。因此,我们需要偏差和方差的最佳平衡,以便我们的模型既不会过拟合也不会欠拟合我们的数据。

考虑之前的示例,我们使用多项式从噪声采样数据 D 中估计正弦曲线。我们可以从各种不同程度的多项式中进行选择。在理想情况下,我们可以得到足够多的无噪声数据(噪声 = 0),泰勒级数展开告诉我们,如果我们继续增加多项式,那么我们的预测将无限逼近我们的正弦曲线。

但是在有噪声和有限数据集的情况下,增加多项式的次数也会开始拟合数据中的噪声,并且在测试数据集上表现不佳。因此,我们需要找到在我们的数据集上效果最好的多项式的最优次数(即测试误差最小化)。

Snipaste_2024-04-08_14-39-21.jpg

上图绘制了不同多项式的正弦曲线估计。 1 次多项式太简单而无法捕捉正弦曲线,而 11 次多项式足够复杂,甚至可以拟合整体噪声(因此偏离了我们试图估计的实际正弦曲线)。

为了找到估计正弦曲线的最佳多项式,我们找到测试数据集的多项式(1、3、5、7、9 和 11 次)的偏差和方差。该图绘制如下。

可以看出,在存在噪声的情况下,7 次多项式为我们的正弦曲线提供了最佳拟合。该多项式的选择取决于

  • 样本数据中噪声的数量和性质
  • 训练数据集的大小

假设采样的数据集没有噪音。对这个干净的数据集运行相同的实验给出了下图:

上图符合正弦曲线的泰勒级数展开,表明多项式的次数越高,近似效果越好。完整的代码附在下面。

5 结论

通过上文分析,我们可以得到以下结论:

对于干净且足够大的数据集:

  • 模型复杂度越大,估计误差越小,近似越好。
  • 模型复杂度越大,偏差(Bias)越小
  • 模型复杂度越大,方差(Variance)越小

对于嘈杂的数据集:

  • 更高的模型复杂度并不意味着更低的估计误差
  • 模型复杂度越大,偏差(Bias)越小
  • 模型复杂度越大,方差(Variance)越大

由于现实世界中的数据集几乎总是含有噪声且有限的,因此我们需要找到机器学习模型的最佳复杂度,使我们在数据集上的误差最小。更高的复杂性并不能保证模型是最适合的。

6 总结

本文重点介绍了机器学习领域中 Bias-Variance Tradeoff的由来和相关应用,并给出了在理性数据集下和含噪声数据集下Bias和Variance的一些结论, 并提供了完整代码实现.


相关文章
|
22小时前
|
机器学习/深度学习 算法
【机器学习】比较朴素贝叶斯算法与逻辑回归算法
【5月更文挑战第10天】【机器学习】比较朴素贝叶斯算法与逻辑回归算法
|
1天前
|
机器学习/深度学习 数据采集 自然语言处理
经典机器学习算法——Pagerank算法(二)
PageRank 算法由 Google 创始人 Larry Page 在斯坦福读大学时提出,又称 PR——佩奇排名。主要针对网页进行排名,计算网站的重要性,优化搜索引擎的搜索结果。PR 值是表示其重要性的因子
|
1天前
|
机器学习/深度学习 数据采集 算法
经典机器学习算法——Pagerank算法(一)
PageRank 算法由 Google 创始人 Larry Page 在斯坦福读大学时提出,又称 PR——佩奇排名。主要针对网页进行排名,计算网站的重要性,优化搜索引擎的搜索结果。PR 值是表示其重要性的因子
经典机器学习算法——Pagerank算法(一)
|
1天前
|
机器学习/深度学习 人工智能 算法
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
随着高通量测序技术的飞速发展和多组学分析的广泛应用,科研人员在探索生物学奥秘时经常遇到一个令人又爱又恼的问题:如何从浩如烟海的数据中挖掘出潜在的疾病关联靶点?又如何构建一个全面而有效的诊断或预后模型?只有通过优雅的数据挖掘、精致的结果展示、深入的讨论分析,并且辅以充分的湿实验验证,我们才能锻造出一篇兼具深度与广度的“干湿结合”佳作。
11 0
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
|
3天前
|
机器学习/深度学习 存储 人工智能
【人工智能】机器学习算法综述及常见算法详解
【人工智能】机器学习算法综述及常见算法详解
|
5天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【5月更文挑战第6天】在数据科学和人工智能的广阔天地中,支持向量机(SVM)以其强大的分类能力与理论深度成为机器学习领域中的一个闪亮的星。本文将深入探讨SVM的核心原理、关键特性以及实际应用案例,为读者提供一个清晰的视角来理解这一高级算法,并展示如何利用SVM解决实际问题。
28 7
|
5天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机算法
【5月更文挑战第6天】 在数据科学和人工智能领域,支持向量机(SVM)是一种强大的监督学习模型,它凭借其出色的分类能力在众多机器学习任务中占据重要地位。本文旨在深入剖析支持向量机的工作原理,探讨其在高维数据处理中的优势以及面对大规模数据集时的应对策略。通过对核技巧、软间隔以及优化问题的讨论,我们将揭示SVM如何优雅地处理线性不可分问题,并保持模型的泛化性能。
|
9天前
|
机器学习/深度学习 自然语言处理 算法
机器学习算法原理与应用:深入探索与实战
【5月更文挑战第2天】本文深入探讨机器学习算法原理,包括监督学习(如线性回归、SVM、神经网络)、非监督学习(聚类、PCA)和强化学习。通过案例展示了机器学习在图像识别(CNN)、自然语言处理(RNN/LSTM)和推荐系统(协同过滤)的应用。随着技术发展,机器学习正广泛影响各领域,但也带来隐私和算法偏见问题,需关注解决。
|
11天前
|
机器学习/深度学习 运维 算法
【Python机器学习专栏】异常检测算法在Python中的实践
【4月更文挑战第30天】本文介绍了异常检测的重要性和在不同领域的应用,如欺诈检测和网络安全。文章概述了四种常见异常检测算法:基于统计、距离、密度和模型的方法。在Python实践中,使用scikit-learn库展示了如何实现这些算法,包括正态分布拟合、K-means聚类、局部异常因子(LOF)和孤立森林(Isolation Forest)。通过计算概率密度、距离、LOF值和数据点的平均路径长度来识别异常值。

热门文章

最新文章