机器学习——正则化

正则化(Regularization)简介

在机器学习中,正则化是用来防止模型过拟合的一种方法。通过向模型的损失函数中加入一个正则项(也叫惩罚项),约束模型的复杂度,使其更具泛化能力。

为什么需要正则化?

  • 过拟合(Overfitting)
    • 训练集的误差很小,但在测试集上的表现较差。
    • 通常是因为模型过于复杂,过度拟合训练数据的噪声或细节。
  • 正则化的作用
    • 限制模型的自由度(降低复杂度)。
    • 让模型更加平滑,从而提升对未见数据的泛化能力。

样例

下面是加入正则项的损失函数

要是的损失函数最小,就需要使 w1,w2 变得无穷小,以满足 最小

最后使得模型等同于上图第一个模型

常见的正则化方法

1. L1 正则化(Lasso Regularization)
  • 定义 : 在损失函数中加入参数绝对值的和作为正则项:
  • 特点
    • 能将某些特征的权重缩小到 0,从而实现特征选择。
    • 更适合用于稀疏数据或希望简化模型的场景。

2. L2 正则化(Ridge Regularization)
  • 定义: 在损失函数中加入参数平方和作为正则项:

  • 特点

    • 不会强制权重为零,而是让权重更趋向于较小值。
    • 常用于回归模型(如 Ridge Regression)中。
3. Elastic Net 正则化
  • 定义 : 同时结合 L1 和 L2 的正则化形式:
  • 特点
    • 结合了 L1 和 L2 的优点。
    • 在稀疏数据和多重共线性场景下效果更好。
4. Dropout(丢弃法)
  • 原理: 在训练时,随机丢弃神经网络中的一部分神经元(即将部分输出设为 0)。
  • 特点
    • 防止深度神经网络过拟合。
    • 增强网络的鲁棒性,相当于对多个子模型进行集成。

正则化中的关键参数

  • 正则化强度 (λ\lambdaλ)

    • 控制正则化项的影响力。
    • λ\lambdaλ 太大:模型可能欠拟合。
    • λ\lambdaλ 太小:正则化效果不足,可能过拟合。
    • 通常通过交叉验证选择最优 λ\lambdaλ。
  • 选择正则化方法

    • 数据稀疏:优先选择 L1 或 Elastic Net。
    • 数据规模大,特征较多:优先选择 L2。

总结

正则化是控制模型复杂度、防止过拟合的核心技术。根据具体任务需求,可以选择 L1、L2、Elastic Net、Dropout 或其他正则化方法来提升模型的泛化能力。

相关推荐
SEO_juper1 小时前
大型语言模型SEO(LLM SEO)完全手册:驾驭搜索新范式
人工智能·语言模型·自然语言处理·chatgpt·llm·seo·数字营销
攻城狮7号2 小时前
腾讯混元翻译模型Hunyuan-MT-7B开源,先前拿了30个冠军
人工智能·hunyuan-mt-7b·腾讯混元翻译模型·30个冠军
superlls2 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
zezexihaha2 小时前
从“帮写文案”到“管生活”:个人AI工具的边界在哪?
人工智能
算家云2 小时前
nano banana官方最强Prompt模板来了!六大场景模板详解
人工智能·谷歌·ai大模型·算家云·ai生图·租算力,到算家云·nano banana 提示词
暴躁的大熊2 小时前
AI助力决策:告别生活与工作中的纠结,明析抉择引领明智选择
人工智能
Gyoku Mint2 小时前
提示词工程(Prompt Engineering)的崛起——为什么“会写Prompt”成了新技能?
人工智能·pytorch·深度学习·神经网络·语言模型·自然语言处理·nlp
梁小憨憨2 小时前
zotero扩容
人工智能·笔记
大数据张老师2 小时前
AI架构师的思维方式与架构设计原则
人工智能·架构师·ai架构·后端架构
田里的水稻2 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法