分类任务
用得最多的是交叉熵损失函数 交叉熵(Cross-Entropy) 是衡量模型预测概率分布与真实分布差异的指标,值越小表示预测越准。
交叉熵损失函数 是 交叉熵 在机器学习中的具体应用形式。
- 多分类任务
- 使用softmax将logits转换为概率的形式
- 多分类的交叉熵损失也叫做softmax损失
- cce = tf.keras.losses.CategoricalCrossentropy()
- 二分类任务
- 使用sigmoid激活函数
- 使用二分类的交叉熵损失函数
- bce = tf.keras.losses.BinaryCrossentropy()
回归任务
-
常用的损失函数有以下几种:
- MAE损失(L1 Loss)
- mae = tf.keras.losses.MeanAbsoluteError()
- MAE损失(L1 Loss)
-
- MSE损失(L2 loss)
- tf.keras.losses.MeanSquaredError()
- MSE损失(L2 loss)
-
- smooth L1 损失
- tf.keras.losses.Huber()
- smooth L1 损失
从上图中可以看出,该函数实际上就是一个分段函数,在[-1,1]之间实际上就是L2损失,这样解决了L1的不光滑问题,在[-1,1]区间外,实际上就是L1损失,这样就解决了离群点梯度爆炸的问题。通常在目标检测中使用该损失函数。