前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >矩阵范数小结_f范数

矩阵范数小结_f范数

作者头像
全栈程序员站长
发布2022-09-29 11:48:12
1.1K0
发布2022-09-29 11:48:12
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

今天看了半天强化学习,看得很不开心。。。因为一直处于懵圈状态。。。 于是乎不想看了,稍微总结一下矩阵范数的求解来放松一下身心吧~

这里总结的矩阵范数主要是F范数、1范数、2范数、核范数以及全变分TV范数与1、2的搭配

1、F范数

概念:

∥X∥F=∑i=1m∑j=1nx2ij−−−−−−−−⎷

\|X\|_F=\sqrt{\sum\limits_{i=1}^m\sum\limits_{j=1}^n{x_{ij}^2}} 矩阵各个元素平方和开根,概念上非常像向量的L2范数 导数:求导的方法则是将其展开来,一般情况下我们不会直接求原始的范数||A||F,因为很麻烦,即使是在损失函数中也是用F范数的平方项来简化运算,而常见的损失函数一般是

12||Y−X||2F

\frac{1}{2}||Y-X||_F^2,此时对X求导,则需要将内部的Y-X展开来 (Y−X)T∗(Y−X)=YTY+2∗XTY+XTX (Y-X)^{T}*(Y-X)=Y^{T}Y+2*X^{T}Y+X^{T}X,所以对 12||Y−X||2F \frac{1}{2}||Y-X||_F^2中X求导即为 X−Y X-Y

2、1范数

概念:║A║1 = max{ ∑|ai1|, ∑|ai2| ,…… ,∑|ain| } (列和范数,A每一列元素绝对值之和的最大值) (其中∑|ai1|第一列元素绝对值的和∑|ai1|=|a11|+|a21|+…+|an1|,其余类似); 矩阵的1范数和向量的1范数雷同,不能直接求解,只能分情况讨论 求导:常规的L1范数的求导是在损失函数中作为正则项出现,即 12||Y−X||2F+λ1||X||1 \frac{1}{2}||Y-X||_F^2+\lambda_1||X||_{1},这里前半部分求导是 X−Y X-Y,后半部分则需要分情况讨论,最终结果为为

[Sλ(Y)]i=⎧⎩⎨⎪⎪yi−λ0yi+λifyi>λif−λ≤yi≤λifyi<−λ

[\mathcal{S}_{\lambda}(Y)]_i=\left\{\begin{aligned}y_i-\lambda \quad &\text{if} \quad y_i>\lambda\\0 \quad &\text{if} \quad -\lambda \leq y_i \leq \lambda \\y_i+\lambda \quad &\text{if} \quad y_i < -\lambda\end{aligned}\right.

3、2范数

概念: ||A||2 ||A||_2指的是A最大的奇异值或者半正定矩阵A*A最大特征值开根 求导:对于问题 argminX12∥X−V∥2F+λ∥X∥2 \begin{equation} \arg\min\limits_{X} \frac{1}{2} \|X-V\|_F^2+\lambda\|X\|_2\end{equation}存在近似解 |V|2−λ|V|2V \frac{|V|_2-\lambda}{|V|_2}V

4、TV范数

概念:全变分范数,其实就是对矩阵乘上一个一阶的差分矩阵,乘完还是个矩阵,所以要一般要结合前边的1范数或者2范数再对其进行约束求解

5、核范数

概念:即矩阵奇异值的和 求解:对于 minX112∥Y−X1∥2F+λ1∥X1∥⋆ \begin{equation}\min_{X_1} \frac{1}{2}\|Y-X_1\|_F^2+ \lambda_1\|X_1\|_{\star}\end{equation} 存在近似解 X1^=Dλ1(Y) \begin{equation}\hat{X_1}=\mathcal{D}_{\lambda_1}(Y)\end{equation} Dλ \mathcal{D}_\lambda 表示 ∑i=1r(σi−λ)+uivTi \sum\limits_{i=1}^{r}(\sigma_i-\lambda)_+u_iv_i^T

这里, (x)+=max(0,x) (x)_+=\max(0,x). ui u_i, vi v_i 和 σi \sigma_i 分别是 M <script type="math/tex" id="MathJax-Element-1851">M</script>的左奇异向量、右奇异向量和奇异值

(markdown模式下可以用latex写东西真的太方便了= =

至于各个范数的效果,实质上1范数和2范数在矩阵分解上效果差得不多,基本上2范数能分离出的高频成分1范数能更快的分离出来,在一维层面上也容易想想,1范数相比2范数能够更快的收敛(直指坐标中心),核范数效果对低频成分的提取也比TV_1/TV_2范数的效果要好很多。

具体的实现可以关注一下我师弟在这个月投在BIBM上一个关于矩阵范数的toolbox论文。应该很快就可以出结果了。o( ̄▽ ̄)ブ

参考文献 Cai J F, Candès E J, Shen Z. A Singular Value Thresholding Algorithm for Matrix Completion[J]. Siam Journal on Optimization, 2010, 20(4):1956-1982. 矩阵的 Frobenius 范数及其求偏导法则 http://blog.csdn.net/txwh0820/article/details/46392293

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193431.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月15日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、F范数
  • 2、1范数
  • 3、2范数
  • 4、TV范数
  • 5、核范数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档