zoukankan      html  css  js  c++  java
  • MIT Linear Algebra#6 Linear Transformations

    线性变换

    顾名思义,所谓线性变换即某种变换满足线性性质:

    [egin{cases} T(v+w)=T(v)+T(w)& ext{}\ T(cv)=cT(v)& ext{}\ end{cases} ]

    投影变换、旋转变换满足线性,这种映射可以通过左乘矩阵完成。
    如果要知道对整个空间的线性变换,只需要知道对基的变换结果即可,因为任意向量都可表示为基的线性组合:(v=c_1v_1+c_2v_2+...+c_nv_n)((c_1,c_2,...,c_n))是该向量在这组基下的坐标,那么(T(v)=c_1T(v_1)+...+c_nT(v_n))

    线性变换可以用矩阵表示,不同基下对应的矩阵是不同的,如果要求该矩阵:
    假设输入基是(v_1,...v_n),输出空间的基是(w_1,...w_m)(A)的第一列就是(T(v_1))(w)下的坐标,因为输入(v_1),其在(v)下的坐标就是(egin{bmatrix} 1\ 0\ ...\ 0 end{bmatrix})(A)乘以该坐标就是取(A)的第一列,同理可得其他列。
    容易验证(T=frac{d}{dx})也是线性变换,输入基如果选择(1,x,x^2),输入是(c_1+c_2x+c_3x^2),那么输出是(c_2+2c_3x),输出基是(1,x),那么用矩阵表示就是:

    [Aegin{bmatrix} c_1\ c_2\ c_3\ end{bmatrix}=egin{bmatrix} c_2\ 2c_3\ end{bmatrix} ]

    当然可以用上面的方法求矩阵,这里比较简单(A=egin{bmatrix} 0 & 1 & 0\ 0 & 0 & 2\ end{bmatrix})

    基变换

    选择合适的基,可以对图像进行压缩:
    对于原始信号(x),可以通过基变换得到另一组基下的坐标(c),这一步是无损的,这些系数里可能含有大量的0,通过去掉这些项可以压缩大小,这一步是有损的,即(hat x=Sigma hat c_iv_i)
    目前比较好的有Fourier基和小波基,都是将原始图片分割为若干小块处理。
    8*8Fourier基:

    [egin{bmatrix} 1 & 1 &... & 1 \ 1 & w&... & w^{n-1} \ ... & ... & ...\ 1 & w^{n-1}&... & w^{(n-1)^2} \ end{bmatrix} ]

    8*8小波基:

    [W=egin{bmatrix} 1 & 1 &1 & 0 & 1&0&0&0\ 1 & 1 &1 & 0 & -1&0&0&0\ 1 & 1 &-1 & 0 &0&1&0&0\ 1 & 1 &-1 & 0 &0&-1&0&0\ 1 & -1 &0& 1 &0&0&1&0\ 1 & -1 &0 & 1 &0&0&-1&0\ 1 & -1 &0 & 1 &0&0&0&1\ 1 & -1 &0 & 1 &0&0&0&-1\ end{bmatrix} ]

    标准基下的像素值在基变换后:

    [p=egin{bmatrix} p_1\ ...\ p_8\ end{bmatrix}=Wegin{bmatrix} c_1\ ...\ c_8\ end{bmatrix}=Wc ]

    所以在新的基下的坐标是(c=W^{-1}p)
    就性能而言:我们需要(W^{-1})可以快速求得,这一点(W^{-1}=W^T);另外还要求只需要少量基向量就可以逼近原始信号。

    左右逆/伪逆

    对于满秩的情况(r=m=n),左逆和右逆都存在,即(AA^{-1}=I=A^{-1}A)
    对于列满秩(r=n<m),比如(egin{bmatrix} 1 & 2\ 1 & 3\ 2 & 4\ end{bmatrix})(A_{left}^{-1}=(A^TA)^{-1}A^T)
    对于行满秩(r=m<n)(A_{right}^{-1}=A^T(AA^T)^{-1})
    对于不满秩的情况(r<m,r<n),这样不论(A^TA)还是(AA^T)都是奇异的,所以不可能有左逆或者右逆。这种情况在统计学上多次出现,就提出了伪逆的概念,记作(A^+)
    找伪逆可以通过SVD,(A=USigma V^T),这里我们的特征值是不完整的,即(Sigma_{mn}=egin{bmatrix} sigma_1 & ... & 0&0 \ ... & ... & ...&0\ 0 & ... & sigma_r &0\ ...\ 0 & ... & 0&0 \ end{bmatrix}),那么(Sigma_{nm}^+=egin{bmatrix} 1/sigma_1 & ... & 0&0 \ ... & ... & ...&0\ 0 & ... & 1/sigma_r &0\ ...\ 0 & ... & 0&0 \ end{bmatrix}),这样(A^+=VSigma^+U^T)

    作业

  • 相关阅读:
    php上传excle文件,csv文件解析为二维数组
    transition的使用
    数组
    快捷键
    SCSS历史介绍与配置
    18-async函数
    this的指向问题
    媒体查询
    13-Set和Map数据结构
    15-Iterator和for…of循环
  • 原文地址:https://www.cnblogs.com/EIMadrigal/p/13023866.html
Copyright © 2011-2022 走看看