トレーニングラベルの信頼度を使用して予測精度を向上させることはできますか?


9

バイナリ値でラベル付けされたトレーニングデータがあります。また、これらの各ラベルの信頼度を収集しました。つまり、0.8の信頼度は、人間のラベラーの80%がそのラベルに同意することを意味します。

この信頼性データを使用して分類子の精度を向上させることはできますか?

以下はうまくいくでしょうか?

  • 1a)ラベルが0で、そのラベルの信頼度データが0.8の場合、トレーニングデータに0.2の新しいラベルを付けます。

  • 1b)ラベルが1で、そのラベルの信頼性データが0.8の場合、トレーニングデータに0.8の新しいラベルを付けます。

  • 2)トレーニングセットのすべてのエントリに対して、この方法を使用して新しいラベルを計算します

  • 3)問題を回帰問題として扱います(ラベルの範囲は0〜1)。

  • 4)新しいラベルが特定の値の上か下かに基づいて、ラベルのないデータを分類します。つまり、すべての予測ラベルにX未満の場合はクラス0を、Xを超える場合はクラス1を指定します。

現在、モデルにRBFカーネルを備えたSVMを使用しています。

前もって感謝します!



今のところ、バイナリラベルを使用していますか?なぜうまくいかないのか分かりません。試して。データをトレーニングテストと検証テストに分割し、予測を増やすかどうかを確認します。
el Josso

回答:


4

はい、この信頼度データを使用することは可能です。しかし、私はあなたが言及するアプローチをお勧めしません。代わりに、別のアプローチを提案します。実際には、2つ提案します。最初のものは概念的にクリーンです。2番目はおそらく実装が簡単です。そして、それらはおそらく実際にはほぼ同等です。

損失関数を調整する

損失関数を調整して、トレーニングデータに対する信頼スコアを反映できます。

(p0,p1)p0p1x(1,0)(0,1)

0.8x(0.8,0.2)(0.8,0.2)x

これで、この調整された損失関数を最小化することで分類器をトレーニングでき、すべての情報が信頼スコアに直接組み込まれます。

ウェイトを使用する

または、重みを使用して信頼度情報を反映できます。

一部の分類子では、トレーニングセットの各インスタンスの重みを指定できます。特定のインスタンスの予測ミスは、その重みに比例してペナルティが課されるため、正しい重みを付けるには重要度が高くなり、重要度を下げると重要度が低くなるという考え方です。または、同等に、トレーニングプロシージャは、重みの高いインスタンスでのエラーを回避するためにより厳しく試みます。

x0.8(x,0)0.8x(x,1)0.2x

重みをサポートする分類子の場合、これは簡単に実装できるはずです。

それが効果的かつ合理的であることを示すこともできます。たとえば、クロスエントロピー損失を使用して分類子をトレーニングする場合、重みを使用するこのアプローチは、上記で強調した損失関数を調整することと同じです。したがって、その特定のコンテキストでは、2つのアプローチは実際には同等です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.