【问题标题】:Same vs Different Target Values for each sample for Regression in Machine Learning机器学习回归中每个样本的相同目标值与不同目标值
【发布时间】:2019-10-03 18:08:03
【问题描述】:

我是机器学习和学习回归基本概念的新手。通过放置一个带有目标值的输入样本示例可以很好地解释我的困惑。因此,例如(请注意,我所举的示例是一般情况,我观察了大型自定义图像数据集的性能和预测值。另外,请注意目标值不是浮点数。),我有:

xtrain = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
ytrain = [10, 10, 10, 20, 20, 20, 30, 30, 30, 40, 40, 40]

xtest = [13, 14, 15, 16]
ytest = [25, 25, 35, 35]

您可以注意到,三个(测试集中的两个)样本具有相似的目标值。假设我有一个包含一个 Flatten() 和两个 Dense() 层的多层感知器网络。网络在训练后预测测试样本的目标值都相同:

yPredicted = [40, 40, 40, 40]

由于预测值都相同,ytestyPredicted 之间的相关性返回 null 并给出错误。

但是当我有的时候:

xtrain = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
ytrain = [332, 433, 456, 675, 234, 879, 242, 634, 789, 432, 897, 982]

还有:

xtest = [13, 14, 15, 16]
ytest = [985, 341, 354, 326]

预测值为:

yPredicted = [987, 345, 435, 232]

这给出了非常好的相关性。

我的问题是,当每个输入具有不同的目标值时,机器学习算法中的什么东西或过程可以使学习更好?当大量输入具有重复值时,为什么网络不起作用?

【问题讨论】:

    标签: machine-learning neural-network regression


    【解决方案1】:

    为什么当大量输入具有重复值时网络无法工作?

    当然,这不是您的网络在显示的第一个数据集中表现不佳的原因。

    (你没有提供任何代码,所以这不可避免地会是一个定性的答案)

    仔细查看您的第一个数据集:

    xtrain = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    ytrain = [10, 10, 10, 20, 20, 20, 30, 30, 30, 40, 40, 40]
    

    不难得出结论,我们有一个单调(递增)函数y(x)(它不是严格单调的,但它在整个@ 987654324@ 提供范围)。

    鉴于此,您的模型绝对无法“知道”对于x > 12,函数的定性性质发生显着变化(而且相当突然) ,从您的测试集中可以看出:

    xtest = [13, 14, 15, 16]
    ytest = [25, 25, 35, 35]
    

    而且你不应该期望它以任何方式知道或“猜测”它(尽管许多人可能似乎相信,NN 不是魔法)。

    仔细观察您的第二个数据集,您会发现情况并非如此,因此网络在这里表现得更好也就不足为奇了;在进行此类实验时,确保我们将苹果与苹果进行比较,而不是苹果与橙子进行比较,这一点非常重要。

    您在此处尝试的另一个普遍问题和您的问题如下:神经网络不擅长外推,即在训练它们的数值域之外预测此类数值函数。详情请见Is deep learning bad at fitting simple non linear functions outside training scope?自己的回答

    这里最后一个不寻常的事情是您使用相关性;不确定您为什么选择这样做,但您可能有兴趣知道,在实践中,我们从不使用预测结果和基本事实之间的相关性度量来评估模型性能 - 我们使用诸如均方误差 (MSE) 之类的度量(对于回归问题,例如您的问题)。

    【讨论】:

    • 你写了一个无意义的答案。
    • @RheateyBash 非常欢迎您详细说明,或提供替代方案
    • @RheateyBash 至少desertnaut 表现出勇气回答了一个被一些废话用户两次否决的问题。
    猜你喜欢
    • 2019-06-07
    • 2020-08-25
    • 2020-10-08
    • 2023-03-17
    • 2017-10-26
    • 2019-05-22
    • 1970-01-01
    • 2020-06-23
    • 2020-02-21
    相关资源
    最近更新 更多