問題タブ [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.
python - 行と列を入れ替えたスパース コレスキー分解
私はPythonのscikits.sparse.cholmodを使用して、対称行列のコレスキー分解を取得しています。
cholesky()の結果を matlab のchol()と比較しました。結果には、一部の行と列が交換された不一致があります。因数分解を繰り返して固有値を取得しようとしていますが、この不一致は問題があるようです。
これが私のコードです:
そして、最初の反復の下三角行列は次のとおりです。
そして、matlabの下三角行列は次のとおりです。
matlab の結果は、正しい固有値につながるため、もっともらしいものです。Pythonで疎行列のタイプを選択するのに何か間違っていますか?
numpy - Python Numpy Matrix 更新の混乱
これは私の行列因数分解コードの一部です (nmf の非常に奇妙なバージョン)。私の問題は、反復するたびに W と H マトリックスの古いコピーを保存しますが、W が毎回更新を終了した後に old_W と W を比較すると、実際には同じです! したがって、実際のエラー出力は常に 0 であり、while ループは最初の反復後に停止します。ただし、「#print old - new」は、要素 W[r][i] が実際には毎回更新されていることを示しています。私が見ていないのは何ですか?
machine-learning - 協調フィルタリング - 行列分解とピアソン相関
レコメンデーション エンジンの場合、これらの手法 (行列分解: ALS、ピアソンまたはコサイン相関) の長所と短所、および使用する手法をどのように決定するか。
python - PythonでNimfaのモデルを使用して回転を制御できますか?
非負の行列因数分解を実行するために Nimfa パッケージを使用していますが、回転を制御する方法があるかどうかを知りたいです。
つまり、因子分析の回転のあいまいさを近似するパラメーター (Positive Matrix Factorization の FPeak に似ています) を実装したい (結果として、分解で W と H が一意でなくなる: V = W*H)
r - foreach ループの出力を R NMF パッケージに保存する
この質問が以前に尋ねられたことを知っているので、申し訳ありませんが、答えのほとんどのバリエーションを試してみましたが、役に立ちませんでした。
foreach パッケージを使用して、一連のデータに対して NMF アルゴリズムのループを実行しています。ExtractFeatures 関数を使用して基底名のセットを抽出しようとしています。この関数は、各実行を、決定したランク数のリストとして出力します (私の例では 3)。
以下は私のコードです (NMF Vignette のサンプル データセットを使用しました)。
これにより、抽出された遺伝子のリストが次のように出力されます。
3ランで3回オーバーするもセーブしない。これらの出力を保存する方法について何か提案はありますか?
事前にありがとう、J
python - Pythonでforループを並列化する方法は?
アップデート1.0開始
電話すると思われる
関数に渡された引数ALS_Y/ALS_Xは参照ではなく、引数をコピーしました..したがって、XまたはYが非常にlarge matrixes、私の場合、それは6000*40またはそうです(そして、それは afor-loopであり、反復回数が であると仮定しましょう50 000...) 、メモリの制限を超えています。
そして、インデックスをパラメーターとして関数に渡すだけで、グローバル引数を使用してみました。
それは出力します: `
So, this means it still copiedあ`! さて、この問題を処理する方法はあるのでしょうか? 感謝!
アップデート1.0終了
以下は、行列因数分解の問題を解決するための Python のコードです。W = XY。ただし、以下のコードは効率が悪いので、並列版に変換できるといいのですが、GPU を使用するのが最適で、CPU も問題ありません。並列プログラミングの経験がないので、誰かアドバイスをもらえますか?
以下は、ALS を使用して行列を因数分解するコードです (交互最小二乗、詳細はこちら) 。
マルチプロセッシング ライブラリを使用した後、私のコードは次のようになります。
しかし、やや悲惨なことに、プログラムは常に静かにクラッシュしました...
以下は私のコードの全体です..それはすべて乱雑です. ここでは行列をランダムに生成するため、load_data get_errorandを無視してください..vec2str
linux - Windows で libFM を使用するには?
libFMの下ではなく、窓の下で使用する方法を誰かが説明できますLinuxか?
Windows バージョンをダウンロードlibFMしましたが、.exe ファイルをクリックすると、ウィンドウが飛び出して消えてしまいます。
誰かがWindowsでそれを使用する手順を共有できれば素晴らしいことです.
ありがとう