PRML上巻_3章 線形回帰モデル(Linear Regression Model) 読解メモ #3

f:id:lib-arts:20181230162207p:plain

#2では確率分布について取り扱いました。

#3では3章の読解メモをまとめていければと思います。(7~8割の理解を目標においた読解にあたってのメモなので、要旨を掴みたい方向けです)
3章の線形回帰モデルは多くの機械学習や統計モデリングのベースとなる非常に重要な考え方です。
以下目次になります。


1. 3章の内容に関して概要
2. 詳細
2.1 線形基底関数モデル(3.1)
2.2 バイアス_バリアンス分解(3.2)
2.3 ベイズ線形回帰(3.3)
2.4 ベイズモデル比較(3.4)
2.5 エビデンス近似(3.5)
3. まとめ&所感

 

1. 3章の内容に関して概要

3章は線形回帰モデルについて取り扱います。単に線形回帰(Linear Regression)と言ったり、線形モデル(Linear Model)と言ったりなど文脈によって様々な使い方をされます。ですが、基本的には①線形性を満たす多項式で②入力のX(多変数の場合もある)からyを予測するという意味では全て同じです。
ここで線形という言葉がいきなり出てきましたが、線形性とは数学的には写像fが下記の二つの性質を満たす関数のことを指します。

・加法性: 任意の x, y に対して f(x + y) = f(x) + f(y)
・斉次性: 任意の x, α に対して f (αx) = αf(x)
参考: https://ja.wikipedia.org/wiki/線型性

上記に基づくと、A. f(x)=2xは線形、B. f(x)=x^2は非線形となります。

◆ 証明
A.
f(a+b)=2(a+b)
         =2a+2b
         =f(a)+f(b)
         -> 加法性を満たす

f(αa) =2×αa
        =α×2a
        =αf(a)
        -> 斉次性を満たす
=> 加法性、斉次性を満たすので線形

 

B.
f(a+b)=(a+b)^2
         =a^2+b^2+2ab
         =f(a)+f(b)+2ab
=> 加法性を満たさないので非線形

線形性について抑えられたので改めて線形回帰モデルについて取り扱うと、yをXの線形な関数で予測するというのが線形回帰モデルになります。


2. 詳細

以下3章についてそれぞれまとめていければと思います。
まず、3章の冒頭ですが、回帰問題の概要について述べられており、

・与えられたD次元の入力(input)変数のベクトルxの値から1つあるいは複数の目標(target)変数tの値を予測すること

とされています。基本的にはこの記事の冒頭で述べた線形性に基づいて式は作るのですが、基底関数(basis function)に非線形な関数の固定された集合の線形結合を取ることもできるとされています。これにより関数の表現力を上げることが可能になります。
一般的な確率論的な見方も可能で、xの値に対するtの不確かさを表すために予測分布のp(t|x)を導入することもできます。この見方の際に予測分布に正規分布ではなく指数型分布族を適用することでモデルを拡張してGLM(一般化線形モデル)の議論が行われる際もあります。

高次元の入力空間の問題に対しても、そのまま線形モデルを用いるのは実用的ではない反面で、線形モデルは解析的に取り扱いやすいのでより洗練されたモデルの基礎としても用いることができ、非常に重要な考え方とされています。

また、3章の構成については、3.1と3.3が論旨の中心なのでこちらを中心に読んでいくと良いかと思います。以下、それぞれの節ごとにまとめていきます。


2.1 線形基底関数モデル(3.1)

まず話の展開として、数式の定義から行われています。

・y(x,w) = w0+ w1x1 + ... +wDxD

最も単純な線形回帰モデルとしては、上記のような入力変数の線形結合で表されています。

・y(x,w) = w0 + Σwjφj(x)

ここでφを基底関数に置き、xに置き換えてΣでくくると上記の式になるのですが、ここでφ0(x)=1と置くことで下の式のように整理することも可能になります。(cf. デザイン行列)

・y(x,w) = Σwjφj(x)

ここで非線形な基底関数を仮定することで、y(x,w)は入力のxに対して非線形にすることができます。このようにすることで数式の表現力を上げることが可能になります。基底関数の取り方については色々とありますが、PRMLの上下巻を通して基底関数集合の選択に依存しないので、今後の説明の進行としては基底関数を限定しないとされています。逆に言うなら簡単な例でイメージして良いと言うことなので、φj(x)は基本的にはxjと考えておけば十分だと思います。

3.1.1節では最尤推定と最小二乗法についてまとまっています。ここでは1.2.5の議論を焼き直しています。ここで追加されている事項としては基底関数の導入と、最小二乗法を解いた解を正規方程式(normal equation)で表現していると言うことです。正規方程式は解析解であり、偏微分方程式(誤差の最小化にあたって偏微分=0を解く必要がある)を理論的に解いた解になります。

3.1.2節では最小二乗法の幾何学的な解釈についてまとめています。3.1.3節では逐次学習(sequential learning)による近似解の導出についてまとめられています。逐次学習はオンライン学習(on-line learning)とも呼ばれています。

・w(τ+1) = w(τ)-η∇E

具体的な例として逐次学習のアルゴリズムとして有名かつベーシックな勾配降下法(Gradient Descent)についても言及されています。勾配降下法は5章のニューラルネットワークでも言及されるなど、凸最適化問題の数値解を求めるにあたってベースとして使用されるかなり汎用的に用いられるアルゴリズムです。

3.1.4節では最適化にあたって、過学習を防ぐために誤差関数に正則化項(ペナルティのようなもの)を加えた、正則化最小二乗法について言及されています。誤差関数にパラメータのノルムのq乗を加えたものになるのですが、q=1のlassoとq=2のlidgeが特に有名です。

3.1.5節は出力変数が多次元の場合について話を拡張しています。


2.2 バイアス_バリアンス分解(3.2)

誤差関数をバイアス(bias)とバリアンス(variance)に分解するにあたっての諸々についてまとまっています。

・期待損失=(バイアス)^2 + バリアンス + ノイズ

諸々の解釈としては上記になります。


2.3 ベイズ線形回帰(3.3)

#2でも言及しましたが、3.3節のベイズ線形回帰を導入するにあたっての理由としては、単純に尤度関数の最大化を行うだけでは学習データを過大評価してしまうためです。線形回帰の文脈でのベイズ化は、実際に学習するパラメータの値の推定ではなく、パラメータの分布を事前に与えてデータを元にそれを更新するということを意味しています。このことにより、観測データの過大評価や過学習を防いだり、何らかの事前知識がある場合は事前分布として表現できるなど特にデータが少ないケースでは大きな威力を発揮します。

3.3.1では上記の話を数式で表現してくれており、パラメータの事前分布をp(w)、事後分布をp(w|t)とおいた時にそれぞれ、下記の数式で表現できることを示してくれています。

p(w) = N(w|m0,S0) <- 事前分布
p(w|t) = N(w|mN,SN) <- 事後分布

mNやSNの定義については(3.50)、(3.51)を確認していただければと思いますが、一番理解しておくべきは事前分布も事後分布も正規分布で表現していることです。パラメータの推定値を正規分布で表現しているということを掴むと流れが掴めるのではないかと思います。また、(3.55)の事後分布の対数尤度関数ln(p(w|t))の最大化は二乗和誤差と二次正則化項の和を最小化することと等価であるということを示してくれています。ちなみにここで二次正則化(ridge)が出てきているのは事前分布に正規分布を仮定したからで、ラプラス分布を仮定することで一次正則化(lasso)を導くことができます。

3.3.1ではwの値の予測を行いましたが、実務的な場面ではwの値もそうですが、新しいxの値に対応するt(予測値)を計算したいことも多いです。3.3.2では、以下のように予測分布(predictive distribution)を定義することで予測値の分布を計算しています。

・p(t|t_,α,β) = ∫p(t|w,β)p(w|t_,α,β)dw
※ t_は観測されたデータ

(3.58)では予測分布が正規分布の形を取れるということを示唆しています。

3.3.3は(3.53)式についての考察をもとに6章のカーネル法の導入にあたっての解釈について書かれています。

 

2.4 ベイズモデル比較(3.4)
3.4節ではベイズの観点からモデルの比較についての一般論について記述されています。

・p(Mi|D) ∝ p(Mi)p(D|Mi)

上記の数式を元に考察がされているのですが、式の解釈としてはそれぞれ、p(Mi)はモデルの不確かさ(どのモデルをどの確率で採用するかの確率分布と解釈するのが良いと思います)を表した事前確率分布(iはi=1,2,..,L個のモデルを表現するにあたって、i番目のモデルを表しています)、Dは訓練集合、p(Mi|D)はモデルの不確かさの事後分布になります。また、p(D|Mi)をモデルエビデンス(model evidence)と呼んでおり、これはデータから見たモデルの定義を表すなどモデルの比較にあたって重要な働きをします。

モデルを決める際はモデルエビデンスを元に決めることができ、基本的にあるデータ集合D0に対して中間の複雑さを持つモデルのエビデンスが最大になることが多いと記述されています。単純過ぎるモデルも複雑過ぎるモデルも良くないとされています。
(本が書かれた2007年ころには近年の画像認識を中心としたDeepLearningの発展についてはなかったので、中間の複雑さとなっていますが、近年のトレンドとしては大量の学習データを元に大きなモデルを作るという話になっていると思います。とはいえ、必ずしも複雑なモデルが良いわけではなく、ある程度目的の精度に達したものは軽量化がはかられるなど、結局中間の複雑さが大事なのかもしれません)

 

2.5 エビデンス近似(3.5)
後日追記します。

 

3. まとめ&所感
線形式での立式とパラメータの推定を元に予測を行うというのに加え、パラメータをベイズ的に取り扱うことでサンプル数が少ない場合にも適用できるようにするというのが第3章の主な内容でした。
なかなかボリュームの大きい章なので、初見の場合は3.1と3.3だけでも十分な印象でした。場合によっては3.1だけでも十分な情報量だと思われます。