矩阵的条件数(condition number)

从优化或者数值计算的角度来说,L2 范数有助于处理 condition number 不好的情况下矩阵求逆很困难的问题。

κ(A)=AA1

如果方阵 A 是奇异的,那么 A 的 condition number 就是正无穷大了。实际上,每一个可逆方阵都存在一个 condition number。

对condition number来个一句话总结:condition number 是一个矩阵(或者它所描述的线性系统)的稳定性或者敏感度的度量,如果一个矩阵的 condition number 在1附近,那么它就是well-conditioned的,如果远大于1,那么它就是 ill-conditioned 的,如果一个系统是 ill-conditioned 的,它的输出结果就不要太相信了。

应用

w^=(XTX)1XTb

如果当我们的样本 X 的数目比每个样本的维度还要小的时候,矩阵 XTX 将会不是满秩的,也就是 XTX 会变得不可逆,所以 w^ 就没办法直接计算出来了。

如果加上L2规则项,就变成了下面这种情况,就可以直接求逆了:

w^=(XTX+λI)1XTb

matlab 相关实现

c = cond(X,p) % norm(X,p) * norm(inv(X),p)

References

[1] 机器学习中的范数规则化之(一)L0、L1与L2范数

你可能感兴趣的:(矩阵的条件数(condition number))