基底関数を用いた線形回帰モデル
非線形な関係のデータの回帰
簡単のために、一次元の場合で説明します
たとえば以下のようなデータの場合、直線で当てはめるのはふさわしくなさそう
https://gyazo.com/8ef8aecff5c0c2a4daea4cec01f1f326
このようなデータは、$ xと$ yが非線形な関係であるという
ようするに、「まっすぐでない」関係
「まっすぐでない」データを、直線であてはめるのは、根本的に無理がある
基底関数を用いた線形回帰
ここで、基底関数という非線形な関数を用いて、この基底関数の線形結合によって非線形な近似関数を求めるというテクニックがある
(参考)基底関数とは、関数空間の基底ベクトルのこと。線形代数での線形空間について勉強すると理解が深まる
$ M個の基底関数を用意し、これを$ \phi_j(x)$ (j = 0, 1, \dots, M-1)と置くと、以下のように表せる
$ y = f(x) = w_0 \phi_0(x) + w_1 \phi_1(x) + \dots + w_{M-1} \phi_{M-1}(x) + w_{M} = \sum_{j=0}^{M} w_j \phi_j(x) = \bold w^T \Phi(x)
ただし$ \phi_M(x) = 1と置いている($ y方向の平行移動を決める$ w_Mの項(バイアス)を入れるため)
D次元線形回帰モデルと同様の形になる
そのため、$ \bold wは、D次元線形回帰モデルと同様に解析解を求めることができる
$ \Phi = \begin{pmatrix} \phi_0(x_1) & \phi_1(x_1) & \dots & \phi_M(x_1) \\\ \phi_0(x_2) & \phi_1(x_2) & \dots & \phi_M(x_2) \\\ \vdots & \vdots & \vdots & \vdots \\\ \phi_0(x_N) & \phi_1(x_N) & \dots & \phi_M(x_N) \end{pmatrix}
としたとき(これを計画行列という)、$ \bold wは以下の通り求められる
$ \bold w = (\bold \Phi^T \bold \Phi)^{-1} \bold \Phi^T \bold y
なぜこのような形になるかは、興味があれば調べてみよう
いろいろな基底関数
基底関数にはいろいろなものを考えることができる
ガウス基底関数
https://gyazo.com/76c578166af177354e28427c501128ae
ガウス関数(正規分布の形の関数)による基底関数
動径基底関数、放射基底関数(RBF: Radial Basis Function)ともいう
$ \phi_j(x) = \exp \{-\frac{(x - \mu_j)^2}{2 s^2}\}
各基底関数の位置や形は以下のパラメータで決まる(設計者が決めないといけないハイパーパラメータである)
$ \mu_jは基底関数の中心位置を示すパラメータ
$ sは基底関数の幅(標準偏差)のパラメータ
この基底関数による線形回帰モデルは以下のようなイメージ
https://gyazo.com/a2c222ae00c3c0a7a63270519190bb89
RBFネットワークともよばれる
多項式基底関数
$ \phi_j(x) = x^{j+1}
要するに、$ xのべき乗の線形結合となる
$ f(x) = w_0 x + w_1 x^2 + w_2 x^3 +\dotsというような感じ
ほかにもいろいろ考えられる
シグモイド基底関数
$ \phi_j(x) = \sigma(\frac{x - \mu_j}{s})(ここで $ \sigma(a) = \frac{1}{1 + \exp(-a)})
フーリエ基底関数(三角関数)
いずれも、基底関数の個数(次元、次数)を増やすと、どんどん複雑な形を近似できるようになる
Excelの散布図でも実は・・・
Excelで散布図を書き、グラフ要素の「近似曲線」の書式設定を開くと、実は多項式基底関数による線形回帰(多項式近似)などができたりする
https://gyazo.com/192ff2e9348a01068c65308d230637df
https://gyazo.com/4278c5847588950acfa607b43076977d
多次元への拡張
多次元の説明変数を基底関数で変換
たとえばガウス基底関数で、$ \phi_j(x) = \exp \{-\frac{\sum_{i=1}^{D}(x_i - \mu_{ij})^2}{2 s_j^2}\} とすることでD次元の入力を扱うことができる
各データ・各基底関数について基底関数の値の計算さえできれば、上の計画行列$ \Phiが求まるので、そのまま上の手順でパラメータ$ \bold wを求めることができる!
こんな感じで、曲面(3次元以上の場合は超曲面)で多次元の非線形関数を近似する
https://gyazo.com/40adf591d0592fffa928d9d3b6e7c0d2