我尝试了一个简单的神经网络(逻辑回归)来玩 Keras。在输入中,我有 5,000 个特征(一个简单的 tf-idf 矢量化器的输出),在输出层中,我只使用随机统一初始化和 为了 使用 sigmoid 激活函数进行正则化(非常标准)。
我使用 Adam 优化器,损失函数是二元交叉熵。
当我显示两个类的概率时,我最终得到如下结果:
之后我尝试添加一个隐藏层 激活函数、64 个节点以及用于正则化和初始化的相同参数。-- 编辑 -- 这里对于输出层我保持完全相同的参数(和激活函数)与前面的 NN 一样。-- 编辑结束 --
但是现在当我绘制这两个类的概率分布时,我最终是这样的:
很明显,我不明白为什么通过添加隐藏层将概率推到 0 或 1 ?
你有任何我可以阅读的参考资料,以便我理解背后的数学吗?这可能很棒!
此外,有时(对于另一个应用程序使用更“更深”的神经网络)我得到与第二个相同的图,但这次预测的概率介于 . 概率被推向一些“值”,但这些值更“集中”。不确定是否清楚。再次在这里我不明白这背后的现象是什么?我如何“调试”它以查看我的神经网络架构中的原因是什么?
此外,我如何“调整”我的 ANN 以获得“完美”的校准图(如在 scikit 网页中:https ://scikit-learn.org/stable/modules/calibration.html )?
预先感谢您提供的每一个可以启发我的答案:)