例如,我正在尝试创建一个分类器以将句子分类为好还是坏。我的数据集为50%good
和50%bad
。我宁愿错误地将其错误分类为好,而不是错误地将其分类为坏。
有什么方法可以做到这一点,并确保当错误地将坏句子与好句子进行分类时,对参数的更新没有那么重要吗?
我想到的一种解决方案是使用常规分类器,而无需进行任何修改,然后仅更改阈值以说,如果分类良好的可能性高于40%而不是正常的50%,我们将预测分类为良好。我不确定这是否会产生副作用,并且在培训过程中直接对其进行修改是否会更好。
答案 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)