线性变换
顾名思义,所谓线性变换即某种变换满足线性性质: \[
\begin{cases}
T(v+w)=T(v)+T(w)& \text{}\\
T(cv)=cT(v)& \text{}\\
\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\)下的坐标就是\(\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}
c_1\\
c_2\\
c_3\\
\end{bmatrix}=\begin{bmatrix}
c_2\\
2c_3\\
\end{bmatrix}
\] 当然可以用上面的方法求矩阵,这里比较简单\(A=\begin{bmatrix}
0 & 1 & 0\\
0 & 0 & 2\\
\end{bmatrix}\)。
基变换
选择合适的基,可以对图像进行压缩:
对于原始信号\(x\),可以通过基变换得到另一组基下的坐标\(c\),这一步是无损的,这些系数里可能含有大量的0,通过去掉这些项可以压缩大小,这一步是有损的,即\(\hat x=\Sigma \hat c_iv_i\)。
目前比较好的有Fourier基和小波基,都是将原始图片分割为若干小块处理。
88Fourier基: \[
\begin{bmatrix}
1 & 1 &... & 1 \\
1 & w&... & w^{n-1} \\
... & ... & ...\\
1 & w^{n-1}&... & w^{(n-1)^2} \\
\end{bmatrix}
\] 88小波基: \[
W=\begin{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=\begin{bmatrix}
p_1\\
...\\
p_8\\
\end{bmatrix}=W\begin{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\),比如\(\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\)。