(1)Frobenius 范数(F-范数)

一种矩阵范数,记为:

F范数损失函数 pytorch f范数公式_明可夫斯基距离


矩阵中每项数的平方和的开方值

F范数损失函数 pytorch f范数公式_转置_02

F范数损失函数 pytorch f范数公式_F范数_03

这个范数是针对矩阵而言的,具体定义可以类比 向量的L2范数

可用于 利用低秩矩阵来近似单一数据矩阵。
用数学表示就是去找一个秩为k的矩阵B,使得矩阵B与原始数据矩阵A的差的F范数尽可能地小

(2)Minkowski-P范数(矩阵元范数?)

  • 两个n维变量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的闵可夫斯基距离(其中p是一个变参数)定义为: 

F范数损失函数 pytorch f范数公式_F范数_04

当p=1时,就是曼哈顿距离(Manhattan distance)L1距离
        当p=2时,就是欧氏距离(Euclidean distance)L2距离
        当p→∞时,就是切比雪夫距离(Chebyshev distance)。

F范数损失函数 pytorch f范数公式_数据_05

闵可夫斯基距离比较直观,但是它与数据的分布无关,具有一定的局限性,如果 x 方向的幅值远远大于 y 方向的值,这个距离公式就会过度放大 x 维度的作用。所以,在计算距离之前,我们可能还需要对数据进行 z-transform 处理,即减去均值,除以标准差

F范数损失函数 pytorch f范数公式_数据_06

可以看到,上述处理开始体现数据的统计特性了。

这种方法在假设数据各个维度不相关的情况下利用数据分布的特性计算出不同的距离。

如果维度相互之间数据相关(例如:身高较高的信息很有可能会带来体重较重的信息,因为两者是有关联的),这时候就要用到马氏距离(Mahalanobis distance)了。

 

  • 根据变参数的不同,闵氏距离可以表示一类的距离。此距离又叫做P范数。

p-范数

F范数损失函数 pytorch f范数公式_F范数损失函数 pytorch_07

,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。

弗罗贝尼乌斯范数(Frobenius norm)是P范数P=2时的一种特例,在希尔伯特空间中又叫做希尔伯特-施密特范数( Hilbert–Schmidt norm),这个范数可用不同的方式定义:

F范数损失函数 pytorch f范数公式_F范数_08

  •      矩阵元范数的形式:

      

F范数损失函数 pytorch f范数公式_F范数_09

         特殊的,当p=2时,称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间。这个范数可用不同的方式定义:

F范数损失函数 pytorch f范数公式_F范数_08

这里A*表示A的共轭转置,σi是A的奇异值,并使用了迹函数。(转置矩阵仅仅是将矩阵的行与列对换,而共轭转置矩阵在将行与列对换后还要将每个元素共轭一下,实数矩阵的共轭转置矩阵就是转置矩阵。

弗罗贝尼乌斯范数与 Kn 上欧几里得范数非常类似,来自所有矩阵的空间上一个内积。

弗罗贝尼乌斯-范数是服从乘法的且在数值线性代数中非常有用。这个范数通常比诱导范数容易计算。