作者:Jason Browniee

翻译:张若楠

校对:林鹤冲

本文长度为2800字,建议阅读8分钟

本文介绍了自由度的概念,以及如何判断统计学模型和机器学习模型中的自由度。

标签:数据处理

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

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

在本文中,你将进一步了解统计学和机器学习中的自由度。阅读这篇文章后,你会认识到:

  • 自由度通常表示一个模型系统的起控制作用的因子数。
  • 在统计学中,自由度是用于计算某个统计量的数据大小。
  • 在机器学习中,自由度是模型参数的数量。

让我们开始吧。

概览

本文分为以下三部分:

一、什么是自由度

二、统计学中的自由度

三、机器学习中的自由度

  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

总结

在本文中,你了解了统计和机器学习的自由度,要点如下:

  • 自由度通常表示一个系统中的控制点数。
  • 在统计中,自由度是用于计算统计量的样本个数。
  • 在机器学习中,自由度是模型参数的数量。

编辑:于腾凯

校对:林亦霖

译者简介

张若楠,UIUC统计研究生毕业,南加州传媒行业data scientist。曾实习于国内外商业银行,互联网,零售行业以及食品公司,喜欢接触不同领域的数据分析与应用案例,对数据科学产品研发有很大热情。

—完—

浅析机器学习中的自由度相关推荐

  1. 独家 | 浅析机器学习中的自由度

    作者:Jason Browniee 翻译:张若楠 校对:林鹤冲 本文长度为2800字,建议阅读8分钟 本文介绍了自由度的概念,以及如何判断统计学模型和机器学习模型中的自由度. 标签:数据处理 自由度是 ...

  2. 机器学习中的特征工程——分类变量的处理

    出品 | CDA数据分析研究院,转载需授权 文章目录 分类变量 概念 判断 类型 少类别分类变量处理方法 独热编码(One-hot encoding) 虚拟编码(Dummy coding) 效应编码( ...

  3. MIT18.065 数据分析、信号处理和机器学习中的矩阵方法-学习笔记

    文章目录 MIT18.065 数据分析.信号处理和机器学习中的矩阵方法 Lecture 1 The Column Space of A Contains All Vectors Ax A=CR A=C ...

  4. 机器学习中的过拟合与解决办法

    什么是过拟合 对于机器学习项目而言,过拟合(overfitting)这个问题一般都会遇到.什么是过拟合呢? 维基百科: 在统计学中,过拟合现象是指在拟合一个统计模型时,使用过多参数.对比于可获取的数据 ...

  5. 机器学习中的判别式模型和生成式模型

    首发于人工智能 写文章 机器学习中的判别式模型和生成式模型 Microstrong 微信公众号:Microstrong,人工智能算法工程师 已关注 78 人赞同了该文章 目录: 基本概念 用例子说明概 ...

  6. 浅析 JavaScript 中的 函数 uncurrying 反柯里化

    柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果. 因此柯里化的过程是 ...

  7. 浅析Python中bytes和str区别

    本博转载自:Chown-Jane-Y的浅析Python3中的bytes和str类型 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示, ...

  8. 机器学习中使用的交叉熵(cross entropy)透彻分析

    从字面分析交叉熵,1是交叉.2是熵(熵与信息量有关):首先交叉熵涉及信息论里面的东西,想要彻底理解交叉熵就要明白此概念跟信息量的关系以及里边的熵怎么理解. (1)信息量 衡量信息量可以用大小或者多少来 ...

  9. 机器学习中的数学基础(4.1):支持向量机Support Vector Machine(SVM)

    SVM可以说是一个很经典的二分类问题,属于有监督学习算法的一种.看过那么多的博客知乎解释SVM我一定要自己总结一篇,加深一下自己的理解. 带着问题去读文章会发现,柳暗花明又一村,瞬间李敏浩出现在眼前的 ...

最新文章

  1. 20nian5yue最热门的Python开源项目
  2. 图形处理(六)拖拽式网格融合-Siggraph 2010
  3. SpringBoot整合mybatis 配置文件备份
  4. 各种计算机控制系统特点小结
  5. PageHelper分页插件踩坑--最后一页查询效率低下
  6. 试画出下面系统的乃式图(nyquist图)【Matlab】
  7. android 自动打开wifi热点
  8. 可行方向法的matlab代码,zoutendijk 可行方向法的matlab实现
  9. 信息技术外包:中小企业信息化之道
  10. 反汇编和二进制分析工具清单
  11. padStart与padEnd方法
  12. xmind 使用详解
  13. 四旋翼飞行器平衡传感器数据 处理方法探讨
  14. Extremely hard RSA 低加密指数攻击
  15. 前端屏幕尺寸和分辨率_屏幕尺寸、分辨率、倍率到底是什么鬼
  16. 支付宝集五福可以开“外挂”? 70万人秒集齐!
  17. 人在弥留之际的五大憾事--布洛尼·瓦尔,临终护理护士
  18. A Game of Thrones(42)
  19. Jmeter API文档
  20. 它们其实都是“图”,最短路径问题(Bellman-Ford、Dijkstra、Floyd-Warshall)

热门文章

  1. TSNE 有代码实现有附3D 2D效果图
  2. 【Keras】Linux一个shell脚本安装python、keras、tensorflow、anaconda等~
  3. the resource is not on the build path of a java project
  4. 各方评论《面向儿童的人工智能北京共识》:这是中国人工智能发展轨迹中的一份关键文件...
  5. 指南:从学者到创业者
  6. Python 中更优雅的环境变量设置方案
  7. 福利 | 2022全球敏捷运维峰会:跟技术老将畅聊时下数据库、运维、金融科技应“云”而生的技术创新...
  8. 分析460万份数据发现,女警比男警检查汽车几率少2倍,但发现违禁品还多10%
  9. 原创 | 浅议数据资产市场
  10. 深度学习必懂的 13 种概率分布(附链接)