相互に排他的でないカテゴリを分類できる深層学習モデル


9

例:仕事の説明に「英国のJavaシニアエンジニア」という文があります。

私は2つのカテゴリとして、それを予測することは、深い学習モデルを使用したい:EnglishIT jobs。従来の分類モデルを使用する場合softmax、最後のレイヤーで機能を持つ1つのラベルのみを予測できます。したがって、2つのモデルのニューラルネットワークを使用して、両方のカテゴリで「はい」/「いいえ」を予測できますが、さらに多くのカテゴリがあると、コストがかかりすぎます。では、2つ以上のカテゴリを同時に予測するためのディープラーニングまたは機械学習モデルはありますか?

「編集」:従来のアプローチによる3つのラベルでは、[1,0,0]によってエンコードされますが、私の場合、[1,1,0]または[1,1,1]によってエンコードされます

例:3つのラベルがあり、文がこれらすべてのラベルに収まる場合。したがって、softmax関数からの出力が[0.45、0.35、0.2]である場合、3つのラベルまたは2つのラベルに分類する必要がありますか、それとも1つにすることができますか?それを行うときの主な問題は、1、2、または3つのラベルに分類するための適切なしきい値は何ですか?


softmax関数の代わりにシグモイド関数を使用する必要があります。複数のクラスをデータポイントに割り当てることができます。
NITISH MAHAJAN

回答:


6

このマルチラベル分類は、softmaxをシグモイドのアクティブ化に置き換え、損失関数としてカテゴリカルクロスエントロピーの代わりにバイナリクロスエントロピーを使用することで実現できます。次に、ラベルと同じ数の出力ユニット/ニューロンを持つ1つのネットワークが必要です。

ij

Li=jti,jlog(pi,j)

ti,j=0Li=jti,jlog(pi,j)j(1ti,j)log(1pi,j)


損失関数として、カテゴリカルクロスエントロピーの代わりにバイナリクロスエントロピーを使用する必要があるのはなぜですか。もっと説明できますか?今、私はシグモイドアクティベーション@robintiborを使用しています
voxter

私は答えに説明を追加しました@voxter
robintibor

鮮やかさ !ありがとうございました。また、あなたが私を説明したように、ディープラーニングの関数についてより多くの数学を説明するいくつかのドキュメントまたはチュートリアルを与えることができますか?
ボクスター2017

1
すごい。これらのチュートリアルが役立つ場合があります。neuralnetworksanddeeplearning.comdeeplearning.net/ tutorial deeplearning.stanford.edu/tutorial
robintibor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.