Machine learning | 机器学习中的范数正则化
使用正则化有两大目标:
- 抑制过拟合;
- 将先验知识融入学习过程,比如稀疏、低秩、平滑等特性。
结合第二点以及贝叶斯估计的观点,正则化项(regularizer)就是先验概率项。
监督学习中绝大多数任务都可以概括为以下最小化目标:
\[
w^* = \arg\min_w {\sum_i {L(y_i; f(x_i;w))} + \lambda \Omega(w)}
\]
第一项损失函数我们在此不多说。如果是Square loss,那就成了最小二乘模型;如果是Hinge Loss,那就成了SVM模型;如果是exp-Loss,那就是牛逼的 Boosting;如果是log-Loss,那就是Logistic Regression。
我们重点看第二项。我们普遍用到的正则项涉及:零范数、一范数、二范数、迹范数、Frobenius范数和核范数等。那么它们各有什么作用呢?
1. \(l_0\)范数和\(l_1\)范数
首先,\(l_0\)范数是一个向量中非零元素的个数。
显然,如果我们将\(l_0\)范数用于参数矩阵的正则化,那么我们希望得到稀疏的参数矩阵。
实际上,任何规则化算子,只要在\(\mathbf{W} = 0\)处不可微,并且可以分解为一个“求和”的形式,那么该规则化算子就具有稀疏功能。
在实际应用中,我们一谈到稀疏,用的更多的是\(l_1\)范数。这其中是有原因的。
我们先来看看\(l_1\)范数。
\(l_1\)范数是一个向量中所有元素绝对值之和,又称为稀疏规则算子(Lasso regularization)。
实际上,\(l_1\)范数是\(l_0\)范数的最紧凸松弛(convex relaxation)。并且\(l_1\)范数具有更好的优化特性(\(l_0\)范数是NP难问题)。因此\(l_1\)范数应用得更广。
参考讲义,截图:
稀疏性有两大好处:
- 特征选择,避免噪声对额外特征的影响。
- 加强可解释性(interpretability)。
2. \(l_2\)范数
在回归问题中,有人又称之为岭回归(ridge regression),有人称之为权值衰减(weight decay)。其最常用目标是抑制过拟合。
百度百科对岭回归的概括非常精炼:
岭回归(ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
维基百科:
Tikhonov regularization, named for Andrey Tikhonov, is the most commonly used method of regularization of ill-posed problems. In statistics, the method is known as ridge regression, in machine learning it is known as weight decay, and with multiple independent discoveries, it is also variously known as the Tikhonov–Miller method, the Phillips–Twomey method, the constrained linear inversion method, and the method of linear regularization. It is related to the Levenberg–Marquardt algorithm for non-linear least-squares problems.
和\(l_1\)范数不同的是,\(l_2\)范数没有显式地要求元素等于0,而是要求所有元素综合较小。
关于这一点,我们还可以从数据分布上考虑,参见一篇博文。
这篇博文告诉我们,高斯分布先验对应\(l_1\)正则化,而拉普拉斯分布先验对应\(l_2\)正则化。高斯分布中小值较多,拉普拉斯分布中大值较多,因此\(l_1\)正则化的稀疏效果比\(l_2\)更强。
我们还可以举个例子:
显然,\(l_1\)正则化的最优解常常发生在坐标轴上(稀疏);而\(l_2\)正则化的最优解则很难发生在坐标轴上。
因此通过\(l_2\)正则化,我们就能得到相对简单的参数,抑制模型拟合噪点或过拟合。
此外,\(l_2\)范数有一个特别的作用:可以解决病态矩阵求逆难的问题。
例如,当我们的样本数小于参数矩阵维度时,习得模型很容易发生过拟合。对于线性模型来说,此时的参数矩阵一定是不满秩的。因此逆矩阵不存在。
但当我们加入正则化项后,我们就可以直接求逆了。
最后,\(l_2\)范数还可以稳定和加快收敛过程。
\(l_2\)范数正则项的加入,可以使目标函数具有\(\lambda\)-强凸(strongly-convex)的性质。
见下图:
图右为一般凸函数,要求每一点都处于其一阶泰勒函数的上方;而图左的\(\lambda\)-强凸更进一步,要求其每一点都存在一个非常漂亮的二次下界(quadratic lower bound)。
显然,图左在接近局部极小值点时仍然能保持较高的收敛速度。
3. 核范数(nuclear norm)
核范数是用来引导低秩(low-rank)特性的。其定义为奇异值之和。
实际上,我们的最初目标是让参数矩阵秩最小。可惜的是,rank和\(l_0\)范数一样都是非凸的。而rank函数的最佳凸估计/ 松弛就是核范数。
核范数正则化有很多妙用,无外乎都涉及到低秩特性或先验。
矩阵填充(matrix completion)
比如我们要做一个影片推荐系统。由于参数量非常大,因此总会有缺失的参数,比如某个用户并没有标出喜欢的演员、历史看过的影片,或是遇到了刚上映的影片。
这时,我们就要通过一些手段恢复这一参数矩阵,从而进行推荐。其中一个重要的限制就是低秩性,因为人和人之间总是有共性的。背景建模
假设我们要从一个固定相机拍摄的视频序列的每一帧中,分离背景和目标(前景)。
其中一个思路是:我们将每一帧的所有像素都拉成一个列向量;多帧列向量就组成了一个矩阵。
其中,由于背景是比较稳定的,因此背景矩阵的秩比较低。
此外,由于前景所占像素通常较少,因此前景矩阵具有稀疏性。
那么,总的视频矩阵就是由这两个矩阵叠加而成。如果我们想恢复背景,那么就要尝试从中重建出低秩矩阵。
健壮PCA
我们回顾一下PCA方法。PCA方法希望用一组正交基向量表示空间中的向量\(\vec{x}\),使其截断估计时均方误差最小。
以人脸图片为例。人脸图像中,噪声是稀疏的,而人脸由于具有对称性和自相似性,因此是低秩的。
因此我们的优化目标可以是:
\[
\min_{\mathbf{A},\mathbf{E}} {\Vert \mathbf{A} \Vert_* + \lambda \Vert \mathbf{E} \Vert_1}, s.t. \mathbf{X} = \mathbf{A} + \mathbf{E}
\]
原理就是上面说的,因为\(l_0\)范数和rank函数都是非凸、非光滑的,因此转为求它们的最优凸近似(松弛):\(l_1\)范数和核范数。
在实际操作中,我们可以将同一个人的多幅照片组成一个矩阵,从而解决这多幅照片中存在的遮挡、噪声、光照等问题。如图:
变换不变低秩纹理(TILT)
实际上,作为一副二维图像,其本身就存在较强的对称性和自相似性,远远不止上面方法所说的像素相似性。
假设我们定义了某种对称性,并以此考量矩阵的秩。若对称性十足,那么图像的秩就会很低(列向量相似性很高)。
但是,如果图像存在几何变形,则低秩性就会被破坏。
TILT正是从这个思路出发,完成图像的几何校正。
参考文献
Machine learning | 机器学习中的范数正则化的更多相关文章
- paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数(转)
http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 机器学习中的范数规则化-L0,L1和L2范式(转载)
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 机器学习中的范数规则化 L0、L1与L2范数 核范数与规则项参数选择
http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...
- Portal:Machine learning机器学习:门户
Machine learning Machine learning is a scientific discipline that explores the construction and stud ...
- [原创]Machine Learning/机器学习 文章合集
转载请注明出处:https://www.codelast.com/ ➤ 用人话解释机器学习中的Logistic Regression(逻辑回归) ➤ 如何防止softmax函数上溢出(overflow ...
- paper 127:机器学习中的范数规则化之(二)核范数与规则项参数选择
机器学习中的范数规则化之(二)核范数与规则项参数选择 zouxy09@qq.com http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮 ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数
L1正则会产生稀疏解,让很多无用的特征的系数变为0,只留下一些有用的特征 L2正则不让某些特征的系数变为0,即不产生稀疏解,只让他们接近于0.即L2正则倾向于让权重w变小.见第二篇的推导. 所以,样本 ...
随机推荐
- Java & C# BCD编码与十进制转换
using System;using System.Collections.Generic;using System.Text; namespace Base{ public class BCDHel ...
- vue实例
<!--需求: 背景图片,进度条,减和重置按钮 进度条填满红色,值为100%,点击减时,进度条依次减十,减到0时换一张背景图片,减按钮消失,点击重置按钮时,进度条重新填满红色-->效果图: ...
- 开源虚拟化KVM(三)管理虚拟网络
六,管理虚拟网络 [x] Linux网桥基本概念 [x] qemu-kvm支持的网络 [x] 向虚拟机添加虚拟网络连接 [x] 基于NAT的虚拟网络 [x] 基于网桥的虚拟网络 [x] 用户自定义的隔 ...
- Zabbix监控平台3.2.4(二)深入理解zabbix
一,Zabbix Web操作深入 1.1 Zabbix Web下的主机和模版以及监控项的添加方式 (1)创建一个模版 我们所有的功能几乎都是在模版中定义的 我们再点进新创建的模版查看 模版里几乎可 ...
- qsub
1.qsub.sh for i in `ls`;do if [ -d $i ];then cd $i if [ -f *.sh ];then qsub -cwd -pe smp -q asm.q,al ...
- Java简单操作dubbo(一)
dubbo-service公共Service package com.itman.service; public interface UserService { // 提供服务 使用userId查找用 ...
- dotnet不是内部或外部的命令,也不是可运行的程序或批处理文件
该问题是由于电脑环境变量配置错误所导致.最初在网上查找的方法,是在系统环境变量path中添加以下语句: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\ ...
- 字符编码:Unicode和UTF-8之间的关系
Unicode和UTF-8之间的关系 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256 ...
- Exp3 免杀原理与实践 20165110
Exp3 免杀原理与实践 20165110 一.. 实践内容 1.正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工 ...
- 理解StringBuilder
StringBuilder objects are like String objects, except that they can be modified. Internally, these o ...