カーネルPCAの標準PCAに対する利点は何ですか?


18

カーネルSVDを使用してデータ行列を分解する論文にアルゴリズムを実装したい。そのため、カーネルメソッドやカーネルPCAなどに関する資料を読んでいます。しかし、特に数学的な詳細に関しては非常にわかりにくいので、いくつか質問があります。

  1. カーネルメソッドを使用する理由 または、カーネルメソッドの利点は何ですか?直感的な目的は何ですか?

    非カーネル法と比較して、実世界の問題でははるかに高い次元空間がより現実的であり、データ内の非線形関係を明らかにできると仮定していますか?資料によると、カーネルメソッドは、データを高次元の特徴空間に投影しますが、新しい特徴空間を明示的に計算する必要はありません。代わりに、特徴空間内のデータポイントのすべてのペアの画像間の内積のみを計算すれば十分です。では、なぜ高次元の空間に投影するのでしょうか?

  2. それどころか、SVDは機能スペースを削減します。なぜ彼らは異なる方向でそれを行うのですか?カーネルメソッドはより高い次元を求め、SVDはより低い次元を求めます。私には、それらを組み合わせるのは奇妙に聞こえます。私が読んでいる論文(Symeonidis et al。2010)によると、SVDの代わりにカーネルSVDを導入すると、データのスパース性の問題に対処でき、結果が改善されます。

ここに画像の説明を入力してください

図の比較から、KPCAがPCAよりも高い分散(固有値)の固有ベクトルを取得していることがわかります。固有ベクトルへの点の射影の最大差(新しい座標)については、KPCAは円であり、PCAは直線であるため、KPCAはPCAよりも大きな分散を取得します。それで、それはKPCAがPCAよりも高い主成分を取得するということですか?


3
答えよりもコメント:KPCAはスペクトルクラスタリングに非常に似ています-一部の設定では同じです。(例:cirano.qc.ca/pdf/publication/2003s-19.pdfを参照)。

返事が遅れて申し訳ありません。はい、あなたの答えは非常に啓発的です。
タイラー傲来国主14

回答:


24

PCA(次元削減手法として)は、データが限定されている低次元の線形部分空間を見つけようとします。しかし、データが低次元の非線形部分空間に限定されている可能性があります。それでは何が起こるでしょうか?

Bishopの「パターン認識と機械学習」の教科書(図12.16)から抜粋したこの図を見てください。

BishopのMLブックのカーネルPCA

ここのデータポイント(左側)は、主に2Dの曲線に沿って配置されています。PCAは、ポイントが直線に沿って配置されていないため、次元を2から1に減らすことはできません。それでも、データは「明らかに」一次元の非線形曲線の周りに配置されます。したがって、PCAは失敗しますが、別の方法が必要です。実際、カーネルPCAはこの非線形多様体を見つけて、データが実際にはほぼ1次元であることを発見できます。

これは、データを高次元の空間にマッピングすることにより行われます。これは確かに矛盾のように見える可能性があります(質問2)が、そうではありません。データは高次元の空間にマッピングされますが、その後、データの低次元の部分空間に置かれます。したがって、次元数を減らして減少させることができます。

「カーネルトリック」の本質は、実際に高次元の空間を明示的に考慮する必要がないため、この混乱を招く可能性のある次元の飛躍は完全に秘密裏に実行されます。ただし、考え方は変わりません。


いい答え。ただフォローアップの質問。上図のようにデータポイントが非線形の場合、PCAは機能せず、カーネルPCAが必要です。しかし、最初に、4つ以上の特徴を持つデータセットに対してデータポイントが非線形である場合、どのように知ることができますか(現実の場合)。このようなデータを視覚化するには、次元を減らす必要があります。つまり、PCAを使用して、データが非線形になる可能性があるため間違った次元を減らし、通常のPCAを使用して視覚化します。次に、PCAではなくカーネルPCAを使用するためにデータが非線形であるかどうかをどのように知るのですか
Baktaawar

ありがとう、@ユーザー。これはPCA / kPCAのアプリケーションに依存すると思います。たとえば、何らかの分類、回帰、またはクラスタリングアルゴリズムの前処理ステップとして適用された場合、この後続のアルゴリズムのパフォーマンスから、PCAとkPCAのパフォーマンスを判断できます。
アメーバは、Reinstate Monica

1
ありがとう@amoeba。しかし、私が尋ねたかったのは、上記のように、データが非線形である場合にkPCAを使用する必要があるということです。機能の3つ以上ですか。ディメンションに到達せずにそれを視覚化することはできません。それは鶏と卵の問題のようなもの
です-Baktaawar

2
@Baktaawar機械学習を行っている場合、視覚化せずに、モデルにそれ自体を学習させます。基本的に、内部リサンプリングループにKPCAステップを含め、カーネルをパラメーターとしてテストします。これには、線形カーネルや、テストする必要がある/できる余裕のあるものを含めます。
Firebug
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.