「第三章」の編集履歴(バックアップ)一覧に戻る

第三章 - (2011/03/29 (火) 17:14:37) の編集履歴(バックアップ)


第三章 線形モデルによる回帰問題

  • 教師あり学習による回帰分析の目的は、D次元入力ベクトル{\bf x}の値から連続な目的変数tを予測すること。
  • 非線形な基底関数(basis function)の線形結合を用いることも可。

3.1節 線形基底関数モデル

  • 線形回帰
   y({\bf x},{\bf w}) = w_0 + w_1 x_1 + ... + w_D x_D\hspace{3em}\left({\bf x} = (x_1,...,x_D)^T\right)
 これは{\bf w}についての線形関数であると同時に、{\bf x}についても線形であり、このことがこのモデルに重大な制約を課す結果となっている。そこで以下のように非線形な{\bf x}の基底関数を利用できるように拡張する。
   y({\bf x},{\bf w}) = w_0 + \sum_{j=1}^{M-1}w_j\phi_j({\bf x})
 ここで\phi_j({\bf x})が基底関数。w_0は固定されたオフセットとして利用され、バイアスパラメータ(bias parameter)と呼ばれる(統計学のバイアスとは無関係)。このように拡張されたモデルは、{\bf x}については非線形となるが、{\bf w}については依然として線形。
  • 第一章で考察した曲線近似の問題は、多項式基底関数の一例\left(\phi_j(x) = x^j\right)。このモデルの欠点は、基底関数がが{\bf x}のすべての領域にわたって定義されているため、入力空間の一部における変更がすべての領域に対して影響を与えてしまうこと。この点を改善したものがスプライン関数(spline function)。
  • 基底関数が正規分布の例
   \phi_j(x) = \exp\left\{-\frac{(x - \mu_j)^2}{2s^2}\right\}
 \mu_jは位置を、sは幅を定める。
  • 基底関数がシグモイド関数の例
   \phi_j(x) = \sigma\left(\frac{x - \mu_j}{s}\right)\hspace{3em}\left(\sigma(a) = \frac{1}{a + \exp\left(-a\right)}\right)
 あるいは双曲正接関数(tanh)。ほかにフーリエ基底関数も利用され、その周期は個別で範囲は無限定。
  • ウェーブレット(wavelets)関数は、周期も範囲も個別化され、それぞれが互いに直交するように定義される。これは時系列における連続時点や画像のピクセルのように、入力値が規則的格子に沿っている場合に最も有効とされる。
  • 最大尤度と最小二乗法
目的変数tが以下の式で決定されるものとする。
   t = y({\bf x},{\bf w}) + \epsilon
ここで\epsilonは平均0の正規分布に従う確率変数であり、その精度(分散の逆数)は\beta。よって
   p(t|{\bf x},{\bf w},\beta) = {\cal N}\left(t|y({\bf x},{\bf w}),\beta^{-1}\right)
と書ける。平方損失関数を最小化することによって得られる新たな{\bf x}に対する最適な予測は、
   {\mathbb E}\left[t|{\bf x}\right] = \int{tp(t|{\bf x}){\rm d}t = y({\bf x},{\bf w})}
ノイズが単純な正規分布に従うと仮定すると、上の条件付確立も単峰的であることになるがこれは多くの場合不適切。
  • データセット{\bf X} = \left\{{\rm x}_1,...,{\rm x}_N\right\}に対応する目的変数によって構成される列ベクトルを{\bf t}とすると、尤度関数は
   p({\bf t}|{\bf X},{\bf w},\beta) = \prod_{n=1}^{N}{\cal N}\left(t_n|{\bf w}^T\phi({\bf x}_n),\beta^{-1}\right)
 教師付き学習の回帰ないし判別問題では、入力変数の分布をモデル化することが目的ではないため、{\bf x}をパラメータから除外してよい。対数尤度関数は
   \ln p({\bf t}|{\bf w},\beta) = \sum_{n=1}^{N}\ln{\cal N}\left(t_n|{\bf w}^T\phi({\bf x}_n),\beta^{-1}\right) = \frac{N}{2}\ln\beta - \frac{N}{2}\ln(2\pi) - \beta E_D({\bf w})\hspace{1em}\left(E_D({\bf w}) = \frac{1}{2}\sum_{n=1}^{N}\left\{t_n - {\bf w}^T\phi({\bf x}_n)\right\}^2\right)
 この尤度関数からまず{\bf w}を決定するため、{\bf w}について上の式を最大化することを考える。求める{\bf w}において上式は停留点をとるから、
   \nabla\ln p({\bf t}|{\bf w},\beta) = \beta\sum_{n=1}^{N}\left\{t_n - {\bf w}^T\phi({\bf x}_n)\right\}\phi({\bf x}_n)^T = \sum_{n=1}^{N}t_n\phi({\bf x}_n)^T - {\bf w}^T\left(\sum_{n=1}^{N}\phi({\bf x}_n)\phi({\bf x}_n)^T\right) = 0
 これを{\bf w}について解くと、最小二乗法の正規方程式(normal equation)
   {\bf w}_{ML} = \left(\Phi^T\Phi\right)^{-1}\Phi^T{\bf t}
が得られる。ここで\Phiはデザイン行列(design matrix)で、その要素は\Phi_{nj} = \phi_j({\bf x}_n)
   \Phi^+ \equiv \left(\Phi^T\Phi\right)^{-1}\Phi^T
\Phiのムーア・ペンローズ型一般逆行列(Moore-Penrose pseudo-inverse)。
  • バイアスパラメータw_0は学習データの目的変数の平均値と重み付けされた基底関数の値の平均との間の差を補うものと見ることができる。
  • 次に\betaについて同じ尤度関数を最大化することによって、
   \beta_{ML} = \frac{1}{N}\sum_{n=1}^{N}\left\{t_n - {\bf w}_{ML}^T\phi({\bf x}_n)\right\}^2
を得る。
  • 最小二乗解とは、基底関数に対応するベクトル集合によって張られる線形部分空間上への{\bf t}の直交射影と解釈できる。\Phi^T\Phiが特異に近い場合には正規方程式を直接求めることは計算上困難だが、これは特異値分解(singular value decomposition,SVD)によって解決できる。正規化項を追加することで常に行列が非特異になるようにすることが可能。
  • データ集合が巨大な場合は逐次学習(sequential learning)またはオンライン学習(on-line learning)が適切。逐次学習のアルゴリズムは確率的勾配降下法(stochastic gradient descent)を適用することによって得られる。
   {\bf w}^{(\tau-1)} = {\bf w}^{(\tau)} - \eta\nabla{\rm E}_n
\tauは反復回数を表し、\etaは学習レートパラメータ。二乗和誤差関数の場合は
   {\bf w}^{(\tau-1)} = {\bf w}^{(\tau)} + \eta\nabla\frac{1}{2}\left\{t_n - {\bf w}^{(\tau)T}\phi_n\right\}^2 = {\bf w}^{(\tau)} + \eta(t_n - {\bf w}^{(\tau)T}\phi_n)\phi_n\hspace{3em}\left(\phi_n = \phi({\bf x}_n)\right)
 これは最小平均二乗アルゴリズム(least-mean-square(LMS) algorithm)として知られている。\etaの値はアルゴリズムが収束するように選ばれる必要がある。
  • 正則化された最小二乗
 曲線近似のオーバーフィッティング対策として利用された正則化項をこの場合も適用できる。
   {\rm E}_D({\rm W}) + \lambda{\rm E}_W({\bf w})
 二乗和誤差関数に重みベクトルの二乗和を加えるシンプルなケースでは、誤差関数全体は次のようになる(リッジ回帰)。
   \frac{1}{2}\sum_{n=1}^{N}\left\{t_n - {\bf w}^T\phi({\bf x}_n)\right\}^2 + \frac{\lambda}{2}{\bf w}^T{\bf w} \hspace{2em}(3.27) 
 機械学習の文脈においてはこのような正則化項の選択は重みベクトルの値を0に向かって減衰させるため、重み減衰(weight decay)という。統計学においてはこれはパラメータ縮小法の一例。この手法の利点は、誤差関数を{\bf w}の二次式に保つことができるためその最小化解が容易に求められる点にある。上の式の{\bf w}についての導関数を0と等値して{\bf w}について解くと、
   {\bf w} = (\lambda {\rm I} + \Phi^T\Phi)^{-1}\Phi^T{\bf t}
と簡単になる。
  • より一般的な正則化項を用いた誤差関数は次のようになる。
   \frac{1}{2}\sum_{n=1}^{N}\left\{t_n - {\bf w}^T\phi({\bf x}_n)\right\}^2 + \frac{1}{2}\sum_{j=1}^{M}|w_j|^q
ここでq=2とすればリッジ回帰となり、q=1とした場合を投げ縄(lasso)という。これは十分に大きな\lambdaについて係数w_jのうちの幾つかが0になり、対応する基底関数が何の影響も持たなくなるスパースモデル(sparse model)に導かれるという特徴を有している。


3.2節 バイアス・バリアンス分解

  • 期待二乗損失
   {\mathbb E}[L] = \int\left\{y({\bf x}) - h({\bf x})\right\}^2p({\bf x}){\rm d}{\bf x} + \int\!\!\!\int\left\{h({\bf x}) - t\right\}^2p({\bf x},t){\rm d}{\bf x}{\rm d}t\hspace{3em}(3.37)
 第二項はy({\bf x})とは独立でデータに内在するノイズから生じるものだからこの際無視できる。特定のデータセット{\cal D}に対する第一項の被積分関数を
   \left\{y({\bf x};{\cal D}) - h({\bf x})\right\}^2
と書き直し、その平均を取ると、
   \mathbb E}_{\cal D}\left[\left\{y({\bf x};{\cal D}) - h({\bf x})\right\}^2\right] = \left\{\mathbb E}_{\cal D}\left[y({\bf x};{\cal D})\right] - h({\bf x})\right\}^2 + \mathbb E}_{\cal D}\left[\left\{y({\bf x};{\cal D}) - \mathbb E}_{\cal D}\left[y({\bf x};{\cal D})\right]\right\}^2\right]\right\}\right]
第一項がバイアスの二乗ですべてのデータセットについての予測の平均が理想の回帰関数とどれだけ食い違っているかを表し、第二項は分散、すなわち個々のデータセットに対する解がそれらの平均からどれだけ乖離しているか、つまりy({\bf x};{\cal D})が特定のデータセットによってどれだけ影響されるかの程度を表している。つまり(3.37)は
   期待損失 = (バイアス)^2 + 分散 + ノイズ
バイアスと分散との間にはトレードオフの関係があり、非常に柔軟なモデルは低いバイアスと高い分散を伴い、比較的硬直したモデルは高いバイアスと低い分散を伴う。ただし実際には限られたデータセットを複数のセットに分割することは無駄なのでこれらの洞察は実用性には繋がりにくい。

3.3節 ベイズ線形回帰

  • 線形回帰モデルのパラメータを決定する最尤法においては、基底関数の個数によって支配される最適なモデル複雑性はデータセットの個数に左右されることを見た。むろん対数尤度関数に正則化項を加えることによって、モデル複雑性は正則化係数によっても制御されうることになるものの、その場合にも依然として基底関数の個数と形式を選択することはモデル全体の振る舞いを決定するのに重要。ある問題に最適なモデルを決定することは尤度関数を最大化することによっては達成できない。なぜならそれは常に過剰に複雑なモデルを選択することすなわち過学習につながるから。既述のように、モデル複雑性を決定するのに別個のデータを使用することも出来るがそれは計算量の増加を招き、またデータの無駄でもある。
  • 線形回帰問題に対するベイジアン的手法には、このような尤度関数による過学習を避け、学習パターンのみによってモデル複雑性を決定できるという利点がある。

パラメータ確率分布

  • ベイズ線形回帰は、モデルパラメータ{\bf w}についての事前確率分布を導入することから始まる。精度パラメータ\betaはここでは既知の定数とする。尤度関数
   p\left({\bf t}|{\bf X},{\bf w},\beta\right) = \prod_{n=1}^{N}{\cal N}\left(t_n|{\bf w}^{\rm T}{\bf \phi}({\bf x}_n),\beta^{-1}\right)
{\bf w}の二次関数の指数関数によって定義されるから、対応する共役事前分布は正規分布
   p({\bf w}) = {\cal N}\left({\bf w}|{\bf m}_0,{\bf S}_0 \right)
これから事後分布(ベイズの定理により事前分布と尤度の積に比例する)を平方完成により求めると以下の正規分布となる。
   p({\bf w}|{\bf t}) = {\cal N}\left({\bf w}|{\bf m}_N,{\bf S}_N \right) \hspace{2em} \left({\bf m}_N = {\bf S}_N\left({\bf S}_0^{-1}{\bf m}_0 + \beta{\bf \Phi}^{\rm T}{\bf t}\right), \hspace{1em} {\bf S}_N^{-1} = {\bf S}_0^{-1} + \beta{\bf \Phi}^{\rm T}{\bf \Phi}\right) \hspace{2em} (3.52),(3.53),(3.54)
これはN=0のとき事前分布に一致する。事後分布は正規分布で最頻値が平均に一致するから、MAP重みは{\bf w}_{MAP} = {\bf m}_Nで与えられる。ここで​{\bf S}_0 = \alpha^{-1}{\bf I} \hspace{1em} \left(\alpha \rightarrow 0\right)とすれば、事後分布の平均{\bf m}_N{\bf w}_{ML} = \left({\bf \Phi}^{\rm T}{\bf \Phi}\right)^{-1}{\bf \Phi}^{\rm T}{\bf t}に一致する。なお、例によってN = 0のとき事後分布は事前分布に一致する。
  • いま単純化するために平均が0の等方的な正規分布
   p({\bf w}|\alpha) = {\cal N}\left({\bf w}|{\bf 0}, \alpha^{-1}{\bf I}\right) \hspace{2em} \left({\bf m}_N = \beta{\bf S}_N{\bf \Phi}^{\rm T}{\bf t}, \hspace{1em} {\bf S}_N^{-1} = \alpha{\bf I} + \beta{\bf \Phi}^{\rm T}{\bf \Phi}\right)
を考えると、事後分布の対数は対数尤度と事前分布の対数との和で与えられ、以下の{\bf w}の関数となる。
   \ln p\left({\bf w}|{\bf t}\right) = -\frac{\beta}{2}\sum_{n=1}^{N}\left\{t_n - {\bf w}^{\rm T}{\bf \phi}({\bf x}_n)\right\}^2 - \frac{\alpha}{2}{\bf w}^{\rm T}{\bf w} + {\rm const}
これを{\bf w}について最大化することは(3.27の正則化係数が\lambda = \alpha /\betaの)二次形式正則化項つき二乗和誤差関数を最小化することと等価。

予測分布

  • パラメータ{\bf w}自体よりも新たな入力{\bf x}に対する予測tを知りたいということが実際には多いため、予測分布(predictive distribution)
   p\left(t|{\bf t},\alpha,\beta\right) = \int p\left(t|{\bf w},\beta\right)p\left({\bf w}|{\bf t},\alpha,\beta\right){\rm d}{\bf w}
({\bf t}は学習パターンの目標値ベクトルで、それに対応する入力ベクトルは省略されている)これは書き換えると
   p\left({\bf x},{\bf t},\alpha,\beta\right) = {\cal N}\left(t|{\bf m}_N^{\rm T}{\bf \phi}({\bf x}), \sigma^2_N({\bf x})\right) \hspace{2em} \left(\sigma^2_N({\bf x}) = \frac{1}{\beta} + {\bf \phi}({\bf x})^{\rm T}{\bf S}_N{\bf \phi}({\bf x})\right)
となり、分散\sigma^2_N({\bf x})の第一項はデータのノイズを表し、第二項はパラメータ{\bf w}についての不確かさを表している。
  • データが観測される毎に予測分散が小さくなり(\sigma^2_{N+1}({\bf x}) \leq\sigma^2_N({\bf x}))、N\rightarrow \inftyのとき第二項は限りなく0に近付き、予測分散は\betaのみによって支配されるようになる。正規分布のような基底関数を使用する場合、基底関数の中心から離れれば離れるほど予測分散の第二項の影響が小さくなり、\betaのみによって支配されるようになるため、基底関数が占める領域外の外挿を行った場合の方が信頼性が高くなるという望ましくない結果となる。この点を改善するのがガウスプロセス(Gaussian process)。
  • {\bf w}および\betaの両方が未知とした場合には共役事前分布はガウス-ガンマ分布で与えられ、予測分布はt分布となる。

等価カーネル

  • (3.53)の平均0等方正規分布の事後分布平均を使うと、
   y\left({\bf x},{\bf m}_N\right) = \sum_{n=1}^{N}\beta {\bf \phi}({\bf x})^{\rm T}{\bf S}_N{\bf \phi}({\bf x}_n)t_n
と書くことができる。ここでk\left({\bf x},{\bf x}'\right) = \beta{\bf \phi}({\bf x})^{\rm T}{\bf S}_N{\bf \phi}({\bf x}')とおくと、
   y\left({\bf x},{\bf m}_N\right) = \sum_{n=1}^{N}k\left({\bf x},{\bf x}_n\right)t_n
というカーネル表現となる。この場合のカーネルkを平滑化行列smoother matrixあるいは等価カーネルequivalent kernelという。




3.4節 ベイジアンモデル比較

3.5節 エビデンス近似

(省略)

3.6節 固定基底関数の限界

 非線形基底関数の線形結合から成るモデルは、最小二乗問題についての閉形式解の存在やベイズ的扱いの容易さなどの利点があるものの重大な限界を有している。問題はデータが観測される以前に基底関数が固定されてしまっていることにあり、その結果として入力空間の次元に対してしばしば指数オーダで基底関数の必要数が増加してしまう(次元の呪い)。
 しかしながら二つの点が救いとなる。一つは、データベクトルは入力変数間の強い相関によってそれ自身の次元は入力空間のそれよりも小さい非線形多様体の近くに存在することが多い。もう一つは、目的変数はデータ多様体の可能な方向のうちの少しにしか強い依存をしていないこと。ニューラルネットワークは基底関数が反応する入力空間内の方向を選択することでこの性質を利用することができる。


















目安箱バナー