You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Keras自定义混合损失中独立监控MSE与二元交叉熵指标?

独立监控自定义损失各组成部分的方法

你可以通过自定义Keras指标函数来分别监控MSE和二元交叉熵这两个损失组成部分,具体步骤如下:

  1. 定义两个单独的指标函数,分别对应数值部分的MSE和分类部分的二元交叉熵:
from tensorflow.keras.losses import mean_squared_error, binary_crossentropy

def numerical_mse(y_true, y_pred):
    # 提取数值数据对应的维度计算MSE
    return mean_squared_error(y_true[:, 0], y_pred[:, 0])

def binary_ce_metric(y_true, y_pred):
    # 提取二元分类数据对应的维度计算交叉熵
    return binary_crossentropy(y_true[:, 1], y_pred[:, 1])
  1. 在模型编译时,将这两个自定义指标加入metrics参数列表:
model.compile(
    optimizer='adam',  # 替换为你实际使用的优化器
    loss=loss,  # 你原来的自定义损失函数
    metrics=[numerical_mse, binary_ce_metric]
)
  1. 训练模型时,训练日志会实时显示这两个指标的数值,同时训练完成后,你可以从history对象中提取对应的数据做后续分析:
history = model.fit(x_train, y_train, validation_split=0.2, epochs=10)

# 查看训练集的MSE指标
print(history.history['numerical_mse'])
# 查看验证集的二元交叉熵指标
print(history.history['val_binary_ce_metric'])

这样就能在训练过程中独立监控两个损失组成部分的变化情况了。

内容的提问来源于stack exchange,提问作者Darren Rahnemoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:54:53