• 机器学习——奇异值分解(未完)


    开坑,刚看完书,已经有些窒息了
    先把坑挖了,再慢慢填,避免自己划水跳过
    我爱线代,线代爱我,阿弥陀佛

    为什么要学奇异值分解?

    因为书本倒数第二章专门提到的,想必一定很重要,于是我上网查了一下奇异值分解的应用

    wow 。。。很有用,增加了学习的动力

    奇异值分解的应用

    机器学习中,奇异值分解,可以删除一些没什么作用的特征。

    具体是如何删除的呢?需要先了解一下,奇异值分解的数学原理

    不会吧。。。我难道要用markdown语法来写矩阵的推导过程吗。。。
    太痛苦了吧

    首先,奇异值是什么?分解又从何谈起?

    • 奇异值分解的本质,其实是矩阵分解的延伸

    什么是矩阵分解?矩阵分解又有什么意义呢?

    • 矩阵分解,是将一个矩阵分解为多个形式简单的矩阵,可以更好地理解矩阵本身的作用
    • 感觉像一句废话,举个栗子吧…oh不,举个up主:矩阵分解及正交矩阵

    • 其实就是用矩阵的伸缩、旋转变换功能来举例

    向量和矩阵

    向量一般是竖着写的,几个向量组成一个矩阵
    例如向量 X = [ x 1 x 2 x 3 ] \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3 ,Y = [ y 1 y 2 y 3 ] \begin{bmatrix} y_1\\ y_2\\ y_3\\ \end{bmatrix} y1y2y3 ,Z = [ z 1 z 2 z 3 ] \begin{bmatrix} z_1\\ z_2\\ z_3\\ \end{bmatrix} z1z2z3 ,K = [ k 1 k 2 k 3 ] \begin{bmatrix} k_1\\ k_2\\ k_3\\ \end{bmatrix} k1k2k3
    矩阵是几个向量的组合
    [ x 1 y 1 z 1 k 1 x 2 y 2 z 2 k 2 x 3 y 3 z 3 k 3 ] \begin{bmatrix} x_1&y_1&z_1&k_1\\ x_2&y_2&z_2&k_2\\ x_3&y_3&z_3&k_3\\ \end{bmatrix} x1x2x3y1y2y3z1z2z3k1k2k3

    向量和矩阵的代数表示

    向量可以用于表示 一个 多元齐次方程的系数,也可以表示自变量

    • w 1 x 1 + w 2 x 2 + w 3 x 3 = 0 w_1x_1+w_2x_2+w_3x_3=0 w1x1+w2x2+w3x3=0

    那么这个多元齐次方程的系数,可以用向量 W → W^→ W表示W = [ w 1 w 2 w 3 ] \begin{bmatrix} w_1\\ w_2\\ w_3\\ \end{bmatrix} w1w2w3 ,自变量标为X = [ x 1 x 2 x 3 ] \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3

    如果有多个多元齐次方程,但系数可能只有一组,而自变量可能有多组数据,如下多个多元齐次方程

    第一组齐次方程自变量为
    w 1 x 11 + w 2 x 12 + w 3 x 13 = 0 w_{1}x_{11}+w_2x_{12}+w_{3}x_{13}=0 w1x11+w2x12+w3x13=0X1 = [ x 11 x 12 x 13 ] \begin{bmatrix}x_{11}\\x_{12}\\x_{13}\\\end{bmatrix} x11x12x13
    w 1 x 21 + w 2 x 22 + w 3 x 23 = 0 w_{1}x_{21}+w_{2}x_{22}+w_3x_{23}=0 w1x21+w2x22+w3x23=0X2 = [ x 21 x 22 x 23 ] \begin{bmatrix}x_{21}\\x_{22}\\x_{23}\\\end{bmatrix} x21x22x23
    w 1 x 31 + w 2 x 32 + w 3 x 33 = 0 w_{1}x_{31}+w_{2}x_{32}+w_{3}x_{33}=0 w1x31+w2x32+w3x33=0X3 = [ x 31 x 32 x 33 ] \begin{bmatrix}x_{31}\\x_{32}\\x_{33}\\\end{bmatrix} x31x32x33
    W = [ w 1 w 2 w 3 ] \begin{bmatrix}w_{1}\\w_{2}\\w_{3}\\\end{bmatrix} w1w2w3 X = [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} X= x11x12x13x21x22x23x31x32x33

    系数只有一组,即W = [ w 1 w 2 w 3 ] \begin{bmatrix} w_1\\ w_2\\ w_3\\ \end{bmatrix} w1w2w3 ,自变量数据有多组,X = [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] \begin{bmatrix} x_{11}&x_{21}&x_{31}\\ x_{12}&x_{22}&x_{32}\\ x_{13}&x_{23}&x_{33}\\ \end{bmatrix} x11x12x13x21x22x23x31x32x33

    这时候,要表示多元齐次方程组的计算式,需要将向量W转置后,再与X相乘
    W T X = [ w 1 w 2 w 3 ] [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] W^TX=\begin{bmatrix} w_1&w_2&w_3\\ \end{bmatrix}\begin{bmatrix} x_{11}&x_{21}&x_{31}\\ x_{12}&x_{22}&x_{32}\\ x_{13}&x_{23}&x_{33}\\ \end{bmatrix} WTX=[w1w2w3] x11x12x13x21x22x23x31x32x33

    这是一种基础的矩阵乘法的代数意义,系数可能只有一组

    • w 1 x 11 + w 2 x 12 + w 3 x 13 = 0 w_1x_{11}+w_2x_{12}+w_3x_{13}=0 w1x11+w2x12+w3x13=0
    • w 1 x 21 + w 2 x 22 + w 3 x 23 = 0 w_1x_{21}+w_2x_{22}+w_3x_{23}=0 w1x21+w2x22+w3x23=0
    • w 1 x 31 + w 2 x 32 + w 3 x 33 = 0 w_1x_{31}+w_2x_{32}+w_3x_{33}=0 w1x31+w2x32+w3x33=0

    还有另外一种进阶的矩阵乘法代数意义,就是系数可能有多组

    第一组齐次方程第二组齐次方程
    w 11 x 11 + w 12 x 12 + w 13 x 13 = 0 w_{11}x_{11}+w_{12}x_{12}+w_{13}x_{13}=0 w11x11+w12x12+w13x13=0 w 21 x 11 + w 22 x 12 + w 23 x 13 = 0 w_{21}x_{11}+w_{22}x_{12}+w_{23}x_{13}=0 w21x11+w22x12+w23x13=0
    w 11 x 21 + w 12 x 22 + w 13 x 23 = 0 w_{11}x_{21}+w_{12}x_{22}+w_{13}x_{23}=0 w11x21+w12x22+w13x23=0 w 21 x 21 + w 22 x 22 + w 23 x 23 = 0 w_{21}x_{21}+w_{22}x_{22}+w_{23}x_{23}=0 w21x21+w22x22+w23x23=0
    w 11 x 31 + w 12 x 32 + w 13 x 33 = 0 w_{11}x_{31}+w_{12}x_{32}+w_{13}x_{33}=0 w11x31+w12x32+w13x33=0 w 21 x 31 + w 22 x 32 + w 23 x 33 = 0 w_{21}x_{31}+w_{22}x_{32}+w_{23}x_{33}=0 w21x31+w22x32+w23x33=0
    W1 = [ w 11 w 12 w 13 ] , X = [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] \begin{bmatrix}w_{11}\\w_{12}\\w_{13}\\\end{bmatrix},X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} w11w12w13 ,X= x11x12x13x21x22x23x31x32x33 W2 = [ w 21 w 22 w 23 ] , X = [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] \begin{bmatrix}w_{21}\\w_{22}\\w_{23}\end{bmatrix},X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} w21w22w23 ,X= x11x12x13x21x22x23x31x32x33

    W= [ w 11 w 21 w 12 w 22 w 13 w 23 ] \begin{bmatrix}w_{11}&w_{21}\\w_{12}&w_{22}\\w_{13}&w_{23}\\\end{bmatrix} w11w12w13w21w22w23 X = [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} X= x11x12x13x21x22x23x31x32x33

    要表示这两组方程,一样需要将W转置后,再与X相乘,
    W T X = [ w 11 w 12 w 13 w 21 w 22 w 23 ] [ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ] W^TX=\begin{bmatrix}w_{11}&w_{12}&w_{13}\\w_{21}&w_{22}&w_{23}\\\end{bmatrix}\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} WTX=[w11w21w12w22w13w23] x11x12x13x21x22x23x31x32x33

    最终得到的是2x3的矩阵,第一行表示第一组的齐次方程,第二行表示第二组的齐次方程

    我常常迷糊的矩阵乘法,忽然变得眉目清晰
    并且从后边穿越回来后,似乎更透彻了我的天呐
    仿佛参透天机

    注意:W,就相当于自变量的权重系数,它所表示的代数意义和几何意义其实是异曲同工的!!!!!

    向量和矩阵的几何表示

    一维向量与矩阵
    • 一维向量表示直线上的方向向量,例如x坐标方向上,x=3
      在这里插入图片描述
    二维向量与矩阵
    • 二维向量表示XY平面上的方向向量,如 [ x y ] = [ 3 2 ] \begin{bmatrix} x\\ y\\ \end{bmatrix}=\begin{bmatrix} 3\\ 2\\ \end{bmatrix} [xy]=[32]

    当然,xy只是我们几何上习惯的叫法,如果要跟代数产生联想,其实可以把x和y,当成x1和x2来叫
    在这里插入图片描述

    • 二维矩阵,则表示多个二维向量的组合,如 [ x y ] : [ 3 3 5 2 4 9 ] \begin{bmatrix} x\\ y\\ \end{bmatrix}: \begin{bmatrix} 3&3&5\\ 2&4&9\\ \end{bmatrix} [xy]:[323459],这是三个二维向量,组合成的矩阵
    三维向量与矩阵
    • 三维向量表示xyz空间上的方向向量 [ x y z ] = [ 0 1 1 ] \begin{bmatrix} x\\ y\\ z\\ \end{bmatrix}=\begin{bmatrix} 0\\ 1\\ 1\\ \end{bmatrix} xyz = 011

    哭了,用上matplotlib吧

    • 三维矩阵则表示在xyz空间上的多个向量组合,如 [ x y z ] : [ 0 2 3 9 1 1 6 0 1 8 9 0 ] \begin{bmatrix} x\\ y\\ z\\ \end{bmatrix}:\begin{bmatrix} 0&2&3&9\\ 1&1&6&0\\ 1&8&9&0\\ \end{bmatrix} xyz 011218369900 ,这是4个三维向量组成的矩阵

    同样的,xyz只是几何上的习惯叫法,要跟代数产生联想的话,也可以叫做 x1 和x2和x3,表示3个维度

    向量和矩阵的乘法

    向量乘法,一般指的是点乘,即
    A = [ a 1 a 2 a 3 ] \begin{bmatrix} a_1\\ a_2\\ a_3\\ \end{bmatrix} a1a2a3 ,B = [ b 1 b 2 b 3 ] \begin{bmatrix} b_1\\ b_2\\ b_3\\ \end{bmatrix} b1b2b3 ,则 A B = a 1 ∗ b 1 + a 2 ∗ b 2 + a 3 ∗ b 3 AB = a_1*b_1+ a_2*b_2+ a_3*b_3 AB=a1b1+a2b2+a3b3

    向量点乘的代数意义

    我猜,向量乘法,可以看作是自变量系数和自变量数值的相乘再加和
    y = a 1 x 1 + a 2 x 2 + a 3 x 3 y = a_1x_1+a_2x_2+a_3x_3 y=a1x1+a2x2+a3x3
    A = [ a 1 a 2 a 3 ] \begin{bmatrix} a_1\\ a_2\\ a_3\\ \end{bmatrix} a1a2a3 ,B = [ x 1 x 2 x 3 ] \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3 y = A T B = [ a 1 a 2 a 3 ] [ x 1 x 2 x 3 ] y=A^TB=\begin{bmatrix} a_1&a_2&a_3\\ \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} y=ATB=[a1a2a3] x1x2x3

    向量和矩阵点乘的几何意义

    几何数学意义:权重系数加权求和+升降维度
    • 向量基础点乘,是将一个向量的各维度分量加权求和投影在标准维度上
      例如, A = [ 3 4 ] A = \begin{bmatrix} 3\\ 4\\ \end{bmatrix} A=[34]是一个二维向量,它的标准维度,应该标准二维平面上的x、y两个正交向量维度
      x = [ 1 0 ] x= \begin{bmatrix} 1\\ 0\\ \end{bmatrix} x=[10], y = [ 0 1 ] y= \begin{bmatrix} 0\\ 1\\ \end{bmatrix} y=[01],用矩阵表示则是 W = [ 1 0 0 1 ] W = \begin{bmatrix} 1&0\\ 0&1\\ \end{bmatrix} W=[1001]

    要知道,这里的 W = [ 1 0 0 1 ] W = \begin{bmatrix} 1&0\\ 0&1\\ \end{bmatrix} W=[1001],等价于代数中的两组权重系数,

    第一组齐次方程第二组齐次方程
    w 11 x 11 + w 12 x 12 = 3 w_{11}x_{11}+w_{12}x_{12}=3 w11x11+w12x12=3 w 21 x 11 + w 22 x 12 = 4 w_{21}x_{11}+w_{22}x_{12}=4 w21x11+w22x12=4
    [ w 11 w 12 ] = [ 1 0 ] \begin{bmatrix}w_{11}\\w_{12}\\\end{bmatrix}= \begin{bmatrix}1\\0\\\end{bmatrix} [w11w12]=[10] [ w 21 w 22 ] = [ 0 1 ] \begin{bmatrix}w_{21}\\w_{22}\\\end{bmatrix}= \begin{bmatrix}0\\1\\\end{bmatrix} [w21w22]=[01]
    W = [ w 11 w 21 w 12 w 22 ] = [ 1 0 0 1 ] W=\begin{bmatrix}w_{11}&w_{21}\\w_{12}&w_{22}\\\end{bmatrix}=\begin{bmatrix}1&0\\0&1\\\end{bmatrix} W=[w11w12w21w22]=[1001]

    因此,所谓的变换矩阵W,其实就是各维度(组)分量的加权求和
    在这里插入图片描述

    并且,一个用于变换的向量表示这个空间只有一个维度,实际就是一维空间
    例如变换向量B = [ 1 0 ] \begin{bmatrix} 1\\ 0\\ \end{bmatrix} [10]表示只有x这个维度,没有y维度
    二维向量A经过向量B的变换,表示A向量会根据B向量进行加权求和,结果为x维度值,并且删掉y维度
    在这里插入图片描述

    因此,就像是回到上边所说的一维空间
    所以说,一个变换向量B乘以另外一个向量A(两个向量相乘),实际在几何里就是降维:将高维向量降为一维的过程
    在这里插入图片描述
    但要注意,一般向量相乘时,一般用 B T A 表示, B^TA表示, BTA表示,
    即 B T A = [ 1 0 ] [ 3 4 ] = 3 即B^TA =\begin{bmatrix} 1&0\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix}=3 BTA=[10][34]=3,最终降成一维

    如果变换向量为B= [ 1 1 ] \begin{bmatrix} 1\\1\\ \end{bmatrix} [11]
    当B= [ 1 1 ] \begin{bmatrix} 1\\1\\ \end{bmatrix} [11]转置后,与A= [ 3 4 ] \begin{bmatrix} 3\\4\\ \end{bmatrix} [34]相乘时,代表什么呢?
    表示对A向量加权求和后,结果只呈现在x维度
    A向量中,3的权重系数是1,4的权重系数也是1,那么加权求和结果是7
    由于B只有一组权重系数,所以相当于只有一个维度的数据,即x维度数值为7

    在这里插入图片描述

    如果变换矩阵为B= [ 1 2 1 3 ] \begin{bmatrix} 1&2\\1&3\\ \end{bmatrix} [1123]
    当B= [ 1 2 1 3 ] \begin{bmatrix} 1&2\\1&3\\ \end{bmatrix} [1123]转置后,与A= [ 3 4 ] \begin{bmatrix} 3\\4\\ \end{bmatrix} [34]相乘时,代表什么呢?
    表示对A向量加权求和后,结果分别呈现在x、y两个维度上
    在x维度上的权重系数分别为1和1,对A向量加权求和即为1*3+1*4=7
    在y维度上的权重系数分别为2和3,对A向量加权求和即为2*3+3*4=18
    因此,最终A向量经过B矩阵的变换,最终变为新的二维向量 [ 7 18 ] \begin{bmatrix} 7\\18\\ \end{bmatrix} [718]

    在这里插入图片描述

    如果变换矩阵为B= [ 1 2 1 1 3 2 ] \begin{bmatrix} 1&2&1\\1&3&2\\ \end{bmatrix} [112312]
    当B= [ 1 2 1 1 3 2 ] \begin{bmatrix} 1&2&1\\1&3&2\\ \end{bmatrix} [112312]转置后,与A= [ 3 4 ] \begin{bmatrix} 3\\4\\ \end{bmatrix} [34]相乘时,代表什么呢?
    表示对A向量加权求和后,结果分别呈现在x、y、z三个维度上
    在x维度上的权重系数分别为1和1,对A向量加权求和即为1*3+1*4=7
    在y维度上的权重系数分别为2和3,对A向量加权求和即为2*3+3*4=18
    在z维度上的权重系数分别为1和2,对A向量加权求和即为1*3+2*4=11
    因此,最终A向量经过B矩阵的变换,最终变为新的三维向量
    低维升高维
    在这里插入图片描述

    所以几何中的变换矩阵与代数中权重系数的关系,其实是一致的

    `代数中的权重系数矩阵W,需要经过转置 W T W^T WT,即可转化为几何的变换矩阵

    几何功能效果:伸缩、旋转、伸缩+旋转

    前边只是通过代数,来理解向量矩阵相乘,在几何上的意义

    那么,向量矩阵相乘,为什么要投射到几何上认识呢?

    em。。。我问了一个自己也无法回答的问题。。。
    那先跳过这个问题吧,直接来看看它的几何效果

    首先是伸缩功能。

    伸缩功能,就是让向量在原空间里,保持一样的方向,只进行长度的改变。

    伸缩功能,也是要靠变换矩阵来实现的。

    例如要让向量 A = [ 3 4 ] A=\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A=[34]在x 和 y方向上各伸长β倍

    就需要左乘一个二维的变换矩阵 B = [ β 0 0 β ] = β [ 1 0 0 1 ] B = \begin{bmatrix} β&0\\ 0&β\\ \end{bmatrix}=β\begin{bmatrix} 1&0\\ 0&1\\ \end{bmatrix} B=[β00β]=β[1001]

    A ′ = B A = [ β 0 0 β ] [ 3 4 ] = [ β ∗ 3 + 0 ∗ 4 0 ∗ 3 + β ∗ 4 ] = [ 3 β 4 β ] A^{'}=BA = \begin{bmatrix} β&0\\ 0&β\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix}= \begin{bmatrix} β*3+0*4\\ 0*3+β*4\\ \end{bmatrix} =\begin{bmatrix} 3β\\ 4β\\ \end{bmatrix} A=BA=[β00β][34]=[β3+0403+β4]=[3β4β]
    在这里插入图片描述

    其次是旋转功能。

    单纯的旋转功能,是不改变原向量的长度(专业称模长,为什么要这么专业称呢,不是很接地气),只改变原向量的方向

    旋转功能,也是要靠变换矩阵来实现的。

    例如要让向量 A = [ 3 4 ] A=\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A=[34]在x分量,y分量长度不变为 S A S_A SA,但是要逆时针旋转θ度

    就需要左乘一个二维的变换矩阵 B = 1 S A [ c o s θ − s i n θ s i n θ c o s θ ] B = \frac{1}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix} B=SA1[cosθsinθsinθcosθ]

    A ′ = B A = 1 S A [ c o s θ − s i n θ s i n θ c o s θ ] [ 3 4 ] A^{'}=BA = \frac{1}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A=BA=SA1[cosθsinθsinθcosθ][34]

    在这里插入图片描述

    当然,上边是二维平面内的绕0点旋转的简单案例,实际还有三维空间上的绕轴旋转,绕0点旋转等等,如果可以推导出来,就可以用三维空间上的旋转变换矩阵,替换掉我曾经用土法进行的三维旋转甜甜圈
    好的!有空再推导一下,然后让甜甜圈用高级的三维旋转变换矩阵,来转圈圈~~
    …发散的脑子,果然会给自己挖坑…

    最后是旋转+伸缩

    旋转+伸缩,相当于让向量A进行两次矩阵变换

    先旋转 B 1 = 1 S A [ c o s θ − s i n θ s i n θ c o s θ ] B1 = \frac{1}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix} B1=SA1[cosθsinθsinθcosθ]

    • 旋转后 A ′ = B 1 A = 1 S A [ c o s θ − s i n θ s i n θ c o s θ ] [ 3 4 ] A^{'}=B_1A = \frac{1}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A=B1A=SA1[cosθsinθsinθcosθ][34]

    再伸缩: B 2 = β [ 1 0 0 1 ] B_2 = β\begin{bmatrix} 1&0\\ 0&1\\ \end{bmatrix} B2=β[1001]

    • 伸缩后 A ′ ′ = B 2 A ′ = β S A [ 1 0 0 1 ] [ c o s θ − s i n θ s i n θ c o s θ ] [ 3 4 ] A^{''}=B_2A^{'} = \frac{β}{S_A}\begin{bmatrix} 1&0\\ 0&1\\ \end{bmatrix}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A′′=B2A=SAβ[1001][cosθsinθsinθcosθ][34]

    根据矩阵乘法的性质, A ′ ′ = β S A [ c o s θ − s i n θ s i n θ c o s θ ] [ 3 4 ] A^{''}= \frac{β}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix}\begin{bmatrix} 3\\ 4\\ \end{bmatrix} A′′=SAβ[cosθsinθsinθcosθ][34]

    最终得到旋转θ度,伸缩β倍的变换矩阵为 β S A [ c o s θ − s i n θ s i n θ c o s θ ] \frac{β}{S_A}\begin{bmatrix} cosθ&-sinθ\\ sinθ&cosθ\\ \end{bmatrix} SAβ[cosθsinθsinθcosθ]

    矩阵和矩阵的乘法

    实际上,矩阵和矩阵的乘法,与向量和矩阵乘法的本质一样。

    例如,变换矩阵B与向量A的相乘:BA

    • 在代数意义上,是对向量A里的每个分量乘以对应的权重系数
    • 在几何意义上,是对向量A【改变维度】【旋转伸缩】等变换

    而,变换矩阵B与矩阵A的相乘:BA

    矩阵A,实际是由多个向量组成的矩阵

    向量A= [ 3 4 ] \begin{bmatrix} 3\\ 4\\ \end{bmatrix} [34],矩阵 A= [ 3 1 4 4 2 9 ] \begin{bmatrix} 3&1&4\\ 4&2&9\\ \end{bmatrix} [341249]由 3 个二维向量 [ 3 4 ] \begin{bmatrix} 3\\ 4\\ \end{bmatrix} [34] [ 1 2 ] \begin{bmatrix} 1\\ 2\\ \end{bmatrix} [12] [ 4 9 ] \begin{bmatrix} 4\\ 9\\ \end{bmatrix} [49]组合成的

    那变换矩阵B与矩阵A相乘,其实就是将矩阵A里的每一个向量,逐一进行矩阵B的变换

    例如变换矩阵B= [ 2 1 1 2 ] \begin{bmatrix} 2&1\\ 1&2\\ \end{bmatrix} [2112],与矩阵A= [ 3 1 4 4 2 9 ] \begin{bmatrix} 3&1&4\\ 4&2&9\\ \end{bmatrix} [341249]相乘,则相当于

    [ 2 1 1 2 ] \begin{bmatrix} 2&1\\ 1&2\\ \end{bmatrix} [2112] [ 3 4 ] \begin{bmatrix} 3\\ 4\\ \end{bmatrix} [34] [ 2 1 1 2 ] \begin{bmatrix} 2&1\\ 1&2\\ \end{bmatrix} [2112] [ 1 2 ] \begin{bmatrix} 1\\ 2\\ \end{bmatrix} [12] [ 2 1 1 2 ] \begin{bmatrix} 2&1\\ 1&2\\ \end{bmatrix} [2112] [ 4 9 ] \begin{bmatrix} 4\\ 9\\ \end{bmatrix} [49]

    对A矩阵里的每个向量,进行一样的旋转伸缩升降维等变换

    所以,矩阵与矩阵的乘法,

    • 从代数上看,是多组权重系数,与自变量的对应相乘
      在这里插入图片描述

    • 从几何上看,就是对向量进行批量的变换操作

    当我重新梳理完矩阵的旋转、伸缩里对应的几何意义后,我对奇异值,已经忘得差不多干干净净的了
    人类的海马体,就是这么不争气
    看看别的up主对奇异值分解的推导,很生动,很形象
    唯一的问题是,我还不是很理解一些矩阵的基础知识
    比如矩阵的特征分解,但要了解特征分解,还需要从另外一个视角,来认识矩阵与向量、矩阵与矩阵相乘

    ⭐坐标系变换:向量、矩阵乘法

    在前边的了解里,矩阵和矩阵,或矩阵和向量相乘,几何上是进行【升降维】【旋转伸缩】等变换效果。

    但最终变换后的矩阵,都是基于正交基坐标系构成的标准平面(xy构成)、标准空间(xyz)等

    而向量、矩阵乘法的几何意义,还可以从坐标系变换的角度看待。

    打个比喻,运动是相对的
    向量存在于一个平面、空间、超平面中,就像一个人存在于一个星球中。
    之前的几何视角,是标准坐标系 I I I固定,向量进行变换
    现在的几何视角,是向量固定,坐标系进行变换

    参考矩阵乘法:坐标系变换,仿佛顿悟,又带一些迷离

    按我看完后的理解,BA矩阵相乘,从坐标系变换的角度来看,B是一个坐标系

    矩阵B中的每一个向量,都是坐标系的基(但不是单位正交基),而A则是坐标系B中的一个向量

    啊~~~~国庆到啦~10天后再梳理吧

  • 相关阅读:
    Azure - 机器学习企业级服务概述与介绍
    10KM无人机高清图传通信模组,低延迟、抗干扰,飞睿智能无线MESH组网模块
    分享一些领英添加客户的话术
    让物体动起来,Unity的几种移动方式
    Vue考试题单选、多选、判断页面渲染和提交
    HC32L110(五) Ubuntu20.04 VSCode的Debug环境配置
    嵌入式 QT多界面切换
    第16篇:JTAG UART IP应用<三>
    Tomcat相关基础以及安装运行
    golang学习笔记系列之复杂数据类型
  • 原文地址:https://blog.csdn.net/weixin_50348308/article/details/132971527