機械学習:バイナリ予測にカテゴリクロスエントロピーまたはバイナリクロスエントロピー損失を使用する必要がありますか?


36

まず、バイナリ予測を実行する必要がある場合、ワンホットエンコーディングを実行して少なくとも2つのクラスを作成する必要があることに気付きました。これは正しいです?ただし、バイナリクロスエントロピーは、クラスが1つだけの予測に対してのみですか?ほとんどのライブラリ(TensorFlowなど)で通常見られるカテゴリクロスエントロピー損失を使用する場合、大きな違いはありますか?

実際、カテゴリクロスエントロピーとバイナリクロスエントロピーの正確な違いは何ですか?TensorFlowでバイナリクロスエントロピーの実装を見たことがないので、おそらくカテゴリー的なものも同じように機能すると思いました。


1
バイナリ分類の例machinelearningmastery.com/...:マルチクラス分類machinelearningmastery.com/...
user1367204

@ user1367204:multi-class-classificationへのリンクは、バイナリ分類にリダイレクトします。それはする必要があり、この1
user3389669

回答:


51

二項相互エントロピー損失は、m=2場合の多項相互エントロピー損失の特殊なケースです。

Lθ=1n=1n[yログp+1yログ1p]=1n=1nj=1myjログpj

ここで、インデックスサンプル/観察及びjインデックスクラス、およびy、サンプルラベル(LSHのバイナリ、RHS上のワンホットベクトル)でありpj01jpj=1jはサンプルの予測です。


3
多項クロスエントロピー損失で2つのクラスを使用している限り、本質的にバイナリクロスエントロピー損失を使用しているということですか?
infomin101

2
@leekwotsinうん
Monica

17

バイナリクロスエントロピーはマルチラベル分類用ですが、カテゴリカルクロスエントロピーは、各例が単一のクラスに属するマルチクラス分類用です。


3
あなたの声明の正当性は何ですか?なぜカテゴリクロスエントロピーをマルチラベル分類に使用しないのですか?
michal

それぞれが複数のクラスを含む複数のラベルがある場合はどうなりますか?
-slizb

1
これはまさに私が聞きたかったことですが、上司が聞きたいことではありません。少し説明がすごかったでしょう。
アディティア

2

次の3種類の分類タスクがあると思います。

  1. バイナリ分類:2つの排他的なクラス
  2. マルチクラス分類:3つ以上の排他的なクラス
  3. マルチラベル分類:非排他的なクラスのみ

これらから、私たちは言うことができます

  • (1)の場合、バイナリクロスエントロピーを使用する必要があります。
  • (2)の場合、カテゴリクロスエントロピーを使用する必要があります。
  • (3)の場合、バイナリクロスエントロピーを使用する必要があります。マルチラベル分類器は、複数の別々のバイナリ分類器と見なすことができます。ここに10個のクラスがある場合、10個のバイナリ分類子が個別にあります。各バイナリ分類器は独立してトレーニングされます。したがって、サンプルごとにマルチラベルを作成できます。少なくとも1つのラベルを取得する必要がある場合は、分類損失関数が最小のラベルを選択するか、他のメトリックを使用します。

マルチクラス分類はマルチラベル分類に似ていないことを強調したい!むしろ、マルチラベル分類器はバイナリ分類器からアイデアを借ります!

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