详解Keras3.0 Losses:Probabilistic losses(概率损失)

本文详细介绍了几种常见的概率损失函数,包括二元交叉熵、多分类交叉熵(Categorical和Sparse)、Poisson分布和KL散度,以及它们在深度学习中的应用场景和计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Probabilistic losses

1、BinaryCrossentropy

2、CategoricalCrossentropy

 3、SparseCategoricalCrossentropy

4、Poisson class

5、binary_crossentropy 

6、sparse_categorical_crossentropy 

7、KLDivergence class


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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘起性空、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值