Neural network 二元分类代价函数,神经网络

Neural network 二元分类代价函数,神经网络,neural-network,classification,deep-learning,Neural Network,Classification,Deep Learning,我一直在调整深度学习来训练二元分类问题的逻辑回归模型的权重,教程使用了下面的负对数似然成本函数 self.p_y_given_x = T.nnet.softmax(T.dot(input, self.W) + self.b) def negative_log_likelihood(self, y): return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y]) 然而,我的权重似乎并没有正确地收敛,因为我的验证误差

我一直在调整深度学习来训练二元分类问题的逻辑回归模型的权重,教程使用了下面的负对数似然成本函数

self.p_y_given_x = T.nnet.softmax(T.dot(input, self.W) + self.b)

def negative_log_likelihood(self, y):  
    return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
然而,我的权重似乎并没有正确地收敛,因为我的验证误差在连续的时间段内不断增加


我想知道我是否使用适当的成本函数来收敛到适当的权重。请注意,我的两个类非常不平衡,我的预测值已经标准化了,这可能是有用的。我能想到的几个原因是:

  • 你的学习率太高了

  • 对于二元分类,尝试平方误差或交叉熵误差,而不是负对数似然

  • 您只使用了一层。可能是您正在使用的数据集需要更多层。因此,连接更多隐藏层

  • 玩转层数和隐藏单位


  • 我能想到的几个原因是:

  • 你的学习率太高了

  • 对于二元分类,尝试平方误差或交叉熵误差,而不是负对数似然

  • 您只使用了一层。可能是您正在使用的数据集需要更多层。因此,连接更多隐藏层

  • 玩转层数和隐藏单位


  • 我看不到交叉熵和对数似然之间的区别我看不到交叉熵和对数似然之间的区别