Keras 如果我想预测0-1区间的连续结果,我应该使用哪种输出激活和损失?

Keras 如果我想预测0-1区间的连续结果,我应该使用哪种输出激活和损失?,keras,autoencoder,loss-function,continuous,activation-function,Keras,Autoencoder,Loss Function,Continuous,Activation Function,我想预测连续变量(自动编码器)。由于我已将输入按最小最大值缩放到0-1间隔,在输出层中使用sigmoid激活是否有意义?Sigmoid不对应于MSE损失。有什么想法吗 使用sigmoid激活和回归损失,如均方误差或均方绝对误差使用sigmoid激活和回归损失,如均方误差或均方绝对误差总结:如果不确定,使用binary\u crossentropy+sigmoid。如果大多数标签是0或1,或非常接近,请尝试mae+hard\u sigmoid 说明: 损失函数定义模型的优先级;对于回归,目标是最

我想预测连续变量(自动编码器)。由于我已将输入按最小最大值缩放到0-1间隔,在输出层中使用sigmoid激活是否有意义?Sigmoid不对应于MSE损失。有什么想法吗

使用
sigmoid
激活和回归损失,如
均方误差
均方绝对误差
使用
sigmoid
激活和回归损失,如
均方误差
均方绝对误差

总结:如果不确定,使用
binary\u crossentropy
+
sigmoid
。如果大多数标签是0或1,或非常接近,请尝试
mae
+
hard\u sigmoid


说明

损失函数定义模型的优先级;对于回归,目标是最小化预测与地面真实值(标签)的偏差。当激活范围在0和1之间时,MSE将起作用

但是,;它可能不是最好的——特别是对于规范化数据。下面是[0,1]间隔的MSE与MAE的曲线图。主要区别:

  • MSE对微小差异的惩罚远小于MAE
  • MSE对较大差异的惩罚,w.r.t.其自身对小值的惩罚远大于MAE
由于上述原因:

  • MSE-->模型在不“非常错误”方面更好,但在“非常正确”方面更差
  • MAE-->该模型在预测所有平均值方面更为出色,但并不介意“非常错误”的预测
就激活而言-硬sigmoid可能工作得更好,特别是当您的许多值等于或非常接近0或1时,因为它可以等于0或1(或接近它们),比sigmoid快得多,这应该作为一种正则化形式,因为它是一种线性化形式(->权重衰减)


二进制交叉熵:通常应该工作得最好(w/sigmoid)

从某种意义上说,它是两个世界中最好的:它更“均匀分布”(在非渐近区间上),并且强烈惩罚“非常错误”的预测。事实上,BCE对此类预测的要求比MSE要严格得多——因此,在“1”标签上预测的“0”应该很少(验证除外)。因为不言而喻的原因,请确保不要使用硬乙状结肠


自动编码器:努力重建其输入。根据应用程序的不同,您可以:

  • 需要确保没有一个单一的预测具有太大的意义。例:信号数据。一个极其错误的时间步可能会超过一个原本出色的整体重建

  • 具有噪声数据,并且更喜欢对噪声更鲁棒的模型

  • 根据上述两种情况,特别是(1),BCE可能是不可取的。通过更“平等”地对待所有标签,MAE可能更适合(2)


    MSE与MAE之比

    乙状结肠与硬乙状结肠的对比


    二进制交叉熵vs.MSE vs.MAE
    y==0
    为BCE显示的情况)


    摘要:如果不确定,请使用
    二进制交叉熵
    +
    乙状结肠
    。如果大多数标签是0或1,或非常接近,请尝试
    mae
    +
    hard\u sigmoid


    说明

    损失函数定义模型的优先级;对于回归,目标是最小化预测与地面真实值(标签)的偏差。当激活范围在0和1之间时,MSE将起作用

    但是,;它可能不是最好的——特别是对于规范化数据。下面是[0,1]间隔的MSE与MAE的曲线图。主要区别:

    • MSE对微小差异的惩罚远小于MAE
    • MSE对较大差异的惩罚,w.r.t.其自身对小值的惩罚远大于MAE
    由于上述原因:

    • MSE-->模型在不“非常错误”方面更好,但在“非常正确”方面更差
    • MAE-->该模型在预测所有平均值方面更为出色,但并不介意“非常错误”的预测
    就激活而言-硬sigmoid可能工作得更好,特别是当您的许多值等于或非常接近0或1时,因为它可以等于0或1(或接近它们),比sigmoid快得多,这应该作为一种正则化形式,因为它是一种线性化形式(->权重衰减)


    二进制交叉熵:通常应该工作得最好(w/sigmoid)

    从某种意义上说,它是两个世界中最好的:它更“均匀分布”(在非渐近区间上),并且强烈惩罚“非常错误”的预测。事实上,BCE对此类预测的要求比MSE要严格得多——因此,在“1”标签上预测的“0”应该很少(验证除外)。因为不言而喻的原因,请确保不要使用硬乙状结肠


    自动编码器:努力重建其输入。根据应用程序的不同,您可以:

  • 需要确保没有一个单一的预测具有太大的意义。例:信号数据。一个极其错误的时间步可能会超过一个原本出色的整体重建

  • 具有噪声数据,并且更喜欢对噪声更鲁棒的模型

  • 根据上述两种情况,特别是(1),BCE可能是不可取的。通过更“平等”地对待所有标签,MAE可能更适合(2)


    MSE与MAE之比

    乙状结肠与硬乙状结肠的对比


    二进制交叉熵vs.MSE vs.MAE
    y==0
    为BCE显示的情况)


    具有二进制交叉熵的Sigmoid通常是一个不错的选择。你也可以使用MSE,没问题。二进制交叉熵用于二进制结果,它