こんにちは!ぼりたそです!
今回はガウス過程回帰などで使用されるカーネル関数のハイパーパラメータ最適化について解説していきます。
この記事は以下のポイントでまとめています
それでは詳細に解説していきます。
カーネルとは?
まず、ハイパーパラメータについて説明する前にカーネルについて簡単に説明します。
ガウス過程回帰やサポートベクターなどでカーネル関数を使用すると思いますが、このカーネルとはデータポイント間がどれだけ似ているかを評価する指標です。
例えば、トランプ52枚があったとして、それを似ているもの同士で分類して下さいと言われたらあなたはどのようにして分類しますか?
それはトランプの「色」かもしれませんし、「マーク」や「数字」、「絵柄」かもしれません。
この分類する際に指標としている「色」や「マーク」がガウス過程回帰などではカーネルという考え方になります。
カーネルについて詳しく知りたい方は以前まとめた記事がありますので、参考にしていただければと思います。
カーネルのハイパーパラメータとは?
それではハイパーパラメータとは何かを説明していきます。
カーネルのハイパーパラメータとは先ほどご紹介したカーネル関数に登場するパラメータであり、「調節ねじ」のようなものとご理解ください
カーネルの説明の際にトランプの分類の例を挙げたと思います。トランプを分類する指標をカーネルとすると、指標の範囲を決めるのがハイパーパラメータになります。
例えば、52枚のトランプを分類する際に「数字」と言う指標で分類するとしましょう。しかし、数字と言っても意味が広すぎますね。
AからKまで同じ数字同士でまとめましょうか?それとも隣り合っている数字(「1,2」、「2,3」)は似ているとしてまとめましょうか?はたまた一桁と二桁の数字でまとめましょうか?
「数字」の指標の中でもどこまで類似しているかを線引きするのがハイパーパラメータの役割と言えます。
ガウス過程回帰でよく使用されるカーネルとしてRBF(ガウシアンカーネル)があります。
関数は以下のような数式になっています。
$$K(x, x’) = \exp\left(-\frac{|x – x’|^2}{2\sigma^2}\right) $$
RBFカーネルはデータ間の類似性を評価する際に、どれだけ遠いデータを類似とみなすかを調整します。
ハイパーパラメータは $\sigma$ であり、$\sigma$ が大きい場合、広い範囲のデータを類似とみなします。逆に$\sigma$ が小さい場合、近いデータのみを類似とみなします。
このようにRBFカーネルに関してはハイパーパラメータ $\sigma$ によってどの範囲までデータが類似しているかを線引きしているわけですね。
ハイパーパラメータ最適化の方法
さて、ハイパーパラメータとは何者かなんとなく理解いただけたと思いますが、実際にハイパーパラメータを決めるにはどうしたら良いか、その方法をいくつか紹介します。
最尤推定法
最尤推定法は、尤度関数を最大化することによって、データに対するモデルの適合度を最大化するハイパーパラメータを見つける手法です。カーネルのハイパーパラメータ最適化では、このアプローチをカーネル関数のパラメータに適用します。
ガウス過程回帰のカーネルについてはこの最尤推定法を使用してハイパーパラメータを最適化するのが一般的です。
最尤推定法については以下の記事で詳しく解説していますので、ご参考にしていただければと思います。
クロスバリデーション
データをトレーニングデータとテストデータに分割し、異なるハイパーパラメーターの組み合わせでモデルを学習し、テストデータで評価します。
最も性能の良いハイパーパラメーターの組み合わせを選択することで最適化を目指します。
ただし、クロスバリデーションは計算に時間がかかるため、学習コストが高くなる可能性があります。
クロスバリデーションについては以下の記事にまとめていますので、参考にしていただければと思います。
ベイズ最適化
ベイズ最適化は、ハイパーパラメーターの探索を確率的なプロセスとして扱う手法です。モデルの性能を評価するたびに、過去の評価結果を考慮して次に評価すべきハイパーパラメーターの候補を選びます。これにより効率的な探索が可能です。
以前、ベイズ最適化について記事をまとめましたので、興味がある方は参考にしてください!
グリッドサーチ
ハイパーパラメーターの候補をあらかじめ決めておき、それらの値の組み合わせをすべて試す手法です。すべての組み合わせに対してモデルを評価するため、計算コストが高いですが、探索空間全体を網羅的に探索することができます。
ランダムサーチ
グリッドサーチと似ていますが、ハイパーパラメーターの候補をランダムに選んで評価する手法です。ランダムな探索のため、効率的な場合もあれば非効率的な場合もありますが、大域的な探索が行える利点もあります。
終わりに
以上がカーネルのハイパーパラメータとその最適化手法についての解説でした。いくつか最適化手法がありましたが、ガウス過程回帰におけるカーネルに関しては最尤推定法を採用しているパターンが多い気がします。