私はガウス過程の分野と、それらが機械学習にどのように適用されているかについてかなり新しいです。私はこれらの方法の主な魅力である共分散関数について読み続けています。だから誰もがこれらの共分散関数で何が起こっているのか直感的に説明できますか?
それ以外の場合、特定のチュートリアルまたはそれらを説明するドキュメントを指摘できる場合。
私はガウス過程の分野と、それらが機械学習にどのように適用されているかについてかなり新しいです。私はこれらの方法の主な魅力である共分散関数について読み続けています。だから誰もがこれらの共分散関数で何が起こっているのか直感的に説明できますか?
それ以外の場合、特定のチュートリアルまたはそれらを説明するドキュメントを指摘できる場合。
回答:
大まかに言うと、カーネルまたは共分散関数は、入力空間内の2つの点x 、x ′間の統計的関係を指定します。つまり、xでのガウス過程(GP)の値の変化が、x ′でのGPの変化とどの程度相関しているか。ある意味では、k (⋅ 、⋅ )は入力(*)間の類似性を定義していると考えることができます。
典型的なカーネルは、ポイント間のユークリッド距離(またはその線形変換)に単純に依存するかもしれませんが、もっと多くのことができることに気づいたときに楽しみが始まります。
David Duvenaudが言うように:
カーネルは、テキスト、画像、マトリックス、さらにはカーネルなど、あらゆるタイプのデータ構造にわたって定義できます。新しいタイプのデータでカーネルを考え出すことは、かつてNIPS論文を入手する簡単な方法でした。
GP用のカーネルの簡単な概要については、彼のKernel Cookbookとそのリファレンスをお勧めします。
(*)@Dikran Marsupialが述べているように、逆は真実ではないことに注意してください。すべての類似性メトリックが有効なカーネルであるわけではありません(彼の答えを参照)。
入力ベクトルを特徴空間にマッピングする関数です。
それでは、なぜカーネルはいくつかの機能空間で内積として解釈可能でなければならないのでしょうか?その理由は、非線形モデル(ニューラルネットワークなど)よりも線形モデル(ロジスティック回帰など)の一般化パフォーマンスの理論的範囲を考案する方がはるかに簡単だからです。ほとんどの線形モデルは、入力ベクトルが内積の形式でのみ表示されるように記述できます。これは、カーネル機能空間で線形モデルを構築することにより、非線形モデルを構築できることを意味します。これはデータの固定変換であるため、線形モデルの理論上の性能限界はすべて、新しいカーネルの非線形モデルに自動的に適用されます*。
最初に把握するのが難しい重要な点は、特定のアプリケーションに適した機能空間を考えずに、その機能空間を生成するカーネルを設計する傾向があるということです。一般に、良好な類似性メトリックを考え出し、それがカーネルであるかどうかを確認します(テストは簡単で、一般的な位置にある点でカーネル関数のペアごとの評価の行列が正定であれば、それは有効なカーネルです) 。