范数(L21,L2,核范数)

来源:互联网 发布:nginx location 正则 编辑:程序博客网 时间:2024/06/08 14:51

前言:因为目前所做的鲁棒凸聚类用到了L1范数,故上一篇文章Lasso重点关注了lasso及其与岭回归的比较此文将整合各种范数。


1. 范数的公式  ref[1]

范数就是关于向量或者矩阵的函数,得到的是一个数值。(大致来自知乎)
1)向量范数

1-范数:,即向量元素绝对值之和。

2-范数:,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方。

∞-范数:,即所有向量元素绝对值中的最大值。

p-范数:,即向量元素绝对值的p次方和的1/p次幂。

2)矩阵范数

1-范数:, 列和范数,即所有矩阵列向量绝对值之和的最大值。

2-范数:,谱范数,即A'A矩阵的最大特征值的开平方。

∞-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值。

F-范数:=( tr( A^T A ) )^(1/2),Frobenius范数,即矩阵元素绝对值的平方和再开平方。


2. L2,1范数  ref[2]

1)求解过程:L2,1范数先求各行的L2范数 -> 得到一个n行1列的向量 -> 求这个向量的1范数。即:矩阵X 每一行的L2范数 之和。

2)作用:  在最小化问题中,L2,1范数小 -> 每一行的L2范数都小 ->  行内尽可能多的元素为0 -> 行稀疏

                  总结,L1范数只要求列稀疏,L2,1范数还要求行稀疏(实现了行列都稀疏)!


3. L2范数  ref[3]

1)别称:

“岭回归”(Ridge Regression),“权值衰减weight decay”。

2)作用:

L2范数不但可以防止过拟合,还可以让优化求解变得稳定和快速。

(1)学习理论的角度:

       L2范数可以防止过拟合,提升模型的泛化能力。

具体:让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0。

而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。

为什么越小的参数说明模型越简单?是不是因为L1范数实现了稀疏,使得元素变为0,但L2范数只是让参数都很小?不懂

(2)优化计算的角度:  (详见ref3)

       从优化或者数值计算的角度来说,L2范数有助于处理 condition number不好的情况下矩阵求逆很困难的问题。

(2-1)ill-condition的含义

假设我们有个方程组AX=b,我们需要求解X。如果A或者b稍微的改变,会使得X的解发生很大的改变,那么这个方程组系统就是ill-condition的,反之就是well-condition的。训练数据一般也带有噪声,ill/well-condition衡量了系统的稳定性。

(2-2)condition number

condition number用于衡量系统对微小变化的敏感度的指标。L2项的引入能够改善condition number。


4. 核范数  

1)定义:核范数||W||*是指矩阵奇异值的和,Nuclear Norm。

2)作用:约束低秩

rank(W)是非凸的,rank(w)的凸近似就是核范数||W||*。

3)为什么核范数能凸近似rank? 为什么核范数是凸的? 知乎ref[5]

4)应用:详见ref3

矩阵填充 - 如推荐系统的用户喜好;

鲁棒PCA - 核范数+1范数;

背景建模 - 视频图像的前后景分离;

变换不变低秩纹理(TILT) - 把旋转的图片转正


ref:

[1] http://blog.csdn.net/left_la/article/details/9159949  csdn博客-常见范数及其matlab指令

[2] http://blog.csdn.net/jzwong/article/details/50700361  csdn博客-有关L2,1范数的理解

[3] http://blog.csdn.net/lj695242104/article/details/38801025 csdn博客-机器学习中的范数规则化 (L0、L1、L2和核范数)

[4] convex optimization (S.Boyd)

[5] https://www.zhihu.com/question/26471536  知乎 

阅读全文
0 0
原创粉丝点击