僕は, 本当はトピックモデルのような意味的なものの方にどちらかというと
関心があるのですが,
最近は(統計的自然言語処理にとって重要なので)Markovモデル的な話をやっていた
ので, トピックモデル的な話ができなかったのが残念でしたが..。
スライドを作る時に, 折角なのでMathematicaでディリクレ分布を綺麗にプロットして
みることに。
数セミの記事
などではMATLABで原点と(1,0),(0,1)で囲まれる直角二等辺三角形で描いていましたが,
正三角形でないと今一だなあと思っていました。
下の図のように, 直角二等辺三角形を正三角形の内部に射影する線形写像Aを考えると,
Aは (1,0),(0,1) をそれぞれ (1,0),(1/2,√3/2) に写すので,
A={{1,1/2},{0,√3/2}} です。
そうすると, 逆に正三角形の内部を二等辺三角形に写像する行列は
A
-1={{1,-1/√3},{0,2/√3}}なので, 次のようなコードでプロットできます。
[dirichlet.ma]
ただ, こうすると正三角形にはなりますが, 一番右(Dir(0.5,0.5,0.5))のように,
境界がどうやってもガタガタになってしまうようです(何か上手いやり方があるのか
も知れませんが..)。
筑波の山本先生のところに前に行った時, 山本先生が綺麗なプロットをMathematicaで
描かれていたと記憶しているので聞いてみたところ, 普通に二等辺三角形でプロット
しても, 斜辺から視点を取ればそれっぽく見えるようです。その発想はなかった..。;