对于一个方程组:
AX=Y,其中A:N×N,X:N×1,Y:N×1;
设A有SVD分解:A=U∑VT,∑=diag(σ1,σ2,...,σN),则可得X的解写作:
X=V∑-1UTY,将其展开写易得,
X=Sum1:N(ViUiT(Yi/σi,i)),其中Vi、Ui是行向量,T表转置,Yi是Y的第i个元素,
可以发现,当奇异值σi,i越小时,解X对Y中的扰动就会越敏感,也就是说似乎我们可以直接用最小奇异值作为线性系统AX=Y中解X对Y中扰动的敏感程度,也即表征系统的病态性。既然如此请问为什么还要定义一个“矩阵条件数”来说明病态性呢?
1个回答
奇异值的相对大小比绝对大小更重要,矩阵条件数(condition number)更反映系统矩阵$A$的性质。举例说明:
线性方程$Ax+\epsilon=y$,$\epsilon$是高斯白噪声,在任意单位向量上投影后能量(方差)为1。
1. 当$\sigma_1\approx \sigma_N$且都很小,只要$|U_N^Ty|>|U_N^T\epsilon|$,也就是在最小分量上,信号$y$的能量比噪声$\epsilon$的能量大,信噪比大,$1/\sigma_N$也主要是放大信号。如果$|U_1^Ty|<|U_1^T\epsilon|$,说明信噪比太小。情况只能在生成信号时,放大信号$Ax$或降低噪音,提升整体信噪比。所以奇异值绝对值都很小的问题主要在生成信号时解决,很难在后期处理时解决,并且和$A$的特征无关。
2. 当$\sigma_1>> \sigma_N$,假设$\epsilon$是高斯白噪声,$|U_i^T\epsilon|=1$。此时$|U_N^T\epsilon|/\sigma_N >> |U_1^T\epsilon|/\sigma_1$,也就是噪声在最小分量上放大太多,如果$x$是图像的话会显示为有错误(artifact)而不是噪声。人眼是低通系统,会过滤一定的噪声,但是会认为artifact是真实的图像,所以这种危害比纯粹噪声更大。一般办法是加正则项,降低条件数,相对减小最小分量的放大系数。也可以认为最小分量上的信噪比小,可信度低,所以不能放大太多。
SofaSofa数据科学社区DS面试题库 DS面经