矩阵的范数 您所在的位置:网站首页 向量的范数等于1吗 矩阵的范数

矩阵的范数

2024-06-13 05:15| 来源: 网络整理| 查看: 265

--------------------------2020.8.30更新----------------------------

把之前的没写的几个矩阵范数给补充下,暂时只找到这 6 个(主要是没看太多的文章,那天遇到新的再补充)

m1 范数: ∥ A ∥ m 1 = ∑ i = 1 n ∑ j = 1 n ∣ a i j ∣ {{\left\| A \right\|}_{{{m}_{1}}}}=\sum\limits_{i=1}^{n}{\sum\limits_{j=1}^{n}{\left| {{a}_{ij}} \right|}} ∥A∥m1​​=i=1∑n​j=1∑n​∣aij​∣

F范数: ∥ A ∥ F = ∑ i = 1 n ∑ j = 1 n ∣ a i j ∣ 2 {{\left\| A \right\|}_{F}}=\sqrt{\sum\limits_{i=1}^{n}{\sum\limits_{j=1}^{n}{{{\left| {{a}_{ij}} \right|}^{2}}}}} ∥A∥F​=i=1∑n​j=1∑n​∣aij​∣2 ​

m ∞ {{m}_{\infty }} m∞​范数: ∥ A ∥ m ∞ = n max ⁡ i , j   ∣ a i j ∣ {{\left\| A \right\|}_{{{m}_{\infty }}}}=n\underset{i,j}{\mathop{\max }}\,\left| {{a}_{ij}} \right| ∥A∥m∞​​=ni,jmax​∣aij​∣

L1范数的诱导范数(列和范数): ∥ A ∥ 1 = max ⁡ j   ∑ i = 1 n ∣ a i j ∣ {{\left\| A \right\|}_{1}}=\underset{j}{\mathop{\max }}\,\sum\limits_{i=1}^{n}{\left| {{a}_{ij}} \right|} ∥A∥1​=jmax​i=1∑n​∣aij​∣

L2 范数的诱导范数: ∥ A ∥ 2 = λ max ⁡ ( A T A ) {{\left\| A \right\|}_{2}}=\sqrt{{{\lambda }_{\max }}({{A}^{T}}A)} ∥A∥2​=λmax​(ATA) ​ , λ max ⁡ ( ⋅ ) {{\lambda }_{\max }}(\centerdot ) λmax​(⋅) 表示取最大特征值

l ∞ {{l}_{\infty }} l∞​范数的诱导范数(行和范数): ∥ A ∥ ∞ = max ⁡ i   ∑ j = 1 n ∣ a i j ∣ {{\left\| A \right\|}_{\infty }}=\underset{i}{\mathop{\max }}\,\sum\limits_{j=1}^{n}{\left| {{a}_{ij}} \right|} ∥A∥∞​=imax​j=1∑n​∣aij​∣

--------------------------2020.8.30更新----------------------------

向量的范数见 向量的范数

矩阵的1-范数:列元素绝对值之和最大

矩阵的2-范数即:矩阵 的最大特征值开平方根

矩阵的无穷范数:行绝对值之和最大

还有一种是把矩阵拉伸成向量,然后再对向量求范数。在论文里面大家用的模棱两可的,具体文章还要具体来看。

此处引用知乎上大佬的解答

大佬: 矩阵有两种范数的定义,一种是矩阵范数,用来衡量矩阵作为变换时对向量拉扯、形变的能力,p-norm 定义为 ||A||p = max{x \neq 0} ||Ax||_p/||x||_p; 另一种是逐元素范数,用来衡量矩阵中元素的大小,也可以解释成把矩阵拉伸成一条向量后形成的向量的p-范数,即 ||A||_p = ||vec(A)||p = (\sum |A{ij}|p){1/p}。其实还有定义在特征值空间上的第三种范数(在 Robust PCA 里会用到),详见维基百科。 机器学习里把矩阵当成模型参数时,范数往往指的是第二种(即逐元素范数),这答主明显没学明白,网上的大部分博客也没搞明白。1范数和 L1 范数是一样的,其中 L 指 Lebesgue space。 另外补充一点,很多论文里的2范数其实是指2范数的平方(即 \sum x_i^2,最后不用开根号),很多论文作者也没搞明白。

大佬:在上下文不明确的情况下可以这么判断:如果矩阵是作为模型的参数,你希望给它加先验(例如数值较小、稀疏等等),这时往往是关注矩阵元素本身的性质,范数通常是指逐元素范数 ||A||_p = ||vec(A)||p = (\sum |A{ij}|p){1/p};如果矩阵是用来分析模型的性质(例如梯度消失/爆炸、迭代收敛速度等等),这时关心的是矩阵作为变换引起的缩放效果,范数通常是指矩阵范数 ||A||p = max{x \neq 0} ||Ax||_p/||x||_p。

我:能再细细讲讲第一种吗?用来衡量矩阵作为变换时对向量拉扯、形变的能力,后面的公式没太领悟啥意思

大佬:这种范数也叫向量诱导范数,因为它是用两个向量的范数的比值来定义出的。任给一种向量范数的定义,就可以对应地得到一种矩阵范数。详细来说,||Ax||_p 是矩阵 A 对向量 x 做变换以后得到的向量的长度,这个值再用 x 本身的长度 ||x||_p 归一化一下,可以去掉 x 长度不同带来的影响,就反映了矩阵 A 对向量 x 的拉伸能力。遍历所有的 x,找到一个比值最大的,就说明了矩阵 A 最多能把某个向量拉伸多少倍。具体用法比如说反向传播时 dl/dx = dy/dx * dl/dy,其中 dy/dx 是一个雅可比矩阵,dl/dy 是 loss 对 y 的导数,你就可以根据 dy/dx 的范数(比如 L2 范数)分析出经过一步反向传播以后,dl/dx 的长度最多变化多少倍,进而分析出经过多次反向传播后梯度最多放大多少倍,可以估计梯度爆炸有多严重。 当然,等价地,你可以直接在长度为 1 的向量 x 里找,把定义为 ||A||p = max{||x||_p =1} ||Ax||_p。

原文见 Lasso—原理及最优解

大佬的主页 Towser的主页



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有