問題タブ [pca]
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.
r - Rでの主成分分析
関数を使用して、テストとトレーニングに分割された同じデータセットでデータセットから派生した教師なし主成分prcomp
を使用するにはどうすればよいですか?
r - 主成分分析のための固有ベクトルと固有値の計算
いくつかの 3D スキャンの主成分分析を実行しようとしていますが、固有値と固有ベクトルを計算して操作するときにスタックします。
スキャンは .obj ファイル形式です。
6449 個のベクトル、12894 個の顔、および 115 個のスキャンがあります。私の理解では、データは 3D であるため、組み込みprincomp
関数を使用できません。さらに、データ量が原因でラップトップでメモリの問題が発生する可能性があり、最終的に PCA を手動で実行する方法を学びたいと考えています。
これを実行するには5つの段階があると思います
- 平均 3D スキャンを計算します。バーX
- 各スキャンから平均を引きます。Xa - BarX = バー Xa
- Bar Xa * Bar Xa = Ma の行列を作成します。
- Ma の固有値と固有ベクトルを計算します。パ
- 平均形状 BarX を Pa に追加して、固有値と固有ベクトルに従って形状が変形するのを確認します。
これを単純化しすぎていないことを願っていますが、私は数学者/統計学者ではないため、これが私の現在の理解です.
ステージ 1 と 2 は単純なので実行しましたが、混乱しているのは次のステージです。
メモリの問題が発生するのではないかと心配しているので、x、y、z のマトリックスを個別に作成します。したがって、x * x の 6449x6449 の対角行列を作成しています。これは、最初のスキャンの x の行列を作成するために使用したコードです。
これを x、y、z に対して行います。次に、次を使用して固有値と固有ベクトルを計算します。
この段階では、私が行ったことが正しいかどうか確信が持てませんか? しかし、ここから、固有ベクトルと固有値を組み合わせて BarX に追加して形状の変形を確認する方法がわかりませんか?
誰かがアドバイスやガイダンスを持っていれば、それは本当にありがたいです.
前もって感謝します。
r - 最初のいくつかの主成分をスキップしてRでPCAプロットを行うにはどうすればよいですか?
PCA プロットを実行したいデータがいくつかあります。ただし、最初の 2 つの主成分は完全に 3 つの外れ値サンプル (32 のうち) によるものであり、これらをスキップして、3 番目から始まる主成分のみをプロットしたいと思います。これは可能ですか、それとも最初の 2 つの主成分をデータから差し引いて残りをプロットするために計算を行う必要がありますか?
c# - 8×8行列の固有ベクトルと固有値
浮動小数点数の 8 x 8 行列があり、そこから固有ベクトルと固有値を計算する必要があります。これは、PCA (主成分分析) を使用した機能削減のためのものであり、従来の方法で行うと非常に時間のかかる作業です。Y = C*X X は私の 8 X 8 行列です。
私はそれが間違っていることを知っていますが、それを理解することはできません。累乗法またはおそらくより効果的な計算方法を使用するための助けが必要です.
前もって感謝します。
visualization - サポートベクターマシンの背後にある本質的な哲学
私はたくさんの資料を読んでサポートベクターマシン(SVM)を勉強しています。ただし、そのほとんどは、線形、多項式、RBF /ガウスなどのいくつかのカーネルを使用して入力2Dデータをマッピングすることにより、入力2Dデータを分類する方法に焦点を当てているようです。
私の最初の質問は、SVMが高次元(nD)入力データを処理できるかどうかです。
私が見つけたものによると、答えはイエスです!
私の理解が正しければ、nD入力データは
- ヒルベルト超空間で構築された場合、それらのデータは次のようになります
- いくつかのアプローチ(PCAなど)を使用して単純化し、2D平面に投影して結合します。
- カーネル法はそれを適切な形にマッピングすることができ、そのような線や曲線はそれを区別するグループに分けることができます。
これは、ほとんどのガイド/チュートリアルがステップ(3)に焦点を合わせていることを意味します。しかし、私がチェックしたツールボックスの中には、入力データが2Dより大きい場合にプロットできないものがあります。2Dに投影した後のデータはどのようにできますか?
データの予測がない場合、どのように分類できますか?
私の2番目の質問は:私の理解は正しいですか?
r - R の主成分分析 (PCA) に関する一般的な質問
R で素敵な PCA プロットを作成したいと思います。いつものように、R では主成分分析を実行する方法がいくつかあります。これまでに、コンポーネントを計算する方法とそれらをプロットする 3 つの方法の 3 つの異なる方法を見つけました。これらの関数に精通している人が、次のプロットを生成するための関数の最適な組み合わせについてアドバイスをくれるかどうか疑問に思っていました:
- スコアプロット
- ローディングプロット
- 各主成分で説明された分散のヒストグラム/棒グラフ
R で PCA に使用される関数とプロットに関する私の調査の結果、次の結果が得られました。
機能:
- pca.xzy()
- prcomp()
- プリンコンプ()
- dudi.pca()
プロット:
- plot.pca (これは関数 pca.xzy() に属しているようです)
- ggplot2
- プロット
- バイプロット
また、次の Web ページを見つけました。
http://pbil.univ-lyon1.fr/ade4/ade4-html/dudi.pca.html
そして、ade4 パッケージの関数 dudi.pca が最も複雑なように見えるため、上記の他の関数のいずれかを使用して、各円の中心から始まる円と線を描画できるかどうか疑問に思っていました。
matlab - eigsまたはeigを使用して寸法を縮小する
2Dマトリックスに再編成した1024x704x256の画像があります。各行はエネルギーチャネルを表し、各列はピクセルを表します。コードでバンドの数を減らすためにPCAを実行しています:
ここで、A =平均調整済み2Dデータセット、V =固有ベクトルの行列、D=固有値の行列。
私の問題は、VとDの出力(eigまたはeigのいずれかを使用)が自動的に昇順になることです。小さいデータセットでこれらの関数を使用する前に、この問題が発生したことはありません。さらに分析するために、どのベクトル/値のペアが行列Aの行に対応するかを知る必要があります。何か案は?
machine-learning - 主成分固有ベクトルの固有値によって与えられる主成分分散
主成分分析で
主成分に投影されたデータが、なぜ主成分固有ベクトルに対応する固有値によって分散するのか疑問に思いました。
教科書に説明がありません。
java - 顔認識における主成分分析-python/java
主成分分析アルゴリズムを使用して顔認識を実行したい。自分でPythonまたはJavaでアルゴリズムを実装したいのですが、どこから始めればよいかわかりません。私が始めるためにいくつかのコードサンプル/チュートリアル/リファレンスをいただければ幸いです。