然而,研究多项式回归对于过程有一些疑问是一个挑战。我理解拟合曲线“线”可以更精确地跟踪数据的想法。但是在 scikit-learn 中看到以下 Python 代码:
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
x = 2 - 3 * np.random.normal(0, 1, 20)
y = x - 2 * (x ** 2) + 0.5 * (x ** 3) + np.random.normal(-3, 3, 20)
x = x[:, np.newaxis]
y = y[:, np.newaxis]
polynomial_features= PolynomialFeatures(degree=2)
x_poly = polynomial_features.fit_transform(x)
model = LinearRegression()
model.fit(x_poly, y)
y_poly_pred = model.predict(x_poly)
对我来说,这里我们“只是”将原始特征投影到二阶新多项式特征中,同时仍然拟合简单(直线)线。尽管如此,我们还是得到了以下带有神奇曲线的解决方案:
这里出现了我的问题:
- 当我们只引入一些新特征但仍然符合原始线性回归模型时,图 1 中的直线怎么会变成图 2 中的曲线?A 看不到为什么相同的估计器在案例 1 中能够找到曲线时却无法在案例 2 中找到曲线?在案例 2 的语法中没有提示估计器“好的,让我们现在应用曲线而不是直线”,对吧?
- 我读到多项式回归仍然是线性的,这句话的确切解释是什么?“线性”不是直线,而是曲线,这是要表达的意思吗?如果是这样,什么是“非线性”?
- 此外,在阅读了多项式回归的惩罚项后,我了解到高阶特征的引入具有系数趋于随幅度增长的效果。这在此处进行了说明:
我无法在这里弄清楚为什么一个特定的相同特征(如 x_1)的系数会增加,只是因为有更多的附加多项式(例如 x_2、x_3 等),而只是独自一人保持低位?相当混乱。







