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


    1. 引言

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

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

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

    2. 偏差和方差

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

    二者的定义如下:

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

    在这里插入图片描述

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

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

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

    3. 欠拟合

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

    4. 过拟合

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

    5. 正则化概念

    术语“正则化”描述了校准机器学习模型的方法,以减少调整后的损失函数并避免过拟合或欠拟合。
    在这里插入图片描述
    我们可以使用正则化将机器学习模型正确地拟合到特定的测试集上,从而降低测试集中的错误。

    6. L1正则化

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

    7. L2正则化

    L2正则化也是通过在损失函数中增加一项惩罚项来实现,惩罚项等于所有系数的平方和。
    如下所示:在这里插入图片描述一般而言,当数据表现出多重共线性(自变量高度相关)时,它被认为是一种采用的方法。尽管多重共线性中的最小二乘估计值 (OLS) 是无偏的,但它们的巨大方差会导致观测值与实际值相差很大。L2通过在一定程度上降低了回归估计值的误差。它通常使用收缩参数来解决多重共线性问题。L2正则化减少了权重的固定比例,使权重平滑。

    8. 总结

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

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

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

  • 相关阅读:
    编译原理—词法分析、构建DFA、上下文无关文法、LL(1)分析、提取正规式
    计算机毕业设计Javaweb唐院寻人表白系统(源码+系统+mysql数据库+lw文档)
    爬虫 day 02 bs4的作用
    CSS - 浮动布局(float)
    【Linux】进程状态
    Python中的并发编程是什么,如何使用Python进行并发编程?
    拓展(华为优秀网站)
    实现卡片在鼠标经过有旋转和放大效果(1+X Web前端开发初级 例题)
    一周入门Python之day04
    ARM发布Cortex-X3和Cortex-A715
  • 原文地址:https://blog.csdn.net/sgzqc/article/details/134217148