1

大文字を探す単純ベイズ分類器 (WEKA で実装) があります。

contains_A
contains_B
...
contains_Z

特定のクラスでは、トレーニング データのほぼすべてのインスタンスに LCD という単語が表示されます。「LCD」がそのクラスに属する確率を取得すると、0.988 のようになります。勝つ。

「L」の確率を取得すると、単純な 0 が得られ、「LC」の確率は 0.002 になります。機能は単純なので、L、C、D がそれぞれ独立して全体の確率に寄与するのではないでしょうか。その結果、"L" にはある程度の確率があり、"LC" にはある程度の確率があり、"LCD" にはさらに多くの確率がありますか?

同時に、MLP を使用した同じ実験では、上記の動作ではなく、0.006、0.5、および 0.8 のパーセンテージが得られます。

したがって、MLP は Naive Bayes に期待することを実行し、その逆も同様です。誰かがこれらの結果を説明できますか?

4

3 に答える 3

0

テキスト マイニングでは、tf.idf などの用語の重み付けと正規化を使用している場合、単語 (この場合は文字) に実際の数とは異なる重みが与えられる可能性があることに注意してください。たとえば tf.idf の場合、文字数は対数スケールに変換されます。また、すべての単一インスタンスに表示される文字は、idf 正規化を使用してペナルティを受ける場合があります。

データを Weka 機能に変換するためにどのオプションを使用しているかはわかりませんが、Weka にはそのような重み付けおよび正規化オプション用に設定するパラメーターがあることがわかります。

http://weka.sourceforge.net/doc.dev/weka/filters/unsupervised/attribute/StringToWordVector.html

-T 単語頻度を log(1+fij) に変換します。ここで、fij は j 番目のドキュメント (インスタンス) における単語 i の頻度です。

-I 各単語の頻度を次のように変換します。

于 2013-08-28T19:36:56.313 に答える
0

私は WEKA の内部構造に詳しくないので、間違っていると思われる場合は訂正してください。

テキストを「機能」として使用する場合、このテキストはバイナリ値のベクトルに変換されます。各値は 1 つの具体的な単語に対応します。ベクトルの長さは辞書のサイズと同じです。

ディクショナリに LCD、VHS、HELLO、WORLD の 4 つのワールドが含まれている場合、たとえばテキスト HELLO LCD は [1,0,1,0] に変換されます。

WEKA が辞書をどのように構築しているかはわかりませんが、例にあるすべての単語を網羅している可能性があると思います。「L」が辞書に存在しない限り(したがって、例に存在します)、その確率は論理的に0です。実際には、機能と見なすことさえできません。

実際には、機能の確率を推論することはできません。また、それらを合計することもできません。機能間にそのような関係はないと思います。

于 2013-01-23T16:45:21.647 に答える