当我在回归问题中使用神经网络时,我有这个疑问 . 我使用sklearn.preprocessing中的 Imputers 和 Scale 方法预处理了我的列车和测试数据的预测变量(特征),但我没有预处理我的列车数据或测试数据的类或目标 .
在我的神经网络的体系结构中,除了具有 sigmoid 函数的最后一层之外,所有层都具有 relu 作为激活函数 . 我为最后一层选择了sigmoid函数,因为预测值介于0和1之间 .
tl;dr: 总之,我的问题是:我应该对神经网络的输出进行处理吗?如果我不使用sigmoid函数,我的输出值<0和> 1.在这种情况下,我该怎么办?
谢谢
1 回答
通常,如果您正在进行回归,则应在最后一层使用线性“激活” . Sigmoid函数将“更喜欢”接近0和1的值,因此模型输出中间值会更加困难 .
如果目标的分布是高斯分布或均匀分布,我会使用线性输出层 . 除非你有很大的目标,否则不需要进行去处理 .