問題タブ [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.
svd - SVD行列調整-元の空間から調整された空間に投影する方法は?
データのノイズ除去の一般的な方法は、行列を作成し、SVDを実行し、小さな特異値をゼロに設定してから、分解された行列部分を乗算して新しい行列を作成することです。これは、入力データを「調整」または「正則化」する1つの方法です。
元の行列空間にベクトルがある場合、そのベクトルを新しい条件付き空間にどのように投影しますか?
matlab - MATLABでデュアル縮退円錐曲線を使用したメトリック修正
次の方法で、投影歪みのある画像のメトリック補正を実装しています。
- 元の画像から、2組の平行線を見つけ、それらの交点(無限遠点の消失点)を見つけています。
- 円錐曲線にフィットする円上の5つの非同一線上の点を選択し、前述の点を使用して、その円錐曲線が無限遠直線と交差する場所を確認しています。
- これらの点を使用して、歪んだ二重縮退円錐曲線を見つけます。
理論的には、歪んだ円錐曲線はC *'= HC * H'(C *は二重縮退円錐曲線、'は転置、Hは私のホモグラフィ)によって決定されるため、SVDを実行してHを決定できるはずです。 *は、対角ゼロの最後の要素を持つ3x3の単位行列です。ただし、SVDを実行すると、対角行列にSVDが含まれません。一部の行列では、代わりにコレスキー分解を使用してこれを回避できます(C *'= HH'に因数分解します。これは、少なくともこれについてはほとんど問題ありません)が、これには正定値の行列が必要です。SVDで返される対角行列内のスケールをU行列とV'行列に同じに保ちながら均等に分散する方法はありますか?(例:U = V)。
これにはMATLABを使用しています。明らかな何かが欠けていると確信しています...
svd - svd 分解で友達を見つける
svd を使用して協調フィルタリング Recommender システムを実装しようとしています。私はすべての行列を持っていますUk
, Sk
, Vkt
. また、評価マトリックスもあります。
また、私はとを持っていuser A vector: {5, 3, 4, 4}
ますuser B: {2, 5, 1, 3}
ユーザー A と B の類似性を見つける方法を教えてください。
python - Python で特異値分解 (SVD) を解く
IDL プログラムを Python に変換しようとしています。SVD
次の方法で達成した結果を解決する必要があります
これは正常に動作し、IDL から適切に変換されています。次はIN IDL(!)
in python と IDL はほぼ同じです (他のu
マトリックスも同様です)。唯一の違いは次元です。IDL の行列の方が大きいですが、多くのゼロがあります。その意味で、Pythonのマトリックスはより圧縮されているようです。
Pythonについても同様のことを知っている人はいますか。
誰かがそれを必要とするなら、ここに のマニュアルがありますsvsol
。
svd - SVD 最適化式
行列 X (n by p) の特異値分解または主成分分析につながる凸最適化式 (目的関数) を知っている人はいますか?
python - 協調フィルタリングの行列分解 - 新しいユーザーとアイテム?
協調フィルタリングに行列分解を使用することについて読んでいますが、新しいユーザーまたはアイテムをシステムに追加したり、ユーザーに新しいアイテムを評価させたりする例を見つけることができないようです。このような場合、アイテムとユーザーの行列と因数分解を再計算する必要がありますよね? これは、多数のユーザーとアイテムでどのようにうまく機能しますか? それを回避する方法はありますか?
ありがとうございました
java - 高速で正確なスパースsvdライブラリ?
c、c ++、またはjavaのいずれかで高速なsvdライブラリを探しています。最終的にはJavaを使用していますが、jnaを使用してc ++をラップするのは非常に快適です(例:http ://github.com/hughperkins/jeigen)。
スパース行列を処理する高速なsvdライブラリを探しています。この目的を維持し、質問が主観的すぎるとマークされないようにするには、次のように言います。
- news20.binaryでの使用をターゲティングします。たとえば、 http: //mldata.org/repository/data/viewslug/news20binary/から
- 実行にはどれくらいの時間がかかりますか?
- たとえば、サイズ6または20のS行列の場合、どの程度の分散が保存されますか?
私はいくつかのライブラリを見て回ったところ、次のことがわかりました。
- matlab:超高速、約10秒ですが、実際には「ライブラリ」ではありません。平均二乗投影誤差:0.93
- redsvd:超高速、実行に約1秒、6つの機能の場合、平均二乗投影誤差は0.97であり、これは非常に高い値です。
- Eigenのsvdは非常に遅く、密な行列の場合のみです
- svdlibc:停止する前に28分間実行しました。最初の6つの機能だけでなく、完全なSを計算していると思います
基本的に、私はmatlabとほぼ同じ速度と平均二乗投影誤差、または少なくともある程度同等の速度と平均二乗投影誤差を提供するライブラリを探しています。
mahout - Mahout:新規ユーザーに推奨を行う方法
映画のレコメンデーションシステムにはMahoutを使用する予定です。また、モデル構築にはSVDを使用する予定です。
新しいユーザーが来たとき、私たちは彼/彼女に特定の数の映画(例えば10)を評価するように要求します。
問題は、この新しいユーザーに推奨を行うために、モデル全体を再構築する必要があることです。
これにもっと良い方法はありますか?
ありがとう
c# - **インデックスは配列の境界を超えていました**Meta.Numeric.Matricesを使用したSVD計算で
Meta.Numerics.Matricesを使用して行列を操作し、SVDを計算して
いますが、コンパイラがコードの最後の行に到達するたびに、
「SingularValueDecomposition singValDec = Qmultiply.SingularValueDecomposition();」インデックスが配列の境界を超えて
いるというエラーが表示されます。Qmultiply配列と残りの境界を再確認しました。デバッグしようとしましたが、エラーが解決しません。
誰かが私がこの問題を修正するのを手伝ってもらえますか?
svd - 特異値分解アルゴリズム
numpy ライブラリ (numpy-MKL-1.6.2.win-amd64-py2.7) の特異値分解アルゴリズムを使用しようとしていますが、この関数が正しくないことを提案します。この関数には次のステートメントがあります。
私の仮定は、Matlab の同じ関数との比較比較に基づいており、正しい答えが得られます。また、問題は V 行列の計算の誤りに関連していることもわかりました。
たとえば、行列 A があります。
pythonで私は受け取ります:
そしてMatlabで:
違いはそれほど明白ではありませんが、LLS の計算中に重要になります。どうすればこの問題を克服できますか?
OK、答えが見つかりました: [U,S,V]=svd(a) - Matlab U, S, Vh = linalg.svd(a), V = Vh.T - Python 多分私の質問は将来誰かを助けるでしょう.