2

各ラベルが確率であるマルチラベルターゲットを持つ機械学習の問題に取り組んでいます。過去にマルチラベルの問題を扱ったことがありますが、各ラベルはバイナリでした。たとえば、ターゲットが一連の本のトピック (「Python」、「Machine Learning」、「Fairy Tales」、「Cooking」) である場合、Python の scikit Learn に基づく機械学習の本は [1, 1, 0、0]。

今、私が解決しようとしている問題について、私のターゲットはバイナリではありません。ターゲット自体は、[0.75、0.25、0、0] のような一連の確率です。ターゲットはクラウド ソーシング方式で作成されたと思います。これらの確率は、人々の判断のばらつきを反映しています。したがって、クラスの確率をバケット化する必要がない限り (つまり、p<0.5 ->0、p>=0.5 ->1)、ターゲットを 0 と 1 の間で制約する必要がある回帰問題に行き詰まります。任意のアイデアどのタイプのアルゴリズムを試すことができますか? Python の scikit Learn を使用しています。

ありがとう!

4

2 に答える 2

2

バイナリ ターゲット値を必要とせず、範囲 [0, 1] に制約されたターゲット値を簡単に処理できるため (つまり、シグモイドまたは tanh 活性化関数を使用する場合)、1 つのオプションは多層パーセプトロンを使用することです。出力を正規化して、複数のクラスの確率の合計が 1 になるようにすることもできます。

追加情報については、Web 上に多数のリソースがあります (「多層パーセプトロン確率出力」という用語で検索してみてください) が、ここまたはここから始めることができます。

于 2013-11-06T21:14:03.617 に答える
2

これらのクラウドソースの確率をラベルの重みとして扱うことができますか? 次に、線形分類器やブースティング アルゴリズムなど、ラベルの重みを考慮できるトレーニング アルゴリズムを検討できます。

たとえば、単純ベイジアン分類器を使用する場合、以前はラベルの重みが 1 の各ラベルを扱っていましたが、現在は各ラベルに分数のラベルの重みが関連付けられています。これがドキュメント分類のアプリケーションである場合、以下のように 2 つのトレーニング インスタンスのグラウンド トゥルース ラベルのセットがある可能性があります。

1. {News: 0.8, Sports: 0.5}
2. {News: 0.1, Sports: 0.8}

w1最初のインスタンスで 5 回、2 回目のインスタンスで 2 回出現する単語があるとします。

クラス ラベルが与えられた単語の確率を計算する場合はw1、次を実行します。

P(w1 | News) = (5*0.8 + 2*0.1) / (#of weighted occurrences of all words in all your News docs)
P(w1 | Sports) = (5*0.5 + 2*0.8) / (# weighted occurrences of all words in all your Sports docs)

モデルを学習するときに、ラベルの重みがどのように考慮されるかに注意してください。基本的に、単語が表示される回数に応じて割引クレジットが付与されます。

于 2013-11-06T22:17:56.807 に答える