LSTM二分类用Sigmoid后predict_proba返回值超[0,1]范围求助
解决LSTM二分类任务中概率输出的困惑
嘿,先别慌!我仔细看了你贴出来的输出结果——其实这些数值完全在[0,1]的范围内,只是用科学计数法显示而已。
举个例子:你看到的1.1198873e-07其实等于0.00000011198873,是一个非常接近0的概率值;1.5407189e-11则是0.000000000015407189,同样远小于1,完全符合sigmoid输出的概率要求。
再给你几个关键知识点:
- 在Keras框架中,当你的模型最后一层是
Dense(1, activation='sigmoid')时,model.predict_proba(X_test)和model.predict(X_test)的输出是完全一致的,都是每个样本属于正类的概率值,范围天然就是[0,1]。 - 你当前的输出没有任何问题,只是科学计数法让数值看起来像是“超出范围”,本质上都是合规的概率。
如果之后真的遇到输出超出[0,1]的情况(目前你的情况不存在),那大概率是训练环节出了问题:比如模型未收敛、损失函数选错了(二分类必须搭配binary_crossentropy),或者数据没有做合适的归一化处理。但就你现在给出的结果来看,一切都是正常的~
内容的提问来源于stack exchange,提问作者shapiro
相关产品推荐
相关产品推荐

