线性变换
顾名思义,所谓线性变换即某种变换满足线性性质:
投影变换、旋转变换满足线性,这种映射可以通过左乘矩阵完成。
如果要知道对整个空间的线性变换,只需要知道对基的变换结果即可,因为任意向量都可表示为基的线性组合:(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),那么用矩阵表示就是:
当然可以用上面的方法求矩阵,这里比较简单(A=egin{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),比如(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)。