しまてく

学んだ技術を書きためるブログ

ITエンジニアのための機械学習理論入門 3-2

3.2 単純化した例による解説

いままでやっていた例題をもう少し単純化する。

  • 今までは複数の観測点 $ \{x_n\}_{n=1}^N $ における観測値を予測することが目標だった。
  • 今回は観測点をある点に固定し、繰り返し観測値$t$を得るものとする。
  • ある値を中心に散らばったデータ群 $ \{t_n\}_{n=1}^N $ が得られる。

平均μ、標準偏差σの正規分布である特定のデータ $t=t_n$ が得られる確率 (ほぼ再掲)

$$ N(t_n\ |\ μ, σ^2) = \dfrac{1}{\sqrt{2πσ^2}}e^{-\dfrac{1}{2σ^2}\{t_n-μ\}^2} \tag{3.23} $$

すべての観測点 $\{t_n\}_{n=1}^N$ について合わせて考えると、 一連のデータ群が得られる確率Pは、それぞれの確率の積になる。

$$ \begin{eqnarray} P &=& N(t_1\ |\ μ, σ^2) × N(t_1\ |\ μ, σ^2) × \cdot\cdot\cdot × N(t_N\ |\ μ, σ^2) \nonumber \\ &=& \Pi_{n=1}^NN(t_n\ |\ μ, σ^2) \tag{3.24} \end{eqnarray} $$

この確率はμとσの2つのパラメータに依存しており、μとσを変数とする尤度関数Pが得られたことになる。

このPを最大化するようなμとσを求め、平均および標準偏差の推定値として採用する。

計算

まずは (3.23) を (3.24) に代入して整理する。

$$ \begin{eqnarray} P &=& \Pi_{n=1}^NN(t_n\ |\ μ, σ^2) \nonumber \\ &=& \Pi_{n=1}^N\left(\dfrac{1}{\sqrt{2πσ^2}}e^{-\dfrac{1}{2σ^2}\{t_n-μ\}^2}\right) \nonumber \\ &=& \Pi_{n=1}^N\left(\dfrac{1}{\sqrt{2πσ^2}}\right)\Pi_{n=1}^N\left(e^{-\dfrac{1}{2σ^2}\{t_n-μ\}^2}\right) \nonumber \\ &=& \Pi_{n=1}^N\left\{\left(\dfrac{1}{2πσ^2}\right)^\dfrac{1}{2}\right\}\Pi_{n=1}^N\left\{exp\left({-\dfrac{1}{2σ^2}\{t_n-μ\}^2}\right)\right\} \nonumber \\ &=& \left(\dfrac{1}{2πσ^2}\right)^{\dfrac{N}{2}}exp\left({-\dfrac{1}{2σ^2}\sum_{n=1}^{N}\{t_n-μ\}^2}\right) \tag{3.25} \\ \end{eqnarray} $$

(3.25)にはパラメータσが $\dfrac{1}{σ^2}$ という形のみで含まれるので、 $$ β = \dfrac{1}{σ^2} \tag{3.26} $$ とおく。

計算を単純にするために対数をとり、対数尤度関数lnPを最大化する。

$$ \begin{eqnarray} P &=& \left(\dfrac{1}{2πσ^2}\right)^{\dfrac{N}{2}}exp\left({-\dfrac{1}{2σ^2}\sum_{n=1}^{N}(t_n-μ)^2}\right) \nonumber \\ &=& \left(\dfrac{β}{2π}\right)^{\dfrac{N}{2}}exp\left({-\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2}\right) \nonumber \\ lnP &=& ln\left\{\left(\dfrac{β}{2π}\right)^{\dfrac{N}{2}}exp\left({-\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2}\right)\right\} \nonumber \\ &=& ln\left(\dfrac{β}{2π}\right)^{\dfrac{N}{2}} + ln\ exp\left({-\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2}\right) \nonumber \\ &=& \dfrac{N}{2}ln\left(\dfrac{β}{2π}\right) + ln\ exp\left({-\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2}\right) \nonumber \\ &=& \dfrac{N}{2}lnβ - \dfrac{N}{2}ln2π -\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2 \tag{3.27} \\ \end{eqnarray}$$

対数は単調増加なのでlnPが最大になることと、Pが最大になることは同値。 対数なので傾き0で最大となるので、対数尤度関数を最大にする $(μ, β)$ は次の条件で決まる。

$$ \dfrac{∂(lnP)}{∂μ} = 0 \tag{3.28} $$

$$ \dfrac{∂(lnP)}{∂β} = 0 \tag{3.29} $$

(3.28)は(3.27)を代入して、

$$ \begin{eqnarray} \dfrac{∂\left(\dfrac{N}{2}lnβ - \dfrac{N}{2}ln2π -\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2 \right)}{∂μ} &=& 0 \nonumber \\ \dfrac{∂\left(-\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2 \right)}{∂μ} &=& 0 \nonumber \\ \dfrac{∂\left(-\dfrac{β}{2}\sum_{n=1}^{N}(t_n^2 - 2t_nμ + μ^2) \right)}{∂μ} &=& 0 \nonumber \\ \dfrac{∂\left(\dfrac{β}{2}\sum_{n=1}^{N}t_n^2 + β\sum_{n=1}^{N}t_nμ + -\dfrac{β}{2}\sum_{n=1}^{N}μ^2 \right)}{∂μ} &=& 0 \nonumber \\ \dfrac{∂\left(β\sum_{n=1}^{N}t_nμ -\dfrac{β}{2}\sum_{n=1}^{N}μ^2 \right)}{∂μ} &=& 0 \nonumber \\ β\sum_{n=1}^{N}t_n -β\sum_{n=1}^{N}μ &=& 0 \nonumber \\ β\sum_{n=1}^{N}t_n -βNμ &=& 0 \nonumber \\ β(\sum_{n=1}^{N}t_n -Nμ) &=& 0 \tag{3.30} \\ \sum_{n=1}^{N}t_n &=& Nμ \nonumber \\ μ &=& \dfrac{1}{N}\sum_{n=1}^{N}t_n \tag{3.31} \\ \end{eqnarray}$$

この時、(3.31)の右辺は観測をN回試行した際の平均値(標本平均)を表す。

一方、(3.29)の左辺は(3.27)を用いると、

$$ \begin{eqnarray} \dfrac{∂\left(\dfrac{N}{2}lnβ - \dfrac{N}{2}ln2π -\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2 \right)}{∂β} &=& 0 \nonumber \\ \dfrac{∂\left(\dfrac{N}{2}lnβ -\dfrac{β}{2}\sum_{n=1}^{N}(t_n-μ)^2 \right)}{∂β} &=& 0 \nonumber \\ \dfrac{N}{2β} -\dfrac{1}{2}\sum_{n=1}^{N}(t_n-μ)^2 &=& 0 \nonumber \\ \dfrac{N}{2β} &=& \dfrac{1}{2}\sum_{n=1}^{N}(t_n-μ)^2 \nonumber \\ \dfrac{1}{β} &=& \dfrac{1}{N}\sum_{n=1}^{N}(t_n-μ)^2 \tag{3.33} \\ \end{eqnarray} $$

(3.26)より、$ β = \dfrac{1}{σ^2} $ なので、$ σ^2 = \dfrac{1}{β} $ と変形でき、(3.33)は $ σ^2 = \dfrac{1}{N}\sum_{n=1}^{N}(t_n-μ)^2 $ となる。

つまり、観測データ $ \{t_n\}_{n=1}^N $ の分散(標本分散)になっており、分散$σ^2$の推定値として、観測データの標本分散を採用する事を意味する。

3.2.3 推定量の評価方法 (一致性と普遍性)

  • 最尤推定法は必ずしも正解(真の母数)を与えるものではない。
    • これはどんな推測アプローチも同様。
  • データサイエンスの目的は「過去のデータから未来を予測する」
    • 言い換えれば「有限個のデータからその背後の一般的な事実を推測する」
  • 様々な推測方法があり、それぞれにメリット/デメリットがある。
    • 機械学習の結果を鵜呑みにするのではなく、モデルの汎化能力を評価しよう。
    • テストセットによる検証やクロスバリデーションなど。
  • (図3.11)からは「標準偏差$σ$(分散$σ^2$)の推定値は実際の値よりも小さくなりがち」という事が観測できる
    • ならば推定値を少し大きくすればいい?
      • どの程度大きくすればいいか?
      • 「推定量の評価」をする。

推定量

  • 何らかの陸地に基づいて、推定値を計算する方法が得られた場合、その計算方法を「推定量」と呼ぶ。
  • 具体的なデータから計算された値(推定値)と区別するために、こういう呼び方になっている。
  • 様々な推定量の中でも「一致性」と「不偏性」を持つものは性質のよい推定量。

一致性

  • 観測するデータ数Nを増やすと、$μ$と$σ^2$の推定値は真の母数に近づく。
  • このようにデータ数を大きくすることで真の値に近づくことを「一致性」と呼ぶ。

  • 一般に一致性を持つ推定量を「一致推定量」と呼ぶ。

不偏性

  • 偏りが無い、という性質。
  • 集める推定値の数を増やしていくと「μの推定値の平均」は真の母数である0に近づく。
  • 「何度も推定を繰り返した際に、推定値の平均が真の母数に近づく」という性質。
  • 大きい方にも外れるが、同じだけ小さい方にも外れる。→平均すると変わらない。

今週はここまで。