8

私はruby​​ classifier gemを使用しています。その分類メソッドは、訓練されたモデルに対して分類された特定の文字列のスコアを返します。

スコアはパーセンテージですか?もしそうなら、最大差は100点ですか?

4

2 に答える 2

5

これは確率の対数です。トレーニング済みのセットが大きい場合、実際の確率は非常に小さいため、対数の比較が容易になります。理論的には、スコアはゼロに非常に近いものから負の無限大までの範囲になります。 10**score * 100.0実際の確率が得られますが、実際には最大差が100になります。

于 2011-02-04T04:15:26.463 に答える
3

実際、b がベースである典型的な単純ベイズ分類器の確率を計算するには、b^score/(1+b^score) です。これは逆ロジット (http://en.wikipedia.org/wiki/Logit) ですが、NBC の独立性の仮定を考えると、これらのスコアは高すぎたり低すぎたりする傾向があり、この方法で計算された確率は境界で累積されます。 . ホールドアウト セットでスコアを計算し、スコアに対して正確 (1 または 0) のロジスティック回帰を実行して、スコアと確率の関係をよりよく理解することをお勧めします。

Jason Rennie の論文から: 2.7 Naive Bayes の出力はしばしば過大評価されることが多い テキスト データベースには、10,000 から 100,000 の異なる語彙が含まれていることがよくあります。多くの場合、ドキュメントには 100 以上の用語が含まれています。したがって、複製の大きな機会があります。重複がどの程度あるかを把握するために、20 個のニュースグループ ドキュメントの 80% を使用して MAP Naive Bayes モデルをトレーニングしました。データの残りの 20% について p(cjd;D) (事後) 値を作成し、表 2.3 に maxc p(cjd;D) の統計を示します。値は非常に過度です。10 進数 9 桁に丸めると、テスト ドキュメントの 60% に事後数 1 が割り当てられます。ロジスティック回帰とは異なり、Naive Bayes は妥当な確率値を生成するように最適化されていません。ロジスティック回帰は、線形係数の同時最適化を実行します。十分なトレーニングデータを使用して適切な確率値に収束します。Naive Bayes は係数を 1 つずつ最適化します。独立性の仮定が成り立つ場合にのみ、現実的な出力が生成されます。特徴にかなりの重複情報が含まれている場合 (通常はテキストの場合)、Naive Bayes によって提供される事後分布は非常に過信的です。

于 2011-02-22T18:05:39.587 に答える