精华内容
下载资源
问答
  • 范数运算

    千次阅读 2020-06-13 16:02:44
    L0范数:主要被用来度量向量中非零元素的个数。 L1范数:向量x中非零元素的绝对值之和。(曼哈顿距离、最小绝对误差)使用L1范数可以度量两个向量间的差异,如绝对误差和。 L2范数:A的转置共轭矩阵与矩阵A的积的...
    L0范数:主要被用来度量向量中非零元素的个数。
    

    L1范数:向量x中非零元素的绝对值之和。(曼哈顿距离、最小绝对误差)使用L1范数可以度量两个向量间的差异,如绝对误差和。

    L2范数:A的转置共轭矩阵与矩阵A的积的最大特征根的平方根值,是指空间上两个向量矩阵的直线距离(欧几里德范数,谱范数)。

    L无穷范数:无穷范数,它主要被用来度量向量元素的最大值。

     

    转载于:https://www.cnblogs.com/lin-kid/p/11178328.html

    展开全文
  • 0 范数:当前向量中的元素之和 1 范数:对应向量元素只差的绝对值之和 2 范数: 元素的平方和再开方 p 范数: 元素的绝对值的P次方之和再开P次方 核范数:矩阵的奇异值(在参考参考别的资料) 通过dist来计算向量与...

    在这里插入图片描述

    0 范数:当前向量中的元素之和

    1 范数:对应向量元素只差的绝对值之和

    2 范数: 元素的平方和再开方

    p 范数: 元素的绝对值的P次方之和再开P次方

    核范数:矩阵的奇异值(在参考参考别的资料)

    在这里插入图片描述
    通过dist来计算向量与向量之间的距离度量
    norm 是针对一个向量或者一个矩阵去计算范数 而 dist是用来衡量两个向量或者矩阵之间的距离

    import torch
    
    a = torch.rand(2, 1)
    b = torch.rand(2, 1)
    print(a, '\n', b)
    print(torch.dist(a, b, p=1))  # 一范数
    print(torch.dist(a, b, p=2))  # 二范数
    print(torch.dist(a, b, p=3))  # 三范数
    
    # a 的二范数
    print(torch.norm(a))
    # a 的一范数
    print(torch.norm(a, p=1))
    # a 的核范数
    print(torch.norm(a, p='fro'))
    
    

    执行结果:

    
    tensor([[0.7361],
            [0.1522]]) 
     tensor([[0.0269],
            [0.1849]])
    tensor(0.7419)
    tensor(0.7099)
    tensor(0.7092)
    tensor(0.7516)
    tensor(0.8882)
    tensor(0.7516)
    

    L1范数

    在这里插入图片描述

    L2范数

    在这里插入图片描述

    展开全文
  • 本片借鉴于https://blog.csdn.net/u013534498/article/details/52674008https://blog.csdn.net/left_la/article/details/9159949向量范数当p=1时,即为各个向量的元素绝对值之和>> norm(x,1) ans = ...

    本片借鉴于

    https://blog.csdn.net/u013534498/article/details/52674008

    https://blog.csdn.net/left_la/article/details/9159949

    向量范数


    当p=1时,即为各个向量的元素绝对值之和

    >> norm(x,1)
    
    ans =
    
        21
    
    >> x
    
    x =
    
         1     2     3     4     5     6
    
    >> norm(x,1)
    
    ans =
    
        21

    当p=2时,向量元素绝对值的平方和再开方

    >> norm(x,2)
    
    ans =
    
        9.5394

    当p=+∞,即所有向量元素绝对值中的最大值

    当p=-∞,即所有向量元素绝对值中的最小值

    >> norm(x,inf)
    
    ans =
    
         6
    
    >> norm(x,-inf)
    
    ans =
    
         1

    矩阵范数

           即所有矩阵列向量绝对值之和的最大值  

        即A'A矩阵的最大特征值的开平方

    当矩阵维数较大时,会导致计算矩阵范数的时间比较长,并且当一个近似的范数满足要求时,可以考虑使用函数normest( )来估计二阶范数值。

    【这里额外补充一下怎么求矩阵的最大特征值】

    eig(A):求包含矩阵A的特征值的向量

    [X,D]=eig(A),产生一个矩阵A的特征值在对角线上的对角矩阵D和矩阵X,他们的列是相应的特征向量,满足AX=XD。

    >> a=[0.8 0.2;0.2 0.8]
    
    a =
    
        0.8000    0.2000
        0.2000    0.8000
    
    >> [q,d]=eig(a)
    
    q =
    
       -0.7071    0.7071
        0.7071    0.7071
    
    
    d =
    
        0.6000         0
             0    1.0000

        即所有矩阵行向量绝对值之和的最大值

    >> a=[1 2 3;4 5 6;7 8 9]
    
    a =
    
         1     2     3
         4     5     6
         7     8     9
    
    >> norm(a)
    
    ans =
    
       16.8481
    
    >> norm(a,1)
    
    ans =
    
        18
    
    >> norm(a,2)
    
    ans =
    
       16.8481
    
    >> norm(a,inf)
    
    ans =
    
        24

    展开全文
  • 1.范数(norm)的意义 要更好的理解范数,就要从函数、几何与矩阵的角度去理解。 我们都知道,函数与几何图形往往是有对应的关系,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是...

    refer:    http://blog.csdn.net/bitcarmanlee/article/details/51945271

    1.范数(norm)的意义

    要更好的理解范数,就要从函数、几何与矩阵的角度去理解。
    我们都知道,函数与几何图形往往是有对应的关系,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是函数的高度形象化,比如一个函数对应几何空间上若干点组成的图形。
    但当函数与几何超出三维空间时,就难以获得较好的想象,于是就有了映射的概念,映射表达的就是一个集合通过某种关系转为另外一个集合。通常数学书是先说映射,然后再讨论函数,这是因为函数是映射的一个特例。
    为了更好的在数学上表达这种映射关系,(这里特指线性关系)于是就引进了矩阵。这里的矩阵就是表征上述空间映射的线性关系。而通过向量来表示上述映射中所说的这个集合,而我们通常所说的基,就是这个集合的最一般关系。于是,我们可以这样理解,一个集合(向量),通过一种映射关系(矩阵),得到另外一个几何(另外一个向量)。
    那么向量的范数,就是表示这个原有集合的大小。
    而矩阵的范数,就是表示这个变化过程的大小的一个度量。

    总结起来一句话,范数(norm),是具有“长度”概念的函数。

    2.范数满足的三个特性

    1.非负性: ||x||0 ,且 ||x||=0 当且仅当 x=0 时成立 。
    2.齐次性: ||kx||=|k|||x||
    3.三角不等式: ||x+y||||x||+||y||

    3.向量的范数

    1-范数,计算方式为向量所有元素的绝对值之和。

    ||x||1=in|xi|

    2-范数,计算方式跟欧式距离的方式一致。
    ||x||2=(i=1n|xi|2)2

    -范数,所有向量元素中的最大值。
    ||x||=maxi|xi|

    -范数,所有向量元素中的最小值。
    ||x||=mini|xi|

    p -范数,所有向量元素绝对值的p次方和的1/p次幂。
    ||x||p=(i=1n|xi|p)1p

    4.矩阵的范数

    首先假设矩阵的大小为 mn ,即m行n列。

    1-范数,又名列和范数。顾名思义,即矩阵列向量中绝对值之和的最大值。

    ||A||1=maxji=1m|aij|

    2-范数,又名谱范数,计算方法为 ATA 矩阵的最大特征值的开平方。
    ||A||2=λ1

    其中 λ1 ATA 的最大特征值。

    -范数,又名行和范数。顾名思义,即矩阵行向量中绝对值之和的最大值。

    ||A||=maxji=1n|aij|

    F-范数,Frobenius范数,计算方式为矩阵元素的绝对值的平方和再开方。

    ||A||F=i=1mj=1n|aij|212

    5.在python里计算范数

    numpy包里的linalg模块,是专门处理基本线性代数问题的模块。借助该模块中的norm()函数可以轻松计算向量与矩阵的范数。

    先看看norm()方法的原型:

    def norm(x, ord=None, axis=None, keepdims=False):
        """
        Matrix or vector norm.
    
        This function is able to return one of eight different matrix norms,
        or one of an infinite number of vector norms (described below), depending
        on the value of the ``ord`` parameter.
    
        Parameters
        ----------
        x : array_like
            Input array.  If `axis` is None, `x` must be 1-D or 2-D.
        ord : {non-zero int, inf, -inf, 'fro', 'nuc'}, optional
            Order of the norm (see table under ``Notes``). inf means numpy's
            `inf` object.
        axis : {int, 2-tuple of ints, None}, optional
            If `axis` is an integer, it specifies the axis of `x` along which to
            compute the vector norms.  If `axis` is a 2-tuple, it specifies the
            axes that hold 2-D matrices, and the matrix norms of these matrices
            are computed.  If `axis` is None then either a vector norm (when `x`
            is 1-D) or a matrix norm (when `x` is 2-D) is returned.
        keepdims : bool, optional
            If this is set to True, the axes which are normed over are left in the
            result as dimensions with size one.  With this option the result will
            broadcast correctly against the original `x`.
    
            .. versionadded:: 1.10.0
    
        Returns
        -------
        n : float or ndarray
            Norm of the matrix or vector(s).
    
        Notes
        -----
        For values of ``ord <= 0``, the result is, strictly speaking, not a
        mathematical 'norm', but it may still be useful for various numerical
        purposes.
    
        The following norms can be calculated:
    
        =====  ============================  ==========================
        ord    norm for matrices             norm for vectors
        =====  ============================  ==========================
        None   Frobenius norm                2-norm
        'fro'  Frobenius norm                --
        'nuc'  nuclear norm                  --
        inf    max(sum(abs(x), axis=1))      max(abs(x))
        -inf   min(sum(abs(x), axis=1))      min(abs(x))
        0      --                            sum(x != 0)
        1      max(sum(abs(x), axis=0))      as below
        -1     min(sum(abs(x), axis=0))      as below
        2      2-norm (largest sing. value)  as below
        -2     smallest singular value       as below
        other  --                            sum(abs(x)**ord)**(1./ord)
        =====  ============================  ==========================
    
        The Frobenius norm is given by [1]_:
    
            :math:`||A||_F = [\\sum_{i,j} abs(a_{i,j})^2]^{1/2}`
    
        The nuclear norm is the sum of the singular values.
    
        References
        ----------
        .. [1] G. H. Golub and C. F. Van Loan, *Matrix Computations*,
               Baltimore, MD, Johns Hopkins University Press, 1985, pg. 15
     


    再看看更为详细的计算说明:

    Examples
        --------
        >>> from numpy import linalg as LA
        >>> a = np.arange(9) - 4
        >>> a
        array([-4, -3, -2, -1,  0,  1,  2,  3,  4])
        >>> b = a.reshape((3, 3))
        >>> b
        array([[-4, -3, -2],
               [-1,  0,  1],
               [ 2,  3,  4]])
    
        >>> LA.norm(a)
        7.745966692414834
        >>> LA.norm(b)
        7.745966692414834
        >>> LA.norm(b, 'fro')
        7.745966692414834
        >>> LA.norm(a, np.inf)
        4.0
        >>> LA.norm(b, np.inf)
        9.0
        >>> LA.norm(a, -np.inf)
        0.0
        >>> LA.norm(b, -np.inf)
        2.0
    
        >>> LA.norm(a, 1)
        20.0
        >>> LA.norm(b, 1)
        7.0
        >>> LA.norm(a, -1)
        -4.6566128774142013e-010
        >>> LA.norm(b, -1)
        6.0
        >>> LA.norm(a, 2)
        7.745966692414834
        >>> LA.norm(b, 2)
        7.3484692283495345
    
        >>> LA.norm(a, -2)
        nan
        >>> LA.norm(b, -2)
        1.8570331885190563e-016
        >>> LA.norm(a, 3)
        5.8480354764257312
        >>> LA.norm(a, -3)
        nan
    
        Using the `axis` argument to compute vector norms:
    
        >>> c = np.array([[ 1, 2, 3],
        ...               [-1, 1, 4]])
        >>> LA.norm(c, axis=0)
        array([ 1.41421356,  2.23606798,  5.        ])
        >>> LA.norm(c, axis=1)
        array([ 3.74165739,  4.24264069])
        >>> LA.norm(c, ord=1, axis=1)
        array([ 6.,  6.])
    
        Using the `axis` argument to compute matrix norms:
    
        >>> m = np.arange(8).reshape(2,2,2)
        >>> LA.norm(m, axis=(1,2))
        array([  3.74165739,  11.22497216])
        >>> LA.norm(m[0, :, :]), LA.norm(m[1, :, :])
        (3.7416573867739413, 11.224972160321824)
    
        """


    看到上面这个表以后,同学们应该特别清楚了吧。

    展开全文
  • 向量范数与矩阵范数定义和python相关运算示例1.范数(norm)的意义要更好的理解范数,就要从函数、几何与矩阵的角度去理解。 我们都知道,函数与几何图形往往是有对应的关系,这个很好想象,特别是在三维以下的空间内...
  • 范数

    2020-12-18 10:31:17
    范数是一种强化的距离概念,为了便于...对于矩阵范数,学过线性代数,我们知道,通过运算AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。 一、向量范数 1. 概念 范数是具有“长度”的函数,用来度量某
  • 矩阵运算

    2021-03-07 20:58:39
    矩阵运算1.1 矩阵分析1.1.0 向量和矩阵的范数运算1.1.1 矩阵的秩1.1.2 矩阵的行列式1.1.3 矩阵的迹1.1.4 矩阵的化零矩阵1.1.5 矩阵的正交空间1.1.6 矩阵的约化行阶梯形式1.1.7 矩阵空间之间的夹角1.2 矩阵分解 ...
  • 向量范数与方阵范数的基本性质,与基本计算
  • 接着上一讲,我们继续考虑收缩运算(Shrinkage)的扩展,即如果L1范数优化替换为L2范数优化,是否依然能够得到简洁的解呢? 将L1范数更换为L2范数,考虑如下的优化问题:  (1) 上式关于变量x求导,得到一阶...
  • 1.范数Lp 用处:均方误差MSE。估计用另一个离散信号逼近某离散时间信号所产生的误差 MSE=(1/N)*(||y[n]-x[n]||2)2 2.序列的运算 1.相乘 用处:调制。例如余弦调制。 2.标量乘 用处:音量放大缩小。 3.加 ...
  • 范数学习

    2019-09-25 11:03:18
    为了掌握各个范数运算 在网上整理一些资料 矩阵二范数是矩阵的最大奇异值 矩阵F范数是矩阵每个元素的平方和。元素平方和可以看为矩阵乘以矩阵本身后所得方阵的迹, 即方阵的奇异值的和,也就是原矩阵的奇异值的...
  • 几种范数的简单介绍

    万次阅读 多人点赞 2016-06-25 10:48:05
    范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数...
  • L0范数、L1范数和L2范数的区别

    万次阅读 多人点赞 2018-05-03 11:44:43
    对于矩阵范数,学过线性代数,我们知道,通过运算AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。 这里简单地介绍以下几种 向量范数 的定义和含义 。 L-P范数 与闵可夫斯基距离的定义一样,...
  • 文章目录为何引入向量范数一、向量范数向量加权范数向量范数的等价性定理常用范数的等价关系二、矩阵范数m1m_{1}m1​ -范数 和F -范数谱三、矩阵范数与向量范数的相容算子范数矩阵范数具有向量范数的一切性质...
  • 范数知识

    2018-11-05 15:08:03
    欢迎支持原作者 什么是范数?...范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。 在数学上,范数包括向量范数和矩阵范...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,467
精华内容 4,986
关键字:

范数运算