ぎょーむ日誌 2000-02-11
2000 年 02 月 11 日 (金)
- 0840 起床.
晴れ.
- バグ取りに入るまえに,
計算プロセスをもう一度検討しなおしてみる
……
うーむ,
これで良いはずなんだが.
- プログラムに不適切な部分がまだ残っている可能性はある.
と同時に,
Newton-Raphson 法の限界というべき
「初期値依存性」
があることがわかった.
またこれは数値微分の取り方が
悪いせいかもしれないんだけど,
解の収束への「減速」処理をほどこすと
なかなかよい結果が得られることがわかってきた.
最尤化する関数をあれこれ変更したり
(多項式なんかだと簡単に最尤値が得られた),
パラメーターを増やしたり減らしたりするうちに,
だんだん挙動が明らかになりつつあるような
気がする.
計算というより
ほとんど実験ですな,
これは.
- もしこれでプログラムに間違いがないとすれば,
Newton-Raphson 法より
Polytope 法のほうがマシかもしれん.
多次元にすると急に収束が悪くなる.
というか,
あらぬ方向にぴょーんと飛んでいく.
しかし,
おそらくコードにもまだ問題残されてるはずなので,
まずそちらを疑いのないものにしなくては.
- 最尤推定プログラムの挙動を解明すべく,
段階的な調査を行う.
最初は次数の低い
多項式のパラメーターを推定させるような
容易な問題を与える.
一段階ごとに難しい問題を与えていき,
このプログラムがどうやって問題を解決するのか
じっと見守る.
何度も似たような問題を解かせてみる.
パラメーターの属性
(そう,先日作った Parameter クラスは
許容される最大値最小値をはじめ
さまざまな属性をもつ)
を変更したり追加したりする.
数値微分の取り方を変えてみる.
- よーし,
だんだんわかってきた.
最尤点への収束に緩急つけてやらねば,
うまくいかないな.
容易な問題だとてきとーにやっても
あっという間に最尤推定値が得られる.
だけど,
パラメーターがたくさんあり
しかもややこしい確率分布を採用した場合には
パラメーターセットを壊れもの扱うように
ゆっくりと動かさなければならない.
- ついに
拡張相対成長式のパラメーターの最尤推定値を得る
ことできた.
このパラメーター推定は今まで
Polytope 法でしかできなかったんだけど,
今回は
数値偏微分 → 逆行列計算 → 連立 Newton-Rapthon 法の
連続技コンビネイションで
難敵を力づくでねじふせたカンジだ.
やれやれ.
いやいや,
これを必勝パターンの一つにまで洗練しなくては.
- しかしながら
もはや浦口さんの修論には間に合わない.
とほほ.
泥縄な私.
- とは言え,
プログラム開発中にもっとも被害を被ったのは
3 階の大学院生たちだなぁ.
うまくいかないと不平不満だの
遅滞の弁明だの聞かされ,
うまくいけば
「ねぇねぇ見て見てぇ」
といちいち結果を拝観させられたわけだから
……
- と後ろめたい気持になっていたので,
今日は登校中にミカンやリンゴを買って
お茶部屋用に提供したのであった.
- 次に牧さんの「サイズ依存的なシュートの死亡率」
に取り組んでみる.
こっちは多項分布に従う確率モデルだ.
死亡率が 1 / ( 1 + exp( p0 ( x - p1 ) ) )
に従うと仮定して計算.
さきほどのプログラムにおいて
尤度関数のところだけ書き換える.
ああ,
もういちいち一階微分や二階微分を
導出してやる必要はないんだ !!
今まで最尤推定はいろいろとやってきたけど,
いつもいつも煩わしかった作業が一つ減った.
ようやく実感できた.
- パラメーターの初期値などちょっと試行錯誤すると,
すぐに「収束セット」が見つかった.
よしよし.
まだまだ改善すべき点は多々あるが,
なかなか良い道具をつくり出すことできた.
- 「けっきょく,
Polytope 法と Newton 法はどこが違うんですか」
「うーん,
『関数の最大化』と『方程式の根を求める』ってのは,
確かに似たような側面はあるわけだし
……
まぁ,
個人的な感想というか僕の感触としては,
Polytope 法の場合は不適切ではあっても
つねに何となくそれらしい答えを吐き出すんだけど,
Newton 法だとうまくいくときはすごくうまくいくけど
ダメなときはホントに絶望的な結果を出すような
……」
- 2230 研究室発.
2250 JR 札幌駅発.
2340 帰宅.
- 今日の食卓
- 朝 (0930):
マーボー豆腐.
昨日の晩飯にしようと買ったんだけど,
作らなかった.
なーに,
丸美屋のマーボー豆腐の素
(6 人前 220 円)
で作った
安直なやつです.
- 昼 (1220):
朝と同じ.
朝の残り.
- 晩 (0010):
スパゲッティー A.O.P. もどき.
ニンニクをオリーブオイルで炒めて,
ゆで汁お玉一杯追加.
クレイジーソルトとキムチの素を
加えて,
麺を混ぜこむ.
じゃんくです,
はい.