問題タブ [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 投票する
1 に答える
806 参照

machine-learning - svdを使用してアイテムに基づいてアイテムを推奨する方法

SVDに基づいてアイテムを推奨するモデルをトレーニングしましたuserId。ただし、アイテムリストではなくアイテムリストに基づいてアイテムを推奨する方法はありますuserIdか?

たとえば、アイテムのリストが与えられると[1,2,3,4,5]SVDモデルは最も類似したアイテムを検索します[9,10]。私の解決策は、入力から各アイテムに類似したアイテムを見つけ、[9,10]出力として共通のアイテムを取得することです。

あれは、

  • アイテム1に類似するアイテム[9,10,12]
  • 項目2に類似する項目は[9,10,13]です。

そのため、一般的な項目はですが[9,10]、それを行うためのより良い方法があるかどうかはわかりません。

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

analysis - 潜在意味解析(LSA)単一値分解(SVD)の理解

LSI(機械工学のバックグラウンド)についての私の控えめな理解を通して私と一緒に耐えてください:

LSIでSVDを実行すると、次の3つの行列ができます。

U、S、およびVの転置。

Uは単語とトピックを比較し、Sは各機能の強さの一種の尺度です。Vtはトピックとドキュメントを比較します。

SVDの前の元のマトリックスを返します。あまり(なし)詳細な代数を実行しないと、次のようになります。

用語ごとのマトリックスを返します。これは、用語間の比較を提供します。つまり、ある用語が他の用語とどの程度関連しているか、コンポーネントではなく単語を比較する種類のDSM(設計構造マトリックス)です。私は完全に間違っている可能性がありますが、サンプルデータセットで試してみたところ、結果は理にかなっているようでした。しかし、それはバイアスかもしれません(私はそれを機能させたかったので、私が望むものを見ました)。ドキュメントが保護されているため、結果を投稿できません。

私の質問は、これは意味がありますか?論理的に?数学的に?

時間/応答をありがとう。

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

svd - svd を使用した平面フィッティングの残差

特異値分解を使用して、一連の点 (X、Y、Z 座標) に最適な平面を当てはめています。だから私は使う

ここで、ポイントの残差が必要です。平面方程式を計算して残差を取得できることは知っていますが、u、s、v 行列から残差を取得する直接的な方法があるかどうかを尋ねたかったのですか?

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

r - R で SVD の列名を取得する

data というデータフレームで R で SVD を実行しています

を使用して結果をプロットします

プロットでは、列番号がデータフレームの列番号に対応していないことがわかりました(SVDで使用する列のサブセットに関係なく、最初の列は常に最高の分散を示します)。

私の質問は、プロットで列名 (または「実際の」インデックス) を取得するにはどうすればよいですか?

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

python - Pythonを使用して12 x 12マトリックスでnumpy.linalg.svdを使用する

12*12 マトリックスで SVD を実行したいと考えています。正常にnumpy.linalg.svd動作します。しかし、 u*s*v を実行して 12*12 行列 A を取り戻そうとすると、取り戻せません。

これらは私が使用したポイントです:

何か提案してください...

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

c# - 特異値分解 - ソーシャル ネットワーク分析

隣接行列で表されるノードの非常に大きなネットワークがあります。ネットワーク内のノードの数を減らして、より重要なノードを含めたいと考えています。SVD がこれを達成するのに役立つことを認識しており、ILNumerics ライブラリを使用して隣接行列で svd() メソッドを実行しました。

ネットワークの次元を削減するのに出力がどのように役立つかを誰かが簡単に説明してくれませんか? SVD プロセスでは、対角線上に ~2 から多くの 0 の範囲の値が降順で、同じサイズの行列が残ります。重要でないと見なされるどのディメンションを削除する必要があるかを知るにはどうすればよいですか?

私はこのプロセスを全体的に間違っている可能性が高いので、どんな助けも大歓迎です! オンラインの説明の多くは、すぐに非常に混乱します。

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

python - numpy svd から残差を取得する方法

numpy svd を使用してポイントのセットをフィッティングし、フィッティング関数の係数を持っています。アルゴリズムを理解しているので、途中でポイントの残差が計算され、それらを回復したいのですが、これを行う方法がわかりません。これらを取得する方法についてのガイダンスは大歓迎です。

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

matlab - 二次回帰で特異値分解(svd)を使用する

かなり大きなデータセットで2次回帰を行うために、svd(特異値分解)を使用して次の方程式を解きます。B(nx1)= A(nx3)* X(3x1)matlabを使用することを考えています。それ、何かヒントはありますか?目標は行列Xを計算することです

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

eigen - 固有値を使用したヌル空間の計算は間違っていますか?

Eigen ライブラリ ( http://eigen.tuxfamily.org ) を使用して、SVD 関数を使用して Null Space 計算を実行しています。出力をmatlabの「Null」関数と比較したところ、異なる結果が得られました。デバッガーでそれをステップ実行し、Eigen によって作成された V マトリックスと matlab からの V マトリックスを見ると、奇妙な違いがあります。

V 行列の左特異ベクトル (下の例では左 3 列) はほぼ同じですが、符号が入れ替わっています。右特異ベクトル (ヌル空間、下の右 3 列) はまったく似ていません。

何が原因でしょうか?SVD 関数の使い方が間違っていますか? 以下のコードと結果の例。

コードは次のとおりです。「入力」は通常の C++ 配列です。

結果の例を次に示します。

A(入力) =

V(マトラブ) =

V(固有値) =

ご協力いただきありがとうございます!

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

opencv - SVD を介してエッセンシャル マトリックスから翻訳を抽出する正しい方法

私は自分のカメラを調整し、固有パラメータ (K) を見つけました。また、ファンダメンタル マトリックス (F) を計算しました。

今 E= K_T* F * K 。ここまでは順調ですね。

ここで、Essential Matrix(E) を SVD に渡し、分解値 (U、W、V) を使用して回転と平行移動を抽出します。

** 質問) この時点で、2 つの方法が提案されており、どちらが本当に正しい答えを出すのか、特に翻訳に関して混乱しています。

最初の方法では、ここにリンクの説明を入力します。著者は、R、T を次のように計算することを提案しています。

ここに画像の説明を入力

しかし、2 番目の方法 [ http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf]では、著者は、以下に示すように +U 、 -U である T の別の式を提供しています。

ここに画像の説明を入力

openCv ライブラリを使用して C# .Net でこれを実装しています。どの変換式が正しいものか知っている人はいますか?