顾名思义,所谓线性变换即某种变换满足线性性质:
投影变换、旋转变换满足线性,这种映射可以通过左乘矩阵完成。
如果要知道对整个空间的线性变换,只需要知道对基的变换结果即可,因为任意向量都可表示为基的线性组合:\(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\)下的坐标就是\(\begin{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\),那么用矩阵表示就是:
当然可以用上面的方法求矩阵,这里比较简单\(A=\begin{bmatrix} 0 & 1 & 0\ 0 & 0 & 2\ \end{bmatrix}\)。
选择合适的基,可以对图像进行压缩:
对于原始信号\(x\),可以通过基变换得到另一组基下的坐标\(c\),这一步是无损的,这些系数里可能含有大量的0,通过去掉这些项可以压缩大小,这一步是有损的,即\(\hat x=\Sigma \hat c_iv_i\)。
目前比较好的有Fourier基和小波基,都是将原始图片分割为若干小块处理。
8*8Fourier基:
8*8小波基:
标准基下的像素值在基变换后:
所以在新的基下的坐标是\(c=W^{-1}p\)。
就性能而言:我们需要\(W^{-1}\)可以快速求得,这一点\(W^{-1}=W^T\);另外还要求只需要少量基向量就可以逼近原始信号。
对于满秩的情况\(r=m=n\),左逆和右逆都存在,即\(AA^{-1}=I=A^{-1}A\);
对于列满秩\(r=n<m\),比如\(\begin{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=U\Sigma V^T\),这里我们的特征值是不完整的,即\(\Sigma_{mn}=\begin{bmatrix}
\sigma_1 & ... & 0&0 \ ... & ... & ...&0\ 0 & ... & \sigma_r &0\ ...\ 0 & ... & 0&0 \ \end{bmatrix}\),那么\(\Sigma_{nm}^+=\begin{bmatrix}
1/\sigma_1 & ... & 0&0 \ ... & ... & ...&0\ 0 & ... & 1/\sigma_r &0\ ...\ 0 & ... & 0&0 \ \end{bmatrix}\),这样\(A^+=V\Sigma^+U^T\)。
MIT Linear Algebra#6 Linear Transformations
原文:https://www.cnblogs.com/EIMadrigal/p/13023866.html