Numerical Instability Issues

Numerical Instability Issues

Content #

线性回归权值公式: \[w=\left(X^TX\right)^{-1}X^Ty\] 在添加新的特征时,新加的列有可能会是前几个列的组合,这种情况下,矩阵$X^TX$可能会是奇异的,无法求出逆矩阵。

现实中,新的列可能不会正好是其他列的组合,数据会有噪声,矩阵不是奇异的。然而求出的权重可能会有个别分量值特别大的情形。这种现象称为 Numerical Instability Issues.

解决办法是使用正则化技术(Regularization Techniques). 正则化的目的是为了让矩阵可逆。正则化在机器学习中意味着“控制”,即控制模型的权重(weights),使其不至于过大。

Ridge Regression的做法是将矩阵的对象元素添加增量: \[w=\left(X^TX+\alpha I\right)^{-1}X^Ty\] 用NumPy来实现:

XTX = X_train.T.dot(X_train)
XTX = XTX + 0.01 * np.eye(XTX.shape[0])

From #