3

word_iwordsと weightsを含む巨大なデータセットがありますweight[i,j]。ここで、 weight は単語間の「接続強度」です。

このデータを 2 値化したいのですが、単語のコード間のハミング距離がこの重みと相関するように、各単語のバイナリ コードを作成する既存のアルゴリズムがあるかどうかを知りたいです。

追加:
私が取り組んでいる問題は、ニューラル ネットワークまたは SVM に単語間の関連付けを教えたいということです。そのため、データを 2 値化することにしました。マルコフモデルやグラフだけを使用したくない理由は聞かないでください。それらを試して、ニューラルネットと比較したい.

そう、

  1. 与えられた単語「a」の NN が、最も近い関連性または設定された単語とその確率を返すようにします。

  2. 二値化して「ab」を入力として、重みを優先回答として作成しようとしましたが、これはうまく機能しませんでした。

  3. (重みの)しきい値をもう 1 ビット変更することを考えていました。このしきい値が小さいほど、より多くのビットが必要になります。

  4. 私は状況を持っています: a->b w1; b->a w2; w1>>w2 なので、方向が重要です。

4

1 に答える 1

1

あなたができることは、固定長、たとえばNビットのワードのトポロジで自己組織化マップ(SOM)を使用することです。たとえば、N = 8の場合、SOMのすべてのセルには正確に8つの隣接セルがあります(1つのビットが反転されています)。K [辞書] 単語がある場合、すべての [辞書] 単語を 0..1 の間の実数のベクトルとしてエンコードして、i 番目の単語の i 番目の要素が 1 に設定され、その他の要素が 0 に設定されるようにすることができます。任意の 2 つのベクトル a1...aK と b1...bK の合計による「距離」

 i,j : ai * bj * distance(ai, bj)

これにより、SOM アルゴリズムを実行するための距離メトリックが得られます。SOM が安定すると、メトリックで互いに近い [辞書] 単語はマップのトポロジーで互いに近くなり、そこから [バイナリ] 単語として自明にエンコードを取得します。

マップには、単語よりも多くのセルが必要であることに注意してください (つまり、2**N > K)。

もちろん、この回答は自己組織化マップの背景を前提としています。http://en.wikipedia.org/wiki/Self-organizing_mapを参照

于 2010-02-19T20:31:23.923 に答える