gpt4 book ai didi

tensorflow - 如何在tensorflow中使用不同的损失函数,DNNLinearCombinedClassifier

转载 作者:行者123 更新时间:2023-12-03 10:03:29 26 4
gpt4 key购买 nike

我正在使用谷歌 tensorflow TensorFlow Wide & Deep Learning来预测点击率。该代码基于 wide_n_deep_tutorial.py .

但是,auc 不好。我检查了代码,发现在 DNN_Linear_Combined.py 中,损失函数定义为

loss = math_ops.reduce_mean(loss_unweighted, name=name)

在 CTR 预测中,训练数据是不平衡的。所以如果使用这种损失函数,在负类(多数类)中预测更多样本时损失会更好。

此外,预测的点击率比实际点击率高得多。 (真实的CTR不到1%,平均预测的CTR在30%左右。)

我的问题是:如何修改代码来使用logloss? TF提供这个吗?我检查了代码并发现了以下内容:

  1. 函数 math_ops.reduce_logsumexp 在 tensorflow/python/ops/math_ops.py
  2. 函数 _log_loss_with_two_classes 在 tensorflow/contrib/learn/python/learn/estimators/head.py

但是,第一个没有对 math_ops.reduce_sum 进行更改。而且我不知道如何使用第二个功能。

一句话,我的问题可以概括为:如何修改代码来使用logloss函数。

谢谢。

最佳答案

如果你只是想计算logloss,并且给出了loss,那么你可以像下面这样计算logloss,你不需要更改代码:

log_loss = math_ops.log(loss)

关于tensorflow - 如何在tensorflow中使用不同的损失函数,DNNLinearCombinedClassifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42646548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com