向量与矩阵的范数(比较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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大型网站的核心架构要素

    大型网站的核心架构要素

    2021年9月16日
    54
  • Q学习(Q-learning)入门小例子及python实现

    Q学习(Q-learning)入门小例子及python实现一、从马尔科夫过程到Q学习#有一定基础的读者可以直接看第二部分Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(MarkovDecisionProcesses,MDPs)为理论基础。标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中:S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转…

    2022年10月4日
    2
  • String 字符串 转成List 集合

    String 字符串 转成List 集合第一:代码@RequestMapping(value="/addUserDoMenuPrivilege",method=RequestMethod.POST)@ResponseBodypublicStringaddUserDoMenuPrivilege(intuserID,StringuserCode,Stringmenu_codeList,StringpricodeLis…

    2022年5月15日
    78
  • php7.2调用curl_init()报错解决方案「建议收藏」

    php7.2调用curl_init()报错解决方案「建议收藏」使用PHP7.2运行代码的时候出现提示curl_init()调用失败:未定义的问题,即Calltoundefinedfunctioncurl_init()解决方法:1.在linux终端键入apt-cachesearchcurl|grepphpubuntu@VM-16-9-ubuntu:/etc/php/7.2/apache2$apt-cachesearc…

    2022年7月13日
    15
  • springboot的介绍_springboot web

    springboot的介绍_springboot webSpringboot入门介绍一、Spring框架概述1.1什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja…

    2022年8月20日
    6
  • 元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读

    元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读文章目录前言一、对比自监督学习与FSL1.对比学习与自监督学习2.自监督学习与FSL二、元学习与FSL1.元学习是什么2.元学习与FSL三、迁移学习与FSL1.迁移学习2.迁移学习与FSL总结前言本人的研究方向是少样本图像分类,在阅读论文时会遇到很多元学习、迁移学习这样的名词,这些词在不同的论文中关系仿佛都不一样,人们的说法也不统一。因此在此记录一下自己的逻辑,希望不再混乱了~还有对比学习和自监督学习,最近自己也在看,并且和少样本学习(FSL)相关,就一起放在这里。文章中出现的ppt截图是自己讲组

    2025年11月17日
    4

发表回复

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

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