首页 > 其他分享 >什么是机器学习中的正则化?

什么是机器学习中的正则化?

时间:2023-11-04 14:31:37浏览次数:30  
标签:机器 方差 模型 拟合 学习 正则 L2 L1

1. 引言

在机器学习领域中,相关模型可能会在训练过程中变得过拟合和欠拟合。为了防止这种情况的发生,我们在机器学习中使用正则化操作来适当地让模型拟合在我们的测试集上。一般来说,正则化操作通过降低过拟合和欠拟合的可能性来帮助大家获得最佳模型。

在本文中,我们将了解什么是正则化,正则化的类型。此外,我们将讨论偏差、方差、欠拟合和过拟合等相关概念。

闲话少说,我们直接开始吧!


2. 偏差和方差

Bias和Variance分别从两个方面来描述我们学习到的模型与真实模型之间的差距。

二者的定义如下:

  • Bias是用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。
  • Variance是不同的训练数据集训练出的模型输出值之间的差异。

什么是机器学习中的正则化?_正则化

Bias(偏差)降低了模型对单个数据点的敏感性,并增加了数据的泛化性,模型对孤立数据点的敏感度降低;由于所需的功能不那么复杂,因此还可以减少训练时间。高偏差表示假定目标函数更可靠。有时,这会导致模型拟合不足。

Variance(方差)是机器学习中由于模型对数据集中微小变化的敏感性而发生的一种错误。由于存在显著变化,算法将对训练集中的噪声和异常值进行建模。过拟合是最常用于描述这一点的术语。在新数据集上进行评估时,在这种情况下,模型无法提供准确的预测,因为它本质上学习了每个数据点。


一个相对平衡的模型将具有低偏差和低方差,而高偏差和高方差将导致欠拟合和过拟合。

3. 欠拟合

当模型由于没有正确学习训练数据中的模式而无法正确地泛化到新数据时,就会发生欠拟合。在训练数据上,欠拟合模型表现不佳,并做出错误的预测。当存在高偏差和低方差时,就会发生欠拟合。

什么是机器学习中的正则化?_正则化_02

4. 过拟合

当一个模型在训练数据上表现得非常好,但在测试数据上表现不佳时,它被称为过拟合(新数据)。在这种情况下,机器学习模型因为拟合到训练数据中的噪声,这会对模型在测试数据上的表现产生负面影响。低偏差和高方差可能导致过拟合。

什么是机器学习中的正则化?_正则化_03

5. 正则化概念

术语“正则化”描述了校准机器学习模型的方法,以减少调整后的损失函数并避免过拟合或欠拟合。

什么是机器学习中的正则化?_正则化_04

我们可以使用正则化将机器学习模型正确地拟合到特定的测试集上,从而降低测试集中的错误。


6. L1正则化

相比于岭回归,L1正则化主要通过在损失函数中增加一项惩罚项来实现,惩罚项等于所有系数的绝对值之和。如下所示:

什么是机器学习中的正则化?_正则化_05

在Lasso回归模型中,以类似于岭回归的方式通过增加回归系数的绝对值这一惩罚项来实现。此外,L1正则化在提高线性回归模型的精度方面有着良好的表现。同时,由于L1正则化对所有参数的惩罚力度都一样,可以让一部分权重变为零,因此产生稀疏模型,能够去除某些特征(权重为0则等效于去除)。


7. L2正则化

L2正则化也是通过在损失函数中增加一项惩罚项来实现,惩罚项等于所有系数的平方和。如下所示:

什么是机器学习中的正则化?_正则化_06

一般而言,当数据表现出多重共线性(自变量高度相关)时,它被认为是一种采用的方法。尽管多重共线性中的最小二乘估计值 (OLS) 是无偏的,但它们的巨大方差会导致观测值与实际值相差很大。L2通过在一定程度上降低了回归估计值的误差。它通常使用收缩参数来解决多重共线性问题。L2正则化减少了权重的固定比例,使权重平滑。


8. 总结

经过上述分析,对本文中相关正则化的知识进行总结如下:

  • L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;
  • L2正则化可以防止模型过拟合,在一定程度上,L1也可以防止过拟合,提升模型的泛化能力;
  • L1(拉格朗日)正则假设参数的先验分布是Laplace分布,可以保证模型的稀疏性,也就是某些参数等于0;
  • L2(岭回归)正则假设参数的先验分布是Gaussian分布,可以保证模型的稳定性,也就是参数的值不会太大或太小。

在实际使用中,如果特征是高维稀疏的,则使用L1正则;如果特征是低维稠密的,则使用L2正则。

标签:机器,方差,模型,拟合,学习,正则,L2,L1
From: https://blog.51cto.com/u_15506603/8182876

相关文章

  • STM32 PWM控制LED流水灯 学习记录随笔
    代码部分#include"stm32f10x.h"                 //Deviceheader#include"Delay.h"intmain(void){   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//启用系统寄存器时钟,使能GPIOC组,并启动   GPIO_InitTypeDefGPIO_InitStructure;  ......
  • 20211105李宜时信息安全系统设计与基础学习笔记八
    Ubuntu中的定时器及时钟服务学习笔记基础概念在Ubuntu系统中,定时器和时钟服务是操作系统时间管理的基础。定时器用于在特定时间点或经过特定时间间隔后触发事件。时钟服务则提供当前时间和日期信息。硬件定时器硬件定时器是由计算机硬件提供的计时设备,它可以在不同时间间隔发......
  • React学习笔记18-非受控组件
    1.非受控组件的定义非受控组件即状态不是完全由React的state来控制的组件React要编写一个非受控组件,可以使用ref来从DOM节点中获取表单数据,就是非受控组件。importReact,{Component}from'react'exportdefaultclassAppextendsComponent{myusername=R......
  • React学习笔记19-受控组件
    1.受控组件的定义React组件的数据渲染是否被调用者传递的props完全控制,完全控制则为受控组件,否则非受控组件。即React的state成为组件的唯一数据源。 下面用一个小案例来演示,案例中todolist组件的唯一数据源就是State,todolist组件就是一个受控组件importReact,{Com......
  • vue学习十一
    <divid="app11"><h3>哞哞俩数计算器</h3><inputtype="number"v-model="num1"><selectv-model="chart"><optionvalue="+">+</option>......
  • vue学习十二
    <divid="app12"><tablestyle="width:300px;height:160px;background-color:aquamarine;"cellspacing=0><tbody><trclass="biaotou"><td>编号......
  • 学习笔记8
    教材知识点总结硬件定时器:硬件定时器是计算机系统中的一个设备,用于产生定时中断信号。硬件定时器的计时精度和功能取决于具体的硬件实现。硬件定时器通常由系统时钟芯片实现,可以提供系统时间、实时时钟、定时器等功能。个人计算机定时器:个人计算机定时器是在个人计算机系......
  • 前端学习笔记202310学习笔记第一百零玖天-vue3-链式调用&对象属性与遍历&this指向&cal
    ......
  • 前端学习笔记202310学习笔记第一百零玖天-vue3-链式调用&对象属性与遍历&this指向&cal
    functiontest1(){console.log(arguments.callee)functiontest2(){console.log(arguments.callee)}test2()}test1()functionsum(n){if(n<=1){return1}returnn+sum(n-1)}varres=sum(10)console.log(res)运......
  • 前端学习笔记202310学习笔记第一百零玖天-vue3-链式调用&对象属性与遍历&this指向&cal
    functiontest(a,b,c){console.log(arguments.callee.length)console.log(test.length)console.log(arguments.length)}test(1,2)运行结果 ......