【发布时间】:2015-02-13 03:06:06
【问题描述】:
我没有看到我的正则化线性回归代码有什么问题。 Unregularized 我有这个,我有理由确定这是正确的:
import numpy as np
def get_model(features, labels):
return np.linalg.pinv(features).dot(labels)
这是我的正则化解决方案代码,我看不到它有什么问题:
def get_model(features, labels, lamb=0.0):
n_cols = features.shape[1]
return linalg.inv(features.transpose().dot(features) + lamb * np.identity(n_cols))\
.dot(features.transpose()).dot(labels)
lamb 的默认值为 0.0,我的意图是它应该给出与(正确的)非正则化版本相同的结果,但实际上差异很大。
有人知道问题出在哪里吗?
【问题讨论】:
-
我正在开始正则化,正则化线性回归线会产生曲线吗?
-
没有。你仍然会得到线性系数。正则化只会改变斜率。
标签: python numpy machine-learning linear-regression