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])