カーネルPCA(主成分分析)による最終的なデータ出力で適切なデータ分離をもたらすカーネルを選択する方法と、カーネルのパラメーターを最適化する方法は何ですか?
できればレイマンの用語を大いに歓迎し、そのような方法を説明する論文へのリンクもいいでしょう。
カーネルPCA(主成分分析)による最終的なデータ出力で適切なデータ分離をもたらすカーネルを選択する方法と、カーネルのパラメーターを最適化する方法は何ですか?
できればレイマンの用語を大いに歓迎し、そのような方法を説明する論文へのリンクもいいでしょう。
回答:
カーネルベースのメソッドで最適なカーネル(カーネルのタイプ、またはカーネルパラメータのいずれか)を選択する一般的なアプローチは、相互検証です。サポートベクターマシンのカーネル選択の説明については、ここを参照してください:SVMのカーネルを選択する方法?
相互検証の背後にある考え方は、「テスト」データを省略し、アルゴリズムを実行して残りの「トレーニング」データにモデルを適合させ、結果のモデルがテストデータをどの程度説明しているか(およびエラーの大きさ)を確認することです。です)。これは、除外されたさまざまなデータに対して繰り返され、エラーが平均化されて平均相互検証エラーが形成されます。次に、さまざまなアルゴリズムを比較して、エラーが最も少ないものを選択できます。SVMでは、モデルのパフォーマンスの尺度として、たとえば分類精度(または関連する尺度)を使用できます。次に、テストデータの最適な分類を生成するカーネルを選択します。
次に、問題は次のようになります。kPCAで使用できるモデルパフォーマンスの測定値はどれですか。「適切なデータ分離」(おそらく適切なクラス分離)を達成したい場合は、トレーニングデータでそれを何らかの方法で測定し、それを使用して最適なカーネルを見つけることができます。ただし、PCA / kPCAは適切なデータ分離を実現するように設計されていないことに注意してください(クラスラベルはまったく考慮されていません)。したがって、一般的に言えば、クラスに関係のない別のモデルパフォーマンスの測定値が必要になります。
標準PCA では、テストセットのパフォーマンス測定として再構成エラーを使用できます。カーネルPCAでは、再構成エラーを計算することもできますが、問題は、異なるカーネル間で比較できないことです。再構成エラーは、ターゲットフィーチャ空間で測定された距離です。異なるカーネルは異なるターゲット空間に対応します...それで問題があります。
この問題に取り組む1つの方法は、ターゲット空間ではなく、元の空間で再構築エラーを何らかの方法で計算することです。明らかに、除外されたテストデータポイントは元の空間にあります。しかし、そのkPCA再構成は、ターゲットスペースの[の低次元サブスペース]にあります。しかし、できることは、元の空間でこの再構成ポイントに可能な限り近くマッピングされるポイント(「プリイメージ」)を見つけ、テストポイントとこのプリイメージ間の距離を測定することです。再構成エラーとして。
ここではすべての式を示すのではなく、いくつかの論文を参照して、ここにいくつかの図のみを挿入します。
kPCAの「プリイメージ」のアイデアは、このペーパーで明らかに導入されました。
ミカ他 は相互検証を行っていませんが、ノイズ除去のために事前画像が必要です。次の図を参照してください。
ノイズ除去された(太い)ポイントは、kPCA投影の事前イメージです(テストとトレーニングはここにはありません)。これらのプリイメージを見つけることは簡単な作業ではありません。勾配降下法を使用する必要があり、損失関数はカーネルに依存します。
そして、ここにクロス検証の目的とカーネル/ハイパーパラメーターの選択のために事前画像を使用したごく最近の論文があります:
これは彼らのアルゴリズムです:
そして、ここにいくつかの結果があります(私はそれはかなり自明です):