二元分类成本函数,神经网络

fil*_*lup 1 classification neural-network 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])
Run Code Online (Sandbox Code Playgroud)

然而,我的权重似乎没有正确收敛,因为我的验证错误在连续的 epoch 中增加。

我想知道我是否使用适当的成本函数来收敛适当的权重。注意到我的两个类非常不平衡并且我的预测变量已经标准化可能很有用

Lon*_*guy 5

我能想到的几个原因是:

  1. 你的学习率太高

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

  3. 您只使用了一层。可能是您使用的数据集需要更多层。所以连接更多的隐藏层。

  4. 玩弄层数和隐藏单元。