【问题标题】:Machine Learning Two class classification [closed]机器学习两类分类[关闭]
【发布时间】:2019-01-27 18:45:27
【问题描述】:

我在 Azure ML Studio 中构建了这个 ML 模型,它具有 4 个功能,包括一个日期列。

试图预测明天的价格是否会高于今天。更高 = 1,而不是更高 = 0

它是一个二类神经网络(带有 Tune 模型超参数)。

当我测试它时,我希望得到一个介于 0 - 1 之间的答案。当我将功能从 1 更改为 0 时,问题就来了。得到几乎类似的答案。

我认为如果 1 = 0.6 的得分概率 那么 0(具有相同的特征)应该给出 0.4 的分数

数据快照(是的,我知道我需要更多)

模型在“Over5”特征上进行了训练/调优,我希望在 0 -1 之间的范围内从二类神经网络模块中得到答案。

Score 模块也会产生介于 1 和 0 之间的结果。一切看起来都是正确的。

我更改了规范化方法(在评论者推荐后),但它并没有太大改变输出。

一切似乎都井井有条,但我的目标是预测一天完成“Over5”并导致 1 的可能性。

当我在 Over5 列中使用“1”测试模型时,我得到的预测值为 0.55...然后我用相同的设置测试了模型,只是将 1 更改为 0,我仍然得到相同的输出0.55...

我不明白为什么会这样,因为该模型是根据 Over5 功能进行训练/调整的。更改该列中的输入会产生不同的结果吗?

【问题讨论】:

    标签: machine-learning neural-network


    【解决方案1】:

    神经网络的输出不是概率(通常),因此这可能是您没有得到您正在寻找的“1 - P”结果的原因。

    现在,如果是简单的逻辑回归,你会得到概率作为输出,但我假设你说的是真的,并且你使用的是超级简单的神经网络。

    此外,您可能要改变的是偏差“特征”,这也可能导致模型在训练后为您提供相同的结果。老实说,这篇文章中的信息太少,无法确定发生了什么。我建议您尝试规范化您的功能并重试。

    编辑:您知道您的神经网络实际上是否有 2 个输出节点,还是只有一个输出节点?如果有两个,那么原始输出与哪个节点的输出更高无关紧要。如果它只是一个,我会考虑在某个地方设置阈值(比如 >0.5 意味着价格会上涨,但

    【讨论】:

    • 谢谢,我改变了规范化,但它产生了相同的结果。你能解释一下你的偏见特征是什么意思吗?
    • 我们所说的偏差“特征”是我们添加到网络中每一层的一些常数,允许我们将激活值向左或向右移动。 stackoverflow.com/questions/2480650/… 有一篇很棒的帖子,涵盖了偏见的用途。不过,我现在可以看到,您并没有改变偏置项,而是改变了 over5 特征。
    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 2021-04-28
    • 2023-04-04
    • 2021-04-14
    • 2017-12-25
    • 1970-01-01
    • 2011-10-04
    相关资源
    最近更新 更多