問題タブ [svd]

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 投票する
2 に答える
508 参照

java - ウィキペディアで定義されている Java SVD

ウィキペディアで説明されているように、特異値分解を実行する Java ライブラリを探しています。行列 A (m X n) から A = U*S*V' を取得します。ここで、U は mxm、S は mxn、V は nx n です。

誰でも私を助けることができますか?

colt や jama の svd の定義はウィキペディアの定義とは異なるため、回答しないでください。実際、colt は A = U*S*V' を返します。ここで、U は mxn、S は nxn、V は nx n です。

別の方法として、 colt を使用してウィキペディアの svd を計算するにはどうすればよいですか?

ありがとう

0 投票する
3 に答える
2060 参照

java - 大きなマトリックスでJavaでPCAを行う

pca で分析するデータを含む非常に大きな行列 (約 500000 * 20000) があります。これを行うには、ParallelColt ライブラリを使用していますが、共分散行列の固有ベクトルと固有値を取得するために特異値分解と固有値分解の両方を使用しています。しかし、これらのメソッドはヒープを浪費し、「OutOfMemory」エラーが発生します...

また、SparseDoubleMatrix2D (データは非常にまばらです) を使用してもエラーが残るので、どうすればこの問題を解決できますか?

ライブラリを変更しますか?

0 投票する
2 に答える
517 参照

recommendation-engine - 因数分解ベースの協調フィルタリングによるコンテンツ情報の統合

私はCFでいくつかの論文を読んでいて、ほとんどの最先端の方法が評価行列のみのさまざまな因数分解方法に基づいていることに気付きました。コンテンツ情報(ユーザーの特徴やアイテムの特徴など)を因数分解する代表的な作品があれば知りたいです。何か案は?

0 投票する
3 に答える
1399 参照

matlab - 最適な近似である零空間または一次元空間を効率的に取得する

私はsvd計算を使用してこれを行ってきました

ここで、Aの最後の列をヌルスペース近似として使用します。Aが非常に大きくなるので、これが私の計算を遅くしていることに気づきました。

null(A)の場合、ドキュメントはとにかくSVDを実行することを示唆しているようです。また、Aがフルランクの場合は動作しません。SVDは、最大の特異値を見つけ、次に次の値を見つけることによって進行しますが、私は最小の値が必要です。

これは大きなボトルネックのようです。これについての助けを本当に感謝します。MATLABを使用しています。

ありがとう。

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

python - scipyを使用してSVDを実行するとメモリエラーが発生する

LSIを使用して、ドキュメントを表すベクトルを生成しようとしました。Scipyライブラリのsvdパッケージを使用しています。しかし、プログラムはメモリエラーをスローします。私の行列のサイズは100*13057です。これは私の8GRAMには大きすぎますか?

この問題をstackflowで検索しました。64ビットOSに64ビットPythonをインストールするだけでよいと誰かが言った。(現在、64ビットOS上に32ビットPythonがあります)。しかし、すべてのライブラリを再インストールするのは簡単すぎます。別の意見は、スパース行列を変換することです。

それで、誰もがこの問題について考えを持っていますか?ありがとう!

コンコールのメッセージは次のとおりです。

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

scipy - scipy.sparse.linalg.svds が ValueError を返すのはなぜですか?

scipy.sparseパッケージを使用して疎行列で SVD を計算する方法を知っている人はいますか?

scipy.sparse.linalg.svds()を使用する必要があることはわかっています。

しかし、私は次のようにしました:

この例外がありました:

0 投票する
4 に答える
3633 参照

recommendation-engine - インクリメンタル SVD レコメンダー システムを使用してレコメンデーションを作成する方法

Simon Funk のアルゴリズムに従って構築されたレコメンデーション システムをテストしています。(Timely Dev によって書かれました。http://www.timelydevelopment.com/demos/NetflixPrize.aspx )

問題は、すべてのインクリメンタル SVD アルゴリズムが user_id と movie_id の評価を予測しようとすることです。しかし、実際のシステムでは、これによりアクティブなユーザーに新しいアイテムのリストが生成されるはずです。Incremental SVD の後に kNN を使用した人もいると思いますが、何かを見逃していなければ、Incremental SVD でモデルを作成した後に kNN を使用すると、パフォーマンスの向上がすべて失われます。

Incremental SVD/Simon Funk メソッドを使用した経験のある方は、新しい推奨アイテムのリストを作成する方法を教えてください。

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

java - LSA - SVD を見つけた後の手順

朝からかなりの数のチュートリアルを読みました。私の問題は、2 つのドキュメント間の類似性を見つけることです。この目的のために Java で LSA を使用することを楽しみにしています。

term-document マトリックスの作成を理解してから、SVD(Dimensionality gets Reduce) を適用します。結果として 3 つの行列が取得されます。これはばかげているように聞こえるかもしれませんが、私はかなり長い間これに固執してきました。2 つのドキュメント間の類似性を見つけなければならない場合、どうすればよいですか?

0 投票する
2 に答える
1018 参照

java - JAMA またはそれ以外の Java SVD

ポイントのクラウドがあり、最適なラインが必要です。JAMA を使用していますが、理由がわかりません。何かが機能していません。仕組みがわからないのは多分私です。私は Nx3 マトリックス (これは JAMA svd がサポートするものです) を持っており、Svd から適切なマトリックス V を取得します。必要なベクトルは、最大特異値に対応する右特異ベクトル (行または列 ?) です。このベクトルは、主な方向を表すと想定されています。

すべてのベクトルは最大の正の値として y を持つと想定され、x は正または負の両方であり、z は負であると想定されます。しかし、取得したベクトルの y 値が負の場合や、とにかく間違った方向を指している場合があります。

私のポイントの雲はかなり規則的で、すべてがほぼy軸に沿って配置されています(zは小さく負です)。したがって、主な方向性は非常に簡単に見つけられるはずです。しかし、それはまだ正しく機能していません。

この場合、右の行列 V の行ベクトル (列ベクトルも試しました) を取得しています。すでに「pointSet」から重心を差し引いています。

たぶん何も考えていないのだと思います。Idk たぶん、別の手法または別のライブラリを使用する必要があります。

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

r - QR分解、SVD(およびコレスキー分解?)を介して射影/ハット行列を計算します

PRで任意の N x J 行列の射影行列を計算しようとしていますS

私は次の関数でこれを実行しようとしています:

しかし、これを使用すると、次のようなエラーが発生します。

これは、 r-helphereなどの多くの場所で説明されているように、数値のアンダーフローおよび/または不安定性の結果であると思いますが、SVD または QR 分解を使用して問題を解決したり、この既存のコードをアクション。システムとしてソルブを書くことである提案されたコードも試しました:

しかし、それでもうまくいきません。任意の提案をいただければ幸いです。

直交ダミー変数の行列でこれをテストしようとしたが、まだ機能しないという理由だけで、行列が可逆であり、共線形性がないことはかなり確信しています。

また、これをかなり大きな行列に適用したいので、きちんとした一般的な解決策を探しています。