矩阵L2,1范数及矩阵L2,p范数的求导
2018年03月24日 15:18:06

阅读数:446

1、向量范数

1-范数:,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。

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

∞-范数:,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。

-∞-范数:,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。

p-范数:,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。

2、矩阵范数

1-范数:, 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。

2-范数:,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。

∞-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。

F-范数:,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, ’fro‘)。

常见的矩阵范数有L1,L2,∞∞范数,F范数和引申出的L2,1范数。而在机器学习的特征选择中,利用选择矩阵的范数对选择矩阵进行约束,即是正则化技术,是一种稀疏学习。

L0L0,L1L1向量范数

  • L0L0 范数

    L0L0 范数是指向量vv中的非0的个数,是一种度量向量稀疏性的表示方法。例如:v=[0,1,1,0,0,1]v=[0,1,1,0,0,1],那么∥v∥0=3∥v∥0=3。

  • L1L1 范数 
    L1L1 范数是向量中元素的绝对值之和,即∥v∥1=∑ni=1|vi|∥v∥1=∑i=1n|vi|,也描述了向量的稀疏性。


从图中可以看出,pp的取值在[0,1)[0,1)之间时,范数不具有凸性。在实际的优化中,是无法进行优化的,因此,一般会将L0L0范数转化为L1L1范数,或者是其他可优化的范数。

矩阵的L1L1范数

为了度量稀疏矩阵的稀疏性,则定义矩阵的一种范数,为:

∥W∥1=∑i,j|Wi,j|‖W‖1=∑i,j|Wi,j|

即为矩阵所有元素的绝对值之和,能够描述接矩阵的稀疏性,但是在优化时,难度较大,是将情况向矩阵中元素尽可能是0的方向优化。

矩阵的L2,1L2,1范数

而为了进一步说明矩阵的稀疏性,来说明特征选择中矩阵L2,1L2,1范数的作用。


在特征选择中,通过稀疏化的特征选择矩阵来选取特征,即相当于是一种线性变换。


矩阵L2,1L2,1范数的求导

对于特征选择矩阵WW,每一行(即行向量)用向量的2-范数描述,即wi=∑j|Wi,j|2−−−−−−−−√wi=∑j|Wi,j|2。那么,描述化之后即为向量w=[w1,w2,⋯,wd]Tw=[w1,w2,⋯,wd]T,那么对整个选择矩阵WW还需要用范数对ww进行描述,因为损失函数中的正则项,或称为正则化的项是一个数,而不是一个向量。因此再用1-范数对ww描述,即是WW的L2,1L2,1范数。

∥W∥2,1=∥w∥1=∑i=1d∑j=1n|Wi,j|2−−−−−−−−⎷‖W‖2,1=‖w‖1=∑i=1d∑j=1n|Wi,j|2

这便是矩阵的L2,1L2,1范数的实际描述过程。矩阵的L2,1L2,1范数满足矩阵范数的自反性、非负性、对称性和三角不等式关系,是一个范数,这里不予证明。

那么,在线性学习模型,损失函数如:

minW,b∥XW+enbT−Y∥2F+λ∥W∥2,1minW,b‖XW+enbT−Y‖F2+λ‖W‖2,1

在优化中,矩阵的范数该如何求导?关于矩阵的F范数求导,可以参考矩阵的 Frobenius 范数及其求偏导法则。而矩阵L2,1L2,1范数求导如下推导: 
首先,先证明一个向量求导的问题,其中x={x1,x2,…,xn}x={x1,x2,…,xn} , 而已知求导

dxxT=x1dx1+⋯+xndxn(x21+⋯+x2n)12=xdxT(xxT)12dxxT=x1dx1+⋯+xndxn(x12+⋯+xn2)12=xdxT(xxT)12

那么,可得向量的求导为

dxxTdx=x(xxT)12=x∥x∥2dxxTdx=x(xxT)12=x∥x∥2

而对于一个矩阵W=[w1,⋯,wd]TW=[w1,⋯,wd]T , 其中wiwi 是WW 的第ii 行。由矩阵的定义有

∥W∥2,1=∥w∥1=∑i=1d∥wi∥2=∑i=1d(wiwiT)12∥W∥2,1=∥w∥1=∑i=1d∥wi∥2=∑i=1d(wiwiT)12

那么:

∂∥W∥2,1∂W=⎛⎝⎜⎜⎜⎜∂(∑i=1d∥wi∥2)∂wj⎞⎠⎟⎟⎟⎟d×1=⎛⎝⎜⎜⎜⎜∂(∑i=1d(wiwiT)12)∂wj⎞⎠⎟⎟⎟⎟d×1=(wj∥wj∥2)d×1=⎛⎝⎜⎜⎜⎜⎜⎜⎜1∥w1∥21∥w2∥2⋱1∥wd∥2⎞⎠⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜w1w2⋮wd⎞⎠⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜⎜1∥w1∥21∥w2∥2⋱1∥wd∥2⎞⎠⎟⎟⎟⎟⎟⎟⎟W=ΣW∂∥W∥2,1∂W=(∂(∑i=1d∥wi∥2)∂wj)d×1=(∂(∑i=1d(wiwiT)12)∂wj)d×1=(wj∥wj∥2)d×1=(1∥w1∥21∥w2∥2⋱1∥wd∥2)(w1w2⋮wd)=(1∥w1∥21∥w2∥2⋱1∥wd∥2)W=ΣW

这即是矩阵L2,1L2,1范数的求导结果。

矩阵一般化L2,PL2,P范数的求导

而向老师就矩阵一般化L2,PL2,P范数给出了推导,如下:





 
关于矩阵的求导,是机器学习的一个数学难点,需要好好积累数学理论知识!

矩阵L2,1范数及矩阵L2,p范数的求导相关推荐

  1. 学习笔记三:MLP基本原理、矩阵求导术推反向传播、激活函数、Xavier

    文章目录 一.BP神经网络(MLP) 1.1 感知机模型及其局限性 1.2 BP神经网络基本原理 1.3 softmax多分类.求导 1.4 二分类使用softmax还是sigmoid好? 1.5 为 ...

  2. [机器学习-数学] 矩阵求导(分母布局与分子布局),以及常用的矩阵求导公式

    一, 矩阵求导 1,矩阵求导的本质 矩阵A对矩阵B求导: 矩阵A中的每一个元素分别对矩阵B中的每个元素进行求导. A1×1A_{1\times1}A1×1​, B1×1B_{1\times1}B1×1 ...

  3. 各种矩阵(向量)求导

    一个准则:按照单变量求导来做,然后调整下维数就可以了. 比如 对矩阵的求导,结果一定是和矩阵维数一致才对 今天早上遇到@tornadomeet在deep learning高质量群里问:一个列向量对一个 ...

  4. 矩阵,向量求导-求导布局,表格查找

    文章目录 矩阵,向量求导(Matrix calculus) 0.约定 1.目标 2.完整的求导表格 完整表格 1.布局说明 分子布局(Numerator-layout) 分母布局(Denominato ...

  5. 机器学习 标量、向量、矩阵的求导 PyTorch自动求导

    1 说明 本文是学习Dive into Deep Learning中相应内容做出的总结和一些实现代码,原文链接:矩阵计算. 2 求导 学习PyTorch的自动求导之前首先需要知道求导的过程. 注意:可 ...

  6. 向量转置的怎么求导_机器学习中的向量求导和矩阵求导

    在机器学习的各种关于向量或者矩阵的求导中,经常会出现各种需要转置或者不需要转置的地方,经常会看得人晕头转向.今天我对机器学习中关于这部分的常识性处理方法进行整理并记录下来方便大家参考. 一些约定 首先 ...

  7. 有关l2,1范数作用的理解--正则化项作用,不同于l1范数(矩阵元素绝对值之和)的稀疏要求,l21范数还要求行稀疏

    今天和导师讨论问题的时候,说到了l21范数.导数希望我能解释一下,我明白它的作用可是我知道我没有向老师解释清楚,有些失落.今晚就自己总结一下吧,希望下次再有人问我这个问题的时候我能向别人解释清楚. 先 ...

  8. 机器学习中的规则化范数(L0, L1, L2, 核范数)

    今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个 ...

  9. l2范数求导_稀疏编码学习笔记(二)L2范数

    L2范数 除了L1范数,还有一种更受宠幸的规则化范数是L2范数: ||W||2.它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫"岭回归"(Ridge Regres ...

  10. 【杂文随笔1】学习笔记(含欧氏空间、范数、李群与李代数、单满双射、矩阵求导等)

    文章目录 前言 一.欧几里得空间(欧氏空间) 二.范数 1. 定义1 2. 定义2 三.李群与李代数 四.单.满.双射 五.矩阵的求导 六.齐次坐标 七.尺寸不变性.旋转不变性 八.句柄(Handle ...

最新文章

  1. 网络***技术开篇——SQL Injection
  2. 【机器学习基础】数学推导+纯Python实现机器学习算法12:贝叶斯网络
  3. 总结缓存使用过程中的几种策略以及优缺点组合分析
  4. 全球域名服务商域名增量TOP10:中国占据3个席位
  5. 史上最全的Nginx配置参数中文说明
  6. LeetCode之Reverse String
  7. php3.2.3 升级,thinkphp3.2.3 升级到3.2.4时出错问题
  8. C语言中.h文件和.c文件如何理解?看完详细解析,小白也能懂!
  9. 关于Windows azure从github上部署项目
  10. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(4) - 数据传输指令
  11. jz2440移植QT5.6【学习笔记】【原创】
  12. java技术 ppt_Java技术简介与基本宣告ppt课件.ppt
  13. 城市三字码,机场三字码(CITY / AIRPORT 3 LETTERS CODE)
  14. 【Python量化】 Scipy库求解最优资产投资组合
  15. android 360度环拍,Android 4.2系统360度全景图拍摄试玩
  16. 用html语言编写美食栏目 源码,仿美食网首页html+css 完全源码和图片
  17. 2.5寸硬盘和3.5寸硬盘的区别和适用场景
  18. 牛客wannaflay挑战赛22 签到题 计数器 Wolf and Rabbit HDU 1222
  19. 人工智能与医疗领域的融合发展
  20. 聊聊c#与Python以及IronPython

热门文章

  1. 苹果ipad服务器无响应怎么办,苹果iPad死机怎么办?几种处理iPad使用过程中死机的方法...
  2. web前端开发面试题(八)
  3. scrum敏捷开发方法论
  4. parted 对nvme盘进行分区
  5. 冒泡排序Java实现以及时间复杂度分析
  6. Windows 命令 WMIC 使用详解
  7. Mysql读写分离的原理及配置--amoeba
  8. PHP打印九九乘法表
  9. 服务器运行cad慢,cad启动很慢的三种解决方法
  10. android4.4.3版本root,碉堡了!ROOT精灵支持Nexus 5等Android4.4.3机型ROOT