python - 为什么不使用均方误差来解决分类问题?

标签 python keras lstm cross-entropy mean-square-error

我正在尝试使用 LSTM 解决一个简单的二元分类问题。我正在尝试找出网络的正确损失函数。问题是,当我使用二元交叉熵作为损失函数时,与使用均方误差(MSE)函数相比,训练和测试的损失值相对较高。

经过研究,我发现二元交叉熵应该用于分类问题,MSE 用于回归问题。然而,就我而言,通过 MSE 进行二元分类,我获得了更好的精度和更小的损失值。

我不确定如何证明这些结果的合理性。为什么不使用均方误差来解决分类问题?

最佳答案

我想用一个例子来展示它。 假设有一个 6 类分类问题。

假设, 真实概率 = [1, 0, 0, 0, 0, 0]

情况1: 预测概率 = [0.2, 0.16, 0.16, 0.16, 0.16, 0.16]

情况 2: 预测概率 = [0.4, 0.5, 0.1, 0, 0, 0]

案例1和案例2的MSE分别为0.1280.1033

尽管情况 1 正确预测了实例的类别 1,但情况 1 中的损失高于情况 2 中的损失。

关于python - 为什么不使用均方误差来解决分类问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56013688/

相关文章:

python - 更改python-pptx中部分文本的字体

python - 重定向 python 交互式帮助()

python - 在 Tensorflow 2.0 中的自定义训练循环中应用回调

python - LSTM 的 output_dim 如何与下一层的 input_dim 不同?

python - 预期 ndim=3,发现 ndim=2

python - Pyinstaller exe 文件有多大?

python - 如何防止 PyMySQL 转义标识符名称?

python - 如何知道是否发生欠拟合或过拟合?

python - 如何将二维数组转换为keras+LSTM需要的格式

python - 训练和加载的 Keras 序列模型给出了不同的结果