日本語入力を支える技術がすごい分かり易い
p196, 5.5節あたりの話である。
何で条件付き確率を定義する時に指数関数を使っているのか?
PRMLの4章を読んでいた際に謎として残っていたのが、「何故、確率を定義する時に指数関数(softmax function)を使っているのか?」である。うろ覚えの人工知能論の授業では「微分可能にするため」として納得していたが、この本を読んでみてしっくりきた。
指数関数を使う理由:
- 確率を扱いたいため、出力値を0以上にする必要がある
- 確率を扱いたいため、全ての背反事象に対する確率の総和を1にする必要がある(参考:http://d.hatena.ne.jp/nowokay/20120214)
- (これは自分の推測かつ、あまり必要ない)微分可能にする必要がある
結局重みの更新式を算出する際に偏微分する必要があるから、「微分可能にするため」も理由の一つであると推測する。しかし、劣微分あたりの話で「微分不可能な項に対する対処」をする必要があるので、あまり必要ないかな。
以下雑記
- 連想配列の実装に対してトライ木を使う、という発想はなかった。言われてみれば、確かにそうなんだけど、言われなければ気が付かなかった。
- NLPでベイズの定理が用いられる例として、機械翻訳の例がよくあるけど、かな漢字変換の例も取り入られた方がわかり易いと思う。例えば日本語から英語に翻訳する際に、英語から日本語に翻訳される確率を用いていると「あれ、それって同じ問題をあらかじめ解かれているってこと?」と疑問が湧いた(あれは、バイリンガル・コーパスを使用しているからだけど)。かな漢字変換をする際に、「変換候補である漢字の読み方yが入力されたかな列xである確率 P(x|y)」と「変換された文字列が日本語らしい確率 P(y)」を考慮に入れることの方が理解しやすい(読み推定とかな漢字変換は違う、という私見に基づく)。
- p171あたりの劣微分、劣勾配に関する話は「L1正則化の際に、正則化項は微分不可能。どうやって偏微分するの?」という疑問を当然思うべきであったのに頭になかったので、目から鱗だった。
まだ読み終わってないので、多分続く。
日本語入力を支える技術 ?変わり続けるコンピュータと言葉の世界 (WEB+DB PRESS plus)
- 作者: 徳永拓之
- 出版社/メーカー: 技術評論社
- 発売日: 2012/02/08
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 322回
- この商品を含むブログ (36件) を見る