【初心者流】Courcera 機械学習 Week 7を解く!内容:SVMによる非線形モデル

Support Vector Machine(SVM) カーネル


サポートベクターマシン(SVM)は線形のみではなく、上の図のような複雑な非線形の分類を扱うにはカーネルと呼ばれるテクニックを用います。

このとき、仮定関数は複雑な曲線を持つことから多項式になることが予想されます。

\(h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1x_2+\theta_4x_1^2+\theta_5x_2^2+…\)

ちなみに、この複雑な多項式を表現する別の方法として以下のように書きます。

\(h_\theta(x)=\theta_0+\theta_1f_1+\theta_2f_2+\theta_3f_3+…\)

\(f_1=x_1,\ f_2=x_2,\ f_3=x_1x_2,\ f_4=x_1^2,\ f_5=x_2^2,… \)

では、この\(f_1,\ f_2,\ f_3…\)どうやって決めていくのかというと、まずは下の図のように点\(l^{(1)},\ l^{(2)},\ l^{(3)}\)を手動で適当に決めます。この点はランドマークと呼ばれます。

次に、あるサンプルデータが与えられたときに、最初の特徴\(f_1\)とこのサンプルデータの類似度を示す指標を定義し、以下のように表現します。

\(f_1=\)類似度(Similarity)\((x, l^{(1)})=exp^{(-\frac{||x-l^{(1)}||^2}{2\sigma^2})}\)

\(f_2=\)類似度(Similarity)\((x, l^{(2)})=exp^{(-\frac{||x-l^{(2)}||^2}{2\sigma^2})}\)

\(f_3=\)類似度(Similarity)\((x, l^{(3)})=exp^{(-\frac{||x-l^{(3)}||^2}{2\sigma^2})}\)

同様に\(f_2, f_3\)についても定義してしまいました。

この類似度を表す関数をカーネルと呼び、さまざまなものがあります。今回の右辺の項は統計学などでもよくお世話になるガウス関数を用いてガウスカーネルと呼ばれています。

さて、このガウスカーネルですが、

\(x \approx l^{(1)}\)のとき、

$$f_1 \approx \exp(-\frac{ほとんど0^2}{2\sigma^2}) \approx 1$$

となり、\(x >> l^{(1)}\)のときは

$$f_1 \approx \exp(-\frac{大きな数}{2\sigma^2}) \approx 0$$

となる。つまり、このガウスカーネルは\(x\)とランドマーク\(l^{(1)}\)の距離\(||x-l^{(1)}||\)がどれだけ”近いか”を測る関数です。

また、ガウスカーネルに現れるσは関数の急峻さを表すパラメータであり、距離\(||x-l^{(1)}||\)の値に対してσが小さいほど急激にゼロに近づき、逆にσが大きいとなだらかにゼロに近づきます

さて、このガウスカーネルを用いて実際にどのように予測をするのでしょうか?

簡単な値を当てはめて考えてみましょう。

まず、以下の式を満たすときに”1”を予測するとすると、

$$\theta_0+\theta_1f_1+\theta_2f_2+\theta_3f_3\geq0$$

下の図のように与えられた\(x\)が\(l^{(1)}\)に近いような場合は、

$$f_1=1, f_2=0, f_3=0$$

$$\theta_0+\theta_1f_1+\theta_2*0+\theta_3*0\geq0$$

$$\theta_0+\theta_1f_1\geq0$$

となり、もし予め学習を終えていて、θのパラーメータの値が\(\theta_0=-0.5, \theta_1=1\)のように、わかっていたとするとこの予測関数は\(0.5\geq0\)、つまり”1”を予測することとになります。

また、いくつかの入力に対して同様の計算を行っていくと、単数または複数のあるランドマーク達に近い場合は”1”を予測し、また別のランドマーク達に近い場合は”0”を予測する。つまり、下の図のように決定境界を決め、決定境界の枠内であれば”1”を予測し、枠の外側だと”0”を予測する。

このように、ランドマークとカーネル関数を定義することで極めて複雑な非線形の決定境界を学習させることが可能となります。

まとめ


・ガウスカーネルを用いた非線形決定境界の求め方

カーネルは機械学習の中でもイメージがつきにくく、挫折ポイントでもあるため、じっくりと時間をかけて理解していきたいですね。

次回は、カーネルを使う上でのランドマークの選び方について説明したいともいます!

次へ:week8 教師なし学習 クラスタリング

  • 投稿が見つかりません。

コメント

タイトルとURLをコピーしました