Prml1
序論
回帰の例
機械学習でできることの一つの回帰を例に雰囲気を説明する。 wに関する線形の式\(y(x)=\sum^{M}_{j=0}w_{j}x^{j}\)でsin関数を近似する。 この時のMはモデルの次数、wは学習によって調節されるパラメータを表す。 学習用データには、実際の問題と同じようにノイズを乗せたsin関数の値を用いる。 誤差関数には二法誤差を使う。 学習によってこの誤差関数を最小にする用にパラメータを調節していく。 この時モデルの次数はとても大切で、適切な次数でないと、表現力が足りなかったり、過学習してしまう。 ベイズの用に確率を使うと、モデルの複雑さには依存しなくなる。 この過学習を防ぐ方法としては、正則化がよく用いられる。 正則化とは、誤差関数にペナルティを課して、パラメータが大きくなり過ぎない用にすること。 これによりノイズに強くなったりする。 モデルの複雑さを決める方法としては、クロスバリデーションとかある。
確率論
ベイズ
ランダムな繰り返し試行の頻度を確率とするのを、頻度主義また古典確率という。 ランダムな繰り返し試行の不確かさを確率とするのをベイズ主義という。 ベイズでは、自分たちパラメータw対するの知見を、事前確率p(w)という形で確率に組み込み、観測されたデータDはp(D|w)という形で表される。 頻度主義では、データを元に、パラメータを更新していくのに対し、ベイズでは、wの不確かさが更新されて行く。 これらを元にベイズの定理を適用すると、 \[p(w|D)=\frac{p(D|w)p(w)}{p(D)}\] となり、wのそれっぽさが確率で出せる。 また、p(D|w)は、wに関する関数ともとれ、尤度関数という。 p(D)は \[p(D)=\int p(D|w)p(w)dw\] に変換でき、p(w|D)はwの式とみなせる。
正規分布
事前分布としてよく用いられる正規分布について触れる。 正規分布は \[N(x|\mu,\sigma)=\frac{1}{(2\pi\sigma^{2})^{\frac{1}{2}}}exp{-\frac{1}{2\sigma^{2}(x-\mu)^{2}}}\] で表される。 \(\mu\)を平均\(\sigma^{2}\)を分散とする。 データ集合Xが与えられたときのパラメータの決め方について考える。 \(\mu\)と\(\sigma\)が与えられたときのデータ集合の発生確率は、 \[p(X|\mu,\sigma^{2})=\prod^{N}_{n=1}N(X_{n}|\mu,\sigma^{2})\] となり、これが尤度関数になる。 対数尤度を取り、最小化する\(\mu_{ML}\)、\(\sigma^{2}_{ML}\)を求めると \[\mu_{ML}=\frac{1}{N}\sum^{N}{n=1}x_{n}\] \[\sigma^{2}_{ML}=\frac{1}{N}\sum^{N}{n=1}(x_{n}-\mu_{ML})^{2}\] となり、それぞれサンプル平均、サンプル分散と言われる。 この時、サンプル平均は、すぐ真に近づくが、サンプル分散はなかなか近づかない。 これをバイアスという。
回帰の例
確率から回帰の例をもう一度見る。 入力xに対して求めたい値tの発生確率が正規分布に従うとすると \[p(t|x,w,\beta)=N(t|y(x,w),\beta^{-1})\] となる。 訓練データ{X,T}を用いると \[p(T|X,w,\beta)=\prod_{n=1}^{N}N(T_{n}|y(X_{n},w),\beta^{-1})\] で尤度関数が定義でき、最尤推定によりモデルのパラメータを決めることができる。 これは、二乗誤差でパラメータを最適化すると同じ。 ベイズ的な視点から回帰の例をみる。 事前確率を \[p(w|\alpha)=N(w|0,\alpha^{-1}I)\] とするとwの事後確率は、 \[p(w|X,T,\alpha,\beta)\propto p(T|X,w,\beta)p(w|\alpha)\] となる。 与えられたデータから、事後確率を最大にするwを求めるのをMAP推定という。 これは、正則化を用いて二乗誤差でwを最適化するのと同じ。 完全なベイズでは、予測分布を作るので \[p(t|x,X,T)=\int p(t|x,w,\beta)p(w|X,T,\alpha,\beta)dw\] となる
決定論
入力に対して出力を一意に決める問題。
クラスタリングの例をみる。
入力xをクラスCkに当てはめる。
アプローチとしては、
( a )p(x|Ck)を求めてベイズの定理を使いp(C_{}k}|x)を求める。これは、同時確率分布を求められ、出力も入力も人工的に生成できるので生成モデルと言われる
( b )p(Ck)を直接求める。識別モデルと言われる
( c )クラスCkを出力する関数を求める
の三種類がある。
( a )( b )のアプローチでは、クラスを決定するしきい値を求める問題がある。
最も簡単な誤識別を最小にする考え方では、単純にもっとも確率の高い物を選べばいい。
複雑な物を例として、誤認識したときの損失を最小にする考え方では、認識ごとに重みをつけそれを最小化するものを選ぶ。
別の方法としては、分からないものとして棄却する方法もある。あるしきい値をきめて、各クラスになる確率がしきい値以下なら分からないものとする。
( c )のアプローチでは、しきい値も全部決めてしまうので、何か変更があった時とか一から学習しなおしたりするので、汎用性にかける。