代码之家  ›  专栏  ›  技术社区  ›  Phill Donn

如果用正态分布的目标值进行训练,非线性回归算法的性能会更好吗?

  •  2
  • Phill Donn  · 技术社区  · 10 年前

    在了解了可以应用于数据集目标值(y列)的许多转换后,如box cox转换,我了解到线性回归模型需要用正态分布的目标值进行训练,才能有效( https://stats.stackexchange.com/questions/298/in-linear-regression-when-is-it-appropriate-to-use-the-log-of-an-independent-va )

    我想知道这是否同样适用于非线性回归算法。目前,我已经看到kaggle上的人们通过使用xgboost,使用log转换来缓解异方差性,但他们从未提及是否也在使用它来获得正态分布的目标值。

    我试着做一些研究,我在吴恩达的讲稿中发现( http://cs229.stanford.edu/notes/cs229-notes1.pdf )在第11页,许多线性和非线性算法使用的最小二乘成本函数是通过假设误差的正态分布推导出来的。我认为如果误差应该是正态分布的,那么目标值也应该是。 如果这是真的,那么所有使用最小二乘成本函数的回归算法都应该更好地处理正态分布的目标值。

    由于xgboost使用最小二乘成本函数进行节点拆分( http://cilvr.cs.nyu.edu/diglib/lsml/lecture03-trees-boosting.pdf -幻灯片13)那么,如果我使用box-cox变换对目标值进行变换以训练模型,然后对输出应用反向box-cox-变换以获得预测值,那么该算法可能会更好地工作。 从理论上讲,这会产生更好的结果吗?

    2 回复  |  直到 9 年前
        1
  •  2
  •   mv_    9 年前

    你的猜测“我认为如果误差应该是正态分布的,那么目标值也应该是。”是完全错误的。所以你的问题根本没有答案,因为它不是一个有效的问题。

    目标变量根本没有正常的假设。

    转换目标变量并不意味着误差是正态分布的。事实上,这可能会破坏常态。

        2
  •  1
  •   Nimantha Thatkookooguy    4 年前

    我不知道这意味着什么:“线性回归模型需要用正态分布的目标值进行训练才能有效。”?

    线性回归模型是全局模型。它们只是将曲面拟合到总体数据中。操作是矩阵操作,因此“训练”模型的时间仅取决于数据的大小。目标的分布与建模性能无关。而且,这也与模型得分性能无关。

    因为目标通常是 不 正态分布,我当然希望机器学习算法不需要这样的分布就能有效地工作。