標準正規分布の規格化条件から、M次元単位球の表面積を求める | USHITORA Lab.
スポンサーリンク

標準正規分布の規格化条件から、M次元単位球の表面積を求める

情報学
エントロピーの最大化による正規分布の導出
この記事では、エントロピーを最大化する確率分布を求めることで、正規分布$$\mathcal{N}(x|\mu,\sigma)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\{-\frac{1}{2\si...

正規分布

$$\mathcal{N}(x|\mu,\sigma)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\{-\frac{1}{2\sigma^2}(x-\mu)\}$$

は様々な特徴を持つ重要な分布であるが、この記事では、 \(M\) 個の確率変数 \(x_1,x_2,\cdots,x_M\) が独立に標準正規分布に従うときの同時分布が満たす規格化条件

$$\int_{-\infty}^{\infty}(2\pi)^{-\frac{M}{2}}\exp(-\frac{x_1^2+x_2^2+\cdots+x_M^2}{2})dx_1dx_2\cdots dx_M = 1 \tag{1}$$

より、 \(M\) 次元空間における単位球(半径1の球)の表面積を求める方法について解説するとともに、その過程で、直交座標を極座標に変換する際の考え方について、視覚的な理解を提供する。

基本的な方針

\((1)\) 式は、 \(x_1,x_2,\cdots,x_M\) の \(M\) 次元直交座標によって表現されているが、これを極座標で表現したとき、原点からの距離 \(r\) が

$$r^2=x_1^2+x_2^2+\cdots+x_M^2$$

で表されることを利用すると、被積分関数を \(r\) のみの関数とすることができる。そのために、まず、 \((x_1,x_2,x_3,\cdots,x_M) \to (r,\theta_1,\theta_2,\cdots,\theta_{M-1})\) の変数変換について考えよう。

直交座標→極座標の変換

3次元直交座標→3次元極座標の変換

\(M\) 次元直交座標→ \(M\) 次元極座標の変換を考える前に、3次元の \((x_1,x_2,x_3)\to(r,\theta_1,\theta_2)\) の変換について、図を用いながら視覚的なイメージを示す。

一般に、 \(x_1,x_2,x_3\) は以下の関係式に従って、極座標に変換される。

$$x_1 = r\cos{\theta_2}\sin{\theta_1}$$

$$x_2 = r\sin{\theta_2}\sin{\theta_1}$$

$$x_3 = r\cos{\theta_1}$$

この関係式を用いて、例えば \(r=3\) に固定して \(\theta_1,\theta_2\) を \([0,\frac{\pi}{2}]\) の範囲で動かすと、半径 \(3\) の \(\frac{1}{8}\) 球を得ることができる。なお、下図では \(x_1=X,x_2=Y,x_3=Z\) の対応がある。

ここで、3次元直交座標において \(dx_1dx_2dx_3\) で体積を表すことができた微小領域が、3次元極座標ではどのように表すことができるのかについて考える。3次元極座標における微小領域は、各変数の値を微小量 \(dr,d\theta_1,d\theta_2\) だけ動かすことによって表現することができるので、以下の緑色の空間として図示される(製図のためのPythonコードについてはこの記事の最後を参照)。

この図において、円の球の半径の方向が \(r\) であり、この \(r\) の \(XY\) 平面に垂直な平面上での回転が \(\theta_1\) 、 \(XY\) 平面に平行な平面上での回転が \(\theta_2\) である。ここで、上図の緑で示した微小領域において、球に接している面をこの微小領域の「底面」と呼ぶことにすると、微小領域の高さに相当するのは \(dr\) であることがわかる。

次に、 \(\theta_1\) 方向の回転を図示する。

上図によると、この方向の底面の辺の長さは、弧度法の定義より \(rd\theta_1\) と表せる。最後に \(\theta_2\) 方向の回転を図示すると下図の青線のようになる。

このとき、 \(\theta_2\) 方向の回転における半径(青)は、球の半径(赤)との関係から、 \(r,\theta_1\) を用いて \(r\sin{\theta_1}\) と表せる。よって、この方向の底面の辺の長さは \(r\sin{\theta_1}\cdot d\theta_2\) となる。以上より、極座標における微小領域の体積は

$$dr \cdot rd\theta_1 \cdot r\sin{\theta_1}d\theta_2 = r^2\sin{\theta_1}drd\theta_1d\theta_2$$

と表せる。したがって

$$dx_1dx_2dx_3 = r^2\sin{\theta_1}drd\theta_1d\theta_2$$

が成り立つ。

M次元直交座標→M次元極座標の変換

3次元直交座標→3次元極座標の変換において、微小領域の底面の各辺の長さは

$$\theta_1方向の辺 = rd\theta_1$$

$$\theta_2方向の辺 = r\sin{\theta_1}d\theta_2$$

と表すことができた。この議論を \(M\) 次元極座標に適用すると、 \(M\) 次元極座標における微小領域の底面の各辺の長さは

$$\theta_1方向の辺 = rd\theta_1$$

$$\theta_2方向の辺 = r\sin{\theta_1}d\theta_2$$

$$\theta_3方向の辺 = r\sin{\theta_1}\sin{\theta_2}d\theta_3$$

$$\vdots$$

$$\theta_{M-1}方向の辺 = r\sin{\theta_1}\sin{\theta_2}\cdots\sin{\theta_{M-2}}d\theta_{M-1}$$

と表すことができる。以上より、微小領域の体積は

$$r^{M-1}(\prod_{i=1}^{M-1}\sin{\theta_i}^{M-i-1})drd\theta_1d\theta_2 \cdots d\theta_{M-1} \tag{2}$$

で表される。したがって

$$dx_1dx_2dx_3 \cdots dx_M = r^{M-1}(\prod_{i=1}^{M-1}\sin{\theta_i}^{M-i-1})drd\theta_1d\theta_2 \cdots d\theta_{M-1} \tag{3}$$

と変換できることがわかる。

M次元単位球の表面積

単位球面上の面素

\(dr\) は微小領域の高さに相当するため、\((2)\) 式から \(dr\) を除いた

$$r^{M-1}(\prod_{i=1}^{M-1}\sin{\theta_i}^{M-i-1})d\theta_1d\theta_2 \cdots d\theta_{M-1}$$

は微小領域の底面の面積となる。また、 \(r=1\) の場合を考えると

$$(\prod_{i=1}^{M-1}\sin{\theta_i}^{M-i-1})d\theta_1d\theta_2 \cdots d\theta_{M-1}$$

となるが、これは \(M\) 次元空間の単位球面における微小面積となる。これを \(M\) 次元単位球面上の面素と呼び、 \(dS_{1,M}\) とおいて \((3)\) 式に代入すると

$$dx_1dx_2dx_3 \cdots dx_M = r^{M-1}drdS_{1,M} \tag{4}$$

が成り立つ。

表面積の計算

さて、ここまで長いこと座標変換について考えてきたが、この記事の主題は標準正規分布の規格化条件からM次元単位球の表面積を求めることであるので、そろそろ冒頭の規格化条件の式に戻る。

\((1)\) 式に \((4)\) 式の結果を代入して変数変換を行うと

$$\int_{R}r^{M-1}(2\pi)^{-\frac{M}{2}}\exp(-\frac{r^2}{2})drdS_{1,M} = 1$$

となる(ただし、Rは適当な積分区間を表す)が、被積分関数は \(r\) のみに依存するため、 \(r\) についての積分を \(S_{1,M}\) についての積分とは独立に行うことができる。すなわち \(r\) の積分区間は \([0,\infty)\) であることを考慮すると

$$\int_{0}^{\infty}r^{M-1}(2\pi)^{-\frac{M}{2}}\exp(-\frac{r^2}{2})dr\int dS_{1,M} = 1$$

$$\int dS_{1,M} = \{\int_{0}^{\infty}r^{M-1}(2\pi)^{-\frac{M}{2}}\exp(-\frac{r^2}{2})dr\}^{-1}$$

$$\int dS_{1,M} = 2\pi^{\frac{M}{2}}(\int_{0}^{\infty}(\frac{r^2}{2})^{\frac{M}{2}-1}\exp(-\frac{r^2}{2})dr)^{-1}$$

となる。ここで、左辺は単位球面上の微小領域を全区間で積分したものを表すため、これはすなわち、単位球の表面積 \(S_{1,M}\) に等しい。また、右辺に以下の式で定義されるガンマ関数

$$\Gamma(z) = \int_{0}^{\infty}t^{z-1}e^{-t}dt$$

を代入すると

$$S_{1,M} = \frac{2\pi^{\frac{M}{2}}}{\Gamma(\frac{M}{2})}$$

より、 \(M\) 次元空間における単位球の表面積の公式が得られる。

なお、単位球ではなく半径 \(r\) の場合の表面積は

$$S_{1,M}(r) = \frac{2\pi^{\frac{M}{2}}r^{M-1}}{\Gamma(\frac{M}{2})}$$

となる。

補足

この記事では、 \(M\) 次元空間における直交座標→極座標の変換の導出をやや雑な帰納的手法に基づいて行ったが、より正確な座標変換公式の証明については

が詳しい。また、この記事で使用した画像を作成するためのPythonコードは

Matplotlibで3次元空間に円を描画、透過、境界を描画、線を引く
この記事では、PythonのMatplotlibを使用して3次元空間に球や面、線などを描画する方法について解説する。なお、ここで作成した画像の一部はにおいて利用されている。球体の描画基本球を描画するには、...

を参照のこと。

コメント