线性代数|机器学习-P11方程Ax=b求解研究

打印 上一主题 下一主题

主题 697|帖子 697|积分 2091

1. 变量数和约束条件数大小分类



  • 0 用伪逆矩阵                                         x                            =                                       A                               +                                      b                                  x=A^{+}b                     x=A+b直接求解,[上一节已讲]
  • 1 当矩阵A大小适中,条件数                                                               σ                                  1                                                      σ                                  r                                                 <                            1000                            时                                  \frac{\sigma_1}{\sigma_r}<1000时                     σr​σ1​​<1000时, 用                                         x                            =                            A                            \                            b                                  x=A\backslash b                     x=A\b;
  • 2 当矩阵A列满秩m>n=r时,方程数多于变量数,无法求解,只能择中找近似解,将b投影到矩阵A的列空间中后,再找到近似解                                                    x                               ^                                            \hat{x}                     x^ 用                                                    A                               T                                      A                                       x                               ^                                      =                                       A                               T                                      b                            →                                       x                               ^                                      =                            (                                       A                               T                                      A                                       )                                           −                                  1                                                            A                               T                                      b                                  A^TA\hat{x}=A^Tb\rightarrow \hat{x}=(A^TA)^{-1}A^Tb                     ATAx^=ATb→x^=(ATA)−1ATb
  • 3 当矩阵m < n时,方程数小于变量数,有无穷多的解,约束不敷,所以我们增加                                                   L                               1                                      ,                            L                            2                                  L_1,L2                     L1​,L2约束来在浩繁的解中拿到一个好的解,这是深度学习中最重要的损失函数解决思路。
2. 最小二乘法和Gram-schmidt变动

2.1 Gram-schmidt变动



  • 4  列向量情况很差,条件数                                                               σ                                  1                                                      σ                                  r                                                 >                            1000                                  \frac{\sigma_1}{\sigma_r}>1000                     σr​σ1​​>1000,就是病态矩阵,简单理解就是矩阵A的列向量之间相关性太大,导致无法用相关性的列表示其他向量;
    当我们矩阵A的列向量为                                                   a                               1                                      ,                                       a                               2                                            a_1,a_2                     a1​,a2​时间,我们用                                                   a                               1                                      ,                                       a                               2                                            a_1,a_2                     a1​,a2​表示                                                   v                               3                                            v_3                     v3​时间,特别不方便,                                                   a                               1                                      ,                                       a                               2                                            a_1,a_2                     a1​,a2​越相近,越不方便,就是所说的列向量相关性太大,那gram-schmidt的方式就是,既然                                                   a                               1                                      ,                                       a                               2                                            a_1,a_2                     a1​,a2​太接近,那就改造此中一个,我们把                                                   a                               1                                            a_1                     a1​颠末投影和相减后得到                                                   a                               11                                            a_{11}                     a11​,那么                                                   a                               11                                      ⊥                                       a                               2                                            a_{11}\perp a_2                     a11​⊥a2​,如许我们就用新的正交向量                                                   a                               11                                      ,                                       a                               3                                            a_{11},a_3                     a11​,a3​来表示                                                    v                               3                                            v_3                     v3​. 将A分解为QR后就可以得到最优解                                                   x                               ^                                            \hat{x}                     x^,详细推导可以看上一节内容。另外一种是通过将列进行旋转,原理和行的互换一样,重要是关于数值稳固性的问题,保证不要出现大数吃小数的征象发生。

2.2 最小二乘法

2.2.1 损失函数-Lasso 和regression



  • 5  矩阵A接近奇异矩阵,该矩阵的值不是满秩,无法进行直接求逆得到                                                   A                                           −                                  1                                                       A^{-1}                     A−1逆矩阵,就是会得到很多的解,我们的目的是从这么多的解中找到一个最好的解,目前加                                                   L                               1                                            L_1                     L1​项,即加                                        λ                            ∣                            ∣                            x                            ∣                                       ∣                               1                                            \lambda||x||_1                     λ∣∣x∣∣1​,便是我们的LASSO模子;加                                                   L                               2                                            L_2                     L2​项目,即加                                                   δ                               2                                      ∣                            ∣                            x                            ∣                                       ∣                               2                               2                                            \delta^2||x||_2^2                     δ2∣∣x∣∣22​,便是我们的岭回归模子,是不是很神奇!!!,后面尚有的是两个都加,后续会学习到的!!!
2.2.2 损失函数-Lasso



  • Lasso 模子
                                                                                                                                                    arg                                                 ⁡                                                                               m                                                 i                                                 n                                                                                          1                                              2                                                          ∣                                           ∣                                           A                                           x                                           −                                           b                                           ∣                                                           ∣                                              2                                              2                                                          +                                           λ                                           ∣                                           ∣                                           x                                           ∣                                                           ∣                                              1                                                                                                                             \begin{equation} \arg\limits_{min}\frac{1}{2}||Ax-b||_2^2+\lambda||x||_1 \end{equation}                        minarg​21​∣∣Ax−b∣∣22​+λ∣∣x∣∣1​​​
  • Redge 模子,在                                        δ                                  \delta                     δ较小的时间                                                   1                               2                                                 δ                               2                                            \frac{1}{2}\delta^2                     21​δ2和                                                   δ                               2                                            \delta^2                     δ2无区别
2.2.3 损失函数-regression

                                                                                                     z                                        =                                                                       arg                                              ⁡                                                                          m                                              i                                              n                                                                                    1                                           2                                                      ∣                                        ∣                                        A                                        x                                        −                                        b                                        ∣                                                       ∣                                           2                                           2                                                      +                                                       1                                           2                                                                     δ                                           2                                                      ∣                                        x                                        ∣                                                       ∣                                           1                                           2                                                                                                                  \begin{equation} z=\arg\limits_{min}\frac{1}{2}||Ax-b||_2^2+\frac{1}{2}\delta^2|x||_1^2 \end{equation}                     z=minarg​21​∣∣Ax−b∣∣22​+21​δ2∣x∣∣12​​​


  • z的矩阵表达式
                                                                                                                   z                                           =                                                                            arg                                                 ⁡                                                                               m                                                 i                                                 n                                                                                          1                                              2                                                          ∣                                           ∣                                           A                                           x                                           −                                           b                                           ∣                                                           ∣                                              2                                              2                                                          +                                                           1                                              2                                                          ∣                                           ∣                                           δ                                           I                                           x                                           −                                           0                                           ∣                                                           ∣                                              1                                              2                                                                                                                             \begin{equation} z=\arg\limits_{min}\frac{1}{2}||Ax-b||_2^2+\frac{1}{2}||\delta Ix-0||_1^2 \end{equation}                        z=minarg​21​∣∣Ax−b∣∣22​+21​∣∣δIx−0∣∣12​​​
  • 也就是说惩罚项重新构成了增广矩阵                                                   A                               ∗                                      ,                                       b                               ∗                                            A^*,b^*                     A∗,b∗
                                                                                                                                   [                                                                                                                        A                                                                                                                                                                                                                                                                                                              σ                                                             I                                                                                                                                        ]                                                                          [                                                                                                                        x                                                                                                                    ]                                                          =                                                           [                                                                                                                        b                                                                                                                                                                                                                                                                                         0                                                                                                                    ]                                                          →                                                           A                                              ∗                                                          x                                           =                                                           b                                              ∗                                                          →                                           (                                                           A                                              T                                                          A                                           +                                                           σ                                              2                                                          I                                           )                                           x                                           =                                                           A                                              T                                                          b                                                                                                              \begin{equation} \begin{bmatrix}A\\\\ \sigma I\end{bmatrix}\begin{bmatrix}x\end{bmatrix}=\begin{bmatrix}b\\\\0\end{bmatrix}\rightarrow A^*x=b^*\rightarrow (A^TA+\sigma^2 I)x=A^Tb \end{equation}                                               ​AσI​                       ​[x​]=                       ​b0​                       ​→A∗x=b∗→(ATA+σ2I)x=ATb​​
  • 对于一样平常矩阵A,不是特别大的矩阵A,解如下:
                                                                                                                   (                                                           A                                              T                                                          A                                           +                                                           σ                                              2                                                          I                                           )                                           x                                           =                                                           A                                              T                                                          b                                           →                                                           x                                              ^                                                          =                                           (                                                           A                                              T                                                          A                                           +                                                           σ                                              2                                                          I                                                           )                                                               −                                                 1                                                                                          A                                              T                                                          b                                                                                                              \begin{equation} (A^TA+\sigma^2 I)x=A^Tb\rightarrow \hat{x}=(A^TA+\sigma^2I)^{-1}A^Tb \end{equation}                        (ATA+σ2I)x=ATb→x^=(ATA+σ2I)−1ATb​​
2.2.4 Regression岭回归-矩阵验证



  • 验证上述是否正确,假设矩阵A为[a],整理可得如下:
                                                                                                                   (                                                           A                                              T                                                          A                                           +                                                           σ                                              2                                                          I                                           )                                           x                                           =                                                           A                                              T                                                          b                                           →                                           (                                                           a                                              2                                                          +                                                           σ                                              2                                                          )                                           x                                           =                                           a                                           b                                                                                                              \begin{equation} (A^TA+\sigma^2 I)x=A^Tb\rightarrow (a^2+\sigma^2)x=ab \end{equation}                        (ATA+σ2I)x=ATb→(a2+σ2)x=ab​​
    – 当                                                    a                               2                                      +                                       σ                               2                                      ≠                            0                                  a^2+\sigma^2 \neq 0                     a2+σ2=0:
                                                                                                                   (                                                           a                                              2                                                          +                                                           σ                                              2                                                          )                                           x                                           =                                           a                                           b                                           →                                                           x                                              ^                                                          =                                                           a                                                                                 a                                                    2                                                                  +                                                                   σ                                                    2                                                                                           b                                                                                                              \begin{equation} (a^2+\sigma^2)x=ab\rightarrow \hat{x}=\frac{a}{a^2+\sigma^2}b \end{equation}                        (a2+σ2)x=ab→x^=a2+σ2a​b​​
  • 当                                        σ                            =                            0                            ,                            a                            ≠                            0                                  \sigma=0,a\ne 0                     σ=0,a=0时,可得:
                                                                                                                   (                                                           a                                              2                                                          +                                                           σ                                              2                                                          )                                           x                                           =                                           a                                           b                                           →                                                           x                                              ^                                                          =                                                           a                                                                                 a                                                    2                                                                  +                                                                   σ                                                    2                                                                                           b                                           →                                                           x                                              ^                                                          =                                                           b                                              a                                                                                                                             \begin{equation} (a^2+\sigma^2)x=ab\rightarrow \hat{x}=\frac{a}{a^2+\sigma^2}b\rightarrow \hat{x}=\frac{b}{a} \end{equation}                        (a2+σ2)x=ab→x^=a2+σ2a​b→x^=ab​​​
    – 当                                                    a                               2                                      +                                       σ                               2                                      =                            0                            →                            a                            =                            σ                            =                            0                                  a^2+\sigma^2 =0\rightarrow a=\sigma=0                     a2+σ2=0→a=σ=0:
                                                                                                                   z                                           =                                                                            arg                                                 ⁡                                                                               m                                                 i                                                 n                                                                                          1                                              2                                                          ∣                                           ∣                                           A                                           x                                           −                                           b                                           ∣                                                           ∣                                              2                                              2                                                          +                                                           1                                              2                                                                          δ                                              2                                                          ∣                                           x                                           ∣                                                           ∣                                              1                                              2                                                          →                                           z                                           =                                                           1                                              2                                                          (                                           a                                           x                                           −                                           b                                                           )                                              2                                                                                                                             \begin{equation} z=\arg\limits_{min}\frac{1}{2}||Ax-b||_2^2+\frac{1}{2}\delta^2|x||_1^2\rightarrow z=\frac{1}{2}(ax-b)^2 \end{equation}                        z=minarg​21​∣∣Ax−b∣∣22​+21​δ2∣x∣∣12​→z=21​(ax−b)2​​
    此时的z是向上的抛物线,那么可得最小值就一定在x=0处。
2.2.5 Regression岭回归-导数验证

                                                                                                     z                                        =                                                                       arg                                              ⁡                                                                          m                                              i                                              n                                                                                    1                                           2                                                      ∣                                        ∣                                        A                                        x                                        −                                        b                                        ∣                                                       ∣                                           2                                           2                                                      +                                                       1                                           2                                                                     δ                                           2                                                      ∣                                        x                                        ∣                                                       ∣                                           1                                           2                                                      =                                                       1                                           2                                                      (                                        a                                        x                                        −                                        b                                                       )                                           2                                                      +                                                       1                                           2                                                                     δ                                           2                                                                     x                                           2                                                                                                                  \begin{equation} z=\arg\limits_{min}\frac{1}{2}||Ax-b||_2^2+\frac{1}{2}\delta^2|x||_1^2=\frac{1}{2}(ax-b)^2+\frac{1}{2}\delta^2x^2 \end{equation}                     z=minarg​21​∣∣Ax−b∣∣22​+21​δ2∣x∣∣12​=21​(ax−b)2+21​δ2x2​​


  • 求导可得:
                                                                                                                                                                ∂                                                    z                                                                                    ∂                                                    x                                                                               =                                              a                                              (                                              a                                              x                                              −                                              b                                              )                                              +                                                               σ                                                 2                                                              x                                              =                                              0                                              →                                              (                                                               a                                                 2                                                              +                                                               σ                                                 2                                                              )                                                               x                                                 ^                                                              =                                              a                                              b                                              →                                              居然跟矩阵表达式一样                                                                                                                        \begin{equation} \frac{\partial z}{\partial x}=a(ax-b)+\sigma^2x=0\rightarrow (a^2+\sigma^2)\hat{x}=ab\rightarrow 居然跟矩阵表达式一样 \end{equation}                           ∂x∂z​=a(ax−b)+σ2x=0→(a2+σ2)x^=ab→居然跟矩阵表达式一样​​
    所以我们临时简单验证我们在最小二乘法中加二范数惩罚项是对的!!!
  • 以上是损失函数的筹划,也就是我们通过添加损失函数的约束条件来明白我们的目标,那么目标有了,现在缺少怎么找到目标的方法,常见的有随机梯度下降等方法,内里筹划到学习率,迭代次数等,目的是怎么快速的找到最小的损失函数值,并根据效果来更新权重参数,如许矩阵就和深度学习接洽上啦!
  • 好的解指的是我们的解不但对已知的数据集有好的损失函数值,同时我们的解还能对未知的数据有好的效果!有效性和泛化性都要有!!!
3. 迭代和随机采样

3.1 迭代



  • 6 迭代
    当矩阵很大的时间,但是不是超级巨大,我们可以用迭代的方法处理,将矩阵A分解为
                                                                                                                   A                                           =                                           S                                           −                                           T                                           →                                           A                                           x                                           =                                           b                                           →                                           S                                           x                                           =                                           T                                           x                                           +                                           b                                                                                                              \begin{equation} A=S-T\rightarrow Ax=b\rightarrow Sx=Tx+b \end{equation}                        A=S−T→Ax=b→Sx=Tx+b​​
  • 迭代可得:
                                                                                                                   S                                                           x                                                               k                                                 +                                                 1                                                                          =                                           T                                                           x                                              k                                                          +                                           b                                           ;                                           S                                                           x                                              k                                                          =                                           T                                                           x                                                               k                                                 −                                                 1                                                                          +                                           b                                           ;                                           →                                           S                                           (                                           x                                           −                                                           x                                                               k                                                 +                                                 1                                                                          )                                           =                                           T                                           (                                           x                                           −                                                           x                                              k                                                          )                                                                                                              \begin{equation} Sx_{k+1}=Tx_k + b;Sx_{k}=Tx_{k-1} + b;\rightarrow S(x-x_{k+1})=T(x-x_k) \end{equation}                        Sxk+1​=Txk​+b;Sxk​=Txk−1​+b;→S(x−xk+1​)=T(x−xk​)​​
  • 误差比可得:
                                                                                                                                                    x                                                 −                                                                   x                                                                       k                                                       +                                                       1                                                                                                                  x                                                 −                                                                   x                                                    k                                                                                           =                                                           S                                                               −                                                 1                                                                          T                                                                                                              \begin{equation} \frac{x-x_{k+1}}{x-x_k}=S^{-1}T \end{equation}                        x−xk​x−xk+1​​=S−1T​​
  • 当                                                   S                                           −                                  1                                                 T                                  S^{-1}T                     S−1T<1时,随着                                                    S                                           −                                  1                                                 T                                  S^{-1}T                     S−1T越小,                                                   x                               k                                            x_k                     xk​收敛的快。
3.2 随机采样



  • 7 随机采样
    当矩阵A超级大的时间,我们用电脑计算已经无法直接计算                                                    A                               T                                      A                                  A^TA                     ATA的时间,我们就需要用到神奇的概率采样技能了,我们通过一定的概率去采样得到新的矩阵                                                   A                               s                                            A_s                     As​时,用                                                   A                               s                                            A_s                     As​近似替代A。
    我们知道矩阵A左乘行变动,右乘列变动,当我们用x来采样A列向量时,得到                                        A                            x                            =                                       A                                           s                                  l                                                       Ax=A_{sl}                     Ax=Asl​,实现列采样,当我们用x来采样A行向量时,得到                                                   A                               T                                      x                            =                                       A                                           s                                  r                                                       A^Tx=A_{sr}                     ATx=Asr​,实现行采样,如许我们就可以用采样的小样本来代替大样本矩阵A了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表