3

私はこのことについて何日も苦労してきました....しかし役に立ちませんでした。私はこの種の難易度はおろか、難しい数学もあまり得意ではありません。

プロジェクトの焦点は、いくつかのデータマイニング技術(デシジョンツリー、アプリオリ、kmeans)を実装することでしたが、卒業課題のためにPythonで宝くじの最大エントロピーアプリケーションを実装しようとしていました。もっと高度なことをする機会を逃してください....しかし、これは私には高度すぎると思います。

それで、私の質問は、次の論文の非線形方程式(8)をどのように解くことができるかです

参照 1: http://eprints.ecs.soton.ac.uk/901/01/paper05.pdf

この方法は、次の論文に基づいています

参照 2: http://www.stanford.edu/~cover/papers/paper91.pdf

どんな助けでも(理論的またはそうでない)、深く感謝します。ありがとう

4

1 に答える 1

4

式 7 から 9 を組み合わせて使用​​する必要があります。方程式で不明なのは、ラグランジュ乗数、つまりラムダだけです。それ以外はすべて、利用可能な経験的データに依存するため、単なる数値です。

ラムダの一連の値を指定すると、G(j,r) とヤコビアン J(j,i,r,s) を計算できます。次に、残差とヤコビアンがわかっている場合は、式 9 に示すニュートン法を使用して、連立方程式の根、つまり G(j,r) = 0 となるラムダの値を見つけることができます。

したがって、ラムダの値の初期推定を使用して他の項を計算し、それらの項を使用して推定を更新します。式 7 と 8 を使用するのに概念的な問題はまったくありません。値を差し込むだけです。ただし、これらは多くの数値を合計しているため、注意が必要です。

式 9 は、あまり明確に書かれていないため、少し注意が必要です。この論文では連立方程式について説明しているため、一般的に次のような線形方程式を解くことが期待されます。

J * d_lambda = -G

ここで、d_lambda は推測の変化のベクトル、G は関数の値のベクトル、J はヤコビ値の行列です。論文の表記はかなりごちゃごちゃしており、単純な表現であるべきものがわかりにくくなっています。統合インデックスaを導入してインデックスis のペアを置き換えることにより、より明確な形式にすることができます。著者は、メソッドの議論でこの変更について言及しており、4 ページの 2 番目の段落で複合指数を計算するための式を示しています。

全体として、手順は次のようになります (統合インデックスを使用)。

  1. 最初の推測として機能するラムダをいくつか選択します。たぶんゼロ、または乱数。
  2. G(a) と J(a,b) を評価します。
  3. 一次方程式系を解いて、推測の更新を取得します。
  4. 更新が推測に比べて小さい場合は、停止してください。それ以外の場合は、新しい推測を決定し、手順 2 に戻ります。

これは、Numpy を使用すると非常に実現可能に見えます。この論文では、並列コンピューティング戦略の使用について言及されていましたが、それは 10 年以上前のことです。今日では、はるかに小さな問題のように思えます。

于 2011-10-20T16:03:49.340 に答える