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