💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖
本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】
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=−N1i=1∑N[yilog(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