犀角(Diceros Horn)

とくながの「書き散らかし」です

ここは研究・調査・開発などの記録がメインのページです。 日常の雑事、読書記録は はてなダイアリー の方に書いています。よろしければそちらもどうぞ。

Sun, 05 Jun 2005

ニューラルネットの実装

3層パーセプトロンのいわゆるバックプロパゲーションを実装してみた。 例によって jnlp で作ったサンプルを置いておく。 隠れ層が1000個ある3層ニューラルネットで2次関数の近似 をしてみる。 入力層から隠れ層への活性化関数はいわゆるシグモイド型、隠れ層から 出力層へは線形の活性化関数を用いて、入力値を -10 から 10 までの 一様乱数で2000回 y = 0.1 * x * x の関数を学習係数 0.001 で学習させてみた。 表示されているのは、座標平面の x 座標、y 座標がともに -10 から 10 までの 範囲の領域での学習結果のグラフである。
手動で学習ができるようにテキストボックスから x と y の値をいれて 学習させることができる。最後の学習に用いた値を画面上では青い点で表示 している。
隠れ層の個数を小さくすると、うまく近似できないことはすぐにわかる。 それならばいくつぐらいが適当か?これはよく知りません。 シゴモイド型の関数のパラメータをどのようにするのが最適か? これも知りません。調べないとね。知っている人いたらアドバイスください。

posted at 22:56 | category: /Math/Bayes | 固定リンク(ニューラルネットの実装)

Tue, 24 May 2005

ニューラルネット

今さらながら、だが、ニューラルネットを実装しておこうと思い、 多層パーセプトロンと誤差逆伝播学習法を調べてみた。 産技研の栗田先生の「パターン認識とニューラルネットワーク」 に知りたいことのほとんど全てが書いてあった。感謝。 ただ、誤差逆伝播学習法で実際に学習させてみると、 学習率や教師データによって、うまく学習できたり (十分速く収束したり)、しなかったりする。 少し調べてみると、学習の高速化については今も研究の 対象となっているらしい。

せっかく作ったのだから、何かに応用させないとつまらない。 一番メジャーな応用としては画像認識、音声認識の手法としてだろう。 経済時系列データに適用している研究もあるみたい。面白そうなのは、 ニューラルネットによる3次元形状自動モデリングを研究している 東工大の能澤研究室

とりあえずは、ニューラルネットと学習過程を可視化する プログラムを作ることを目標にしてみることにする。

posted at 01:13 | category: /Math/Bayes | 固定リンク(ニューラルネット)

Tue, 25 May 2004

ベイジアンネットワーク(その2)

間隔があいてしまったが、ベイジアンネットワークについて、再び。
ベイジアンネットワークの前にベイズ統計学の基礎であるベイズの定理につい て復習。ベイズ統計学は推測のための統計学である。推測の対象となるパラメー タ(例えば平均、標準偏差など)を確率変数として扱い、データが与えられた もとでのこれらの分布を条件付確率分布として分析を行うもの。 この条件付確率分布をデータが与えられた後での分布と言う意味でベイズ統計 学では事後分布と言う。一方データが与えられる前の推測の対象とな るパラメータの主観的に与えられる確率分布を事前分布と言う。
ここでは先ずベイズの定理の主張と記号の意味を再確認しておく。 確率変数 X=x がわかっているとき確率変数 Y=y の条件付確率を

P(y|x)
と書くことにする。条件付確率の公式は
P(x,y) = P(y|x)P(x)
であらわされ、ここからベイズの定理が
P(x|y) = P(y|x)P(x) / P(y) ∝ P(y|x)P(x)
と言う形で与えられる。
もっとも単純なベイジアンネットワークは確率変数 X、Y と 条件付確率分布 P(Y|X) が与えられている場合で、そのとき
X → Y
と言う形になる。

posted at 23:51 | category: /Math/Bayes | 固定リンク(ベイジアンネットワーク(その2))

Fri, 30 Apr 2004

ベイジアンネットワーク(その1)

ベイジアンネットワークとは、確率変数をノードで表し、 ノード間の依存関係をノード間の向きつきエッジであらわしたとき、 非循環有向グラフになるとき、このグラフで表された確率変数の 集合のモデルことを言う。
ノードにはその確率変数の確率分布、エッジにはその向きに従って 条件付の確率分布が対応する。 数学的にはこれらの幾つかが与えられているときに、残りの 確率分布を求める問題と考えることができる。(確率伝搬計算)
音声認識に用いられる隠れマルコフモデルと等価なモデルを ベイジアンネットに作ることができる。 例や確率伝搬計算のアルゴリズムは次回。

posted at 02:20 | category: /Math/Bayes | 固定リンク(ベイジアンネットワーク(その1))

Sun, 14 Dec 2003

AIC を計算してみる

AIC の計算の仕方がわかったところで、時系列分析の自己回帰モデルの次数を 決定するために使えるかどうかを考えてみる。 そこで、z を標準正規分布に従う乱数として、

 an = an-k + rz 
のような確率過程を考えて、コンピュータシミュレーションで 時系列(1000項)を生成する。それに対してAICを計算すると、 k次のところで急激に小さくなり、その後は次数に対して少しずつ 増加していく(ほとんど一定と言ってもいいくらい)。 完全なランダムな系列(独立同分布に従う時系列)の 場合は、AICの値はわずかながら次数に対して増加していく。 このことで AIC がどれだけ有効かを確認することができた。

ところが、である。東証一部上場の株式会社の終値を時系列と見て、 AICで自己回帰モデルの最適な次数を計算してみようとすると、 次数に関して単調減少するのである。 このことからも、株価の時系列が単純な自己回帰モデルでは 表現できないことの一つの証拠になるのではないかと言う気がする。 次数に関してAICが単調減少するような確率過程を考えることができれば、 それで株価の時系列を近似できるのかも知れない。

posted at 00:02 | category: /Math/Bayes | 固定リンク(AIC を計算してみる)

Sun, 16 Nov 2003

ベイジアン・ネットワーク

古い記事で恐縮ですが @ITの記事 にベイジアンネットワークのことが書いてある。関連する記事にも参考となる ものが多かった。 まずは産業技術総合研究所本村陽一氏の 「確率ネットワークと知識情報処理への応用」。 言葉の定義と問題点の抽出がされているところがありがたい。

posted at 14:09 | category: /Math/Bayes | 固定リンク(ベイジアン・ネットワーク)

Sat, 08 Nov 2003

AIC 赤池情報量基準

日本人の名前がついた概念も最近はよく見掛けるようになった。 AIC と略されるこの概念はモデルのパラメータの個数を p とするときに

AIC = -2 MLL + 2p
で表される。情報量基準と言う名前は、モデル(確率分布)の適合度を調べるた めのもの。この値が小さいほどモデルがよく適合していることを表している。 2項目の 2p はパラメータの個数はできるだけ少ない方がいいという意味で、 ペナルティ項とも言われる。

最近は 東京大学の統計分析概論のテキストでも扱われているらしい。 統計ソフトの R でも AICが計算できる って言うのは試す価値あり。

情報量基準は AIC だけではなく BIC という Bayes Information Criterion と言うものもある。 ベイズ統計の趣旨からはこちらの導出を理解すべき。

統計学の文献を探していると、数学や物理だけでなく 生物など異分野の文献がヒットする。例えば モデル選択手法の水産資源解析への応用 なんて言うものもあり、全てはもちろん理解できないものの、 応用範囲の広さを改めて実感する。

posted at 03:03 | category: /Math/Bayes | 固定リンク(AIC 赤池情報量基準)

情報統計力学との関わり

伊庭 幸人 (著)「岩波講座物理の世界 物理と情報 (3) ベイズ統計と統計物理」(岩波書店) を読了。最後の画像修復に興味を覚える。シミュレーションプログラムを画像修復のマネゴト (というのはMAP推定をしているわけではないから)ができるように改良。また、ローカルで多数 実行してデータの平均をとったものをグラフ化。

情報統計力学

いろいろ調べていると、 篠本 滋 (著)「情報の統計力学」(丸善) 豊田 正 (著)「情報の物理学」(講談社)などと言う書籍を発見。 後者の本の2章のボルツマンのH定理から相対エントロピーの導入のあたりは、非常に面白い。 前者の本は、前半が統計力学、後半が情報理論のトピックを扱っている。 6章に少しだけベイズ統計のことが記述してあるが、それが目的の本ではなく、むしろその後の 画像再構成、ボルツマンマシン学習などへの導入と考えられている。

ボルツマンマシン学習

マシンが生成する乱数の従う確率分布を、外界のモデルが生成する乱数列をもとに 外界のモデルの分布に近づけていくのがボルツマンマシン学習である。 「近づける」ためには距離が必要で、そこにカルバックダイバージェンス(=相対エントロピー) が登場する。とりあえず次の目標はボルツマンマシン学習のシミュレータ作成、かな。

posted at 03:03 | category: /Math/Bayes | 固定リンク(情報統計力学との関わり)

ベイズ統計ことはじめ

ベイズの定理と呼ばれる条件付確率の公式についてはわかっているものの、 それがどのようにして統計に使えるのだろうと言う疑問を解消したいと思う。

情報収集

まずは講義ノートを探してみることにする。 最初に読んだのが http://courses.ncssm.edu/math/TALKS/PDFS/BullardNCTM2001.pdfである。 条件付確率から、ベルヌイモデルに関するベイズ統計を例をあげて計算しているので、 非常にわかりやすい。 Prob(model|data) を Prob(data|model) から求めるのがベイズ統計だと言う基本は理解できる。

日本語の文献としては、 http://www.ikuta.jwu.ac.jp/~yokamoto/openwww/stat/estparam/bayes/readme.pdf が見つかる。グラフが多用してあり、視覚的に理解できる。 書籍としては、 渡部 洋 (著)「ベイズ統計学入門」(福村書店) 伊庭 幸人 (著)「岩波講座物理の世界 物理と情報 (3) ベイズ統計と統計物理」(岩波書店) がある。前者は日本語としてはほぼ唯一の基礎から書かれた入門書。一通り目を通した。 著者が社会科学の人と言うのが、この本のよいところでもあり、悪いところでもある。 後者は統計物理の立場から書かれた本。読みものとして面白い。現在読書中。 触発されて、Ising模型のシミュレーションプログラムを作りなおしました。

事前分布、事後分布

事前分布からデータ(実験結果)によって事後分布が得られる、ということはわかっても、 事前分布の「分布」とは何なのか。ベルヌイ試行の場合、正規分布の場合、それぞれで異なるので 一見わかりにくい。事前分布、事後分布でいうところの分布とは、もとの確率モデルの分布ではなく、 もとの確率モデルの測度全体の空間(もしくは部分空間)上の分布である。 わかっている人には、「何をいまさら、それが推定と言うものだろう。」と言われそうだが、 あえて続けてみる。

コインの表と裏のように2個の集合{A,B}からなる確率空間上の測度は、一方の要素の確率P(A) によって決まる。したがって、確率測度全体は0以上1以下の実数の区間に等しく、事前分布は この区間上の分布を与える。それがベータ分布で与えられる場合、事後分布もベータ分布になる と言うことは、ほぼどの入門書にも書いてある。 もとの確率空間が実数の場合、例えばその上の分布として正規分布のみを考え、 さらに分散も固定すると、 平均値だけでもとの分布は決まる。この場合事前分布はその平均値の分布である。

正規分布における平均値と分散のように、確率分布がパラメトライズされた 場合、そのパラメトライズされた空間に相対エントロピーと言う距離もどき が入って、それによってリーマン幾何の真似事ができるらしい。 これは面白そうだ。

posted at 03:02 | category: /Math/Bayes | 固定リンク(ベイズ統計ことはじめ)