jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「確率的機械学習 入門編I」を読む ~第2章 単変量の確率モデル②~

はじめに

持橋大地・鈴木大慈 監訳「確率的機械学習 入門編I」は,世界的に評価の高いK.P.Murphy著 "Probabilistic Machine Learning (Book1)" の和訳であり,確率モデルに基づく機械学習,深層学習といった基礎が丁寧に整理されている。私は統計検定1級として数理統計の基礎は学んできたが,機械学習・深層学習は実務に応じて場当たり的に学んできた。実務での応用に向けて,機械学習・深層学習の基礎を体系的に学び,チームの技術力を底上げしたいと考えている。また読書メモに自身の理解をまとめることで,製造業に携わる若いエンジニアにとっても有益な知識を還元できればと考えている。

※なおボリュームが多い本なので,知っているところは端折りながら読み進めたい。


本記事は,「第2章 単変量の確率モデル」の後半部分に関する読書メモである。

改訂履歴

  • 逆ガンマ関数における積分を修正した(@HirokazuOHSAWA様,ありがとうございました!)。(2025/11/25)

2.7 その他の頻出する単変量分布

前節では単変量ガウス分布を紹介していたが,本節ではそれ以外の分布について説明している。

2.7.1 スチューデントのt分布

本項では,スチューデント分布(Student t distribution, Student distribution)を紹介している。

スチューデントのt分布の特徴は,外れ値の影響を受けにくいという点である。
下図は,データに対してガウス分布,スチューデントのt分布,ラプラス分布を当てはめた例である。左図のように外れ値がない場合は,いずれの分布もよくフィッティングしている。一方で右図のように外れ値がある場合は,ガウス分布は全体的に右側に分布がずれており,外れ値の影響を受けている。一方で,スチューデントのt分布とラプラス分布は外れ値の影響が少ない。

ガウス分布・スチューデントのt分布・ラプラス分布と外れ値

2.7.2 コーシー分布

本項では,コーシー分布について説明している。

コーシー分布はガウス分布に比べて裾が重い。また,半コーシー分布は,正の区間の裾の思い分布にしたがうデータをベイズ的にモデル化する際に用いられる。

2.7.3 ラプラス分布

本項では,ラプラス分布について説明している。ラプラス分布は,スパース線形回帰で用いられる。

2.7.4 ベータ分布

本項では,ベータ分布について説明している。

●ブログ筆者註:
本項では,ベータ分布の確率密度関数や平均・分散のみを紹介しているが,「4.6.2 ベータ・二項モデル」では,二項分布のパラメータに関する事前分布としてベータ分布を用いる,ということを説明している。

2.7.5 ガンマ分布

本項では,ガンマ分布と,その特殊形である指数分布・カイ2乗分布を説明している。

逆ガンマ分布(※ブログ筆者補足)

本項では,逆ガンマ分布


 \begin{align}
IG(x \mid a, b) \equiv \frac{b^a}{\Gamma(a)} x^{-(a+1)} e^{-b/x} \\ \\
\end{align}
と,その平均・最頻値・分散を説明している。ここでは,逆ガンマ分布の導出と,平均の導出を整理する。


逆ガンマ分布は,ガンマ分布


 \begin{align}
G(y \mid a, 1/b) \equiv \frac{b^a}{\Gamma(a)} y^{a-1} e^{-yb} \\ \\
\end{align}
において, Y = 1/X (ただし Yは正の実数)と変数変換して得られる確率密度関数である。この変数変換におけるヤコビアンは, J = \lvert dy/dx \rvert = x^{-2}なので,


 \begin{align}
IG(x \mid a, b) = \frac{b^a}{\Gamma(a)} x^{-a+1} e^{-b/x} \cdot x^{-2} 
= \frac{b^a}{\Gamma(a)} x^{-(a+1)} e^{-b/x} \\ \\
\end{align}
となる。


次に,平均について考える。逆ガンマ分布において,全確率の積分は1になるので,


 \begin{align}
1 &= \int_0^{\infty} \frac{b^a}{\Gamma(a)} x^{-(a+1)} e^{-b/x} dx \\ \\
\Leftrightarrow \frac{\Gamma(a)}{b^a} &= \int_0^{\infty} x^{-(a+1)} e^{-b/x} dx \\ \\
\end{align}
であることに注意すると, IG(x \mid a, b)にしたがう確率変数の期待値は,


 \begin{align}
E[ X ] &= \int_0^{\infty} \frac{b^a}{\Gamma(a)} x \cdot x^{-(a+1)} e^{-b/x} dx \\ \\
&= \frac{b^a}{\Gamma(a)} \times \frac{\Gamma(a-1)}{b^{a-1}} \\ \\
&= b \frac{\Gamma(a-1)}{ (a-1) \Gamma(a-1)} = \frac{b}{a-1} \\ \\
\end{align}
となる。

2.7.6 経験分布

本項では, N個のサンプルが得られた時における経験分布の,確率密度関数と累積分布関数を説明している。

2.8 確率変数の変換

2.8.1 離散型確率変数の場合

本項では,離散確率変数の場合における,確率変数の変換について説明している。

 Xが離散確率変数の場合, Yの確率質量関数 p_y(Y)(ただし, y=f(x))は,


 \begin{align}
p_y(y) = \sum_{x:f(x)=y} p_x(x) \\ \\ 
\end{align}
で与えられる。

2.8.2 連続型確率変数の場合

本項では,連続確率変数の場合における,確率変数の変数変換について説明している。

 Xが連続確率変数の場合, Yの累積分布関数は,


 \begin{align}
P_y(y) = \mathrm{Pr}(Y \leq y) = \mathrm{Pr}(f(X) \leq y) = \mathrm{Pr}(X \in \{x \mid f(x) \leq y\} ) \\ \\
\end{align}
で与えられる。

2.8.3 可逆変換(全単射写像)の場合

本項では,変数変換 y=f(x)が,単調で可逆な関数であるときの場合について説明している。

この場合は,ヤコビアンを用いて


 \begin{align}
p_y (y) = p_x(x) \left \lvert \frac{dx}{dy} \right \rvert \\ \\
\end{align}
となる。

2.8.4 線形変換のモーメント

本項では,多変量の確率変数について線形変換を行なった際における,モーメントの変換について説明している。

ベクトルの確率変数 \boldsymbol{x}について,平均と共分散がそれぞれ \boldsymbol{\mu}, \boldsymbol{\Sigma}であるとする。

変数変換の関数 fがアフィン関数 \boldsymbol{y} = \boldsymbol{A} \boldsymbol{x} + \boldsymbol{b}とすると,


 \begin{align}
&E[ \boldsymbol{y} ] = \boldsymbol{A} \boldsymbol{\mu} + \boldsymbol{b} \\ \\
&\mathrm{Cov}[ \boldsymbol{y} ] = \boldsymbol{A} \boldsymbol{\Sigma} \boldsymbol{A}^T \\ \\
\end{align}
となる。

2.8.5 畳み込み定理

本項では,2つの独立な確率変数 x_1, x_2について, y=x_1+x_2がしたがう累積分布関数や確率密度関数,および畳み込み(convolution)について説明している。

確率密度関数の導出(※ブログ筆者補足)

本書P69では,累積分布関数や確率密度関数について説明しているが,式変形を確認した。

まず確率変数 x_1, x_2の定義域を確認する。これらの定義域については説明がないが,それぞれ独立に変化する場合には -\infty \lt x_1 \lt \infty, -\infty \lt x_2 \lt \inftyであると考えられる。ただし, y=x_1+x_2 という制約が付くため,定義域は,


 \begin{align}
&-\infty \lt x_1 \lt \infty \\ \\ 
&-\infty \lt x_2 \lt y - x_1 \\ \\
\end{align}
となる。

確率変数の定義域


次に,累積分布関数を考える。本書P69では


 \begin{align}
P_y(y^*) = \mathrm{Pr} (y \leq y^*) = \int_{-\infty}^{\infty} p_1(x_1) dx_1 \int_{-\infty}^{y^* - x_1} p_2(x_2) dx_2 \\ \\
\end{align}
と書かれている。
しかし,実はこの書き方には注意が必要である。一見すると,右辺の前半の積分は1になりそうであるが,後半の積分 x_1が存在するため,右辺の前半の積分を消すことができない。したがって積分布関数は,重積分を用いて


 \begin{align}
P_y(y^*) = \mathrm{Pr} (y \leq y^*) = \int_{-\infty}^{\infty} \left( \int_{-\infty}^{y^* - x_1} p_2(x_2) dx_2 \right) p_1(x_1) dx_1\\ \\
\end{align}
のように,積分する順番を意識した書き方に注意するべきである。


さらに,確率密度関数を考える。本書P69と同様にライプニッツ積分法則を用いるのであるが,積分微分の順番が入れ替えられると仮定すると,


 \begin{align}
p_y(y) 
&= \frac{d}{dy} \int_{-\infty}^{\infty} \left( \int_{-\infty}^{y - x_1} p_2(x_2) dx_2 \right) p_1(x_1) dx_1\\ \\
&= \int_{-\infty}^{\infty} \frac{d}{dy}  \left( \int_{-\infty}^{y - x_1} p_2(x_2) dx_2 \right) p_1(x_1) dx_1\\ \\
&= \int_{-\infty}^{\infty} p_1(x_1) p_2(y - x_1) dx_1\\ \\
\end{align}
が得られる。

2.8.6 中心極限定理

本節では,中心極限定理について説明している。中心極限定理は,同じ分布から独立に得られたサンプルの和がしたがう分布は,正規分布に近づくという定理である。

2.8.7 モンテカルロ近似

本節では,変数変換後の確率密度関数を解析的に求めることが難しい場合に,モンテカルロ近似によって数値計算する方法を説明している。

モンテカルロ近似によって, y=f(x)という変数変換後のサンプル y_s n_s個得たとき,変数変換後の確率密度関数の経験分布は,


 \begin{align}
p_s(y) \equiv \frac{1}{n_s} \sum_{s=1}^{n_s} \delta (y - y_s) \\ \\
\end{align}
のように,ディラックデルタ関数で近似できる。ディラックデルタ関数[te: \delta(y - y_s)]は, y_sにピークを持つ関数である。

まとめと感想

今回は,「2 単変量の確率モデル」の後半部分についてまとめた。

各種単変量分布

本章では,各種の単変量関数について,その形状や特徴を説明していた。いずれも,統計・機械学習でよく出てくる重要な確率分布であった。後半の章においても出てくると想定されるため,必要に応じて振り返りたい。実務で利用していくには,その形状だけでなく,利用シーンなども含めて理解することが重要である。

確率変数の変数変換

本章で紹介されていた確率分布は,いずれもシンプルな形状をしている。しかし実用上では,より複雑な確率分布を使う必要が出てくる。
確率変数の変数変換は,複雑な分布を作るうえで強力な武器になり得るが,利用する際には数学的な背景を理解し,正しく用いることが重要であると考える。


本記事を最後まで読んでくださり,どうもありがとうございました。