2017-06-23 9 views
-1

データ(画像シーケンス)にPCAを適用していますが、PCA(Matlab Toolbox)コマンドを使用して手動でマトリックスを作成し、SVDコマンドを使用すると結果が異なります。MatlabがPCA係数を計算する際にサインコンベンションを強制するのはなぜですか?

私はいくつかの検索を行った後、私はmatlabが係数計算のPCAコードにいくつかの記号規則を適用していることが判明しました。

答えて

1

this articleに記載されているように、記号のあいまい性の問題です。

特異値分解(SVD)および固有値分解(EVD)は十分に確立されており、最先端のアルゴリズムを介して計算することができるが、一般に固有の符号不確定性があることが言及されていませんそれらの結果から導かれる結論と解釈に大きな影響を与える可能性があります。 我々は、特異ベクトルと個々のデータベクトルとの内積の符号から特異ベクトルの符号を決定することにより、符号のあいまい性の問題を解決する。データベクトルは異なる向きを有することができるが、ベクトルの大部分が指す方向を選択することは、直観的で実用的な意味を持つ。これは、署名された内積の合計の符号を評価することによって見つけることができる。

関連する問題