カーネル関数に依存する多くの機械学習アルゴリズムがあるようです。SVMとNNの名前は2つですが。それでは、カーネル関数の定義と、それが有効であるための要件は何ですか?
カーネル関数に依存する多くの機械学習アルゴリズムがあるようです。SVMとNNの名前は2つですが。それでは、カーネル関数の定義と、それが有効であるための要件は何ですか?
回答:
S上のx、yの場合、特定の関数K(x、y)は内積として表現できます(通常は異なる空間で)。Kはしばしばカーネルまたはカーネル関数と呼ばれます。カーネルという言葉は数学全体でさまざまな方法で使用されますが、これは機械学習で最も一般的な使用法です。
カーネルトリックは、観測がVで意味のある線形構造を獲得することを期待して、マッピングを明示的に計算することなく、一般的なセットSから内積空間V(その自然ノルムを備えた)に観測をマッピングする方法ですこれは、効率(非常に高速で非常に高次元の空間でドット積を計算する)と実用性(線形MLアルゴリズムを非線形MLアルゴリズムに変換できる)の観点から重要です。
関数Kを有効なカーネルと見なすには、Mercerの条件を満たす必要があります。これは実用的な用語では、カーネルマトリックス(すべてのデータポイントのカーネル積を計算)が常に正の半正定であることを保証する必要があることを意味します。これにより、トレーニングの目的関数は、非常に重要な特性である凸状になります。
ウィリアムズ、クリストファー・KI、およびカール・エドワード・ラスムッセン。「機械学習のためのガウス過程。」MIT Press 2、no。3(2006)。80ページ。
カーネル=入力のペアマッピング二つの引数の関数、X ' ∈ XにRを。
また、カーネル=カーネル関数。
機械学習アルゴリズムで使用されるカーネルは、通常、正の半正であるなど、より多くのプロパティを満たしました。
技術的な説明はあまりしません。
まず、2つのベクトル間のドット積から始めます。これにより、ベクトルがどの程度「類似」しているかがわかります。ベクトルがデータセット内のポイントを表す場合、ドット積はそれらが類似しているかどうかを示します。
ただし、一部の(多くの)場合、ドット積は類似性の最良のメトリックではありません。例えば:
したがって、ドット積を使用する代わりに、「カーネル」を使用します。これは、2つのポイントを取り、それらの類似性の尺度を提供する関数です。技術的にカーネルになるために関数が満たすべき技術的条件を100%確信しているわけではありませんが、これはアイデアです。
非常に良い点の1つは、ドメインについて知っているxyzの理由により、2つのポイントが同じであると言うことができるという意味で、ドメインの知識を問題に入れるのにカーネルが役立つことです。