TensorFlow 深度学习 | 常见的损失函数详解

内容分享1周前发布
3 0 0

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖

TensorFlow 深度学习 | 常见的损失函数详解

本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】


TensorFlow 深度学习 | 常见的损失函数详解

TensorFlow 深度学习 | 常见的损失函数详解

在深度学习模型的训练过程中,损失函数(Loss Function) 是衡量预测结果与真实结果差异的重要指标。
TensorFlow 为开发者提供了丰富的损失函数库,方便在不同任务场景下选择合适的函数。

本文将带你系统梳理 TensorFlow 中常见的损失函数及其应用场景。


🔹 一、损失函数的作用

在训练神经网络时,模型通过前向传播得到预测结果,损失函数会计算预测与真实标签之间的差距
随后,反向传播会利用损失值来更新权重,逐步让模型的预测能力提升。

简而言之:

损失函数越小,模型性能越好
不同任务需要不同的损失函数


🔹 二、分类任务中的常见损失函数

1. 二分类交叉熵(Binary Crossentropy)

适用于二分类问题,例如垃圾邮件识别、是否患病预测。

loss = tf.keras.losses.BinaryCrossentropy()

公式如下:

L = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L = -frac{1}{N}sum_{i=1}^{N} ig[ y_i log(hat{y}_i) + (1-y_i)log(1-hat{y}_i) ig] L=−N1​i=1∑N​[yi​log(y^​i​)+(1−yi​)log(1−y^​i​)]

特点:

真实标签 y y y 只能是 0 或 1
模型输出值 y ^ hat{y} y^​ 通常为 Sigmoid 激活后的概率


2. 多分类交叉熵(Categorical Crossentropy)

适用于多分类任务,例如手写数字识别(MNIST)。

loss = tf.keras.losses.CategoricalCrossentropy()

特点:

输入标签为 one-hot 向量
模型输出一般经过 Softmax 激活


3. 稀疏分类交叉熵(Sparse Categorical Crossentropy)

与多分类交叉熵类似,但标签不是 one-hot,而是整数类别索引。

loss = tf.keras.losses
© 版权声明

相关文章

暂无评论

none
暂无评论...