线性反投影(LBP)算法可用于形如:AX=Y的线性方程组的迭代求解中的迭代初值设定,其形式为:X=ATY,即将数据矩阵A的转置乘以结果向量Y得到。
从正则化的角度去理解他,从直观来说,因为迭代算法是一个慢慢趋于过拟合的过程,那么应该说LBP作为一个欠拟合,其正则化能力是很强的,正则化能力很强则意味着解对应的条件数很小,可是从公式上来看,设A的SVD分解为,
A=USVT
其中S是奇异值组成的对角矩阵,那么可以写出LBP算法的形式为,
X=VSTUTY,
问题来了,我们该怎么去计算在LBP算法下形如X=VSTUTY解得的X对应的条件数呢?若是使用:max(S)/min(S),那么对于一个病态问题而言,利用LBP得到的结果就是条件数很高了,其值会等于A的条件数,从而反馈问题本身的病态性,从其大小而言会认为第一步就趋于过拟合,这显然是不符合直观印象的,因为LBP应当是一个欠拟合状态,所以似乎上述定义LBP解对应条件数的方式有问题,请问LBP的解对应的条件数该怎样定义呢?
1个回答
$A=USV^T$,且$S_1>=S_2>=...S_N$,第一个分量是最大分量,对x的放大系数$S_1$最大。当求$A$的逆时,第N个分量需要更大的放大系数,所以一般线性回归中逆$A^{-1}$的奇异值(singular value)是$1/S_i$,也就是$A$的奇异值的倒数。因为$A^{-1}$的作用就是缩小被$A$放大的分量,放大被$A$缩小的分量。当$A$的条件数定义为$S_{max}/S_{min}=S_1/S_N$,则$A^{-1}$的条件数也应该定义为$S'_N/S'_1$(注意$S'$是$A^{-1}的奇异值$),也就是最小分量(第N个)和最大分量(第一个)放大系数的比。如果用$A^T=A^{-1}$,对应的条件数应该是$S_N/S_1$,很小,所以欠拟合。比如第一个分量,本应该乘以$1/S_1$,反而乘以$S_1$,所以离理想值差很远。
SofaSofa数据科学社区DS面试题库 DS面经