ざっくりML

機械学習に興味ある大学院生によるブログです.

線形回帰 線形基底関数


以前の更新からかなりの期間が空いてしまいました。。。 セスペの勉強やらゼミが忙しかったりとしたのでという言い訳をさせていただきます。。。 セスペが受かってたら勉強方法などの記事を書こうと思っていますが午後の手応えが全くないのでまず受かってないと思います笑

まあ余談はそのぐらいにしといて今回はビショップ本の第3章の線形回帰モデルです。その中でも基底関数のお話。 2章までで密度推定やクラスタリングなど教師なし学習について書いてありました。第3章からは教師あり学習の話になります。その中でも回帰の問題。 回帰問題とは、入力をD次元ベクトルxとし、そのベクトルから1つあるいは複数の目標変数tの値を予測することです。 いくつか前に紹介した多項式曲線フィッティングは回帰の一例にあたります。 最も単純な線形モデルは入力変数に関しても線形な関数です。 一般的には、入力変数を基底関数と呼ばれる非線形な関数に与え、入力変数に関しては非線形な形にした方が有用である。 入力ベクトルに関しては非線形でありかつ、パラメータに関しては線形のため、今まで通りの議論が成り立ち解析が容易であるという利点がある。 回帰の最も単純なアプローチは、x \rightarrow tとなる適当な関数y(x)を構成することです。 より一般的な確率論的な見方では条件付き確率を用いてp(t|\boldsymbol{x})をモデル化します。これは予測分布と呼ばれます。 この条件付き分布を使えば、適切に選んだ損失関数の期待値を最小にするように任意のxの新たな値に対するtを予測することができます。

まず、最も単純な線形回帰モデルを紹介します。それは、入力変数の線形結合

\displaystyle y(\boldsymbol{x},\boldsymbol{w}) = w_0 + w_1 x_1 + \cdots + w_D x_D

で表されます。(入力変数に対しても線形であるが)パラメータに関して線形であるという重要な性質があります。入力変数に関して線形であると表現能力に乏しいため、入力変数に関して非線形な関数の線形結合を考えます。それは基底関数\phi_j を用いて

\displaystyle y(\boldsymbol{x},\boldsymbol{w}) = w_0 + w_1 \phi_1 (\boldsymbol{x}) + \cdots + w_D \phi_D (\boldsymbol{x})
\displaystyle y(\boldsymbol{x},\boldsymbol{w}) = \boldsymbol{w}^{T}\boldsymbol{\phi(x)} 

と表すことができます。こうすることで、入力変数に関しては非線形だが、パラメータに関しては線形である形が表現できます。 多項式フィッティングの例では、\phi_j (x) = x^{j}という基底関数を用いていました。 他にも基底関数はたくさんあり、ビショップ本では以下の2つが紹介されています。 まずは、ガウス基底関数です。

\displaystyle \phi_j (x) = exp\{- \frac{(x-\mu_{j})^{2}}{2s^{2}}\} 

\mu_jは入力空間における基底関数の位置を表し、sは空間的な尺度を表します。 もう一つにシグモイド基底関数があります。

\displaystyle \phi_j (x) = \sigma(\frac{x - \mu_j}{s}) 

ただし\sigma(a)はロジスティックシグモイド関数と呼ばれ、

\displaystyle \sigma(a) = \frac{1}{1+exp(-a)} 

で定義されます。 ガウス基底関数とシグモイド関数の図とそのプログラムを以下に載せておきます。

ガウス基底関数

f:id:linearml:20171101041535p:plain

シグモイド基底関数 f:id:linearml:20171101041544p:plain

後は、\displaystyle y(\boldsymbol{x},\boldsymbol{w}) = \boldsymbol{w}^{T}\boldsymbol{\phi(x)} の式に対して最尤推定でパラメータ\boldsymbol{w}を推定すれば良いことになります。 最尤推定についてはいつも通りパラメータで偏微分してイコール0と置き、\boldsymbol{w}について解くだけです。今回も閉じた形で求まりますが結果は後日追加します(多分、、、) 最尤推定による回帰はこのように基底関数をかます事で表現力を高めることができます。またパラメータに関しては線形なので閉じた形で推定値が求まるという利点もあります。