機械学習におけるカーネルの背後にある直感
1. 序章
このチュートリアルでは、機械学習におけるカーネルの役割を直感的に説明します。
いわゆるカーネルトリックにより、線形モデルを非線形データに適用できるようになります。これが科学や産業で人気を博している理由です。 カーネルは、通常それらを関連付けるタスクである分類に加えて、回帰、クラスタリング、次元削減など、フィールドの他の問題を解決するのに役立ちます。
2. 線形モデルが不十分な場合にカーネルが役立ちます
線形モデルはいくつかの理由で魅力的です。 まず、トレーニング中に解決する最適化問題には、簡単な分析ソリューションがあります。 第二に、線形モデルは本質的に解釈可能であるため、ユーザーはそれらがどのように機能し、コンポーネントの意味を理解できると多くの人が主張します。 また、コミュニケーションと視覚化も簡単です。 そして、最後になりましたが、彼らは比較的単純な数学的分析を認めています。 たとえば、サポートベクターマシン、線形回帰、主成分分析などです。
ただし、これらのような線形モデルは、データに非線形関係が存在する場合に機能しなくなります。 例を挙げて説明しましょう。
2.1. 例
線形分離可能クラス間の線形境界を見つけるために、直線を適度に線形のデータに適合させるのは簡単です。
残念ながら、直線は円形の境界を捉えることができません。
原則として、データ内の非線形関係が複雑ではっきりしているほど、線形モデルのパフォーマンスは低下します。それでも、線形モデルの好ましい特性を維持するモデルが必要です。ただし、任意の複雑なデータを処理できます。
カーネルはまさにそれを可能にします。 アイデアは、元の空間から線形になる新しい空間にデータをマッピングすることです。たとえば、循環データセットに変換を適用すると、線形分離可能なデータが得られます。
ご覧のとおり、元の空間の円形の境界は、変換された空間の平面になります。
3. カーネルの数学
カーネルはどのように機能しますか? さて、私たちは、それらの画像が線形になる新しい空間で、すべてのオブジェクトをその画像に変換するマッピングを見つけることがアイデアであると言いました。 たとえば、分類問題では、クラス間の決定境界が新しい機能の線形関数であるスペースを探します。
ただし、データの変換は非常にコストのかかる操作になる可能性があります。 通常、機能を備えたオブジェクトを含むトレーニングセットはマトリックスです。
の複雑さによっては、変換されたデータの計算と保存に多くの時間がかかる可能性があります。 さらに、データが線形になる空間が無限に次元である場合、単一のオブジェクトの変換は決して終了せず、アプローチは失敗します。
幸いなことに、カーネルトリックはこの問題を解決します。
3.1. カーネルトリック
重要な観察は、線形モデルの最適化問題の解には次の用語が含まれるということです。
その結果は、要素がとの内積である行列です。 その部分の内積は、ユークリッド空間のベクトルと見なした場合のこれらのオブジェクトの内積です。
ターゲット空間では、マトリックスには次の画像の内積が含まれます。
線形モデルを変換されたデータに適合させるために必要な情報はこれだけです。 その定義によれば、カーネルは、元の特徴空間からのオブジェクトに作用し、それらの画像の内積をターゲット空間に出力する関数です:
したがって、カーネルトリックを使用すると、データを変換せずに線形モデルをターゲット空間に適合させることができます。 したがって、線形アルゴリズムで非線形問題を解くには、適切なとが必要です。
4. カーネルを見つけるにはどうすればよいですか?
しかし、カーネルとターゲットスペースをどのように見つけるのでしょうか? 最善のアドバイスは、データを確認することです。 たとえば、2次パターンを見つける場合は、2次関数を使用する必要があります。
ただし、どのカーネルが最適かを判断するのは必ずしも簡単ではありません。 その場合、Gaussian(RBF)カーネルのようないくつかの一般的な選択肢を試すことができます。
ユークリッドノルムはどこにありますか。
cross-validation を使用して、任意のカーネルパラメーターの値を決定できます。
5. カーネルは類似性を測定します
カーネルを見る別の方法は、それらを類似度として解釈することです。理由を確認するために、カーネルがユークリッド内部積、つまり、のベクトルの内積を置き換えることを思い出してください。 ベクトルが直交している場合、積はゼロに等しく、直交ベクトルが最も異なることがわかります。
直交性が低い、つまり2つのベクトルが類似しているほど、内積は大きくなります。 カーネルはターゲットフィーチャスペースの内積を計算するため、カーネルにもこのプロパティがあります。 したがって、優れたカーネルは、計算対象のオブジェクトの類似性を反映している必要があります。
この解釈には数学的正当性があります。 すべてのカーネルは正の半確定関数であり、類似性の尺度と一致しています。ゼロは完全に異なるオブジェクト用に予約されており、正の値はさまざまな程度の類似性を定量化します。
5.1. 普遍
通常、機械学習を表形式のデータ、つまり、各オブジェクトが正確に定義された特徴の順序を持つベクトルであるデータに適用します。 ただし、すべてのデータがそのようになっているわけではありません。 たとえば、セットには注文は含まれていません。 構造化データ、グラフ、およびそれらのノードについても同じことが言えます。
したがって、これらのオブジェクト間の類似性を測定するカーネルを構築すると、線形モデルを非ベクトルデータに拡張できます。たとえば、和集合の交差は、2つのセット間の類似性を定量化します。
カーネルとして使用すると、オブジェクトがセットであるデータに線形モデルを適合させることができます。
6. カーネルと機能スペース
これは、一次元のユークリッド空間の特殊なケースです。 IDマッピングは、このカーネルに関連付けるマッピングに対応しているため、元のスペースとターゲットスペースは同じであると言えます。 ただし、他のいくつかのマッピングとスペースもこのカーネルに適合します。 例えば:
確認できます:
したがって、すべてのカーネルは複数の機能空間に対応できます。
7. 結論
この記事では、カーネルトリックについて直感的に説明しました。 これまで見てきたように、カーネルを使用すると、線形モデルを線形の特徴空間に明示的に変換することなく、線形モデルを非線形データに効率的に適合させることができます。 したがって、時間とスペースの両方を節約できます。
カーネルをオブジェクト間の類似性の尺度として解釈できます。 類似性を定量化するためにそれらを構築することで、特徴の順序が重要で事前に固定されているベクトルだけでなく、グラフやセットなどの任意のデータ型に適用できます。