Jason Browniee作者林鹤冲校对张若楠翻译

浅析机器学习中的自由度


自由度是统计和工程学的重要概念,它通常用于总结在人们在计算样本统计或统计假设检验统计量时所使用的数据量。在机器学习中,自由度可以指模型中的参数数量,例如线性回归模型中的系数数量或深度学习神经网络中的权重数量。

其中值得关注的地方在于,如果机器学习模型中存在过多的自由度(即模型参数),那么这个模型将会过拟合训练集,这是统计学上的普遍认识。可以通过使用正则化技术来克服这种问题,比如正则化线性回归,以及深度学习神经网络模型中常用的各种正则化手段。

在本文中,你将进一步了解统计学和机器学习中的自由度。阅读这篇文章后,你会认识到:
  • 自由度通常表示一个模型系统的起控制作用的因子数。

  • 在统计学中,自由度是用于计算某个统计量的数据大小。

  • 机器学习中,自由度是模型参数的数量。

让我们开始吧。

概览

本文分为以下三部分:

一、什么是自由度
二、统计学中的自由度
三、机器学习中的自由度
  1. 线性回归模型自由度

  2. 线性回归误差自由度

  3. 线性回归总自由度

  4. 负自由度

  5. 自由度与过拟合

自由度

自由度表示的是一个系统、模型或一个计算中的控制因子数。每个可以变换的独立参数都是d维空间中的一个维度,这个d维空间定义了可能影响系统的值的范围。某一个观测值或样本点就是该空间中的一个单独点。

在数学上,自由度通常用希腊字母ν表示,看起来像小写的“ v”。也可以缩写为“ d.o.f”、“ dof”、“ d.f.”,或直接写作“ df”。自由度是统计学和工程学中的术语,也通用于机器学习

统计学中的自由度

在统计中,自由度是用于计算一个统计量时,所用的一系列数值中可以变换的个数。
自由度:大致来说,就是计算统计所需的最少数据量。实际上,它是一个或多个数字,来近似数据集中观测值的数量,从而确定统计显着性。
---《Statistics in Plain English》,2010年第三版P60

它的计算方法是:计算统计量时使用的独立值的数量减去所计算的统计量的个数,即:

自由度 = 独立值的数量 – 统计数量

例如我们有50个独立样本,希望计算样本的统计量,比如均值。我们在计算中使用了全部50个样本,并且只有一个统计量,因此在这种情况下,均值的自由度计算为:

自由度 = 独立值的数量–统计数量
自由度 = 50 – 1
自由度 = 49

自由度通常是数据分布和统计假设检验中需要重点考虑的因素。例如,通常有针对不同自由度查询临界值的表格(相比起直接计算统计数据,既简单又常用)。以上是统计学中的自由度,那么对于数据拟合的模型(例如在机器学习模型)又如何呢?

机器学习中的自由度

 
在预测建模中,自由度通常是指模型中从数据估计的参数数量。这可以涵盖模型的系数以及用于模型误差计算的数据。

理解这一点的最佳例子是线性回归模型。

线性回归模型中的自由度

 
下面考虑数据集中有两个输入变量的线性回归模型。对于每个输入变量,我们将在模型中给定一个系数,也就是说该模型将具有两个参数

该模型如下所示,其中x1和x2是输入变量,beta1和beta2是模型参数

yhat = x1 * beta1 + x2 * beta2

线性回归模型具有两个自由度,因为它有两个参数必须从训练数据集中估计得到。在数据中再增加一列(增加一个输入变量)将为模型增加一个度自由度。

模型自由度 = 根据数据估算的参数数量

人们通常根据模型训练的参数数量来表达一个模型的复杂程度。例如,具有两个参数线性回归模型的复杂度等于自由度,在这种情况下为2。相对于较高复杂度的模型,我们通常更喜欢较低复杂度的模型。简单的模型通常更有普适性。

自由度是对模型估计多少参数的解释,也是对线性回归模型的复杂度的衡量
— P71,应用预测建模 (2013)

线性回归误差的自由度

 
训练集的数据量很重要,并且会影响回归模型的总体自由度。

假设使用包含100个样本的训练集拟合线性回归模型的系数,通过最小化模型预测值与实际值之间的误差来拟合模型。考虑该模型的误差时,误差值对于模型训练集的每一个样本具有一个自由度,同时需要减去参数的个数。

在这种情况下,模型误差的参数个数为100减2,即98个自由度。
  • 误差自由度 = 样本数量 - 参数数量

  • 误差自由度 = 100 - 2

  • 误差自由度 = 98

在模型分析的报告中通常要提及线性模型的误差以及其误差自由度是有益的,或者至少可以汇报训练数据中的样本量,以便确定模型误差的自由度。

线性回归的总体自由度

线性回归模型的总体自由度就是模型自由度与模型误差自由度的和。
  • 线性回归自由度 = 模型自由度+模型误差自由度

  • 线性回归自由度 = 2 + 98

  • 线性回归自由度 = 100

通常,自由度等于用于训练集的样本量。现在仍然考虑一个包含100个样本的数据集,但是假设现在我们有70个输入变量。这意味着该模型现在有70个拟合的参数。因此,模型误差将为30 (100 –70 ) 自由度。

而模型的总自由度仍等于样本量,即70 + 30 = 100。

负自由度

当我们的数据集列多于行时会发生什么?

例如,我们可能有100行数据和10000个变量,例如100位患者的基因标记。这种情况下,线性回归模型将具有10000个参数,这意味着该模型将具有10000个自由度。

我们可以如下计算模型误差的自由度:
  • 模型误差的自由度 = 样本量 – 参数

  • 模型误差自由度 = 100 – 10000

  • 模型误差自由度 = -9900

我们可以如下计算总自由度:
  • 线性回归自由度 = 模型自由度 + 模型误差自由度

  • 线性回归自由度 = 10000 + (–9900) 

  • 线性回归自由度 = 100

该模型仍具有100个总自由度,但是模型误差具有负的自由度。负自由度是有效的。这表明我们计算出的统计量多于我们有的变量。在这种情况下,模型中的参数要多于要训练集样本量。这就是所谓的p >> n,即参数远大于样本量。

自由度和过拟合

当我们的参数量比样本量大时,模型就存在过拟合训练集的风险。如果我们将模型中的每个系数都视为一个控制点就很容易理解。如果在模型中的控制点多于观察点,则理论上我们可以通过调参来百分百正确的预测实际值。过度学习训练集的细节,从而降低了准确预测新数据的性能,这就是过拟合的定义。

统计学家们普遍担忧深度学习神经网络模型容易过拟合深度学习模型通常有比样本量更多的参数(模型权重)。如果按照我们对线性模型的理解,这是很可能过拟合的。然而,通过仔细选择模型架构和采用正则化技术,可以防止它们过度拟合并保持较低的误差。

此外,在深度模型中,有效自由度可以与模型中参数的数量分开讨论。

如我们所述,对于简单的分类模型,自由度等于模型中的参数数量。在深度网络中,自由度通常远小于模型中参数的数量,深度网络往往有较小的自由度。
---《深度神经网络的自由度》2016

因此,统计学家和机器学习从业人员开始倾向于不再使用自由度来表示模型复杂性,以及不用其并判断是否会过拟合

对于大多数应用统计学家来说,拟合过程的自由度是其模型复杂度或对数据过拟合可能性的代名词。[…]而我们认为恰恰相反,模型的复杂性和自由度或许并没有很强的对应关系。
---《有效自由度:存在缺陷的指标》2013

总结

在本文中,你了解了统计和机器学习的自由度,要点如下:
  • 自由度通常表示一个系统中的控制点数。

  • 在统计中,自由度是用于计算统计量的样本个数。

  • 机器学习中,自由度是模型参数的数量。

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门数据处理自由度机器学习
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

假设检验技术

假设检验是推论统计中用于检验统计假设的一种方法。而“统计假设”是可通过观察一组随机变量的模型进行检验的科学假说。一旦能估计未知参数,就会希望根据结果对未知的真正参数值做出适当的推论。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~