以前に質問しましたが、duffymoがはっきりしないと言ったので、ここでもう一度投稿します。SVD計算にJamaapiを使用しています。私はジャマとSVDについてよく知っています。列が行より多い場合、Jamaは機能しません。私はこのような状況にあります。私は何をすべきか??何か助けはありますか?間違った結果を生成する可能性があるため、行列も転置できません。ありがとう。
PS:私はジャマの助けを借りてLSIを計算しています。私はcolumn(docs)とrows(terms)のようになります
私が正しく理解していれば、正方行列ではない行列のSVDを計算しようとしていて、正方行列でのみ機能するライブラリJAMAがありますか?私があなたを正しく理解していれば、あなたの質問に対する答えは明白です。非正方行列のSVDを計算するライブラリを入手してください。Numerical Recipesにそのようなアルゴリズムが含まれていることを正しく覚えていれば、Googleで他の多くのソースを見つけることができると思います。
なぜ転置を使わないのですか?X = USV' の場合、X' = VS'U' です。右?
行列を転置します。U、S、V を取得します。すべてを元に戻します。
LSIを使用しているため、JavaでSVDLIBCに相当するSVDLIBJを使用できます。これは、無料で入手できる最もスケーラブルなSVD実装の1つです。S-Spaceパッケージには、SVDLIBJ用のコマンドラインツールがすでに設定されています。また、Matrixライブラリを使用して、ニーズに適している場合はコマンドラインを回避することもできます。
私は今それは本当に遅い返事です。でも遅刻したほうがいいと思った
しかし、 jblas が効果的な方法でsvdを実行することは承知しています。