MML
  • 数学プログラミング置き場
  • 数学記号記法一覧
  • 機械学習のための数学
    • 確率論
  • 機械学習・データサイエンス
    • 1. 機械学習・データサイエンス(概要)
    • 2. 機械学習
      • 2.1. 機械学習をこれから始める人へ
      • 2.2. 回帰問題
        • 2.2.1. 線形回帰の基礎
        • 2.2.2. 線形回帰モデルと正則化
        • 2.2.3. 線形基底関数モデル
          • いろいろな基底関数
        • 2.2.4. ベイズ線形回帰モデル
        • 2.2.5. カーネル回帰
        • 2.2.6. ガウス過程回帰
        • 2.2.7. 一般化線形モデル
        • 2.2.8. 一般化加法モデル
        • 2.2.9. 分位点回帰
        • 2.2.10. 3層ニューラルネットワーク
        • 2.2.11. 深層学習
        • 2.2.12. 深層学習とガウス過程
      • 分類問題
        • 線形判別分析
        • SVM
        • カーネルSVM
      • 強化学習
    • 3. データサイエンス
      • 主成分分析
      • 白色化
      • 低ランク行列近似
      • 行列補完
      • NMF
      • スパースモデリング
        • LASSO
          • FISTA
          • ADMM
        • 全状態探索法
    • 4. ニューラルネットワーク
      • CNN
      • GAN
      • VAE
      • GNN
      • word2vec
    • 5. ベイズ推論
      • 確率
      • 確率分布
      • ちょっとだけ振り返って
      • MCMC
      • ギブスサンプリング
      • 変分推論
  • 連続最適化
    • 1. Taylor展開と関数近似
    • 2. Taylorの定理と誤差の評価
    • 3. 最適化問題
    • 4. 直線探索法
      • 4.1. 最急降下法
      • 4.2. Armijo条件・Wolfe条件
      • 4.3. ニュートン法
      • 4.4. 共役勾配法
        • 4.4.1. 原始的な共役勾配法
        • 4.4.2. PRP法
        • 4.4.3. HS法
      • 4.5. 準ニュートン法
        • 4.5.1. DFP法
        • 4.5.2. BFGS法
        • 4.5.3. L-BFGS法
        • 4.5.4. Bryoden family of methods
        • 4.5.5. Broyden法
    • 5. 確率的最適化
      • 5.1. 確率的勾配降下法(SGD)
      • 5.2. 確率的準ニュートン法(SQN)
  • 行列計算
    • QR分解
    • コレスキー分解
    • 一般化コレスキー分解
    • 固有値分解
    • 一般化固有値問題
    • 特異値分解
  • その他
    • 位相限定相関法
  • カーネル法
    • カーネル法(概要)
  • Riemannian最適化
    • Riemann多様体って?
    • Riemannian最適化(概要)
    • 概説
    • 詳説
      • 解析学
      • 線形代数学(反変性・共変性・不変量)
      • テンソル解析
      • リーマン積分と微分形式
      • 位相空間論
      • 多様体論(解析幾何学)
      • Riemann多様体
  • プログラミングサイドブック
    • はじめに
    • Step 0. 勉強の仕方
      • いつ始める?どれくらい勉強する?
      • どうやって勉強する?
      • どこから手をつけたらいい?
    • Step 1. インターネットで調べる
    • Step 2. コンピュータの仕組みを学ぶ
    • Step 3. 開発環境を整える
    • Step 4. プログラミング言語を学ぶ
    • Step 5. 次のステップへ進むには
    • Step 6. 情報科学を学ぶ
  • プログラミング
    • プログラミング(概要)
    • システムの構成
    • サーバーのセットアップ
      • OSセットアップ
        • ユーザの作成
        • SSHの設定
        • ファイアウォールの設定
      • ドメインの取得と設定(Google domain)
    • Dockerによる仮想化
    • サーバーサイド(golang/gin)
    • リバースプロキシの設置(nginx)
    • SSL/TLS(Let's Encrypt)
    • フロントエンド(Elm)
    • Authentication(Firebase)
    • DB(MySQL)
    • KVS(Redis)
  • 数学勉強ノート
    • 0. 数学勉強ノート(概要)
    • 1. 第1群(基礎1)
      • 1.1. 集合
      • 1.2. ファジィ集合
      • 1.3. 論理学
      • 1.4. 位相
      • 1.5. 代数学
        • 1.5.1. 群
        • 1.5.2. 環
        • 1.5.3. 体
      • 1.6. 多様体論
    • 2. 第2群(基礎2)
      • 2.1. 線形代数学
      • 2.2. 解析学
        • 2.2.1. 常微分
        • 2.2.2. 全微分/偏微分
        • 2.2.3. 反変・共変と不変量
        • 2.2.4. リーマン積分
        • 2.2.5. 外微分
        • 2.2.6. ベクトル解析
      • 2.3. 複素解析学
      • 2.4. 圏論
      • 2.5. 測度論
      • 2.6. 確率論
    • 3. 第3群(情報科学)
      • 3.1. 情報理論
      • 3.2. 通信符号理論
      • 3.3. 暗号理論
      • 3.4. グラフ理論
    • 4. 第4群(基礎3)
      • 4.1. 位相幾何学
      • 4.2. 微分幾何学
      • 4.3. 関数解析学
      • 4.4. 偏微分方程式論
      • 4.5. 数値解析学
        • 4.5.1. 常微分方程式
        • 4.5.2. 偏微分方程式
        • 4.5.3. 固有値問題/特異値分解
      • 4.6. 数理統計学
    • 5. 第5群(物理学)
      • 5.1. 古典力学
      • 5.2. 剛体力学
      • 5.3. 流体力学
      • 5.4. 解析力学
      • 5.5. 電磁気学
      • 5.6. 相対性理論
      • 5.7. 熱力学
      • 5.8. 統計力学
      • 5.9. 量子力学
    • 6. 第6群(電気・機械工学)
      • 6.1. 電気回路学
      • 6.2. システム制御理論
    • 7. 第7群(基礎4)
      • 7.1. 情報幾何学
      • 7.2. 確率解析
  • 書籍メモ
    • 書籍メモ(概要)
  • 論文メモ
    • 論文メモ(概要)
    • 線形代数
      • The Matrix Cookbook
      • ON THE EARLY HISTORY OF THE SINGULAR VALUE DECOMPOSITION
      • The tensor rank decomposition
    • 行列分解
      • Probabilistic Matrix Factorization
      • Probabilistic Matrix Factorization with Non-random Missing Data
      • Graph Regularized Non-negative Matrix Factorization for Data Representation
      • Alternating least squares for personalized ranking
    • 連続最適化
      • Quasi-Newton Methods: Superlinear Convergence Without Line Searches for Self-Concordant Functions
    • 確率・統計
      • Statistical inference of Langevin distributionfor directional data
      • Bayesian Inference over the Stiefel Manifold via the Givens Representation
      • あとで読む(Langevin distribution)
    • Riemannian最適化
      • A Broyden Class of Quasi-Newton Methods for Riemannian Optimization
      • Riemannian stochastic quasi-Newton algorithm with variance reduction and its convergence analysis
      • Primal-Dual Optimization Algorithms over Riemannian Manifolds: an Iteration Complexity Analysis
      • Extending FISTA to Riemannian Optimization for Sparse PCA
    • RCD空間
      • On the geometry of metric measure spaces. I
      • On the geometry of metric measure spaces. II
      • Cohomology and other analyticalaspects of RCD spaces
      • Untitled
  • 雑記帳
    • 球面幾何(楕円幾何)
    • 双曲幾何
  • なんかの部屋
    • データの表現について
Powered by GitBook
On this page
  • 確率論
  • 確率分布
  • 多変量確率分布
  • 条件付き確率分布
  • 確率密度
  • 同時確率分布の確率密度
  • 条件付き確率分布の確率密度
  • 確率密度の表記
  • 同時確率分布と条件付き確率分布の関係
  • 確率分布に対する操作の整理
  • 1. サンプリング
  • 2. 観測
  • 3. 周辺化
  • 4. 条件付け
  • 5. 関連付け
  • 整理表

Was this helpful?

  1. 機械学習のための数学

確率論

2020/4/11公開

Previous数学記号記法一覧Next1. 機械学習・データサイエンス(概要)

Last updated 5 years ago

Was this helpful?

確率論

機械学習で確率モデルを扱うときは、確率分布に対する変形操作が頻繁に発生するので、よく使われる操作についてここで整理しておこう。

また、機械学習で使われる確率論の言葉遣いや表記については慣習的に一部わかりにくいものが横行しているので、一応私が整理したものをここに書いておく。最終的には、確率分布に対して定義される5種類の操作のうち4種類はひとつの表にまとめることができ、以下の整理表が作れる。復習のための早見表と思って勉強に役立ててもらえたら幸いである。

本書では適宜ここに書いたものを用いて説明するが、あくまで私が個人的に整理したものなので他所ではなるべく使わないように。

確率分布

確率分布という言葉を用いると難しく聞こえるが、確率分布とは要はサイコロの概念の一般化である。

たとえば六面サイコロは111〜666の整数しか表現できないので、111〜202020のランダムな整数が欲しければ二十面サイコロを用いるだろう。また、イカサマで111がたくさん出てほしいならば666の面に重心が偏ったサイコロを使うだろう。この欲しい値の範囲に応じてサイコロを取り替える操作が「確率分布を選ぶ」ことに相当する。では基本的な部分を見ていこう。

確率変数xxxについての関数p(x)p(x)p(x)があり、xxxの定義域Ω\OmegaΩにおけるルベーグ積分が

∫Ωp(x)dμ(x)=1\int _ {\Omega} p(x) d\mu(x) = 1∫Ω​p(x)dμ(x)=1

を満たすとき、p(x)p(x)p(x)を確率分布(probability distribution)または確率分布関数(probability distribution function)という。確率変数(random variable)が厳密になんであるかはルベーグ積分の教科書を参照してほしいが、直感的には振る前のサイコロ、定まる前のランダムな値のことである。

ルベーグ積分というといきなり難解に思えるが、通常よく扱う確率分布に関してはΩ\OmegaΩが有限集合なら総和Σ\SigmaΣ、無限集合(連続体濃度)ならば高校で習う普通の積分(リーマン積分)に一致すると思ってよい。ルベーグ積分はそれらの概念の一般化であり、よっぽど難しいことをしない限り意識することはない。たとえばどの目が出る確率も同様に確からしい六面サイコロの確率分布は

p(x)=16p(x) = \frac{1}{6}p(x)=61​

であり、その全体集合Ω\OmegaΩにおけるルベーグ積分は

∫Ωp(x)dμ(x)=∑x=16p(x)μ({x})=16⋅μ({1})+16⋅μ({2})+16⋅μ({3})+16⋅μ({4})+16⋅μ({5})+16⋅μ({6})=16+16+16+16+16+16=1\begin{aligned} \int _ {\Omega} p(x)d\mu(x) &= \sum _ {x = 1} ^ 6 p(x) \mu(\{ x\} ) \\ &= \frac{1}{6} \cdot \mu(\{1\}) + \frac{1}{6} \cdot \mu(\{2\}) + \frac{1}{6} \cdot \mu(\{3\}) \\ & \quad + \frac{1}{6} \cdot \mu(\{4\}) + \frac{1}{6} \cdot \mu(\{5\}) + \frac{1}{6} \cdot \mu(\{6\}) \\ &= \frac{1}{6} + \frac{1}{6} + \frac{1}{6} + \frac{1}{6} + \frac{1}{6} + \frac{1}{6} \\ &= 1 \end{aligned}∫Ω​p(x)dμ(x)​=x=1∑6​p(x)μ({x})=61​⋅μ({1})+61​⋅μ({2})+61​⋅μ({3})+61​⋅μ({4})+61​⋅μ({5})+61​⋅μ({6})=61​+61​+61​+61​+61​+61​=1​

である。μ(⋅)\mu(\cdot)μ(⋅)は測度(measure)と呼ばれる関数で、イメージとしては集合の大きさを表す指標である。サイコロを扱う場合ではどの目が出る事象も大きさは等しく111である。これがたとえば「111または222の目が出る事象を表す集合」の測度になれば

μ({1,2})=μ({1})+μ({2})=2\mu(\{ 1, 2\}) = \mu(\{1\}) + \mu (\{ 2\}) = 2μ({1,2})=μ({1})+μ({2})=2

となる性質があり、集合の大きさが222になったことは直感にも一致する。全体集合Ω\OmegaΩの部分集合について確率分布をルベーグ積分した値を確率(probability)といい、「111または222の目が出る確率」は

∫{1,2}p(x)dμ(x)=16⋅μ({1,2})=16⋅μ({1})+16⋅μ({2})=16+16=13\begin{aligned} \int _ {\{ 1, 2\}} p(x) d \mu(x) &= \frac{1}{6} \cdot \mu(\{1, 2 \}) \\ &= \frac{1}{6} \cdot \mu(\{1\}) + \frac{1}{6} \cdot \mu(\{2\}) \\ &= \frac{1}{6} + \frac{1}{6} \\ &= \frac{1}{3} \end{aligned}∫{1,2}​p(x)dμ(x)​=61​⋅μ({1,2})=61​⋅μ({1})+61​⋅μ({2})=61​+61​=31​​

と計算できる。イメージ的には、ルベーグ積分は確率という概念を「事象の起こりやすさ(確率分布)」と「事象の大きさ(測度)」の積の総和で表現しているとも考えられる。

いまのようにΩ\OmegaΩが有限集合のときの確率分布を離散型確率分布(discrete probability distribution)と呼び、このときのp(x)p(x)p(x)を確率質量関数(probability mass function)とも呼ぶ。

一方でΩ\OmegaΩが無限集合(連続体濃度)のときの確率分布を連続型確率分布(continuous probability distribution)といい、このときのp(x)p(x)p(x)は確率密度関数(probability density function)とも呼ばれる。たとえば実数全体で定義されているガウス分布は

p(x)=12πσ2exp⁡(−(x−μ)22σ2)p(x) = \frac{1}{\sqrt{2 \pi \sigma ^ 2}} \exp \left( - \frac{(x - \mu) ^ 2}{2 \sigma ^ 2} \right)p(x)=2πσ2​1​exp(−2σ2(x−μ)2​)

であり、その全体集合Ω=R\Omega = \mathbb{R}Ω=Rにおけるルベーグ積分の結果はリーマン積分の結果と一致して

∫Ωp(x)dμ(x)=∫−∞+∞p(x)dx=1\begin{aligned} \int _ \Omega p(x) d \mu (x) = \int _ {- \infty} ^ {+ \infty} p(x) dx = 1 \end{aligned}∫Ω​p(x)dμ(x)=∫−∞+∞​p(x)dx=1​

である。上式第二辺はリーマン積分である。連続関数の測度はここでは詳しく解説しないが、イメージとしては定義域の区間[a,b)[a,b)[a,b)の測度を

μ([a,b))=b−a\mu([a,b)) = b - aμ([a,b))=b−a

と定義する。この区間を等間隔に非常に細かく区切るとリーマン積分になると思えばよい。気になる場合は各自ルベーグ積分の書籍を参照のこと。

ともかく、ルベーグ積分を使っておけば総和とリーマン積分をどちらも

∫Ωp(x)dμ(x)\int _ {\Omega} p(x) d\mu(x)∫Ω​p(x)dμ(x)

と書けるので便利なのだ。ここまでの説明ではリーマン積分との混同を避けるため丁寧に書いていたが、大抵はさらに略記して

∫Ωp(x)dx\int _ {\Omega} p(x) dx∫Ω​p(x)dx

と書き、これ以降は本書でもこの表記を用いる。

多変量確率分布

多変量確率分布(multivariate probability distribution)は複数の確率変数を扱うよう定義された確率分布で、サイコロをいくつか同時に振ろうとすることの一般化である。たとえば2個のサイコロx1,x2x _ 1, x _ 2x1​,x2​を同時に振るときの確率分布は

p(x1,x2)p(x _ 1, x _ 2)p(x1​,x2​)

と表記する。これを確率変数x1x _ 1x1​とx2x _ 2x2​の同時確率分布(joint probability distribution)という。nnn個のサイコロを同時に振るときは

p(x1,x2,…,xn)p(x _ 1, x _ 2, \ldots, x _ n)p(x1​,x2​,…,xn​)

と書くことになるが、面倒臭いので単に

p(x)=p(x1,x2,…,xn)p(x) = p(x _ 1, x _ 2, \ldots, x _ n)p(x)=p(x1​,x2​,…,xn​)

として単にp(x)p(x)p(x)で表記されることが多い。また、mmm個のサイコロを1群、nnn個のサイコロを2群とまとめ直して

p(x,y)=p(x1,x2,…,xm,y1,y2,…,yn)p(x, y) = p(x_ 1, x_ 2, \ldots, x _ m, y _ 1, y _ 2, \ldots, y _ n)p(x,y)=p(x1​,x2​,…,xm​,y1​,y2​,…,yn​)

のように表記していることもあるので、p(x,y)p(x,y)p(x,y)と書かれていても確率変数が2個とは限らない。

つまり今後p(x)p(x)p(x)やp(x,y)p(x, y)p(x,y)という表記を見たときは、それぞれの文字がいくつの確率変数に対応しているのか文脈から判断してほしい。回帰問題の章まで進めばわかるが、いちいちすべての確率変数を書き下していると式が煩雑でページに収まりきらなくなるので、本書に限らず大抵の場合は読みやすさを優先した記法が採用されることになる。

条件付き確率分布

ここまでの言葉遣いをいま一度サイコロのイメージと対応づけておくと、確率変数とは振る前のサイコロのことであり、確率分布はサイコロの目の出やすさを表したものである。またここまで登場しなかったが、サイコロを振る操作のことは試行(trial)または抽出(sampling)と呼ばれ、試行によって得られた値(サイコロを振って出た目)のことを実現値(realized value)という。

ある確率変数xxxの確率分布が他の確率変数θ\thetaθの実現値によって決まるとき、xのxのxの確率分布を

p(x∣θ)p(x \mid \theta)p(x∣θ)

と表記する。これをxxxのθ\thetaθによる条件付き確率分布(conditional probability distribution)という。条件付き確率分布においてθ\thetaθの側にある確率変数のことをパラメータ(parameter)と呼ぶこともあるが、本書では条件変数(conditional variable)

たとえばガウス分布は

p(x)=12πσ2exp⁡(−(x−μ)22σ2)p(x) = \frac{1}{\sqrt{2 \pi \sigma ^ 2}} \exp \left( - \frac{(x - \mu) ^ 2}{2 \sigma ^ 2} \right)p(x)=2πσ2​1​exp(−2σ2(x−μ)2​)

と定義されていたが、これはxxxの他に平均μ\muμと分散σ2\sigma ^ 2σ2の値が定まらなければxxxの確率分布は実際のところどんなものかわからないということでもある。平均μ\muμや分散σ2\sigma ^ 2σ2は人間が勝手に決めたりデータから定まったりする値だが、偶然その値が定まった、つまりμ\muμやσ2\sigma ^2 σ2も確率変数なのだと考えれば、確率変数xxxの確率分布は他の確率変数μ,σ2\mu, \sigma ^ 2μ,σ2の実現値によって定まったのだとみなせる。したがってこれは条件付き確率分布

p(x∣μ,σ2)=12πσ2exp⁡(−(x−μ)22σ2)p(x | \mu ,\sigma ^2) = \frac{1}{\sqrt{2 \pi \sigma ^ 2}} \exp \left( - \frac{(x - \mu) ^ 2}{2 \sigma ^ 2} \right)p(x∣μ,σ2)=2πσ2​1​exp(−2σ2(x−μ)2​)

とみなせる。

条件付き確率分布p(x∣θ)p(x | \theta)p(x∣θ)からサンプリングできる実現値はxxxのみであり、条件付き確率分布は | の右側の確率変数が定まってからでないとサンプリングできないから、サンプリングという操作を行う段階ではθ\thetaθの側は定数である。

確率密度

今後の説明の見通しをよくするために、確率密度(probability density)について話しておこう。確率密度は確率密度関数の確率変数に固定値を代入して得られる値である。後の最尤推定で登場する尤度関数や、MAP推定で登場する事後確率と呼ばれるものは、確率密度であると解釈すると「確率密度に関する最適化問題」と一括りに扱えるので都合がよい(一般的な解釈ではないので他所では使わないこと。私も本書でのみ用いることにする)。

確率密度とは確率密度関数p(x)p(x)p(x)の確率変数xxxに、具体的な値XXXを代入した

p(x=X)p(x = X)p(x=X)

のことである。確率変数に具体的な値を代入する操作を本書では観測(observation)と呼ぶことにする。観測するときに代入する値は人間が勝手に決めてよい(任意の値を代入してその値に対応する確率密度を確かめることができる)ことから、観測は試行とは異なる操作である。

同時確率分布の確率密度

観測は確率変数の一部または全部に対して行うことができる。たとえば確率密度関数p(x,y)p(x,y)p(x,y)のyyyについてのみ観測を行った

p(x,y=Y)p(x, y = Y)p(x,y=Y)

もやはり確率密度である。これはたとえばサイコロを2つ同時に投げ、そのうちの片方だけを覗き見たらYYYの目が出ていた、という状況に相当する。

同時確率分布の確率密度は一般に確率密度関数の定義を満たさない。これは証明しておこう。たとえば確率変数x,yx,yx,yが独立なとき、独立試行の確率の性質から

p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)

が成り立つが、yyyについて観測したあとではp(y=Y)p(y = Y)p(y=Y)は定数でありその定数も111とは限らないから、一般には

p(y=Y)=c≠1p(y=Y) = c \neq1p(y=Y)=c=1

であり、

p(x,y=Y)=c⋅p(x)p(x, y=Y) = c \cdot p(x)p(x,y=Y)=c⋅p(x)

となる。ところが

∫Ωc⋅p(x)dx=c∫Ωp(x)dx=c≠1\int _ \Omega c \cdot p(x) dx = c \int _ \Omega p(x) dx = c \neq 1∫Ω​c⋅p(x)dx=c∫Ω​p(x)dx=c=1

であるから、確率密度p(x,y=Y)p(x, y=Y)p(x,y=Y)は確率密度関数の定義を満たさない。証明終。

条件付き確率分布の確率密度

条件付き確率分布については、| の右側について観測を行う分には確率密度は以前として確率密度関数の定義を満たす。つまり

p(x∣θ=Θ)p(x | \theta = \Theta)p(x∣θ=Θ)

は確率密度関数である。たとえばガウス分布では平均μ=μ0\mu = \mu _ 0μ=μ0​、分散σ2=σ02\sigma ^ 2 = \sigma _ 0 ^2σ2=σ02​としたとき

p(x∣μ=μ0,σ2=σ02)=12πσ02exp⁡(−(x−μ0)22σ02)p(x | \mu = \mu _ 0, \sigma ^ 2 = \sigma _ 0 ^ 2) =\frac{1}{\sqrt{2 \pi \sigma _ 0 ^ 2}} \exp \left( - \frac{(x - \mu _ 0) ^ 2}{2 \sigma _ 0 ^ 2} \right) p(x∣μ=μ0​,σ2=σ02​)=2πσ02​​1​exp(−2σ02​(x−μ0​)2​)

である。一方で | の左側について観測を行ったときの確率密度は一般には確率密度関数の定義を満たさない。つまり

p(x=X∣θ)p(x = X | \theta)p(x=X∣θ)

は確率密度関数ではない。その証明として、たとえばガウス分布でx=X,μ=Xx=X, \mu = Xx=X,μ=Xとして、λ=σ2\lambda=\sigma ^ 2λ=σ2と変数変換すると、

∫0+∞p(x=X∣μ=X,λ)dλ=∫0+∞12πλexp⁡(−(X−X)22λ)dλ=∫0+∞12πλexp⁡(0)dλ=12π∫0+∞1λdλ=12π[λ1/2]0+∞→+∞\begin{aligned} \int _ 0 ^ {+ \infty } p(x = X | \mu = X, \lambda ) d \lambda &= \int _ 0 ^ {+ \infty } \frac{1}{\sqrt{2 \pi \lambda}} \exp \left( - \frac{(X - X) ^ 2}{2 \lambda} \right) d \lambda \\ &=\int _ 0 ^ {+ \infty } \frac{1}{\sqrt{2 \pi \lambda}} \exp \left( 0 \right) d \lambda \\ &= \frac{1}{\sqrt{2 \pi}} \int _ 0 ^ {+ \infty } \frac{1}{\sqrt{\lambda}} d \lambda \\ &= \frac{1}{\sqrt{2 \pi}} \left[ \lambda ^ {1/2}\right] _ 0 ^ {+\infty} \\ &\to +\infty \end{aligned}∫0+∞​p(x=X∣μ=X,λ)dλ​=∫0+∞​2πλ​1​exp(−2λ(X−X)2​)dλ=∫0+∞​2πλ​1​exp(0)dλ=2π​1​∫0+∞​λ​1​dλ=2π​1​[λ1/2]0+∞​→+∞​

となることが挙げられる。

確率密度の表記

機械学習の文脈では、どの確率変数について観測を行ったかは表記上しばしば省略される。たとえば表記の精緻さを期すならば本来p(y∣x=X)p(y | x=X)p(y∣x=X)などと書くべきところを単にp(y∣x)p(y|x)p(y∣x)と書いたりするので、どの文字が変数でどの文字が定数なのかは注意深く文脈から読み取る必要がある。また、回帰問題についての解説で登場する周辺尤度と呼ばれる概念はp(D)p(\mathcal{D})p(D)と表記されるが、確率密度関数ではなく確率密度である。

確率論の記号法のわかりにくい部分は大抵このp(⋅)p(\cdot)p(⋅)記法を濫用していることに起因し、事もあろうに確率密度関数ですらない対象にも平気でp(⋅)p(\cdot)p(⋅)記法を用いる。

本書では確率密度として解釈できる概念には適宜ρ\rhoρ(ギリシャ文字の「ロー」)を用いることにする。確率密度と確率密度関数も、どちらも確率変数のある実現値のサンプリングされやすさを表す指標であり、異なるのは「全体集合での積分が111になるか否か」、つまり正規化されているかいないかの違いしかない。

そこで正規化されていない確率密度のほうをρ\rhoρ、正規化されている確率密度関数のほうをpppで表記しようという提案である。確率密度関数のp(⋅)p(\cdot)p(⋅)記法はいままで通り用いればよい。

確率密度のρ\rhoρ記法で重要なのは、各確率変数が観測されているかいないかであり、特に観測されていないほうはまだ操作する余地があるので重要度が高い。そこで観測されていない確率変数については添字として明記してもよいものとする。たとえば

ρx(x,y,z)\rho _x (x , y ,z)ρx​(x,y,z)

はxxxがまだ観測されておらず、y,zy,zy,zは観測済みであることを意味するので、

ρx(x,y,z)=ρ(x,y=Y,z=Z)\rho _x (x,y,z) = \rho (x, y = Y, z = Z)ρx​(x,y,z)=ρ(x,y=Y,z=Z)

の略記であるとする。左辺のほうが幾分紙面を節約できる。

同時確率分布と条件付き確率分布の関係

同時確率分布と条件付き確率分布の間には以下の関係が成り立つ。

p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)p(x,y) = p(x|y)p(y) = p(y | x)p(x)p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)

このときp(x)p(x)p(x)やp(y)p(y)p(y)は周辺分布(marginal distribution)または周辺確率分布(marginal probability distribution)と呼ばれ、

p(x)=∫Ωp(x,y)dyp(x) = \int _ \Omega p(x,y)dyp(x)=∫Ω​p(x,y)dy

で定義される。この操作自体は周辺化(marginalization)と呼ばれ、着目したい確率変数以外を積分してモデルから除去する(p(x,y)p(x,y)p(x,y)の時点ではyyyについても言及していたのに、積分したあとではyyyなどなかったように見える)ものである。

同時確率分布と条件付き確率分布の関係は、変形すれば以下の形になる。

p(x∣y)=p(x,y)p(y)p(x | y) = \frac{p(x,y)}{p(y)}p(x∣y)=p(y)p(x,y)​

p(x∣y)p(x|y)p(x∣y)はxxxについての確率分布であり、xxxをサンプリングするためにはその前にyyyの値を観測しておかねばならない。つまり、xxxをサンプリングする段階では

p(x∣y=Y)=p(x,y=Y)p(y=Y)p(x|y=Y) = \frac{p(x, y=Y)}{p(y=Y)}p(x∣y=Y)=p(y=Y)p(x,y=Y)​

となっている。注目すべきは、この時点で、左辺は確率分布だが右辺は分母分子ともに確率分布ではないということだ。p(x,y=Y)p(x, y=Y)p(x,y=Y)は一般にxxxについて全体集合で積分したときに111にならないので確率密度関数ではないことは既に述べた。しかしそれをyyyについての周辺確率密度p(y=Y)p(y=Y)p(y=Y)で割ってやると積分した値が111に戻ってxxxについての確率密度関数になる、というのが同時確率分布と条件付き確率分布の関係の主張である。

確率分布に対する操作の整理

さて、いままでいろいろと説明してきたことをまとめると、確率分布に対する操作は、おおよそ

  1. サンプリング

  2. 観測

  3. 周辺化

  4. 条件付け

  5. 関連付け

の5種類である。このうち2〜5番の操作は与えられた確率分布を別の確率分布へと変換する操作とみなせる。では順番に見ていこう。

1. サンプリング

サンプリング(sampling)は確率変数xxxについて確率分布p(x)p(x)p(x)から実現値(x)(x)(x)を得る操作のことであり、本書で正確性を期す場合は

(x)=smp⁡p(x)(x)∼smp⁡p(x)\begin{aligned} (x) &= \operatorname{smp} p(x) \\ (x) &\overset{\operatorname{smp}}{\sim} p(x) \end{aligned}(x)(x)​=smpp(x)∼smpp(x)​

などで表記する。世間的には

x∼p(x)x \sim p(x)x∼p(x)

の表記が用いられる(今後同様に、すべての操作について、本書で正確性を期す場合の表記と世間的な表記を両方紹介する)。

条件付き確率分布に対するサンプリングは、| の右側のすべての確率変数について2番で説明する「観測」の操作を行なった場合にのみ定義できる。

2. 観測

観測(observation)は確率変数の一部または全部に値を代入して確率密度を得る操作である。たとえば確率分布p(x,y)p(x,y)p(x,y)でyyyに観測値YYYを代入する操作を

ρx(x,y)=obs⁡y=Yp(x,y)\rho _ x(x, y) = \operatorname{obs} _ {y=Y} p(x,y)ρx​(x,y)=obsy=Y​p(x,y)

で表記する。世間的には

p(x,y=Y)p(x, y=Y)p(x,y=Y)

と書く。

条件付き確率分布で | の右側についても同様に定義するが、操作の結果が確率分布となることに注意が必要である。たとえば条件付き確率分布p(x∣θ)p(x | \theta)p(x∣θ)でθ\thetaθに観測値Θ\ThetaΘを代入する操作を

px(x∣θ)=obs⁡θ=Θp(x∣θ)p _ x (x | \theta) = \operatorname{obs} _ {\theta=\Theta} p(x|\theta)px​(x∣θ)=obsθ=Θ​p(x∣θ)

とする。px(x∣θ)p _ x(x | \theta)px​(x∣θ)は世間的には

p(x∣θ=Θ)p(x | \theta = \Theta)p(x∣θ=Θ)

と表記されるものである(添字は未観測の確率変数を表すというルールを、確率分布のp(⋅)p(\cdot)p(⋅)記法にも拡張した)。

3. 周辺化

周辺化(marginalization1)は同時確率分布の一部または全部の確率変数について積分することでモデルから消去する操作である。たとえば確率分布p(x,y)p(x ,y)p(x,y)でyyyについて周辺化を行う操作を

p(x)=mar⁡yp(x,y)p(x) = \operatorname{mar} _ y p(x, y)p(x)=mary​p(x,y)

と表記する。一般には

p(x)=∫Ωp(x,y)dyp(x) = \int _ \Omega p(x, y)dyp(x)=∫Ω​p(x,y)dy

で定義され、世間的にもこの積分表記を用いる。上式を書き換えると

p(x)=(∫Ωdy)p(x,y)p(x) = \left( \int _ {\Omega} dy \right) p(x,y)p(x)=(∫Ω​dy)p(x,y)

なので、演算子としては

mar⁡y=∫Ωdy\operatorname{mar} _ y = \int _ {\Omega} dymary​=∫Ω​dy

である。なお、条件付き確率分布の | の右側の確率変数については周辺化は定義しないものとする。

一般的な性質として、

mar⁡xp(x)=1mar⁡xp(x∣θ)=1\begin{aligned} \operatorname{mar} _ x p(x) &= 1 \\ \operatorname{mar} _ x p(x | \theta) &= 1 \end{aligned}marx​p(x)marx​p(x∣θ)​=1=1​

が成り立つ。

4. 条件付け

確率分布の | の右側に新しい確率変数を付け加える操作を条件付け(conditioning)という。たとえば確率分布p(x)p(x)p(x)を確率変数θ\thetaθによって条件づける操作を

p(x∣θ)=cnd⁡θp(x)p(x | \theta) = \operatorname{cnd} _ \theta p(x)p(x∣θ)=cndθ​p(x)

で表す。世間的にはわざわざこの操作を定義しないので、世間的な表記はない。

同時確率分布との間には

p(x∣θ)=p(x,θ)p(x)p(x | \theta) = \frac{p(x, \theta)}{p(x)}p(x∣θ)=p(x)p(x,θ)​

の関係がある。周辺化の逆射mar⁡−1\operatorname{mar} ^ {-1}mar−1が定義できるとき、

p(x,θ)=mar⁡θ−1p(x)p(x, \theta) = \operatorname{mar} _ \theta ^ {-1} p(x)p(x,θ)=marθ−1​p(x)

であるから、

p(x∣θ)=cnd⁡θp(x)=mar⁡θ−1p(x)p(x)p(x | \theta) = \operatorname{cnd} _ \theta p(x) = \frac{\operatorname{mar} _ \theta ^ {-1} p(x)}{p(x)} p(x∣θ)=cndθ​p(x)=p(x)marθ−1​p(x)​

が成り立つ。ただし一般にmar⁡\operatorname{mar}marは単射ではあるが全射ではないことに注意する。

5. 関連付け

確率分布の | の左側の確率変数を | の右側に移す操作を関連付け(association)という。たとえば確率分布p(x,y)p(x,y)p(x,y)のxxxをyyyに関連づける操作は、yyyをθ\thetaθという名前に置き換えることも含み、

p(x∣θ)=asc⁡y→θp(x,y)p(x | \theta) = \operatorname{asc} _ {y \to \theta} p(x, y)p(x∣θ)=ascy→θ​p(x,y)

で表す。世間的にはわざわざこの操作を定義しないが、同時確率分布と条件付き確率分布の関係で結びついており、名前の置き換えも行わないので

p(x∣y)=p(x,y)p(y)p(x | y) = \frac{p(x,y)}{p(y)}p(x∣y)=p(y)p(x,y)​

と表記される。

条件付けと同様にmar⁡\operatorname{mar}marとの関係を述べておくと、

p(x∣θ)=asc⁡y→θp(x,y)=[p(x,y)mar⁡xp(x,y)]y=θp(x | \theta) = \operatorname{asc} _ {y \to \theta} p(x, y) = \left[ \frac{p(x,y)}{\operatorname{mar} _ x p(x,y)} \right] _ {y = \theta}p(x∣θ)=ascy→θ​p(x,y)=[marx​p(x,y)p(x,y)​]y=θ​

である。

条件付けと関連付けも世間的には区別しないが、条件付けはp(x)→p(x∣y)p(x) \to p(x|y)p(x)→p(x∣y)の操作、関連付けはp(x,y)→p(x∣y)p(x,y) \to p(x|y)p(x,y)→p(x∣y)の操作なので、個人的には区別すべきだと思い、区別した。

整理表

以上のうちで観測以外の操作をひとつの図にまとめると次のようになる。

見方は簡単で、

  1. 横1列はサンプリングの対象となる確率変数が同じである。つまりたとえばp(x,y),p(x,y∣θ),p(x,y∣θ,η)p(x,y), p(x,y|\theta), p(x,y|\theta, \eta)p(x,y),p(x,y∣θ),p(x,y∣θ,η)はサンプリングの操作によっていずれも(x,y)(x,y)(x,y)の実現値を与える。

  2. 観測については明記していないが、p(x,y∣θ)p(x,y|\theta)p(x,y∣θ)からサンプリングを行うにはθ\thetaθについて観測を行なっておく必要がある。

  3. 周辺化すると真下に下りる。 | の左から確率変数がひとつ消える。

  4. 条件付けを行うと右に進む。 | の右に確率変数がひとつ増える。

  5. 関連付けを行うと右斜め下に下りる。| の左から確率変数がひとつ消えて、代わりに右側に確率変数がひとつ増える。

となっている。ちなみに111は特殊な確率分布で、たとえばすべての出目が111になっているような無意味なサイコロとも言うべき確率分布であり、サンプリングの結果は空(  )( \,\, )()である。