向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)
发布日期:2021-06-29 11:41:57 浏览次数:3 分类:技术文章

本文共 3425 字,大约阅读时间需要 11 分钟。

   阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,例如: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的特征值;矩阵的最大特征值开平方根。

          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范数等解释见博客:

 

(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]

[2]

[3]

[4]

[5]

转载地址:https://blog.csdn.net/zz2230633069/article/details/102470078 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:对偶问题和原问题的关系
下一篇:转载CSDN博客步骤

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月23日 07时07分08秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章