向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)

阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,例如:L1范数也常称为“1-范数”,但又和真正的1-范数又有很大区别。下面将依次介绍各种范数。1、向量的范数向量的1-范数:;各个元素的绝对值之和;向量的2-范数:;每个元素的平方和再开平方根;向量的无穷范数:p-范数:,其中正整数p≥1,并且有例:…

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

向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)

   阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,例如:L1范数也常称为“1-范数”,但又和真正的1-范数又有很大区别。下面将依次介绍各种范数。

1、向量的范数

  向量的1-范数: {\left\| X \right\|_1} = \sum\limits_{i = 1}^n {\left| {​{x_i}} \right|} ; 各个元素的绝对值之和;

  向量的2-范数:{\left\| X \right\|_2} = {\left( {\sum\limits_{i = 1}^n {​{x_i}^2} } \right)^{\frac{1}{2}}} = \sqrt {\sum\limits_{i = 1}^n {​{x_i}^2} };每个元素的平方和再开平方根;

  向量的无穷范数:{\left\| X \right\|_\infty } = \mathop {\max }\limits_{1 \le i \le n} \left| {​{x_i}} \right|

  p-范数:{\left\| X \right\|_p} = {\left( {\sum\limits_{i = 1}^n {​{​{\left| {​{x_i}} \right|}^p}} } \right)^{\frac{1}{p}}},其中正整数p≥1,并且有\mathop {\lim }\limits_{p \to \infty } {\left\| X \right\|_p} = \mathop {\max }\limits_{1 \le i \le n} \left| {​{x_i}} \right|

 

例:向量X=[2, 3, -5, -7] ,求向量的1-范数,2-范数和无穷范数。

向量的1-范数:各个元素的绝对值之和;{\left\| X \right\|_1}=2+3+5+7=17;

Matlab代码:X=[2, 3, -5, -7]; XLfs1=norm(X,1);

 

向量的2-范数:每个元素的平方和再开平方根;{\left\| X \right\|_2} = {\left( {​{\rm{2}} \times {\rm{2}} + {\rm{3}} \times {\rm{3}} + {\rm{5}} \times {\rm{5}} + {\rm{7}} \times {\rm{7}}} \right)^{\frac{1}{2}}} = 9.3274

Matlab代码:X=[2, 3, -5, -7]; XLfs2=norm(X,2);

 

向量的无穷范数:

(1)正无穷范数:向量的所有元素的绝对值中最大的;即X的正无穷范数为:7;

Matlab代码:X=[2, 3, -5, -7]; XLfsz=norm(X,inf);

 

(2)负无穷范数:向量的所有元素的绝对值中最小的;即X的负无穷范数为:2;

          Matlab代码:X=[2, 3, -5, -7]; XLfsf=norm(X,-inf);

 

2、矩阵的范数

设:向量X \in {R^n},矩阵A \in {R^{n \times n}},例如矩阵A为:

A=[2, 3, -5, -7;

   4, 6,  8, -4;

   6, -11, -3, 16];

(1)矩阵的1-范数(列模):{\left\| A \right\|_1} = \mathop {\max }\limits_{X \ne 0} \frac{​{​{​{\left\| {AX} \right\|}_1}}}{​{​{​{\left\| X \right\|}_1}}} = \mathop {\max }\limits_{1 \le j \le n} \sum\limits_{i = 1}^n {\left| {​{a_{ij}}} \right|};矩阵的每一列上的元素绝对值先求和,再从中取个最大的,(列和最大);即矩阵A的1-范数为:27

          Matlab代码:fs1=norm(A,1);

 

(2)矩阵的2-范数(谱模):{\left\| A \right\|_2} = \mathop {\max }\limits_{X \ne 0} \frac{​{​{​{\left\| {AX} \right\|}_2}}}{​{​{​{\left\| X \right\|}_2}}} = \sqrt {​{\lambda _{\max }}({A^T}A)} = \sqrt {\mathop {\max }\limits_{1 \le i \le n} \left| {​{\lambda _i}} \right|},其中   {\lambda _i}{A^T}A的特征值;矩阵向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)的最大特征值开平方根。

          Matlab代码:fs2=norm(A,2);

 

(3)矩阵的无穷范数(行模):{\left\| A \right\|_\infty } = \mathop {\max }\limits_{X \ne 0} \frac{​{​{​{\left\| {AX} \right\|}_\infty }}}{​{​{​{\left\| X \right\|}_\infty }}} = \mathop {\max }\limits_{1 \le {\rm{i}} \le n} \sum\limits_{j = 1}^n {\left| {​{a_{ij}}} \right|};矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大)

         Matlab代码:fswq=norm(A,inf);

 

  下面要介绍关于机器学习中稀疏表示等一些地方用到的范数,一般有核范数,L0范数,L1范数(有时很多人也叫1范数,这就让初学者很容易混淆),L21范数(有时也叫2范数),F范数等,这些范数都是为了解决实际问题中的困难而提出的新的范数定义,不同于前面矩阵的范数。

关于核范数,L0范数,L1范数等解释见博客:

http://www.cnblogs.com/MengYan-LongYou/p/4050862.html

https://blog.csdn.net/u013066730/article/details/51145889

http://blog.sina.com.cn/s/blog_7103b28a0102w73g.html

 

(4)矩阵的核范数:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩);

         Matlab代码:JZhfs=sum(svd(A));

 

(5)矩阵的L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏。

 

(6)矩阵的L1范数:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以近似表示稀疏;

         Matlab代码:JZL1fs=sum(sum(abs(A)));

 

(7)矩阵的F范数:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的有点在它是一个凸函数,可以求导求解,易于计算;

         Matlab代码:JZFfs=norm(A,’fro’);

 

(8)矩阵的L21范数:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数

          Matlab代码:JZL21fs=norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)++ norm(A(:,4),2);

 

Matlab代码

clear all;clc;

%% 求向量的范数
X=[2, 3, -5, -7];   %初始化向量X
XLfs1=norm(X,1);    %向量的1-范数
XLfs2=norm(X,2);    %向量的2-范数
XLfsz=norm(X,inf);  %向量的正无穷范数
XLfsf=norm(X,-inf); %向量的负无穷范数

%% 求矩阵的范数
A=[2, 3, -5, -7;
   4, 6,  8, -4;
   6, -11, -3, 16];     %初始化矩阵A

JZfs1=norm(A,1);        %矩阵的1-范数
JZfs2=norm(A,2);        %矩阵的2-范数
JZfswq=norm(A,inf);     %矩阵的无穷范数
JZhfs=sum(svd(A));      %矩阵的核范数
JZL1fs=sum(sum(abs(A)));% 矩阵的L1范数
JZFfs=norm(A,'fro');    %矩阵的F范数
JZL21fs=norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)++ norm(A(:,4),2);% 矩阵的L21范数

 

参考资料

[1] https://blog.csdn.net/Michael__Corleone/article/details/75213123

[2] https://wenku.baidu.com/view/dc9e6e3753d380eb6294dd88d0d233d4b04e3f48.html

[3] http://www.cnblogs.com/MengYan-LongYou/p/4050862.html

[4] https://blog.csdn.net/u013066730/article/details/51145889

[5] http://blog.sina.com.cn/s/blog_7103b28a0102w73g.html

 


如果觉得内容还不错的话,欢迎点赞、转发、收藏,还可以关注微信公众号、CSDN博客、知乎。
 

1. 微信公众号:

向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)

2. CSDN博客:https://xiongyiming.blog.csdn.net/

3. 知乎:https://www.zhihu.com/people/xiongyiming

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125367.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • densenet详解_dense参数

    densenet详解_dense参数DenseNet于论文《》中提出,是CVPR2017的oral。论文提出DenseNet并与ResNet和Inception做对较。为提升网络的效果,一般操作是增加网络的深度和宽度,但论文作者另辟蹊径,聚焦于feature的极致利用以获得更佳效果和更少参数。对于梯度消失问题,ResNet等网络使用跳层连接结构加以解决。作者延续该思路,提出DenseBlock,在保证网络层间最大程度的信息传输的同时,直接将所有层连接起来。……………………

  • 自己定义对象的监听方式

    自己定义对象的监听方式

    2021年11月16日
  • window批处理bat命令详解_cmd批处理命令

    window批处理bat命令详解_cmd批处理命令常见问题:1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat文件中输出中文乱码 解决方法在文章末尾!前言批处理文件(batchfile)包含一系列DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工…

  • 深度学习图像标注工具汇总

    深度学习图像标注工具汇总对于监督学习算法而言,数据决定了任务的上限,而算法只是在不断逼近这个上限。世界上最遥远的距离就是我们用同一个模型,但是却有不同的任务。

  • 树莓派怎么安装pycharm_树莓派卸载python2.7

    树莓派怎么安装pycharm_树莓派卸载python2.71、下载pycharm通过VNC界面下载pycharm或者在其他系统下载后推送到树莓派,下载地址pycharm_linux2、将下载的文件复制到/opt文件夹如果在树莓派中直接下载的,会在’/home/pi/下载’文件夹,将下载的文件复制到/opt文件夹sudomvpycharm-community-2020.1.1.tar.gz/opt/pycharm-community-2020.1.1…

  • 英语六级词汇表_英语六级词汇表完整版带音标

    英语六级词汇表_英语六级词汇表完整版带音标abbreviationn.缩短,缩写abidev.容忍,忍受abolishvt.废止,废除(法律、制度、习俗等)absenta.不在场的;缺乏的a.不在意的absorptionn.吸收;专注abstractvt.摘要,提炼,抽象化adj.抽象的absurdadj.荒谬的,可笑的abundancen.充裕,多量accessoryad…

发表回复

您的电子邮箱地址不会被公开。

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