训练模型时,您能否权衡某些数据点的权重?

时间:2019-07-03 23:18:57

标签: tensorflow machine-learning neural-network classification

例如,我正在尝试创建一个分类器以将句子分类为好还是坏。我的数据集为50%good和50%bad。我宁愿错误地将其错误分类为好,而不是错误地将其分类为坏。

有什么方法可以做到这一点,并确保当错误地将坏句子与好句子进行分类时,对参数的更新没有那么重要吗?

我想到的一种解决方案是使用常规分类器,而无需进行任何修改,然后仅更改阈值以说,如果分类良好的可能性高于40%而不是正常的50%,我们将预测分类为良好。我不确定这是否会产生副作用,并且在培训过程中直接对其进行修改是否会更好。

1 个答案:

答案 0 :(得分:0)

使用加权交叉熵。
在二元互熵[-(p)log(q)-(1-p)log(1-q)]中,
-(p)log(q)项用于判断真实数据为真(1到1)
-(1-p)log(1-q)项用于判断错误数据为假。 (0至0)
因此,如果您想拥有假阳性而不是假阴性,
您可以加权-(p)log(q)项。

请参阅tensorflow文档。
https://www.tensorflow.org/api_docs/python/tf/nn/weighted_cross_entropy_with_logits