You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

线性回归中Min-Max缩放目标特征后出现负预测值的问题排查

印尼房价数据集线性回归缩放问题解决方案

一、仅缩放Y出现负预测值的问题

  • 本质原因:线性回归是无界模型,仅对Y做Min-Max缩放后,模型学到的线性关系在反缩放时,可能因输入X不在训练集X的覆盖范围内(或X偏小),导致预测值低于原始Y的最小值,反缩放后出现负数。
  • 直接修复:不要单独缩放Y,必须同时对X和Y做特征缩放——这不仅能解决负预测问题,还能提升梯度下降的收敛效率,避免未缩放时MSE过大的问题。如果临时需要处理负数,可以在反缩放后将预测值截断为0,但这只是权宜之计,优先采用同时缩放方案。

二、同时缩放X后预测值异常的排查步骤

1. 核对缩放与反缩放公式

Min-Max缩放的核心是用训练集的统计量(而非测试/输入数据的)进行转换:

  • 缩放公式:scaled = (raw - train_min) / (train_max - train_min)
  • 反缩放公式:raw = scaled * (train_max - train_min) + train_min
  • 常见错误:预测X=1时,误用输入X的min/max(而非训练集X的min/max)做缩放,或者反缩放时混用X和Y的统计量,都会导致结果异常。务必确保X和Y各自用训练集的min、max单独计算。

2. 检查梯度下降实现细节

  • 确认损失函数基于缩放后的Y计算:损失应为MSE = mean((Y_scaled_pred - Y_scaled_true)^2),如果误用原始Y计算损失,参数更新逻辑完全错误。
  • 调整学习率:同时缩放X和Y后,参数量级会大幅降低,原来未缩放时的学习率可能过小导致收敛慢,或过大导致震荡。建议从1e-2、1e-3开始尝试,同时绘制训练MSE曲线,观察损失是否稳定下降。
  • 不要遗漏偏置项:线性回归公式应为Y_scaled = w * X_scaled + b,漏掉偏置项会让模型拟合能力严重不足,导致预测值偏离合理范围。

3. 验证训练收敛性

  • 训练过程中每隔一定步数记录MSE并绘制曲线。如果损失没有趋于稳定,说明学习率不合适或参数初始化有问题,需要调整后重新训练。

三、优化建议

  • 尝试Z-score标准化(scaled = (raw - train_mean) / train_std),对异常值的鲁棒性比Min-Max更好,梯度下降的收敛速度也更稳定。
  • 先用sklearn的MinMaxScaler或StandardScaler完成缩放、训练、预测的全流程,得到基准结果,再对比自己的自定义实现,快速定位代码中的错误点。

内容的提问来源于stack exchange,提问作者Fauzan Anggito Wicakson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:11:03