【应用】【正则化】L1、L2正则化
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正则化相关推荐
- 手推公式带你轻松理解L1/L2正则化
文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...
- L1,L2正则化分析
1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...
- 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 ...
- L1正则化和L2正则化(从解空间角度)
文章目录 一.什么是过拟合? 二.为什么模型会过拟合? 三.如何防止模型过拟合? 四.L1正则和L2正则 4.1 L1.L2的区别 4.2 为什么正则化能够防止过拟合? 4.3 为什么L1正则具有稀疏 ...
- L1正则化与L2正则化
1.1-范数,2-范数 1-范数: 2-范数:2-范数就是通常意义下的距离 2.L1和L2正则化 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度 ...
- L1正则化和L2正则化的直观解释
正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm,中文称作L1正则化和L2正则化,或者L1范数和L2 ...
- 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化
损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...
- keras添加L1正则化,L2正则化和Dropout正则化及其原理
一.什么是正则化,用来干嘛的? 正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题.大条件数 ...
- 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景
先对"L1正则化和L2正则化的区别.应用场景"给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算 ...
- 机器学习—正则化方法—L1正则化、L2正则化
1.L1正则化(稀疏矩阵) 权值向量w中各个元素的绝对值之和: 2.L2正则化(权重衰减) 权值向量w中各个元素的平方和: 3.L1正则化 VS L2正则化 L1正则化可以产生稀疏权值矩阵,即产生一个 ...
最新文章
- 【Android 异步操作】线程池 ( Worker 简介 | 线程池中的工作流程 runWorker | 从线程池任务队列中获取任务 getTask )
- 权限系统设计模型分析(DAC,MAC,RBAC,ABAC)
- 经典C语言程序100例之五八
- SVN 集中式版本管理工具
- linux无法访问443端口,linux – 为什么我无法在Ubuntu上ping端口443?
- VMware Tools显示灰色的办法
- MyMathLib系列(行列式计算2)
- 计算机二级access通过技巧,计算机二级Access考试技巧:筛选记录
- Linux:shell变量功能和Bash shell的操作环境
- 黑色沙漠单机一键端服务器维护,《黑色沙漠》网游单机版一键服务端
- FasterRCNN之整体框架详解
- php里style标签,style标签怎么用?
- Windows Server 2012 R2 IE浏览器安(qi)装(yong)Adobe Flash Player
- 网络编程:网络协议简介
- BZOJ 4031 HEOI2015 小Z的房间 Matrix-Tree定理
- jquery去掉onclick事件
- 计算机配置高低怎么看,怎么看电脑配置高低
- 关于软删除的一点小建议
- 三元损失“In Defense of the Triplet Loss for Person Re-Identification”
- 【51单片机】室友用一把王者时间,学会了去使用数码管。
热门文章
- java计算机毕业设计HTML5互动游戏新闻网站设计与实现源码+mysql数据库+系统+lw文档+部署
- png图片的结构和crc校验
- DoDataExchange(CDataExchange *pDX);
- 关于 batis.binding.BindingException: Invalid bound statement (not found) 解决方案
- 敏捷转型行动笔记:看板搭建
- OPPO获得“智能寻车方法”相关专利授权,要开始造车了?
- 智能手机将替代PC成大众最常用终端 智能手机前景无限
- 米粉节来袭,小米电视音响竟然卖这个价
- Netty编解码及protostuff
- 总合(。。。。。。)