2013年5月23日木曜日

GSL (GNU Scientific Library) のインストール



GNU 科学技術計算ライブラリ (The GNU Scientific Library、GSL) は,数値計算のためのサブルーチン集である.使われているソースコードはすべて C 言語で GSL のために新たに書かれている.ソースコードは GNU General Public License (GNU 一般公衆利用許諾契約) の元で公開されている.


以下にインストール手順を示す.

  1. http://ftp.jaist.ac.jp/pub/GNU/gsl/より,gsl-1.15.tar.gzをダウンロードする.
  2. tarコマンドで展開する.
    tar zxvf gsl-1.15.tar.gz
    
  3. 展開したディレクトリに移動し,コンパイル
  4. cd gsl-1.15.tar.gz
    ./configure
    make
    sudo make install
    
  5. インストールされているか確認
  6. ls /usr/local/include/gsl
    ls /usr/local/lib/libgsl*
    
マニュアルの日本語訳はここを参照.

2013年5月21日火曜日

時間平均とエルゴード性

確率過程の各集合平均がそれぞれの時間平均と等しいと置けるとき,その確率過程はエルゴード的であるといわれる.大雑把にいうと,定常的な確率過程は,その平均と自己相関関数に関してエルゴード性をもつ.

2013年5月14日火曜日

ヤコビアン

以下,二変数の重積分を考える.ヤコビアン$J$とは変数変換前後の面積比となる.以下の具体的な例を示す.まず,$u=(1,0), v=(0,1)$で囲まれた正方形を考える.当然色のついた部分の面積は1である.


次に以下のような一次変換(変数変換)を施す.$$\begin{split}x& = au + bv\\ y &= cu + dv\end{split}$$
そうすると,先ほどの$u,v$の座標は新たな座標$x=(a,c), y =(b,d)$に変換される.$$\begin{split}x &= (a\cdot 1 + b\cdot 0, x\cdot1+d\cdot0) \\&= (a,c)\\y &= (a\cdot0 + b\cdot 1, x\cdot0+d\cdot1) \\&= (b,d)\\\end{split}$$

そして,色のついた面積は以下のような平行四辺形に変換される.


平行四辺形の面積はそれぞれのベクトルの外積に等しく,変換行列の行列式に等しいため,以下のように求めることができる.$$\begin{split}S&={\rm abs }\begin{vmatrix}a&b\\c&d\end{vmatrix}\\&={\rm abs}(ad-bc)\end{split}$$

さて,ここで以下のような変数変換を考える.$$\begin{split}x&=\phi_1(u,v)\\y&=\phi_2(u,v)\end{split}$$
このとき$x, y$の全微分はそれぞれ以下のように表される.$$\begin{split}{\rm d}x &= \frac{\partial x}{\partial u}{\rm d}u+\frac{\partial x}{\partial v}{\rm d}v\\{\rm d}y &= \frac{\partial y}{\partial u}{\rm d}u+\frac{\partial y}{\partial v}{\rm d}v\end{split}$$
よって,${\rm d}x{\rm d}y$と${\rm d}u{\rm d}v$の微小な面積比,すなわちヤコビアン$|J|$は$$|J|={\rm abs}\begin{vmatrix}\frac{\partial x}{\partial u}&\frac{\partial x}{\partial v}\\\frac{\partial y}{\partial u}&\frac{\partial y}{\partial v}\end{vmatrix}$$
となり,$${\rm d}u{\rm d}v:{\rm d}x{\rm d}y=1:|J|\Longleftrightarrow{\rm d}x{\rm d}y=|J|{\rm d}u{\rm d}v$$となる.






2013年5月10日金曜日

情報量とエントロピ

情報量とは,$x$の値を得た際の「驚きの度合い」である.いつでも起きそうな事象が起きても得る情報は少なく,逆に,起きそうもない事象が起きたとしたら得る情報は多い.

まずは,情報量の概念について述べる.ジョーカ2枚を含めた54枚のトランプから一枚引く例を考える.
  • 「このカードはハート」という情報量は小さい
  • 「このカードはジョーカー」という情報量は大きい
このように,確率が小さければ小さいほど情報量は大きくなる.つまり,情報量を測る尺度は確率分布$p(x)$に依存しており,確率分布$p(x)$の単調な関数$h(x)$で,情報量を表すようなもの考える.$h(\cdot)$を定義するにあたり,以下を満たすようなものが望ましい.
  • 2つの事象$x, y$が無関係なら,両方を観測したときの情報が,それぞれ別々に観測した時の情報の和になる.すなわち,$h(x, y) = h(x) + h(y)$を満たす.
  • 2つの無関係な事象は統計的に独立であるため,$p(x, y)=p(x)p(y)$を満たす.
これら2つの関係を満たす$h(x)$は$p(x)$の対数であるため,情報量は以下のように定義される.$$h(x) = \log_2\frac{1}{p(x)} = -\log_2p(x)$$

なお,上式の対数の底は何を選んでも,情報量が低数倍されるだけで本質的な差はないが,底としては2を選ぶことが多く,そのときの$h(x)$の単位は「ビット」である.

次に,エントロピーについて述べる.エントロピーとは情報量の平均値であり,以下のように定義される.$$H[x]=-\sum_xp(x)\log_2p(x)$$



ガウス分布とレイリー分布


レイリー分布を二次元ガウス分布から導出する.確率変数$x, y$($x$と$y$は互いにIID)において,平均$0$, 分散$\sigma^2$の正規分布を考える.$$\begin{split}p(x)&=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{x^2}{\sigma^2}\right\}\\p(y)&=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{y^2}{\sigma^2}\right\}\end{split}$$
$x, y$は互いにIIDであるため,$p(x), p(y)$の同時確率密度関数はそれぞれの確率密度関数の積で表すことができる.$$\begin{split}p(x, y)&=p(x)p(y)\\&=\frac{1}{2\pi\sigma^2}\exp\left\{-\frac{x^2+y^2}{2\sigma^2}\right\}\end{split}$$
次に極座標系への変数変換を考える.$x=r\cos\theta, y=r\sin\theta$とするとヤコビアン$|J|$は$r$となる.よって,$$\begin{split}p(r, \theta)&=|J|p(x,y)\\&=\frac{r}{2\pi\sigma^2}\exp\left\{-\frac{r^2}{2\sigma^2}\right\}\end{split}$$
レイリー分布は,この同時確率密度関数における振幅$r$の周辺分布である.つまり上式を$\theta$で積分したものがレイリー分布となる.$$\begin{split}p(r)&=\frac{r}{\sigma^2}\exp\left\{-\frac{r^2}{2\sigma^2}\right\}\end{split}$$

2013年5月8日水曜日

二値変数

二値確率変数$x\in\{0,1\}$が1つの場合を考える(コイン投げの結果).コインが歪んでいて,表と裏の出る確率が同じとは限らないとする.$x=1$となる確率はパラメータ$\mu$を用いて$$p(x=1|\mu)=\mu$$とする.ただし,$0\leq\mu\leq1$であり,これより,$p(x=0|\mu)=1-\mu$となる.したがって,$x$上の確率分布は以下のベルヌーイ分布(Bernoulli distribution)となる.
  • ベルヌーイ分布 $${\rm Bern}(x|\mu)=\mu^x(1-\mu)^{1-x}$$
  • ベルヌーイ分布は正規化されている$$\begin{split}\int_{-\infty}^\infty{\rm Bern}(x|\mu){\rm d}x&=\sum_{x\in\{0,1\}}p(x|\mu)\\&=p(x=0|\mu)+p(x=1|\mu)\\&=(1-\mu)+\mu\\&=1\end{split}$$
  • ベルヌーイ分布の平均 $$\begin{split}\mathbb{E}[x]&=\sum_{x\in\{0,1\}}p(x|\mu)x\\&=p(x=0|\mu)\cdot0+p(x=1|\mu)\cdot1\\&=\mu\end{split}$$
  • ベルヌーイ分布の分散$$\begin{split}{\rm var}[x]&=\mathbb{E}[(x-\mu)^2]\\&=p(x=0|\mu)(0-\mu)^2+p(x=1|\mu)(1-\mu)^2\\&=(1-\mu)\mu^2+\mu(1-\mu)^2\\&=\mu(1-\mu)\end{split}$$
  • ベルヌーイ分布に従う二値確率変数$x$のエントロピー$$\begin{split}H[x]&=-\sum_xp(x)\log_2p(x)\\&=-\sum_{x\in\{0,1\}}p(x|\mu)\log_2p(x|\mu)\\&=-p(x=0|\mu)\log_2p(x=0|\mu)-p(x=1|\mu)\log_2p(x=1|\mu)\\&=(1-\mu)\log_2(1-\mu)-\mu\log_2\mu\end{split}$$

googleのBloggerでMathJaxを用いてTeXの数式を埋め込む

MathJaxを用いると,Bloggerに簡単に数式を埋め込むことができます.

詳細はここを参照してください.


以下に,簡単な導入手順を書きます.



  1. ブログ管理画面で「テンプレート」の設定画面を表示させる
  2. 「ブログで使用中」の右下にある「HYMLの編集」をクリック
  3. <head>のすぐ下に,上のリンクで公開されているコードを貼り付ける
$\$\cdots\$$で行内に数式を埋め込むことができます.
  • オイラーの公式:$\exp(j\theta) = \sin\theta + j\cos\theta$
また,$\$\$\cdots\$\$$で以下のように別行立ての式を作ることができます.
$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$

注意としては,TeXのコマンドを入力する際,¥ではなく\を使用する必要があります.