首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tensorflow中使用weight_column时,如何正确地使用tf.estimator.DNNClassifier (或者如何使成本函数有偏差)?

在Tensorflow中使用weight_column时,如何正确地使用tf.estimator.DNNClassifier (或者如何使成本函数有偏差)?
EN

Stack Overflow用户
提问于 2018-01-26 11:56:32
回答 1查看 924关注 0票数 1

我正在使用docs/python/tf/estimator/DNNClassifier

假设我有分类问题。试图对两件事进行分类。Class1是快乐的脸,Class2不是快乐的脸。在这个特殊的场景中,当我每天查看1,000+样本时,我只想抓住前10位快乐面孔。所以说真的,我只想对前十名的面孔都是快乐面孔充满信心。所以如果它把一张快乐的脸归类为不快乐的脸,我会同意的。它可能会错过一些(或者非常诚实地说,它每天会复习1000多个中的100个)。然而,如果它错误地将不快乐的脸归类为快乐的脸.我不会对结果感到满意。

所以我们可以说:好= TP =(真)快乐脸,(预测)快乐脸坏= FP =(真)不开心脸,(预测)快乐脸好= TN =(真)不开心脸,(预测)不开心脸OK = FN =(真)开心脸,(预测)不开心脸

差不多,我可以忍受偶尔的FN (假阴性)。但我真的不想要FP (假阳性)

我感兴趣的是使用重量栏来“减肥”所有的一个类,和“超重”的另一个类。

最后,我想要某种有偏的损失/成本函数。在培训时,FP应该“花费”更多,FN,仍然应该花费,但要少一点。从DNNClassifier的角度来看,weight_column似乎是答案。

在培训时,我可以将所有的快乐脸设置为1.5+的重量(或者其他什么,需要进行实验)。我可以把所有不开心的脸都设为0.5 (或者其他什么)。

所以,这可以归结为几个问题:

  1. 这就是重量列的用途吗?
  2. 我看到权重列应该是一个特性/输入。在这种情况下,我不希望将权重列用作特性,因为我假设模型将获取权重与分类的相关性,并在很大程度上依赖于该输入作为预测器。那么,tensorflow是否使用权重列作为输入?我希望不是这样。
  3. 假设/希望TF不使用权重列作为输入,在预测/评估时,我传递给权重列的是什么?
  4. 如果weight_column不是答案,那么处理这样一个场景的推荐解决方案是什么(一个特定类的偏倚成本函数)?我不需要模型是100%准确的所有分类。但是对于一个班来说,当它说它是一张快乐的脸时,我希望它很有自信,它是一张快乐的脸。如果它错过了一些快乐的面孔,它认为它们不是快乐的面孔。没问题的。只要我每天都有10张“最快乐”的脸,我就很高兴:)

谢谢你的帮助。我很感激。

EN

回答 1

Stack Overflow用户

发布于 2018-01-29 17:23:56

我认为使用门限是处理FN和FP交易的更好方法。你可以这样做:

代码语言:javascript
复制
probability_of_1 = predictions from estimator
if probability_of_1 > YOUR_THRESHOLD:
  output = happy-face
else:
  output = not-happy-face
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48460913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档