問題タブ [matrix-factorization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
387 参照

python - Pythonで定義済みのWとV(W*H ~= V)から行列HのNMFを計算するには?

W の基底スパース行列と V の入力行列があります (W*H ~= V)。H だけを取得したい場合、これを行う Pythonic な方法は何ですか?

更新: Nimfa で実行したところ、常に W と H の両方が返されることがわかりました。また、Scikitlearn もチェックしましたが、W と V を修正して H のみを返す方法を見つけることができませんでした。誰かがこれらのパッケージの使用方法または他の方法を指定してくださいこれを行う?

0 投票する
0 に答える
149 参照

c - CへのMatlab ldl(B,v)関数

Matlab コードを C コードに変換する作業を行っていますが、この行列因数分解の関数に遭遇しました。

ここでB、 は行列、Lは下三角、Dは上三角、 はpm順列です。因数分解の C 実装を見つけましたが、順列はありません。

どこで見つけられるか教えてください。

0 投票する
0 に答える
308 参照

scikit-learn - 「cdnmf_fast import _update_cdnmf_fast から」sklearn 並列モジュールを使用すると、並列化が機能しません。

(初めて質問するので、タグや説明が間違っていると思われる場合は、教えてください、ありがとう!)

私は作業を行っており 、モジュールが別のモジュールを Matrix Factorization使用するモジュールを使用しています。 このモジュールはファイルからのものです 。この Web サイトでソース コードを確認 できます/sklearn/decomposition/cdnmf_fast.pyx C 言語を使用していることがわかります。 with nogil:」なので、並列化を使用したに違いないと思います。したがって、次のようにテストするために同様のコードを記述します。sklearn.decomposition.nmffrom sklearn.decomposition.cdnmf_fast import _update_cdnmf_fastcdnmf_fast.so

期待される結果は、X=X+VW*U=0+V-0=V です。ただし、結果は奇妙で、np.dot() よりもはるかに遅いです。次に、このコードを並列化コードではなく、通常の Python コードに変更します。結果は以前と同じです。したがって、その並列化が機能していないと確信しています。Xを変更しながらXを使用しているため、結果はもちろん間違っています。並列化が機能しない理由がわかりません。モジュールのバグなのか、インポートの仕方のせいなのか。

実際、これは sklearn.decomposition.nmf モジュールを使用するときに心配になります。このモジュールをいつ使用するか、その並列化も機能していないかどうかはわかりません。そのため、並列化がどのように機能するかを知りたいです。

ご協力ありがとうございました!