【问题标题】:How to make a regression that never underestimates but may overestimate?如何做出从不低估但可能高估的回归?
【发布时间】:2020-02-10 06:52:09
【问题描述】:

假设我正在制作一个人工智能,它使用多元回归来预测紧急情况下需要多少警车。当使用线性回归时,它高估了一半的时间,而低估了另一半的时间。但我不能低估,但如果高估也可以。我应该使用哪种方法来防止这种情况发生?

我正在使用 Python BTW。

【问题讨论】:

    标签: machine-learning statistics artificial-intelligence regression


    【解决方案1】:

    你不能做一个从不低估但可能高估的回归

    您需要能够为您的目标(需要的汽车)定义一个下限。而这对于你所要求的来说是不可能的。

    你可以得到例如倾向于高估的模型。例如,您可以根据目标的方差 计算一个添加到所需汽车数量的因素,这样您的模型就不会在 X% 的情况下低估。您将该因素设置得越高,您的低估率就越接近 0%。当然,您需要考虑到此过程会导致您的预测出现高估趋势。

    您还可以设置低估惩罚 - 这样低估错误比高估错误考虑 n 倍,这也会降低您的低估率,但不能确保您永远不会低估。但是你要么需要找到一个为你做这件事的损失函数,要么创建一个自己的损失函数。

    在您做出预测后,您总是会接到一个关于某件小事(例如某人院子里的小火)变成更大(燃气管爆炸)的电话的情况。而且您将无法创建一个将这种“无法预测”的场景考虑在内的 AI。

    【讨论】:

    • 据我所知,class_weights 通常是在不平衡数据集的上下文中......
    • 是的,但基本上这就是你想要的。在不平衡的数据集中,您希望更频繁地选择次要类。在这里,您希望高估而不是低估。问题是您必须在回归问题中以某种方式将其应用于损失函数。
    • 我同意,只是您使用的术语在我看来令人困惑。准确地说,你想要的是一个低于标准的惩罚术语 - 添加权重/类术语会使 OP 和我认为一般来说感到困惑。
    • 你在哪里,它是令人困惑的。我更新了答案以摆脱类权重术语,谢谢。
    猜你喜欢
    • 2017-12-01
    • 2010-11-04
    • 2017-05-04
    • 2021-01-03
    • 2016-07-14
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多