神野さんに言われました。

読者です 読者をやめる 読者になる 読者になる

神野さんに言われました。

AIの勉強をしています @sesenosannko

texでグラフィカルモデルを描写するライブラリを使った

メモです。

github.com

丁寧な説明書が無いですが、簡単な図ならこんな感じで直感的に描けます。

\node[オプション](名前){表示テキスト}
\edge{インプット}{アウトプット}
\plate{名前}{(要素1)(要素2)}{表示テキスト}

配置も細かく指定できるようです。

LDAのグラフィカルモデルです。

f:id:sesenosannko:20170110095552p:plain

\usepackage{tikz}
\usetikzlibrary{bayesnet}

\begin{tikzpicture}[x=1cm,y=1cm]

  % Nodes
  \node[obs] (w){$w$} ;
  \node[latent, right=of w](phi){$\phi$} ;
  \node[const, right=of phi](beta){$\beta$};

  \node[latent, left=of w](z){$z$} ;
  \node[latent, left=of z](theta){$\theta$} ;
  \node[const, left=of theta](alpha){$\alpha$} ;

  % Edge
  \edge {phi} {w} ;
  \edge {beta}{phi} ;
  
  \edge {z} {w} ;
  \edge {theta}{z} ;
  \edge {alpha}{theta} ;
  
  % Plates
  \plate {N}{(z)(w)}{$N$}
  \plate {D}{(theta)(N)}{$D$}
  
  \plate {K}{(phi)}{$K$}

\end{tikzpicture}