矩阵范数小结_f范数

矩阵范数小结_f范数稍微总结一下矩阵范数的求解来放松一下身心吧~这里总结的矩阵范数主要是F范数、1范数、2范数、核范数以及全变分TV范数与1、2的搭配

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

1、F范数

概念:

XF=i=1mj=1nx2ij



矩阵各个元素平方和开根,概念上非常像向量的L2范数

导数:求导的方法则是将其展开来,一般情况下我们不会直接求原始的范数||A||F,因为很麻烦,即使是在损失函数中也是用F范数的平方项来简化运算,而常见的损失函数一般是

12||YX||2F

,此时对X求导,则需要将内部的Y-X展开来



YXTYX=YTY+2XTY+XTX
,所以对

12||YX||2F
中X求导即为

XY

2、1范数

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

[Sλ(Y)]i=yiλ0yi+λifyi>λifλyiλifyi<λ

3、2范数

概念: ||A||2 指的是A最大的奇异值或者半正定矩阵A*A最大特征值开根
求导:对于问题 argminX12XV2F+λX2 存在近似解 |V|2λ|V|2V

4、TV范数

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

5、核范数

概念:即矩阵奇异值的和
求解:对于 minX112YX12F+λ1X1
存在近似解 X1^=Dλ1(Y)
Dλ 表示 i=1r(σiλ)+uivTi

这里, (x)+=max(0,x) . ui , vi σ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.net/193431.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月25日 下午5:15
下一篇 2025年11月25日 下午5:43


相关推荐

  • 从浅到深,带你彻底搞懂AJAX异步请求

    从浅到深,带你彻底搞懂AJAX异步请求文章目录什么是 AJAX 实例用法 1 AJAXload 方法 2 get 方法 3 post 方法 4 ajax 方法什么是 AJAXAJAX 异步 JavaScript 和 XML AJAX 是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据交换 AJAX 可以使网页实现异步更新 这意味着可以在不重新加载整个网页的情况下 对网页的某部分进行更新 传

    2026年3月20日
    3
  • zookeeper分布式锁实现原理(分布式锁怎么实现)

       摘要:本文要使用Zookeeper来实现一个分布式锁,是一个悲观锁。  本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、锁设计  获取锁实现思路:1.首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,称为:/lock_node2.希望获得锁的客户端在锁目录下创建zno…

    2022年4月15日
    53
  • Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法Linuxcrontab 每 5 秒钟执行一次 shell 脚本的方法由于 Linux 的 crontab 的定时命令格式如下 minutehourda of monthmonth of yearday of weekcommands 意味着标椎定时任务中 最小定时周期是分钟 但是 由于实际应用中 可能需要每 5 秒就要求执行某个 shell 脚本 该如何实现呢 本文中提供如下方式 间隔调用 sh

    2026年3月26日
    1
  • 如何直观形象的理解方向导数与梯度以及它们之间的关系?

    如何直观形象的理解方向导数与梯度以及它们之间的关系?我们先来玩一个游戏 假如你在一座山上 蒙着眼睛 但是你必须到达山谷中最低点的湖泊 你该怎么办 梯度可以帮助你完成这个游戏 图片来自 Introduction alongwithvar inMachineLea 梯度和方向导数紧密相关 让我们从方向导数开始 1 方向导数顾名思义 方向导数

    2026年3月18日
    2
  • pycharm怎么设置中文版_如何把pycharm改成中文版

    pycharm怎么设置中文版_如何把pycharm改成中文版Pycharm设置中文版注意:1.只有最新版才支持。要2021.1月份后的Pytharm版本。2.要激活自己淘宝。步骤:1.打开pycharm。选择”文件-设置”.2.选择”插件“,搜索”chinese“,安装如图所示。3.安装安城后重启即可。…

    2022年8月26日
    12
  • 静态代理和动态代理的理解一样吗_动态代理原理怎么理解

    静态代理和动态代理的理解一样吗_动态代理原理怎么理解Java静态代理静态代理通常用于对原有业务逻辑的扩充。比如持有二方包的某个类,并调用了其中的某些方法。然后出于某种原因,比如记录日志、打印方法执行时间,但是又不好将这些逻辑写入二方包的方法里。所以可以创建一个代理类实现和二方方法相同的方法,通过让代理类持有真实对象,然后在原代码中调用代理类方法,来达到添加我们需要业务逻辑的目的。这其实也就是代理模式的一种实现,通过对真实对象的封装

    2022年10月16日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号