L1正则化的作用:特征选择从可用的特征子集中选择有意义的特征,化简机器学习问题。著名的LASSO(Least Absolute Shrinkage and Selection Operator)模型将L1惩罚项和线性模型结合,使用最小二乘代价函数。L1正则化导致模型参数的稀疏性,被广泛地用于特征选择(feature selection)机制。

L2正则化的作用:PRML书中描述“focus on quadratic both for its practical importance and analytical tractbility”,即L2正则化具有实际应用的重要性和分析的易处理性。

接下来的博文,以L1、L2及Lp范数为开篇,介绍多种范数的数学表达式和几何轮廓。其次,描述线性回归的代价函数中正则化的作用;最后以几何图形的方式,描述L1和L2正则化对模型稀疏性的影响。

目录

一、范数及几何轮廓

二、正则化最小二乘估计

三、L1、L2正则化直观理解


一、范数及几何轮廓

L1正则化和L2正则化(L1,L2 Regularization)使用的正则化项是L1范数和L2范数[3]。换个角度来看,L1和L2范数是Lp范数的特殊形式。

Lp范数:

L2范数:

L1范数:

当我们的目标是二维优化时,L0.5、L1、L2、L3、L4的几何轮廓如下图所示。由图可知,p的值越小,几何轮廓越贴近坐标轴;p的值越大,几何轮廓越远离坐标轴。

绘制上图采用的半径为1,代码如下:

import numpy as np
import matplotlib.pyplot as plt
import mathnorm_list = [0.5, 1, 2, 3, 4]
plt.figure(figsize=(5 * len(norm_list), 4 * 1))for index, value in enumerate(norm_list):y = 1.0w1 = [i for i in np.arange(-1.0, 1.0, 0.0001)]# 当w2 >= 0时:w2_positive = [math.pow(y - abs(j) ** value, 1 / value) for j in w1]# 当w2 < 0时:w2_negative = [-1 * math.pow(y - abs(j) ** value, 1 / value) for j in w1]# 所有点集w1_all = w1 + w1w2_all = w2_positive + w2_negativeplt.subplot(1, len(norm_list), index+1)plt.plot(w1_all, w2_all, '.', alpha=0.5)plt.title(f"L{value}-norm")plt.xlabel("w1")plt.ylabel("w2")plt.subplots_adjust(wspace=0.5, hspace=0)
plt.show()

二、正则化最小二乘估计

为了防止过拟合,我们通常会在目标函数中加上正则化项:

式中:

是与数据和参数相关的损失函数;

是与参数相关的正则化项。

如果我们对损失函数添加二范数的正则化项,得到:

使用最小二乘估计法,让 cost function 对W求偏导,可求得W*:

上式中每个符号代表的含义请查阅文献[1],这里不作过多的阐述。

三、L1、L2正则化直观理解

L1范数的正则化又称为lasso,它有个特性是:当足够大时,部分系数会趋近于0,从而导致模型出现稀疏性。L2范数的正则化又称为ridge,但稀疏性特点在L2范数下的正则化时会得到改善。

深入的来看,当我们想最小化cost function时,假定的最大值为,即:

那么,cost function的最小化问题等价于在约束  下最小化非正则化项 

lasso和ridge稀疏性的变化可通过二维平面来直观理解:

阴影区域是惩罚项L2和L1的参数空间;蓝色线条是的等值线。当w1和w2在参数空间内寻找最优解时,蓝色区域会不断扩大,当与阴影区域第一次相切时为最优解 W*。但是,不同点在于L2的最优解W*不是在拐点处取得,而L1的最优解会在拐角处(0,w2)取得。那么在高维空间内,除了拐点以外,还有很多边的轮廓取得最优解,这又会产生更多的稀疏性。所以,L1正则化多用于特征选择,L2正则化多用于抑制过拟合。

参考文献:

[1] Christopher M, Bishop F.R.Eng. Pattern Recognition and Machine Learning[M]. Springer, 2006.

[2] Ian Godfellow, Yosua Bengio, Aaron Courville. Deep Learning[M]. MIT Press, 2017.

[3] 天池平台. 阿里云天池大赛赛题解析[M]. 电子工业出版社, 2020.

【应用】【正则化】L1、L2正则化相关推荐

  1. 手推公式带你轻松理解L1/L2正则化

    文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...

  2. L1,L2正则化分析

    1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...

  3. L1正则化、L2正则化的多角度分析和概率角度的解释

    L1正则化.L2正则化的公式如下 min ⁡ w L 1 ( w ) = min ⁡ w f ( w ) + λ n ∑ i = 1 n ∣ w i ∣ min ⁡ w L 2 ( w ) = min ...

  4. L1正则化和L2正则化(从解空间角度)

    文章目录 一.什么是过拟合? 二.为什么模型会过拟合? 三.如何防止模型过拟合? 四.L1正则和L2正则 4.1 L1.L2的区别 4.2 为什么正则化能够防止过拟合? 4.3 为什么L1正则具有稀疏 ...

  5. L1正则化与L2正则化

    1.1-范数,2-范数 1-范数: 2-范数:2-范数就是通常意义下的距离 2.L1和L2正则化 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度 ...

  6. L1正则化和L2正则化的直观解释

    正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm,中文称作L1正则化和L2正则化,或者L1范数和L2 ...

  7. 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

    损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...

  8. keras添加L1正则化,L2正则化和Dropout正则化及其原理

    一.什么是正则化,用来干嘛的? 正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题.大条件数 ...

  9. 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景

    先对"L1正则化和L2正则化的区别.应用场景"给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算 ...

  10. 机器学习—正则化方法—L1正则化、L2正则化

    1.L1正则化(稀疏矩阵) 权值向量w中各个元素的绝对值之和: 2.L2正则化(权重衰减) 权值向量w中各个元素的平方和: 3.L1正则化 VS L2正则化 L1正则化可以产生稀疏权值矩阵,即产生一个 ...

最新文章

  1. 【Android 异步操作】线程池 ( Worker 简介 | 线程池中的工作流程 runWorker | 从线程池任务队列中获取任务 getTask )
  2. 权限系统设计模型分析(DAC,MAC,RBAC,ABAC)
  3. 经典C语言程序100例之五八
  4. SVN 集中式版本管理工具
  5. linux无法访问443端口,linux – 为什么我无法在Ubuntu上ping端口443?
  6. VMware Tools显示灰色的办法
  7. MyMathLib系列(行列式计算2)
  8. 计算机二级access通过技巧,计算机二级Access考试技巧:筛选记录
  9. Linux:shell变量功能和Bash shell的操作环境
  10. 黑色沙漠单机一键端服务器维护,《黑色沙漠》网游单机版一键服务端
  11. FasterRCNN之整体框架详解
  12. php里style标签,style标签怎么用?
  13. Windows Server 2012 R2 IE浏览器安(qi)装(yong)Adobe Flash Player
  14. 网络编程:网络协议简介
  15. BZOJ 4031 HEOI2015 小Z的房间 Matrix-Tree定理
  16. jquery去掉onclick事件
  17. 计算机配置高低怎么看,怎么看电脑配置高低
  18. 关于软删除的一点小建议
  19. 三元损失“In Defense of the Triplet Loss for Person Re-Identification”
  20. 【51单片机】室友用一把王者时间,学会了去使用数码管。

热门文章

  1. java计算机毕业设计HTML5互动游戏新闻网站设计与实现源码+mysql数据库+系统+lw文档+部署
  2. png图片的结构和crc校验
  3. DoDataExchange(CDataExchange *pDX);
  4. 关于 batis.binding.BindingException: Invalid bound statement (not found) 解决方案
  5. 敏捷转型行动笔记:看板搭建
  6. OPPO获得“智能寻车方法”相关专利授权,要开始造车了?
  7. 智能手机将替代PC成大众最常用终端 智能手机前景无限
  8. 米粉节来袭,小米电视音响竟然卖这个价
  9. Netty编解码及protostuff
  10. 总合(。。。。。。)