矩阵范数及其求导
在机器学习的特征选择中,利⽤选择矩阵的范数对选择矩阵进⾏约束,即是正则化技术,是⼀种稀疏学习。
矩阵的L0,L1范数
为了度量稀疏矩阵的稀疏性,则定义矩阵的⼀种范数,为:∥W∥1=∑i,j|W i,j|。即为矩阵所有元素的绝对值之和,能够描述接矩阵的稀疏性,但是在优化时,难度较⼤,是将情况向矩阵中元素尽可能是0的⽅向优化。
1)L0范数是指向量中⾮0的元素的个数。如果我们⽤L0范数来规则化⼀个参数矩阵W的话,就是希望W的⼤部分元素都是0。换句话说,让参数W是稀疏的。
2)L1范数是指向量中各个元素绝对值之和。L1范数是L0范数的最优凸近似。任何的规则化算⼦,如果他在W i=0的地⽅不可微,并且可以分解为⼀个“求和”的形式,那么这个规则化算⼦就可以实现稀疏。W的L1范数是绝对值,|w|在w=0处是不可微。
3)虽然L0可以实现稀疏,但是实际中会使⽤L1取代L0。因为L0范数很难优化求解,L1范数是L0范数的最优凸近似,它⽐L0范数要容易优化求解。
矩阵的L2范数
L2范数,⼜叫“岭回归”(Ridge Regression)、“权值衰减”(weight decay)。它的作⽤是改善过拟合。过拟合是:模型训练时候的误差很⼩,但是测试误差很⼤,也就是说模型复杂到可以拟合到所有训练数据,但在预测新的数据的时候,结果很差。
L2范数是指向量中各元素的平⽅和然后开根。我们让L2范数的规则项||W||2最⼩,可以使得W的每个元素都很⼩,都接近于0。⽽越⼩的参数说明模型越简单,越简单的模型则越不容易产⽣过拟合现象。
L1是绝对值最⼩,L2是平⽅最⼩:L1会趋向于产⽣少量的特征,⽽其他的特征都是0,⽽L2会选择更多的特征,这些特征都会接近于0。矩阵的L2,1范数
⽽为了进⼀步说明矩阵的稀疏性,来说明特征选择中矩阵L2,1范数的作⽤。
在特征选择中,通过稀疏化的特征选择矩阵来选取特征,即相当于是⼀种线性变换。
对于特征选择矩阵W,每⼀⾏(即⾏向量)⽤向量的2-范数描述,即。那么,描述化之后即为向量,那么对整个选择矩阵W还需要⽤范数对进⾏描述,因为损失函数中的正则项,或称为正则化的项是⼀个数,
⽽不是⼀个向量。因此再⽤1-范数对描述,即是W的L2,1范数。
这便是矩阵的L2,1范数的实际描述过程。矩阵的L2,1范数满⾜矩阵范数的⾃反性、⾮负性、对称性和三⾓不等式关系,是⼀个范数。
先看上⾯L21范数的定义,注意原始矩阵是d⾏n列的,根号下平⽅是对列求和,也就是说是在同⼀⾏中进⾏操作的,根号部分就相当于⼀个L2范数,由此可以看出L2,1范数实则为矩阵X每⼀⾏的L2范数之和。在矩阵稀疏表⽰模型中,把它作为正则化项有什么作⽤呢?前⾯说到它是每⼀⾏的L2范数之和,在最⼩化问题中,只有每⼀⾏的L2范数都最⼩总问题才最⼩。⽽每⼀个⾏范数取得最⼩的含义是,当⾏内尽可能多的元素为0时,约束才可能取得最⼩。⾏内出现尽可能多的0元素,尽可能稀疏,也称为⾏稀疏。综上可以这样解释,不同于L1范数(矩阵元素绝对值之和)的稀疏要求,l21范数还要求⾏稀疏!
那么,在线性学习模型,损失函数如:
在优化中,矩阵的范数该如何求导?关于矩阵的F范数求导,可以参考(blog.csdn/txwh0820/
article/details/46392293)。⽽矩
阵L2,1范数求导如下推导:正则化可以产生稀疏权值
对于⼀个矩阵W=[w1,⋯,wd]T , 其中wi 是W 的第i ⾏。由矩阵的定义有
那么,L2,1范数的求导为:
矩阵⼀般化L2,P范数的求导
就矩阵⼀般化L2,P范数给出推导:
范数Nuclear Norm
矩阵的核范数
矩阵的核
核范数||W||*是指矩阵奇异值的和,⽤于约束Low-Rank(低秩)。
从物理意义上讲,矩阵的秩度量的就是矩阵的⾏列之间的相关性。如果矩阵的各⾏或列是线性⽆关的,
矩阵就是满秩的,也就是秩等于⾏数。秩可以度量相关性,⽽矩阵的相关性实际上有带有了矩阵的结构信息。如果矩阵之间各⾏的相关性很强,那么就表⽰这个矩阵实际可以投影到更低维的线性⼦空间,也就是⽤⼏个向量就可以完全表达了,它就是低秩的。所以:如果矩阵表达的是结构性信息,例如图像、⽤户-推荐表等,那么这个矩阵各⾏之间存在这⼀定的相关性,那这个矩阵⼀般就是低秩的。低秩矩阵每⾏或每列都可以⽤其他的⾏或列线性表出,可见它包含⼤量的冗余信息。利⽤这种冗余信息,可以对缺失数据进⾏恢复,也可以对数据进⾏特征提取。rank()是⾮凸的,在优化问题⾥⾯很难求解,rank(w)的凸近似就是核范数||W||*。
1)矩阵填充(Matrix Completion):
矩阵填充即矩阵补全,是低秩矩阵重构问题,例如推荐系统。其模型表述:已知数据是⼀个给定的m*n矩阵A,如果其中⼀些元素因为某种原因丢失了,能否根据其他⾏和列的元素,将这些元素恢复?当然,如果没有其他的参考条件,想要确定这些数据很困难。但如果已知A的秩rank(A)<<m且rank(A)<<n,那么可以通过矩阵各⾏(列)之间的线性相关将丢失的元素求出。这种假定“要恢复的矩阵是低秩的”是⼗分合理
的,⽐如⼀个⽤户对某电影评分是其他⽤户对这部电影评分的线性组合。所以,通过低秩重构就可以预测⽤户对其未评价过的视频的喜好程度。从⽽对矩阵进⾏填充。
2)鲁棒主成分分析(Robust PCA):
主成分分析,可以有效的出数据中最“主要"的元素和结构,去除噪⾳和冗余,将原有的复杂数据降维,揭⽰隐藏在复杂数据背后的简单结构。最简单的主成分分析⽅法就是PCA了。从线性代数的⾓度看,PCA的⽬标就是使⽤另⼀组基去重新描述得到的数据空间。希望在这组新的基下,能尽量揭⽰原有的数据间的关系。这个维度即最重要的“主元"。PCA的⽬标就是到这样的“主元”,最⼤程度的去除冗余和噪⾳的⼲扰。
Robust PCA考虑的是这样⼀个问题:⼀般情况下数据矩阵X会包含结构信息,也包含噪声。那么可以将这个矩阵分解为两个矩阵相加,⼀个是低秩的(由于内部有⼀定的结构信息,造成各⾏或列间是线性相关的),另⼀个是稀疏的(由于含有噪声,⽽噪声是稀疏的),则Robust PCA可以写成优化问题:
与经典PCA问题⼀样,Robust  PCA本质上也是寻数据在低维空间上的最佳投影问题。对于低秩数据观测矩阵X,假如X受到随机(稀疏)噪声的影响,则X的低秩性就会破坏,使X变成满秩的。所以就需要将X分解成包含其真实结构的低秩矩阵和稀疏噪声矩阵之和。到了低秩矩阵,实际上就到了数据的本质低维空间。PCA假设数据的噪声是⾼斯的,对于⼤的噪声或者严重的离点,PCA会被它影响,导致⽆法正常⼯作。⽽Robust PCA则不存在这个假设,它只是假设噪声是稀疏的,⽽不管噪声的强弱
如何。
由于rank和L0范数在优化上存在⾮凸和⾮光滑特性,所以⼀般将它转换成求解以下⼀个松弛的凸优化问题:
具体应⽤:考虑同⼀副⼈脸的多幅图像,如果将每⼀副⼈脸图像看成是⼀个⾏向量,并将这些向量组成⼀个矩阵的话,那么可以肯定,理论上,这个矩阵应当是低秩的。但是,由于在实际操作中,每幅图像会受到⼀定程度的影响,例如遮挡,噪声,光照变化,平移等。这些⼲扰因素的作⽤可以看做是⼀个噪声矩阵的作⽤。所以可以把同⼀个⼈脸的多个不同情况下的图⽚各⾃拉长⼀列,然后摆成⼀个矩阵,对这个矩阵进⾏低秩和稀疏的分解,就可以得到⼲净的⼈脸图像(低秩矩阵)和噪声的矩阵了(稀疏矩阵),例如光照,遮挡等等。
范数Trace Norm
矩阵的迹范数
矩阵的迹
Schatten范数:
令p = 1 ,得到迹范数:
本⽂为⾃⼰学习过程中对其他资源的学习整理⽽得的学习笔记,内容源⾃:blog.csdn/lqzdreamer/article/details/79676305;blog.csdn/zchang81/article/details/70208061;blog.csdn/lj695242104/article/details/38801025

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。