考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

在使用 PolynomialFeatures(degree=3) 生成高阶特征后,紧接着在训练回归模型(Regressor)时使用随机梯度下降(SGD)。你会发现模型收敛极慢,甚至损失函数发散(NaN)。 为了解决这个问题,在构建 Scikit-learn 的 Pipeline 时,最合理的步骤顺序是:
A. StandardScaler -> PolynomialFeatures -> SGDRegressor
B. PolynomialFeatures -> StandardScaler -> SGDRegressor
C. PolynomialFeatures -> SGDRegressor (无需标准化,因为多项式变换不改变数据尺度)
D. Normalizer -> PolynomialFeatures -> SGDRegressor
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

考察特征变换对数值稳定性的影响及流水线构建最佳实践。 数值爆炸:假设原始特征x∈[0,10]。x^2∈[0,100],x^3∈[0,1000]。高阶项的数值范围(Scale)和方差会远远大于低阶项。 梯度下降的影响:SGD 对特征的尺度非常敏感。如果特征尺度差异巨大,损失函数的等高线会变成细长的椭圆,导致梯度下降在“峡谷”壁间震荡,收敛极慢或发散。 StandardScaler的位置: 如果在 Poly 之前缩放(A选项):假设 x 被缩放到 N(0,1) 。那么 x^2 将遵循卡方分布(非零均值,非单位方差), x^3也会改变分布。Poly 输出的特征依然尺度不一(虽然比原始好一点,但仍不理想)。 如果在 Poly 之后缩放(B选项):先生成所有高阶项,然后对每一列(包括 x, x^2 x^3 等)独立进行 Z-Score标准化。这确保了输入到 SGD 的每一个特征都拥有 0 均值和 1 方差,这是优化算法最理想的输入状态。 结论:在使用对尺度敏感的模型(如线性回归、SVM、神经网络)配合多项式特征时,务必在 Poly 之后 进行 Scaling。