神经网络二元分类softmaxlogsofmax和损失函数

发布于 2025-01-11 19:36:27 字数 943 浏览 0 评论 0原文

我正在构建一个二元分类,其中我想要预测的类仅出现 <2% 的次数。我正在使用 pytorch

最后一层可能是 logosftmaxsoftmax

self.softmax = nn.Softmax(dim=1)self.softmax = nn.LogSoftmax(dim=1)

我的问题

  1. 我应该使用 softmax 因为它将提供总和为 1 的输出,并且我可以检查各种概率阈值的性能。这种理解正确吗?

  2. 如果我使用 softmax 那么我可以使用 cross_entropy 损失吗? 似乎建议使用一下就可以了

  3. 如果我使用logsoftmax那么我可以使用cross_entropy损失吗? 似乎表明我不应该。

  4. 如果我使用 softmax 那么还有比 cross_entropy 损失更好的选择吗?

     ` cross_entropy = nn.CrossEntropyLoss(weight=class_wts)`
    

I am building a binary classification where the class I want to predict is present only <2% of times. I am using pytorch

The last layer could be logosftmax or softmax.

self.softmax = nn.Softmax(dim=1) or self.softmax = nn.LogSoftmax(dim=1)

my questions

  1. I should use softmax as it will provide outputs that sum up to 1 and I can check performance for various prob thresholds. is that understanding correct?

  2. if I use softmax then can I use cross_entropy loss? This seems to suggest that it is okay to use

  3. if i use logsoftmax then can I use cross_entropy loss? This seems to suggest that I shouldnt.

  4. if I use softmax then is there any better option than cross_entropy loss?

        ` cross_entropy = nn.CrossEntropyLoss(weight=class_wts)`
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文