用人话理解L1和L2正则化

本文深入探讨了范数的概念,它是衡量向量和矩阵大小的重要工具,源自绝对值概念的自然推广。特别地,文章详细解释了Lp范数,包括L1和L2范数,及其在数值分析中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

范数是什么

在实数域中,数的大小和两个数之间的距离是通过绝对值来度量的。在解析几何中,向量的大小和两个向量之差的大小是“长度”和“距离”的概念来度量的。为了对矩阵运算进行数值分析,我们需要对向量和矩阵的“大小”引进某种度量。即范数是具有“长度”概念的函数。范数是绝对值概念的自然推广。

Lp范数:L1范数:L2范数:

参考:

https://segmentfault.com/a/1190000019207682

https://blog.csdn.net/jinping_shi/article/details/52433975

https://cloud.tencent.com/developer/article/1433987

l1 相比于 l2 为什么容易获得稀疏解? - 王赟 Maigo的回答 - 知乎 https://www.zhihu.com/question/37096933/answer/70426653

 

### L1L2正则化的定义、作用及主要区别 #### 定义 L1正则化指的是模型参数的绝对值之,通常表示为 $\|w\|_1 = \sum_{i=1}^{n}|w_i|$[^4]。 L2正则化则是指模型参数平方的开方值,通常表示为 $\|w\|_2 = \sqrt{\sum_{i=1}^{n}w_i^2}$[^3]。 #### 作用 正则化的主要目的是防止模型过拟合,通过在损失函数中加入额外的约束项来控制模型复杂度。L1L2正则化都能有效减少模型对训练数据的过度适应,提升其泛化能力[^1]。 - **L1正则化**:倾向于使部分模型参数变为零,从而实现特征选择的效果。这是因为L1正则化会促使权重向量变得稀疏,只保留最重要的特征[^2]。 - **L2正则化**:通过对较大数值的权重施加更大的惩罚,使得所有权重趋于较小且均匀分布的状态。这种特性有助于利用更多的输入特征,而非仅仅依赖少数几个重要特征[^3]。 #### 主要区别 1. **目标函数的影响**: - L1正则化会使某些参数精确等于零,因此能够自动完成特征选择的任务[^2]。 - L2正则化会让所有的参数都变小,但不会将其缩减至零,这意味着它无法直接用于特征选择。 2. **几何解释**: - L1正则化对应的解空间是一个菱形区域,在二维情况下表现为四个尖角形状,容易导致一些维度上的权值降为零。 - L2正则化形成的解空间是圆形或球面形式,在各方向上较为平滑,不容易产生稀疏性的效果[^3]。 3. **概率视角下的联系**: - L1正则化可以视为先验分布服从拉普拉斯分布的结果。 - L2正则化相当于假设参数遵循高斯分布的情况。 综上所述,当希望获得简洁明了并具有较强解释力的模型时可以选择应用L1正则化;如果追求稳定性更好的整体表现,则推荐采用L2正则化策略。 ```python import numpy as np def l1_regularization(weights, alpha): """ 计算L1正则项 """ return alpha * np.sum(np.abs(weights)) def l2_regularization(weights, alpha): """ 计算L2正则项 """ return alpha * np.sqrt(np.sum(weights**2)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值