目录
3、SparseCategoricalCrossentropy
6、sparse_categorical_crossentropy
Probabilistic losses
概率损失函数是用于衡量模型预测的概率分布与真实概率分布之间的差异的函数。这些函数通常用于分类问题,其中模型输出的是每个类别的概率。
1、BinaryCrossentropy
二元交叉熵损失函数是一种用于二分类问题的的损失函数,它衡量了模型预测的概率分布与真实概率分布之间的差异。
计算公式为:
L(y, y_pred) = -y * log(y_pred) - (1 - y) * log(1 - y_pred)
其中,y是真实标签,y_pred是模型预测的概率值。
示例:
# 真实标签
y_true = tf.constant([0, 1, 1, 0])
# 模型预测的概率值
y_pred = tf.constant([0.1, 0.9, 0.8, 0.2])
# 计算二元交叉熵损失
loss = keras.losses.BinaryCrossentropy()(y_true, y_pred)
print("二元交叉熵损失:", loss.numpy())
在使用二元交叉熵损失函数时,需要确保真实标签和预测概率值的数据类型相同,通常为浮点数。
2、CategoricalCrossentropy
用于计算多分类问题的损失
计算公式为:
CategoricalCrossentropy = -Σ(y_true * log(y_pred))
其中,y_true表示真实标签,y_pred表示预测概率。
示例:
from keras.models import Sequential
from keras.layers import Dense
from keras.losses import CategoricalCrossentropy
# 创建一个简单的神经网络模型
model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))
# 编译模型,设置损失函数为CategoricalCrossentropy
model.compile(optimizer='adam', loss=CategoricalCrossentropy(), metrics=['accuracy'])
# 生成模拟数据
import numpy as np