向量和矩阵的各种范数比较(1范数、2范数、无穷范数等等

向量和矩阵的各种范数比较(1范数、2范数、无穷范数等等

范数 norm 矩阵 向量

一、向量的范数

首先定义一个向量为:a=[-5,6,8, -10]

1.1 向量的1范数

向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为:norm(a,1);

1.2 向量的2范数

向量的2范数即:向量的每个元素的平方和再开平方根,上述a的2范数结果就是:15,MATLAB代码实现为:norm(a,2);

1.3 向量的无穷范数

1.向量的负无穷范数即:向量的所有元素的绝对值中最小的:上述向量a的负无穷范数结果就是:5,MATLAB代码实现为:norm(a,-inf);

2…向量的正无穷范数即:向量的所有元素的绝对值中最大的:上述向量a的负无穷范数结果就是:10,MATLAB代码实现为:norm(a,inf);

二、矩阵的范数

首先我们将介绍数学中矩阵的范数的情况,也就是无论哪个学科都统一的一种规定。。。

例如矩阵A = [ -1 2 -3;

4 -6 6]

2.1 矩阵的1范数

矩阵的1范数即:矩阵的每一列上的元素绝对值先求和,再从中取个最大的,(列和最大),上述矩阵A的1范数先得到[5,8,9],再取最大的最终结果就是:9,MATLAB代码实现为:norm(A,1);

2.2 矩阵的2范数

矩阵的2范数即:矩阵ATAATAA^{T}A的最大特征值开平方根,上述矩阵A的2范数得到的最终结果是:10.0623,MATLAB代码实现为:norm(A,2);

2.3 矩阵的无穷范数

矩阵的1范数即:矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大),上述矩阵A的1范数先得到[6;16],再取最大的最终结果就是:16,MATLAB代码实现为:norm(A,inf);

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

2.4 矩阵的核范数

矩阵的核范数即:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩),上述矩阵A最终结果就是:10.9287, MATLAB代码实现为:sum(svd(A))

2.5 矩阵的L0范数

矩阵的L0范数即:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏,上述矩阵A最终结果就是:6

2.6 矩阵的L1范数

矩阵的L1范数即:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以表示稀疏,上述矩阵A最终结果就是:22,MATLAB代码实现为:sum(sum(abs(A)))

2.7 矩阵的F范数

矩阵的F范数即:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的有点在它是一个凸函数,可以求导求解,易于计算,上述矩阵A最终结果就是:10.0995,MATLAB代码实现为:norm(A,‘fro’)

2.8 矩阵的L21范数

矩阵的L21范数即:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数,上述矩阵A最终结果就是:17.1559,MATLAB代码实现为: norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)



本文转载自 1024Michael 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/Michael__Corleone/article/details/75213123?utm_source=copy

MARSGGBO?原创

2018-8-5


原文地址:https://www.cnblogs.com/marsggbo/p/9703446.html

时间: 2024-10-08 15:28:15

向量和矩阵的各种范数比较(1范数、2范数、无穷范数等等的相关文章

OpenGL学习脚印: 向量和矩阵要点(math-vector and matrices)

写在前面 前面几节内容环境搭建,绘制三角形,以及使用索引绘制,让我们对现代OpenGL中绘图做了简单了解.要继续后面的部分,需要熟悉OpenGL中涉及的数学知识.因此本节开始介绍OpenGL中的基本数学. 介绍这部分内容的主旨在于对OpenGL涉及的数学有个整体把握,重点把握一些概念在OpenGL中的应用.内容尽量以例子形式说明,仅在必要时会给出数学证明.一个主题往往涉及过多内容,对于文中省略的部分,请参考相应的教材. 通过本节可以了解到 向量基本概念和操作 矩阵的基本概念和操作 GLM数学库

MATLAB向量和矩阵的基本操作

矩阵的创建(1) rand(m,n)创建m行n列的随机矩阵(每个元素的值在0到1之间).(2) zeros(m,n)创建m行n列的0矩阵.(3) ones(m,n)创建m行n列的1矩阵(4) eye(m)创建m行m列的对角元素是1,其余元素是0的对角矩阵.(5) randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法: Y = randn(n):返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信

spark 创建稀疏向量和矩阵

http://blog.csdn.net/canglingye/article/details/41316193 [相互转换]:http://stackoverflow.com/questions/32456808/sparsevector-to-densevector-conversion-in-pyspark 1.稀疏矩阵和稠密矩阵可以转换成数组 2.数组可以转换成稠密矩阵 3.稀疏矩阵不能直接转换为稠密矩阵,需要先转换为数组:但是,数组和稠密矩阵都不能直接转换为稀疏矩阵 from pysp

MATLAB的变量、向量和矩阵的定义与赋值

变量名以字母开头,后接字母.数字或下划线,最多63个字符:区分大小写:关键字和函数名不能作为变量名. MATLAB变量只有一种数据格式,是双精度(64位)型:但输出显示时可以设置多种显示格式   矩阵:由m×n个数组成的排成m行n列的一个矩形的数表,其中0×0矩阵为空矩阵([ ]).数表中第i(1≤i≤m)行第j(1≤j≤n)列的数据称为矩阵元素: 标量:1×1的矩阵,即为只含一个数的矩阵: 向量:1×n或n×1的矩阵,只有一行的矩阵称为行向量,只有一列的矩阵称为列向量.数表中第i(1≤i≤n)

python之scipy模块

一  简单介绍 SciPy是基于NumPy开发的高级模块,它提供了许多数学算法和函数的实现,用于解决科学计算中的一些标准问题.例如数值积分和微分方程求解,扩展的矩阵计算,最优化,概率分布和统计函数,甚至包括信号处理等. 作为标准科学计算程序库,SciPy类似于Matlab的工具箱,它是Python科学计算程序的核心包,它用于有效地计算NumPy矩阵,与NumPy矩阵协同工作. SciPy库由一些特定功能的子模块构成,如下表所示: 模块 功能 cluster 矢量量化 / K-均值 constan

tensorflow数据统计

本篇内容包括,tf.norm(张量的范数).tf.reduce_min/max(最大最小值).tf.argmax/argmin(最大最小值的位置).tf.equal(张量的比较).tf.unique(张量的独特值) 1.tf.norm · 二范数 ||x||2 = (Σxk2)1/2 · 一范数 ||x||1 = Σ|xk| · 无穷范数 ||x||∞ = max|xk| # 二范数 a = tf.ones([2,2]) print(tf.norm(a)) print(tf.norm(a,ord

矩阵2范数与向量2范数的关系

向量2范数是对应元素平方和: 矩阵2范数是:其中是矩阵的最大特征值. 除此之外,矩阵有一个F范数(Frobenius范数)倒是跟向量的2范数比较相似,是矩阵内所有元素平方和: 矩阵的2范数是向量二范数对应的诱导范数.给定某一种向量范数 ,它所对应的矩阵范数定义为: 左边的范数是矩阵范数,而右边分子分母都是向量范数,因为也是一个向量,通过这种方式定义出来的矩阵范数称为矩阵的诱导范数.可以证明,矩阵的2范数是由向量2范数诱导定义的. 更多的诱导范数的例子可以参照维基百科:Matrix norm -

机器学习中的范数规则化之(一)L0、L1与L2范数

机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 转自:http://blog.csdn.net/zouxy09/article/details/24971995 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一

机器学习中的范数规则化

机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 监督机器学习问题无非就是"minimizeyour er