Help us understand the problem. What is going on with this article?

入門EMアルゴリズム

More than 1 year has passed since last update.

入門EMアルゴリズム

by termoshtt
1 / 9

線形回帰

$N$個のデータの組 $(x_i, y_i)$ があるときにその関係 $y = a x+b$ を求めよ

index.png


推定

観測データからパラメータを計算する関数
$$\hat{a} = \phi_a(\hat{x}, \hat{y}), \hat{b} = \phi_b(\hat{x}, \hat{y})$$
推定量と呼ぶ。

  • 観測データがランダムに生成されていると、そこから計算した推定量もランダムな値を取る
  • 推定量のうち、その期待値 $E[\hat{a}]$ が真のパラメータ値 $a$ に一致するものを不偏推定量と呼ぶ

最尤推定

  • パラメータがある値 $a, b$ だった時にそのデータが出力される確率 $p(x,y|a,b)$ を 尤度 と呼ぶ
  • 尤度を計算するにはノイズを含めた 確率モデル が必要
  • ノイズは正規分布に従ってると仮定する($\sigma^2$は簡単のため既知とする): $$ p(x,y|a,b) = \mathcal{N}_{\sigma^2}(y-(ax+b)) \propto \exp(-|y-(ax+b)|^2/2\sigma^2) $$
  • 個々の観測が独立に得られていると仮定する: $$ p(\hat{x}, \hat{y}|a, b) = \prod_i p(x_i, y_i|a, b) $$
  • 尤度が最高になるように$a, b$を選ぶ(最尤推定): $$ \phi_{a,b}(\hat{x}, \hat{y}) = \text{argmax}_{(a, b)} p(\hat{x}, \hat{y}|a, b)$$

最小二乗法

  • $\log$は単調増加関数なので$p(..)$の最大値は$\log(p(..))$の最大値と同じ: $$ \log(p(\hat{x}, \hat{y}|a, b)) = \sum_i \log(p(x_i, y_i|a, b)) = -\sum_i |y_i -(ax_i +b)|^2/2\sigma^2 $$
  • これが最小二乗法のコスト関数
  • $a, b$に対する2次式なので平方完成できる
  • 実際$\sigma^2$は計算に出てこない

ベイズ線形回帰

  • パラメータの確率分布を考える $p(a, b)$
  • パラメータの事前分布を仮定する: $$ p(a, b) \propto \exp(-(a^2 + b^2)/2\sigma_a^2)$$
  • 観測データ$(x_i, y_i)$が入るたびに更新する(事後分布) $$ p(a,b| \hat{x}) \propto p(\hat{x}|a,b) p(a,b) $$
  • 事後分布に対して最尤推定を行う: $$ \log(p(\hat{x}, \hat{y}|a,b)) = -\sum_i |y_i -(ax_i +b)|^2/2\sigma^2 - (a^2+b^2)/2\sigma_a^2$$
  • 正則化項が追加され、$\sigma^2$に意味が出てくる

Evidence function

  • ハイパーパラメータ$\sigma^2$, $\sigma_a^2$はどうやって決めればよかったのか?
  • $\sigma^2$, $\sigma_a^2$を決めると$a$, $b$の推定量$\phi_{a,b}$が一意に決まるのでそれについて平均をとる(Eステップ) $$ p(\hat{x}, \hat{y}|\sigma^2, \sigma_a^2) = \int da \int db p(\hat{x}, \hat{y}|a, b, \sigma) p(a, b|\sigma_a^2) $$
  • これを最大化する$\sigma^2$, $\sigma_a^2$が良いハイパーパラメータ
  • でもどうやって計算する??

EMアルゴリズム

  • $p(\hat{x}, \hat{y}|\sigma^2, \sigma_a^2)$ の最大化問題では$(a, b)$は積分されてしまっているので、隠れ変数とみなせる
  • EMアルゴリズムは観測できる変数($X$)と隠れ変数($Z$)がある場合のパラメータ($\theta$)を最尤推定するためのアルゴリズム $$ p(X|\theta) = \int dZ p(X, Z|\theta) $$

EMアルゴリズム(for ベイズ線形回帰)

  • Eステップ:固定したハイパーパラメータ($\sigma^2, \sigma_a^2$)に対してパラメータ$a, b$の事後分布$p(a,b|\hat{x}, \hat{y})$を計算する
  • Mステップ:その分布に対して平均した $E_{a,b}[\log p(\hat{x}, \hat{y}, a, b|\sigma^2, \sigma_a^2)]$を最大化する
ricos
FEMによる構造解析、機械学習の専門家集団。計算資源のクラウド提供もしています。
https://www.ricos.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした