Ruby で局所的に重み付けされたロジスティック回帰アルゴリズムを実装しようとしています。私の知る限り、現在このアルゴリズムのライブラリは存在せず、利用できる情報もほとんどないため、困難でした。
私の主なリソースは、Dr. Kan Deng の論文であり、その中で彼はアルゴリズムを非常に簡単な詳細で説明しています。ライブラリに関するこれまでの作業はこちらです。
B
(ベータ)を計算しようとすると、問題が発生しました。私が理解していることから、特定のポイントのローカル重みを表すベクトルですB
。(1+d x 1)
その後、pi
そのポイントの (正の出力の確率) は、そのポイントの に基づくシグモイド関数ですB
。を取得B
するには、ニュートン ラフソン アルゴリズムを特定の回数 (おそらく 10 回以内) 再帰的に使用します。
66 ページの式 4-4、つまりニュートン ラフソン アルゴリズム自体は、私には意味がありません。X
と W が何であるかについての私の理解に基づいて、は と一致しない行列である(x.transpose * w * x).inverse * x.transpose * w
必要があります。したがって、これが機能する唯一の方法は、e がベクトルである場合です。(1+d x N)
B
(1+d x 1)
(N x 1)
しかし、67 ページの上部の写真の下で、Deng 博士は e は比率であると言っていますが、これは私には意味がありません。e オイラー定数ですか? その比率が常に 2.718:1 であるのはたまたまですか? いずれにせよ、説明はそれがベクトルであることを示唆していないようで、私は混乱しています.
の使用pi'
も私を混乱させます。式 4-5 は、B に関するシグモイド関数の導関数であり、定数にベクトルを掛けたもの、またはベクトルを与えます。ただし、私の理解では、pi'
は数値であり、w を掛けて、重みアルゴリズム W の対角線を形成することになっています。
ここでの 2 つの主な質問は、e
67 ページには何があり、それは私が必要とする行列であり、式 4-51xN
はどのようにして数値になるのでしょうか?pi'
これは答えるのが難しい質問であることは承知しています。よろしい回答があれば、数日後に戻ってきて 50 ポイントの報奨金を差し上げます。デン博士に電子メールを送ろうと思っていたのですが、1997 年以降、彼がどうなったのかを知ることができませんでした。
誰かがこのアルゴリズムの経験があるか、他のリソースを知っている場合は、どんな助けでも大歓迎です!