人気ブログランキング | 話題のタグを見る
(moved to http://tmasada.cocolog-nifty.com/blog/)
自作CRFのバグ,判明
LBFGSのFORTRANコードを手作業でCに移植して,自作のCRFプログラムに組み込んだ結果分かったことは・・・LBFGSが原因ではなかった,ということ.トホホ.結局,コード全体の中で,1か所だけ,変数名を間違えていたのが原因でした.その1か所とは,backwardの計算をするとき,変数名を間違えたため,1つ前のtokenのlabelを,今見ているtokenのlabelとみなしてしまってたんですね.これだと,tokenのbigramについている二つの連続するlabelsとで整合性が取れない.だから,LBFGSは正しく動いていたのに最適化がうまくいっていなかった,ということだと思います.
by tmasada2 | 2008-12-11 14:44 | らららルルル
<< CRF++には開始記号があるようです 眠れない夜に庭竹の雨聲の聴き方... >>