<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2132555078542835966</id><updated>2011-12-20T02:02:39.178+09:00</updated><category term='Daily Life'/><category term='Research'/><category term='Internet'/><category term='Programming'/><category term='Mac'/><title type='text'>うぃとげんしゅたいん</title><subtitle type='html'>機械学習から日々の戯れ言まで</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-5691927359135073243</id><published>2010-01-04T02:20:00.000+09:00</published><updated>2010-01-04T02:20:04.569+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>明けましておめでとうございます</title><content type='html'>遅れ馳せながら、明けましておめでとうございます :)&lt;br /&gt;三ヶ日も終わり、正月気分なのは僕だけでしょうか？&lt;br /&gt;&lt;br /&gt;昨年を振り返ると、研究会、Workshopや勉強会に複数参加をする等、アクティブに動けた１年だったと思います。&lt;br /&gt;今年最初の仕事は、そういった研究成果をしっかりとまとめ、業績とすること！&lt;br /&gt;&lt;br /&gt;残り少ない学生生活…締切に追われる毎日ですが、大いに楽しみたいと思います！&lt;br /&gt;&lt;br /&gt;追伸&lt;br /&gt;卒業後は研究からは離れますが、興味のある論文やその実装、技術に関してメモをするこのblogは、続けたいなと思っています&lt;br /&gt;　&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-5691927359135073243?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/5691927359135073243/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2010/01/blog-post.html#comment-form' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5691927359135073243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5691927359135073243'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2010/01/blog-post.html' title='明けましておめでとうございます'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-5767582199561070393</id><published>2009-11-28T01:53:00.001+09:00</published><updated>2009-11-28T01:56:02.843+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Probabilistic Latent Semantic Analysis : PLSA （Rで実装）</title><content type='html'>前回のエントリからはや一ヶ月。月日が立つのは早いものです。&lt;br /&gt;修論に向け、bag-of-featuresの実装をもくろんでおりますが、その一環としてPLSAを試してみました。&lt;br /&gt;&lt;br /&gt;参考文献はこちら（リンク先pdf）。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.brown.edu/%E2%88%BCth/papers/Hofmann-%20UAI99.pdf"&gt;T. Hofmann. Probabilistic latent semantic analysis. In Proceedings of the 15th Conference on Uncertainty in AI, 1999.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ちょうど10年前に提案されたモデルですが、LDAの元となったり、現在でも多くの論文が発表されたりと、良い言語モデルのようです。&lt;br /&gt;これをRで素直に実装したのがこちら。&lt;br /&gt;&lt;pre class="prettyprint"&gt;plsi &amp;lt;- function(x, K=10, eps=0.9, max_itr=200,...){&lt;br /&gt; #logsumexp&lt;br /&gt; logsumexp&amp;lt;-function(x,y,flg){&lt;br /&gt;  if(flg){&lt;br /&gt;   return(y)&lt;br /&gt;  }&lt;br /&gt;  if(x == y){&lt;br /&gt;   return(x + 0.69314718055)&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  vmin = min(x,y)&lt;br /&gt;  vmax = max(x,y)&lt;br /&gt;&lt;br /&gt;  if(vmax &amp;gt; (vmin + 50.0)){&lt;br /&gt;   return(vmax)&lt;br /&gt;  }else{&lt;br /&gt;   return(vmax + log(exp(vmin - vmax) + 1.0))&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; #random variable from Dirichlet distribution&lt;br /&gt; rdirichlet&amp;lt;-function(alpha,prec=0,...){&lt;br /&gt;  if(prec != 0){&lt;br /&gt;   x&amp;lt;-rgamma(length(alpha),alpha*prec,1.0)&lt;br /&gt;  }else{&lt;br /&gt;   x&amp;lt;-rgamma(length(alpha),alpha,1.0)&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  return (x/sum(x))&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; #initialize&lt;br /&gt; D &amp;lt;- dim(x)[1]&lt;br /&gt; W &amp;lt;- dim(x)[2]&lt;br /&gt; T &amp;lt;- 1 #temperature&lt;br /&gt; pllik &amp;lt;- 0&lt;br /&gt;&lt;br /&gt; #parameters&lt;br /&gt; pz_dw &amp;lt;- list()&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  pz_dw[[k]] &amp;lt;- matrix(0, D, W)&lt;br /&gt; }&lt;br /&gt; pz &amp;lt;- rep(1/K, length=K)&lt;br /&gt; pd_z &amp;lt;- matrix(0, K, D)&lt;br /&gt; pw_z &amp;lt;- matrix(0, K, W)&lt;br /&gt; unigram &amp;lt;- 1/W * apply(x,2,sum)&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  pd_z[k,] &amp;lt;- rdirichlet(rep(1/D, length=D))&lt;br /&gt;  pw_z[k,] &amp;lt;- rdirichlet(unigram)&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; ##############################&lt;br /&gt;&lt;br /&gt; for(t in 1:max_itr){&lt;br /&gt;  &lt;br /&gt;  cat("Iteration : ",t," Temperature : ",T,"  ")&lt;br /&gt;&lt;br /&gt;  #E-step &lt;br /&gt;  #initialize expected count&lt;br /&gt;  cz &amp;lt;- rep(0, length=K)&lt;br /&gt;  cd_z &amp;lt;- matrix(0, K, D)&lt;br /&gt;  cw_z &amp;lt;- matrix(0, K, W)&lt;br /&gt;&lt;br /&gt;  for(d in 1:D){&lt;br /&gt;   for(w in 1:W){&lt;br /&gt;    z &amp;lt;- 0&lt;br /&gt;    for(k in 1:K){&lt;br /&gt;     pz_dw[[k]][d,w] &amp;lt;- T * ( log(pz[k]) + log(pd_z[k,d]) + log(pw_z[k,w]) )&lt;br /&gt;     z &amp;lt;- logsumexp(z, pz_dw[[k]][d,w], (k==1))&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    for(k in 1:K){&lt;br /&gt;     pz_dw[[k]][d,w] &amp;lt;- exp(pz_dw[[k]][d,w] - z)&lt;br /&gt;&lt;br /&gt;     if(x[d,w] != 0){&lt;br /&gt;      cz[k] &amp;lt;- cz[k] + x[d,w] * pz_dw[[k]][d,w]&lt;br /&gt;      cd_z[k,d] &amp;lt;- cd_z[k,d] + x[d,w] * pz_dw[[k]][d,w]&lt;br /&gt;      cw_z[k,w] &amp;lt;- cw_z[k,w] + x[d,w] * pz_dw[[k]][d,w]&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;   } &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  #M-step&lt;br /&gt;  pz &amp;lt;- cz / sum(cz)&lt;br /&gt;  for(k in 1:K){&lt;br /&gt;   pd_z[k, ] &amp;lt;- cd_z[k, ] / sum(cd_z[k, ])&lt;br /&gt;   pw_z[k, ] &amp;lt;- cw_z[k, ] / sum(cw_z[k, ])&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  #converged?&lt;br /&gt;  llik &amp;lt;- 0&lt;br /&gt;  for(d in 1:D){&lt;br /&gt;   for(w in 1:W){&lt;br /&gt;    if(x[d,w] != 0){&lt;br /&gt;     l &amp;lt;- 0&lt;br /&gt;     pdw &amp;lt;- 0&lt;br /&gt;     for(k in 1:K){&lt;br /&gt;      l &amp;lt;- log(pz[k]) + log(pd_z[k,d]) + log(pw_z[k,w])&lt;br /&gt;      pdw &amp;lt;- logsumexp(pdw, l, (k==1))&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     llik &amp;lt;- llik + x[d,w] * pdw&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  cat(" log-likelihood : ",llik, " PPL : ",- 1/W * llik,"\n")&lt;br /&gt;&lt;br /&gt;  if(t &amp;gt; 1){&lt;br /&gt;   if( abs((llik - pllik) / llik) &amp;lt; 1e-5 || pllik &amp;gt; llik){&lt;br /&gt;    cat("Converged.\n")&lt;br /&gt;    break&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  pllik &amp;lt;- llik&lt;br /&gt;&lt;br /&gt;  T &amp;lt;- eps * T&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return(list("pz_dw"=pz_dw, "pz"=pz, "pd_z"=pd_z, "pw_z"=pw_z))&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;素直に参考文献の式(3)~(6)を実装したものになります。推定アルゴリズムはTemperature EMアルゴリズムで、温度スケジューリングは簡単のため&lt;br /&gt;&lt;ol&gt;&lt;li&gt;温度T=1.0からスタート&lt;/li&gt;&lt;li&gt;EMアルゴリズムの各反復において, T = eps × T (eps &amp;lt; 1.0)で更新&lt;/li&gt;&lt;/ol&gt;としています。論より証拠。サンプルで試してみましょう。&lt;br /&gt;用いたデータは以下のような12×9の行列データです。&lt;br /&gt;&lt;pre class="prettyprint"&gt;1 2 2 0 0 0 0 0 0&lt;br /&gt;2 1 3 0 0 0 0 0 0&lt;br /&gt;2 0 2 0 0 0 0 0 0&lt;br /&gt;1 1 1 0 0 0 0 0 0&lt;br /&gt;0 0 0 1 1 2 0 0 0&lt;br /&gt;0 0 0 2 1 1 0 0 0&lt;br /&gt;0 0 0 1 3 1 0 0 0&lt;br /&gt;0 0 0 1 2 2 0 0 0&lt;br /&gt;0 0 0 0 0 0 2 3 3&lt;br /&gt;0 0 0 0 0 0 3 2 2&lt;br /&gt;0 0 0 0 0 0 2 1 3&lt;br /&gt;0 0 0 0 0 0 1 1 4&lt;br /&gt;&lt;/pre&gt;これがテキストデータであるとすると、データ数が12、単語数が9、行列要素はデータ内で観測された頻度に相当します。&lt;br /&gt;目視で確認できるように、左側・中央・右側に出現頻度が偏った、いわば３クラスが含まれるデータになります。&lt;br /&gt;&lt;br /&gt;これを、以下のようにしてplsiを実行します。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;gt; opt &amp;lt;- plsi(x, K=3, eps=0.95)&lt;br /&gt;&lt;/pre&gt;オプションKはクラス数、epsはTEMの温度に関するパラメータです。これにより、以下のような出力がされます。&lt;br /&gt;&lt;pre class="prettyprint"&gt;Iteration :  1  Temperature :  1    log-likelihood :  -277.8714 &lt;br /&gt;Iteration :  2  Temperature :  0.9    log-likelihood :  -275.7771 &lt;br /&gt;Iteration :  3  Temperature :  0.81    log-likelihood :  -274.7316 &lt;br /&gt;Iteration :  4  Temperature :  0.729    log-likelihood :  -272.8197 &lt;br /&gt;Iteration :  5  Temperature :  0.6561    log-likelihood :  -268.9356 &lt;br /&gt;Iteration :  6  Temperature :  0.59049    log-likelihood :  -265.5543 &lt;br /&gt;Iteration :  7  Temperature :  0.531441    log-likelihood :  -264.1783 &lt;br /&gt;Iteration :  8  Temperature :  0.4782969    log-likelihood :  -264.3499 &lt;br /&gt;Converged.&lt;br /&gt;&lt;/pre&gt;最後の反復で若干対数尤度が悪化しているのは玉に傷です。&lt;br /&gt;&lt;br /&gt;各クラスからの文章の出現確率、すなわちp(d|z)は、以下によって取得できます（見やすさのため小数点以下二桁で丸めています）。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;gt; round(opt$pd_z,2)&lt;br /&gt;     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]&lt;br /&gt;[1,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00  0.3  0.26  0.22  0.22&lt;br /&gt;[2,] 0.28 0.33 0.22 0.17 0.00 0.00 0.00 0.00  0.0  0.00  0.00  0.00&lt;br /&gt;[3,] 0.00 0.01 0.00 0.00 0.22 0.22 0.27 0.27  0.0  0.00  0.00  0.00&lt;br /&gt;&lt;/pre&gt;行がクラス、列がデータを表しています。概ね正しく３つのクラスに分類できていることが伺えます。&lt;br /&gt;同様にして、各クラスからの単語の出現確率p(w|z)は、以下によって取得できます。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;gt; round(opt$pw_z,2)&lt;br /&gt;     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]&lt;br /&gt;[1,] 0.00 0.00 0.00 0.00 0.00 0.00  0.3 0.26 0.44&lt;br /&gt;[2,] 0.33 0.22 0.44 0.00 0.00 0.00  0.0 0.00 0.00&lt;br /&gt;[3,] 0.01 0.00 0.01 0.27 0.38 0.33  0.0 0.00 0.00&lt;br /&gt;&lt;/pre&gt;行がクラス、列が単語を表しています。こちらも概ね正しく各クラスからの単語の出現確率を推定できていることが伺えます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;初期値やK/epsの値によってかなり推定精度にバラつきがありますが、シンプルな理論/実装で動くモデルなので良いですね。例によって、間違い、またより良い実装方法がございましたらご指摘ください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-5767582199561070393?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/5767582199561070393/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/11/probabilistic-latent-semantic-analysis.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5767582199561070393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5767582199561070393'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/11/probabilistic-latent-semantic-analysis.html' title='Probabilistic Latent Semantic Analysis : PLSA （Rで実装）'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-8652896462233194475</id><published>2009-10-29T03:56:00.000+09:00</published><updated>2009-10-29T03:56:33.217+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>Tweetup with @syou6162</title><content type='html'>本日、素敵な&lt;a href="http://www.wordspy.com/words/tweetup.asp" target="_blank"&gt;Tweetup&lt;/a&gt;を&lt;a href="http://twitter.com/syou6162" target="_blank"&gt;@syou6162&lt;/a&gt;さんとご一緒しました。&lt;br /&gt;Web上でも、現実でも、精力的に活動されている姿は尊敬するばかりです。&lt;br /&gt;&lt;br /&gt;ところで、日本国籍でない友人に日本人の悪い点を聞くと、すぐにtoo shyと返ってきました。&lt;br /&gt;国民性や個人の性格的なものは無理に変える必要はないと考えていますが、それでもコミュニティに対して何らかのコミットをするのは、コミュニティにとっても、自身にとっても有益なものとなる場合が多いように思います。&lt;br /&gt;&lt;br /&gt;しかしながら、そういった行動をおこすには、またそういった方々とお近づきになるには、それなりの労力が必要です。&lt;br /&gt;Twitterに限らず、SNSやWebは、それらの敷居を下げる良い道具ではないかと思います。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;抽象的ではありましたが、非常にポジティブな気持ちを想起させる、そんなTweetupでした。&lt;br /&gt;より詳細な会話の内容が知りたい方、また、R, C++, Emacs etc...の良質なtipsをご覧になりたい方は、こちらのサイトをどうぞ。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://d.hatena.ne.jp/syou6162/" target="_blank"&gt;Seeking for my unique color.&lt;/a&gt;&lt;br /&gt;　&lt;a href="http://d.hatena.ne.jp/syou6162/20091028/1256743574" target="_blank"&gt;Seeking for my unique color.:@TakaakiTalkさんとお食事&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks a lot @syou6162!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-8652896462233194475?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/8652896462233194475/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/10/tweetup-with-syou6162.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8652896462233194475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8652896462233194475'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/10/tweetup-with-syou6162.html' title='Tweetup with @syou6162'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-1640773661803385720</id><published>2009-10-27T20:52:00.002+09:00</published><updated>2009-10-27T20:59:16.314+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>RとImageMagickで混合分布推定アニメーション</title><content type='html'>EMアルゴリズムや変分ベイズ、MCMCでは最適化やサンプリングを繰り返すことで確率分布を求めます。&lt;br /&gt;その過程を可視化する際のtipsをまとめてみます。&lt;br /&gt;&lt;br /&gt;Rの他に必要なのはこちら。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.imagemagick.org/script/index.php" target="_blank"&gt;ImageMagick&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ffmpeg.org/" target="_blank"&gt;ffmpeg&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;MacPortでしたら&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;sudo&amp;nbsp;port&amp;nbsp;install&amp;nbsp;ImageMagick&amp;nbsp;+lcms&amp;nbsp;+jpeg2&lt;br /&gt;sudo&amp;nbsp;port&amp;nbsp;install&amp;nbsp;ffmpeg&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;でインストール可能です。&lt;br /&gt;動画作成までの道のりは以下のとおりです。&lt;br /&gt;&lt;br /&gt;　1. Rプログラムの反復演算の都度画像を生成する&lt;br /&gt;　2. ImageMagickで連結・mpeg変換を行う&lt;br /&gt;&lt;br /&gt;いやぁ、簡単。このままではtipsにならないので、サンプルとその生成方法を記載してみます。&lt;br /&gt;まずRにおいて、以下のような画像生成項目を記載します。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;name&amp;nbsp;=&amp;nbsp;paste(t,&amp;nbsp;".png"&amp;nbsp;,&amp;nbsp;sep="")&lt;br /&gt;png(file&amp;nbsp;=&amp;nbsp;paste("img/",&amp;nbsp;name,&amp;nbsp;sep=""),&amp;nbsp;sep="")&lt;br /&gt;　#プロットしたい図のplot&lt;br /&gt;dev.off()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;尚、tは反復回数t回目を表します。これによりimgフォルダにt=1から（任意の）収束回数までの連番pngファイルが生成されます。&lt;br /&gt;続いて、imgフォルダ内に以下のようなシェルスクリプトを保存します。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/bin/bash&lt;br /&gt;num=${1:?"Usage:&amp;nbsp;$./conv.sh&amp;nbsp;npics"}&lt;br /&gt;for((i=1;i&amp;lt;$(($1+1));++i))&lt;br /&gt;do&lt;br /&gt;　name+=$i.png"&amp;nbsp;"&lt;br /&gt;done&lt;br /&gt;#echo&amp;nbsp;$name&lt;br /&gt;`convert&amp;nbsp;-delay&amp;nbsp;15&amp;nbsp;-quality&amp;nbsp;100%&amp;nbsp;-antialias&amp;nbsp;-compress&amp;nbsp;None&amp;nbsp;$name&amp;nbsp;opt.mpg`&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;名前をconv.shとしましょう。また、t=100で収束したとします。その際、実行権限を与えた後、以下のように実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;chmod&amp;nbsp;u+x&amp;nbsp;conv.sh&lt;br /&gt;./conv.sh&amp;nbsp;100&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;これにより、opt.mpgができあがります。表示間隔はdelayの引数を変えることで調整できます。&lt;br /&gt;混合ガウス分布の推定を行った結果が&lt;a href="http://img38.imageshack.us/img38/7854/mcc.mp4" target="_blank"&gt;こちら&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;ImageMagick自体は検索すれば多くのtipsが出てきますが、Rのtipsとして参考にしたのはこちら。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%BB%B2%B9%CD%BC%C2%CE%E3%BD%B8%A1%A7%BC%AB%BA%EE%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%C5%EA%B9%C6%CD%F3#z5a360ee" target="_blank"&gt;RjpWiki:グラフィックス参考実例集：自作グラフィックス投稿欄:GIFアニメーション&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;一枚一枚画像を生成するので非常に時間がかかります（MCMCでやることは考えたくないです）が、視覚的に確認できると楽しいですね。是非お試しあれ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-1640773661803385720?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/1640773661803385720/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/10/rimagemagick.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/1640773661803385720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/1640773661803385720'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/10/rimagemagick.html' title='RとImageMagickで混合分布推定アニメーション'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4802746481431245380</id><published>2009-10-15T01:27:00.003+09:00</published><updated>2009-10-15T01:33:29.517+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>統計のための線形代数 in C++ (Boost uBLASの参考サイトとtipsまとめ)</title><content type='html'>最近の僕はより大規模な実験を行うべく、これまで作ってきたtoy programをC++に移植する毎日です。&lt;br /&gt;その過程でどうしてもベクトル・行列演算が必要になったので、時期標準の呼び声高い&lt;a href="http://www.boost.org/" target="_blank"&gt;Boost&lt;/a&gt;内のベクトル・行列ライブラリ、&lt;a &amp;nbsp;target="_blank" href="http://www.boost.org/doc/libs/1_40_0/libs/numeric/ublas/doc/index.htm"&gt;uBLAS&lt;/a&gt;を用いてみました。&lt;br /&gt;今回の記事は、特に僕が必要であった演算を実現すべく、参考にしたサイト及びそれらをまとめたテンプレート関数群をご紹介します。&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;参考にした主なサイトは以下のとおりです。&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.boost.org/doc/libs/1_40_0/libs/numeric/ublas/doc/index.htm" target="_blank"&gt;Boost Basic Linear Algebra&lt;/a&gt;（本家）&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.html" target="_blank"&gt;Boost 数学関連ライブラリの使い方&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/blono/" target="_blank"&gt;yanoの日記&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;2で概要を掴み、1で詳細を詰め、3で必要なものを実装... がオススメです。&lt;br /&gt;特に3の矢野さんの日記には大変助けられました。ほとんど全ての実装がblogを元にしているといっても過言ではありません（この場を借りて御礼申し上げます）。&lt;br /&gt;&lt;br /&gt;先人達の知恵を集結し、まとめた関数群がこちら。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;/*&lt;br /&gt; matrix.hpp is template functions using uBLAS&lt;br /&gt; References:&lt;br /&gt;   boost Basic Linear Algebra http://www.boost.org/doc/libs/1_39_0/libs/numeric/ublas/doc/index.htm&lt;br /&gt;  yanoの日記 http://d.hatena.ne.jp/blono/&lt;br /&gt;  cholesky.hpp http://www.guwi17.de/ublas/examples/cholesky.hpp&lt;br /&gt;  &lt;br /&gt; ver.0.1&lt;br /&gt; 13/10/09&lt;br /&gt; Takaaki&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;#ifndef _MATRIX_ &lt;br /&gt;#define _MATRIX_&lt;br /&gt;&lt;br /&gt;#include &amp;lt;boost/numeric/ublas/lu.hpp&amp;gt;   &lt;br /&gt;#include &amp;lt;boost/numeric/ublas/vector.hpp&amp;gt;&lt;br /&gt;#include &amp;lt;boost/numeric/ublas/matrix.hpp&amp;gt;&lt;br /&gt;#include &amp;lt;boost/numeric/ublas/matrix_proxy.hpp&amp;gt;&lt;br /&gt;#include &amp;lt;boost/numeric/ublas/io.hpp&amp;gt;&lt;br /&gt;#include &amp;lt;boost/numeric/ublas/triangular.hpp&amp;gt;&lt;br /&gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace boost::numeric::ublas;&lt;br /&gt;&lt;br /&gt;namespace math{&lt;br /&gt; namespace ublas = boost::numeric::ublas;&lt;br /&gt;&lt;br /&gt; /*mean*/&lt;br /&gt; template &amp;lt;class V&amp;gt; double mean(const V&amp; v);&lt;br /&gt;&lt;br /&gt; /*variance*/&lt;br /&gt; template &amp;lt;class V&amp;gt; double var(const V&amp; v);&lt;br /&gt;&lt;br /&gt; /*standard deviation*/&lt;br /&gt; template &amp;lt;class V&amp;gt; double sd(const V&amp; v);&lt;br /&gt;&lt;br /&gt; /*Invert*/&lt;br /&gt; template &amp;lt;class M, class MI&amp;gt; void invert(const M&amp; m, MI&amp; mi); &lt;br /&gt;&lt;br /&gt; /*Trace*/&lt;br /&gt; template &amp;lt;class M&amp;gt; double trace(const M&amp; m);&lt;br /&gt;&lt;br /&gt; /*Determinant*/&lt;br /&gt; template &amp;lt;class M&amp;gt; double determinant(const M&amp; m);&lt;br /&gt; template &amp;lt;class M&amp;gt; double det(const M&amp; m);&lt;br /&gt;&lt;br /&gt; /*Cholesky decomposition*/&lt;br /&gt; template &amp;lt;class M&amp;gt; size_t cholesky(const M&amp; A, M&amp; L);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class V&amp;gt;&lt;br /&gt;double math::mean(const V&amp; v)&lt;br /&gt;{&lt;br /&gt; return ublas::sum(v) / v.size();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class V&amp;gt;&lt;br /&gt;double math::var(const V&amp; v)&lt;br /&gt;{&lt;br /&gt; /*Create mean vector*/&lt;br /&gt; ublas::vector&amp;lt;double&amp;gt; mv(v.size());&lt;br /&gt; std::fill(mv.begin(), mv.end(), math::mean(v));&lt;br /&gt;&lt;br /&gt; return sum(element_prod(v - mv, v-mv)) / (v.size() - 1.0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class V&amp;gt;&lt;br /&gt;double math::sd(const V&amp; v)&lt;br /&gt;{&lt;br /&gt; return std::sqrt(var(v));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class M, class MI&amp;gt;&lt;br /&gt;void math::invert(const M&amp; m, MI&amp; mi)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; BOOST_UBLAS_CHECK(m.size1() == m.size2(), ublas::external_logic());&lt;br /&gt;&lt;br /&gt; ublas::matrix&amp;lt;double&amp;gt; lhs(m);&lt;br /&gt; ublas::matrix&amp;lt;double&amp;gt; rhs(ublas::identity_matrix&amp;lt;double&amp;gt;(m.size1()));&lt;br /&gt; ublas::permutation_matrix&amp;lt;&amp;gt; pm(m.size1());&lt;br /&gt;&lt;br /&gt; ublas::lu_factorize(lhs, pm);&lt;br /&gt; ublas::lu_substitute(lhs, pm, rhs);&lt;br /&gt;&lt;br /&gt; mi.resize(rhs.size1(), rhs.size2(), false);&lt;br /&gt; mi.assign(rhs);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class M&amp;gt;&lt;br /&gt;double math::trace(const M&amp; m)&lt;br /&gt;{&lt;br /&gt; BOOST_UBLAS_CHECK(m.size1() == m.size2(), ublas::external_logic());&lt;br /&gt;&lt;br /&gt; M cm(m);&lt;br /&gt; ublas::matrix_vector_range&amp;lt;M&amp;gt; diag(cm, ublas::range(0,m.size1()), ublas::range(0,m.size2()));&lt;br /&gt; &lt;br /&gt; return ublas::sum(diag);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class M&amp;gt;&lt;br /&gt;double math::determinant(const M&amp; m)&lt;br /&gt;{&lt;br /&gt; BOOST_UBLAS_CHECK(m.size1() == m.size2(), ublas::external_logic());&lt;br /&gt;&lt;br /&gt; ublas::matrix&amp;lt;double&amp;gt; lu(m);&lt;br /&gt; ublas::permutation_matrix&amp;lt;&amp;gt; pm(m.size1());&lt;br /&gt;&lt;br /&gt; ublas::lu_factorize(lu,pm);&lt;br /&gt;&lt;br /&gt; double det(1);&lt;br /&gt;&lt;br /&gt; typedef ublas::permutation_matrix&amp;lt;&amp;gt;::size_type size_type;&lt;br /&gt; &lt;br /&gt; for (size_type i = 0; i &amp;lt; pm.size(); ++i) {&lt;br /&gt;  det *= (i == pm(i)) ? +lu(i, i) : -lu(i, i);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return det;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class M&amp;gt;&lt;br /&gt;double math::det(const M&amp; m)&lt;br /&gt;{&lt;br /&gt; return math::determinant(m);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &amp;lt;class M&amp;gt;&lt;br /&gt;size_t math::cholesky(const M&amp; A, M&amp; L)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; typedef typename M::value_type T;&lt;br /&gt;&lt;br /&gt; assert( A.size1() == A.size2() );&lt;br /&gt; assert( A.size1() == L.size1() );&lt;br /&gt; assert( A.size2() == L.size2() );&lt;br /&gt;&lt;br /&gt; const size_t n = A.size1();&lt;br /&gt;         &lt;br /&gt; for (size_t k=0 ; k &amp;lt; n; k++) {&lt;br /&gt;                 &lt;br /&gt;   double qL_kk = A(k,k) - inner_prod( project( row(L, k), range(0, k) ),project( row(L, k), range(0, k) ) );&lt;br /&gt;&lt;br /&gt;  if (qL_kk &amp;lt;= 0) {&lt;br /&gt;   return 1 + k;&lt;br /&gt;  } else {&lt;br /&gt;   double L_kk = sqrt( qL_kk );&lt;br /&gt;   L(k,k) = L_kk;&lt;br /&gt;   matrix_column&amp;lt;M&amp;gt; cLk(L, k);&lt;br /&gt;   project( cLk, range(k+1, n) )&lt;br /&gt;    = ( project( column(A, k), range(k+1, n) )&lt;br /&gt;     - prod( project(L, range(k+1, n), range(0, k)), &lt;br /&gt;      project(row(L, k), range(0, k) ) ) ) / L_kk;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; return 0;      &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#endif&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;これをmath.hppとして保存し、以下のmain.cppで動作を確認してみます。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;#include "math.hpp"&lt;br /&gt;&lt;br /&gt;/*function of random variables*/&lt;br /&gt;double runif();&lt;br /&gt;double rnorm(double, double);&lt;br /&gt;&lt;br /&gt;const static double PI = 3.14159265358979323846;&lt;br /&gt;&lt;br /&gt;/*main*/&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt; srand((unsigned int)time(NULL));&lt;br /&gt;&lt;br /&gt; int dim = 3;&lt;br /&gt; double mean = 0.0;&lt;br /&gt; double sd = 1.0;&lt;br /&gt;&lt;br /&gt; /*create vector &amp; matrix*/&lt;br /&gt; vector&amp;lt;double&amp;gt; v(dim);&lt;br /&gt; matrix&amp;lt;double&amp;gt; m(dim,dim); /*synmetric matrix*/&lt;br /&gt; matrix&amp;lt;double&amp;gt; im(dim,dim); /*inverse of m*/&lt;br /&gt; matrix&amp;lt;double&amp;gt; L(dim,dim); /*triangular matrix*/&lt;br /&gt;&lt;br /&gt;  /*fill the vector &amp; matrix as diagnal matrix*/&lt;br /&gt; for(int i=0;i&amp;lt;dim;++i){&lt;br /&gt;  v(i) = static_cast&amp;lt;double&amp;gt;(i + 3);&lt;br /&gt;  for(int j=0;j&amp;lt;dim;++j){&lt;br /&gt;   if(j &amp;gt;= i){&lt;br /&gt;    i == j ? m(i,j) = 1.0 : m(i,j) = rnorm(mean,sd);&lt;br /&gt;   }else{&lt;br /&gt;    m(i,j) = m(j,i);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /*print*/&lt;br /&gt; std::cout&amp;lt;&amp;lt;"v : "&amp;lt;&amp;lt;v&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"m : "&amp;lt;&amp;lt;m&amp;lt;&amp;lt;"\n";&lt;br /&gt;&lt;br /&gt; /*mean, variance, standard deviation*/&lt;br /&gt; std::cout&amp;lt;&amp;lt;"mean(v) : "&amp;lt;&amp;lt;math::mean(v)&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"var(v) : "&amp;lt;&amp;lt;math::var(v)&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"sd(v) : "&amp;lt;&amp;lt;math::sd(v)&amp;lt;&amp;lt;"\n";&lt;br /&gt;&lt;br /&gt; /*inverse, trace, determinant, cholesky */&lt;br /&gt; math::invert(m,im);&lt;br /&gt; std::cout&amp;lt;&amp;lt;"m * m^-1 : "&amp;lt;&amp;lt;prod(m,im)&amp;lt;&amp;lt;"\n"; /*check the inverse*/&lt;br /&gt; std::cout&amp;lt;&amp;lt;"trace(m) : "&amp;lt;&amp;lt;math::trace(m)&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"determinant(m) : "&amp;lt;&amp;lt;math::determinant(m)&amp;lt;&amp;lt;"\n";&lt;br /&gt; math::cholesky(m,L);&lt;br /&gt; std::cout&amp;lt;&amp;lt;"cholesky decompsition of m\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"L : "&amp;lt;&amp;lt;L&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"L' : "&amp;lt;&amp;lt;trans(L)&amp;lt;&amp;lt;"\n";&lt;br /&gt; std::cout&amp;lt;&amp;lt;"L * L' : "&amp;lt;&amp;lt;prod(L,trans(L))&amp;lt;&amp;lt;"\n";&lt;br /&gt;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;double runif()&lt;br /&gt;{&lt;br /&gt; return static_cast&amp;lt;double&amp;gt;(rand()) / RAND_MAX;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;double rnorm(double mean, double sd)&lt;br /&gt;{&lt;br /&gt; double U=0.0;&lt;br /&gt; double V=0.0;&lt;br /&gt; while(true){&lt;br /&gt;  U = runif();&lt;br /&gt;   V = runif();&lt;br /&gt;  if(U&amp;gt;0.000001 &amp;&amp; V &amp;gt; 0.000001){&lt;br /&gt;   break;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; double R = sqrt(-2.0*log(U));&lt;br /&gt; double T = 2.0*PI*V;&lt;br /&gt;&lt;br /&gt; if(U&amp;gt;0.5){&lt;br /&gt;  return sd * R * cos(T) + mean;&lt;br /&gt; }else{&lt;br /&gt;  return sd * R * sin(T) + mean;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;確認環境はg++(gcc) 4.1.2、boost 1_39_0です。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$g++ main.cpp&lt;br /&gt;$./a.out&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;の出力結果がこちら。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;v : [3](3,4,5)&lt;br /&gt;m : [3,3]((1,0.30186,0.0902471),(0.30186,1,0.0612414),(0.0902471,0.0612414,1))&lt;br /&gt;mean(v) : 4&lt;br /&gt;var(v) : 1&lt;br /&gt;sd(v) : 1&lt;br /&gt;m * m^-1 : [3,3]((1,-8.23994e-18,0),(-3.72966e-17,1,-1.38778e-17),(0,6.93889e-18,1))&lt;br /&gt;trace(m) : 3&lt;br /&gt;determinant(m) : 0.900322&lt;br /&gt;cholesky decompsition of m&lt;br /&gt;L : [3,3]((1,0,0),(0.30186,0.953352,0),(0.0902471,0.035663,0.995281))&lt;br /&gt;L' : [3,3]((1,0.30186,0.0902471),(0,0.953352,0.035663),(0,0,0.995281))&lt;br /&gt;L * L' : [3,3]((1,0.30186,0.0902471),(0.30186,1,0.0612414),(0.0902471,0.0612414,1))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Awesome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4802746481431245380?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4802746481431245380/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/10/in-c-boost-ublastips.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4802746481431245380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4802746481431245380'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/10/in-c-boost-ublastips.html' title='統計のための線形代数 in C++ (Boost uBLASの参考サイトとtipsまとめ)'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4544572112429483763</id><published>2009-09-24T00:29:00.009+09:00</published><updated>2009-09-24T01:45:22.114+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Snow Leopard導入記録その2 その後</title><content type='html'>つい先日、高校の部活仲間２人が婚約したとメールをくれました。&lt;br /&gt;本当におめでとう。&lt;br /&gt;&lt;a href="http://wg-stein.blogspot.com/2009/09/blog-post.html" target="_blank"&gt;前回のエントリ&lt;/a&gt;然り、ここへきて僕の周りでは色々変化があるようです。&lt;br /&gt;&lt;br /&gt;さて、&lt;a href="http://www.google.com/analytics/" target="_blank"&gt;GoogleAnalytics&lt;/a&gt;でこのblogの動向を見ていると、&lt;a href="http://wg-stein.blogspot.com/2009/08/snow-leopard1-macport.html" target="_blank"&gt;Snow LeopardにおけるTex環境整備について書いたエントリ&lt;/a&gt;の注目度が高いです。&lt;br /&gt;おおまかに書いたため対応しきれていない可能性が高いですが、お気づきの点等あればコメントいただければ幸いです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;では、iMac(Mid 07)にインストールしたSnow Leopardのその後を少し。&lt;br /&gt;&lt;br /&gt;　・MacPortで入れた&lt;a href="http://lftp.yar.ru/" target="_blank"&gt;lftp&lt;/a&gt;が動かない&lt;br /&gt;　　　→upgradeを試みるとncurseswとncursesに"+darwin_10"が&lt;br /&gt;　　　　matchしないよと警告される&lt;br /&gt;　　　→ncurseswとncursesを再インストール&lt;br /&gt;　　　⇒lftpを再インストールでfix&lt;br /&gt;　　&lt;br /&gt;　・e-mobileが動かないらしい&lt;br /&gt;　　参考：&lt;a href="http://d.hatena.ne.jp/kiririmode/20090919/p1" target="_blank"&gt;理系学生日記：E-mobile のモデムが Snow Leopard で&lt;/a&gt;&lt;br /&gt;　　　　　&lt;a href="http://d.hatena.ne.jp/kiririmode/20090919/p1" target="_blank"&gt;使用できなくなったあなたへ&lt;/a&gt;&lt;br /&gt;　　　⇒32bitモードで起動とのこと&lt;br /&gt;&lt;br /&gt;　・&lt;a href="http://cyberduck.ch/" target="_blank"&gt;Cyberduck&lt;/a&gt;が起動しない&lt;br /&gt;　　　⇒対応バージョンを再インストール&lt;br /&gt;&lt;br /&gt;　・Preview.appでTexが壊れる&lt;br /&gt;　　参考：&lt;a href="http://twitpic.com/fjnw4" target="_blank"&gt;Snow LeopardのプレビューだとLaTeXで書いた数式が&lt;/a&gt;&lt;br /&gt;　　　　　&lt;a href="http://twitpic.com/fjnw4" target="_blank"&gt;こんな風に見えます。&lt;/a&gt;&lt;br /&gt;　　　⇒とりあえず&lt;a href="http://get.adobe.com/jp/reader/" traget="_balnk"&gt;Adobe Acrobat Reader&lt;/a&gt;で開く&lt;br /&gt;　&lt;br /&gt;　・TimeMachineがLeopard時に比べ非常に早い！&lt;br /&gt;　・劇的ではないが以前より動作が軽い&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;僕の以前の環境にも依存するのでなんとも言えませんが、メインで研究等に使用しているMacへのインストールは未だ不安かもしれません。&lt;br /&gt;個人的にはiPhone OS 3.1へのアップグレードの方が恩恵を大きく感じました。&lt;br /&gt;これは速度改善に依るものが大きかったため、ラップトップでこそSnow Leopardが生きてくるのかもしれません。&lt;br /&gt;環境整備に時間がかかるやもしれませんが、自身で問題なく対応できる、もしくは十分に時間のとれる方は検討してみては。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4544572112429483763?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4544572112429483763/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/09/snow-leopard2.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4544572112429483763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4544572112429483763'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/09/snow-leopard2.html' title='Snow Leopard導入記録その2 その後'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4096445528442867981</id><published>2009-09-08T04:04:00.004+09:00</published><updated>2009-09-08T04:13:20.914+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>帰省をしておりました</title><content type='html'>一週間ばかりの実家帰省から舞い戻ってきました。&lt;br /&gt;今回の帰省のベストショットはこれ。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_i6Hk0cUa_go/SqVZZoL3mYI/AAAAAAAADGc/Ngr1Xro2OCw/s1600-h/IMG_0195.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_i6Hk0cUa_go/SqVZZoL3mYI/AAAAAAAADGc/Ngr1Xro2OCw/s200/IMG_0195.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5378803626782726530" /&gt;&lt;/a&gt;&lt;div style="text-align:center;"&gt;父親デビュー！&lt;/div&gt;&lt;br /&gt;なんて使い古された冗談さておき、同い歳の友人の娘です。&lt;br /&gt;僕の実家は地方であることもあり、就職、結婚、出産が早いのですが、今でも連絡を取り合う友人では初の結婚&amp;出産。&lt;br /&gt;それはもう、感動一塩でした。&lt;br /&gt;&lt;br /&gt;学生として最後の夏休みなので、他にも多数の幼なじみや友人達と再開。&lt;br /&gt;話の大半が思い出話であることに年月を感じつつも、笑いのツボは当時のままで、こちらも感動でした。&lt;br /&gt;&lt;br /&gt;多いにリフレッシュできたので、今日からまた頑張ります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4096445528442867981?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4096445528442867981/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/09/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4096445528442867981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4096445528442867981'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/09/blog-post.html' title='帰省をしておりました'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_i6Hk0cUa_go/SqVZZoL3mYI/AAAAAAAADGc/Ngr1Xro2OCw/s72-c/IMG_0195.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-7420343544254630654</id><published>2009-08-30T01:33:00.013+09:00</published><updated>2009-08-30T04:54:03.602+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Snow Leopard導入記録その1 MacPort関連簡易メモ</title><content type='html'>Pre-orderの甲斐あって、きっかり発売日（8月28日）に到着致しました。&lt;br /&gt;&lt;a href="http://www.apple.com/jp/macosx/" target=_blank&gt;MacOS 10.6 Snow Leopard&lt;/a&gt;です。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://twitpic.com/fjc31" title="Snow Leopard has com! on Twitpic" target="_blank"&gt;&lt;img src="http://twitpic.com/show/thumb/fjc31.jpg" width="150" height="150" alt="Snow Leopard has com! on Twitpic" /&gt;&lt;/a&gt;&lt;/div&gt;早速メインのiMacに&lt;br /&gt;&lt;br /&gt;　・バックアップはTimeCapsule任せ&lt;br /&gt;　・上書き（通常）インストール&lt;br /&gt;&lt;br /&gt;を慣行。時間がなかったので強行軍でした。&lt;br /&gt;で、Apple純正ソフト以外で通常どおり動いたもの（○）、動きそうなもの（△）、動かなかったもの（×）はこんな感じ&lt;br /&gt;&lt;br /&gt;　・Chrome 4.***　◎&lt;br /&gt;　・Firefox 3.***　◎&lt;br /&gt;　・R 2.8-2.9.2　◎&lt;br /&gt;　・Adobe CS3 Illustrator Photoshop　○&lt;br /&gt;　・TexShop ***　×（pTexに問題あり）&lt;br /&gt;　・LatexI 1.16***　×（pTexに問題あり）&lt;br /&gt;　・MacPort ***　×&lt;br /&gt;　・Parallels Desktop for Mac 3.***　×&lt;br /&gt;&lt;br /&gt;MacPort、Parallelsはともかく、Tex関連はそのまま動いてて欲しかった...&lt;br /&gt;&lt;br /&gt;Tex関連のMacPortによるSnow Leopard環境構築（簡易表記版）は以下&lt;br /&gt;&lt;br /&gt;　1. MacPortの再インストール&lt;br /&gt;　　&lt;a href="http://forums.macrumors.com/showthread.php?t=720035" target="_blank"&gt;こちら&lt;/a&gt;を参考に&lt;br /&gt;&lt;br /&gt;　2. Tex環境の再構築（E:error, S:solution）&lt;br /&gt;&lt;br /&gt;　　E1 とりあえずsudo port upgrade outdated&lt;br /&gt;　　　  →fontconfigのアップデートでXMLがおかしいよと怒られる&lt;br /&gt;&lt;br /&gt;　　S1 XML関連ライブラリ（libxml?）のアップデート&lt;br /&gt;　　　  →sudo port upgrade fontconfigでfix&lt;br /&gt;&lt;br /&gt;　　E2 再度sudo port upgrade outdated&lt;br /&gt;　　　  →libpngのアップデートで&lt;a href="http://trac.macports.org/ticket/13982" target="_blank"&gt;zlibが見つからないよ！&lt;/a&gt;と怒られる&lt;br /&gt;&lt;br /&gt;　　S2 &lt;a href="http://stackoverflow.com/questions/486885/xcode-gcc-linking-problem-file-is-not-of-required-architecture" target="_blank"&gt;こちら&lt;/a&gt;を参考にzlibを+universalで再インストール&lt;br /&gt;　　　  さらにsudo port edit libpngでconfigureの引数に--libdir=&lt;div&gt;　　　  /opt/local/libを加える（不要？）&lt;div&gt;&lt;div&gt;&lt;div&gt;　　　  ⇒sudo port upgrade libpngでfix&lt;br /&gt;&lt;br /&gt;　　E3 再度sudo port upgrade outdated&lt;br /&gt;　　　  →pTexのアップデートでkpathsea.aがないよと怒られる&lt;br /&gt;&lt;br /&gt;　　S3 sudo port edit pTexでconfigureの引数に--libdir=&lt;/div&gt;&lt;div&gt;　　　  /opt/local/libを加える&lt;br /&gt;　　　  ⇒sudo port upgrade pTexでfix&lt;br /&gt;&lt;br /&gt;　3. &lt;a href="http://www.uoregon.edu/~koch/texshop/obtaining.html" target="_blank"&gt;こちら&lt;/a&gt;からTexShopをダウンロード・アップデート&lt;br /&gt;　&lt;br /&gt;でうまくいきまいした。要点をまとめると&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;インストールしてあるライブラリがおかしいと怒られたら&lt;/li&gt;&lt;li type="none"&gt;とりあえず怒られたライブラリ側をアップデート/再インストール&lt;/li&gt;&lt;li&gt;それでもダメなら&lt;/li&gt;&lt;li type="none"&gt;+universalをつけて怒られたライブラリをアップデート/再インストール&lt;/li&gt;&lt;li&gt;インストールしてあるライブラリがないよと言われたら&lt;/li&gt;&lt;li type="none"&gt;sudo port edit パッケージ名 でライブラリの場所を追加して（configure.argsに書いて）やる&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;の３点です。パッケージソフトの利点は何処へ...&lt;br /&gt;詳細なエラー内容、アップデート前後のバージョン、対応等、実機から離れてしまっているため不備が多いです。参考程度として下さい。&lt;br /&gt;何かあればtwitterでお気軽に。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-7420343544254630654?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/7420343544254630654/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/08/snow-leopard1-macport.html#comment-form' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/7420343544254630654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/7420343544254630654'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/08/snow-leopard1-macport.html' title='Snow Leopard導入記録その1 MacPort関連簡易メモ'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4092780047787196484</id><published>2009-08-26T01:12:00.008+09:00</published><updated>2009-08-27T05:06:11.682+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>真の夏休み突入</title><content type='html'>すっかりご無沙汰になりました。&lt;br /&gt;特に山梨に潜伏しているわけではございません。&lt;br /&gt;&lt;br /&gt;７月〜８月は通常時より大学（研究室）に顔を出しておりました。&lt;br /&gt;細かい調整はさておき、協力させていただいていた論文がやっと一段落です。&lt;br /&gt;結局&lt;a href="http://wg-stein.blogspot.com/2009/07/blog-post_21.html"&gt;以前のエントリ&lt;/a&gt;のとおりに事が進んでいるということですね。&lt;br /&gt;良かった良かった。&lt;br /&gt;&lt;br /&gt;今後は&lt;br /&gt;&lt;br /&gt;　・９月〜１０月にTechnical Reportを報告&lt;br /&gt;　・１２月迄に後輩と学会&lt;br /&gt;　・３月までに論文投稿&lt;br /&gt;&lt;br /&gt;なんてできたらいいなと思っています。&lt;br /&gt;積み重ねているものがあるわけではないので、このうち１〜２つ実践できれば万々歳でしょう。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さて、Blogを書かないうちに色々面白げなガジェットの噂/詳細が出ていました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Leaked Mac Tablet?&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;object width="425" height="344" &gt;&lt;param name="movie" value="http://www.youtube.com/v/Dhe6JmjKin8&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Dhe6JmjKin8&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Sony Ericsson Rachael UI&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;object width="425" height="344" align=center&gt;&lt;param name="movie" value="http://www.youtube.com/v/9UwcVlF5EUM&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9UwcVlF5EUM&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Nokia Booklet 3G first video&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;object width="425" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fIHWM4liM2g&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/fIHWM4liM2g&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最初の動画はfakeですが、よくできているなぁ。&lt;br /&gt;iPhoneを持ち始めてから感じたのですが、良いUIを持つデバイスは生活を変えますね。&lt;br /&gt;twitterとyoutubeはiPhoneから利用する方が便利かもしれません。&lt;br /&gt;&lt;br /&gt;そういった意味ではNokiaのNetbookは特にUIにこだわっているわけではありませんが、世界で実績のあるメーカがNetbookに進出ということで、期待を込めて。12hバッテリっていいな！Ovi servicesってどうなの？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今週末からは息抜きとして、興味のあることだけをする１週間にします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4092780047787196484?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4092780047787196484/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/08/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4092780047787196484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4092780047787196484'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/08/blog-post.html' title='真の夏休み突入'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-5401865990292915912</id><published>2009-07-24T00:43:00.008+09:00</published><updated>2009-07-24T04:21:50.750+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>ベータ分布の最尤推定（Rで実装）</title><content type='html'>研究の息抜きに実装してみました。&lt;br /&gt;参考文献は有名なこちらです。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://vismod.media.mit.edu/pub/tpminka/papers/minka-dirichlet.ps.gz"&gt;Estimating a Dirichlet distribution (T.Minka, 2003)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;二項分布の共役事前分布であるベータ分布&lt;img src="http://www.codecogs.com/gif.latex?Beta%28x;a,b%29=%5Cfrac%7Bx%5E%7B%28a-1%29%7D%281-x%29%5E%7B%28b-1%29%7D%7D%7BB%28a,b%29%7D" align="middle" border="0" /&gt;から、n個の確率&lt;img src="http://www.codecogs.com/gif.latex?%5Cmbox%7B%5Cboldmath$x$%7D=%28x_1,...,x_n%29" align="middle" border="0" /&gt;が生成されたとします。&lt;br /&gt;この確率ベクトルからベータ分布のパラメータaとbを最尤推定にて求める関数が以下です。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;newton_beta&lt;-function(x,shape1=1.0,shape2=1.0,eps=0.0001){&lt;br /&gt;&lt;br /&gt;　euqlid&lt;-function(y){&lt;br /&gt;　　return(sqrt(sum(y*y)))&lt;br /&gt;　}&lt;br /&gt;&lt;br /&gt;　N &lt;- length(x)&lt;br /&gt;　alpha &lt;- c(shape1,shape2)&lt;br /&gt;　pn &lt;- 0&lt;br /&gt;&lt;br /&gt;　while(TRUE){&lt;br /&gt;　　palpha &lt;- alpha&lt;br /&gt;　　#gradient&lt;br /&gt;　　g &lt;- c(N * digamma(sum(alpha)) - N * digamma(alpha[1]) + sum(log(x)) , N * digamma(sum(alpha)) - N * digamma(alpha[2]) + sum(log(1 - x)))&lt;br /&gt;　　#Parameters for Hessian&lt;br /&gt;　　q &lt;- c(- N * trigamma(alpha[1]) , - N * trigamma(alpha[2]))&lt;br /&gt;　　z &lt;- N * trigamma(sum(alpha))&lt;br /&gt;&lt;br /&gt;　　#Update&lt;br /&gt;　　b &lt;- sum(g/q) / ( 1/z + sum(1/q))&lt;br /&gt;　　alpha &lt;- palpha - (g - b)/q&lt;br /&gt;&lt;br /&gt;　　n &lt;- euqlid(alpha)&lt;br /&gt;　　print(alpha)&lt;br /&gt;　　print(n)&lt;br /&gt;&lt;br /&gt;　　if( abs(pn - n)/pn &lt; eps ){&lt;br /&gt;　　　break&lt;br /&gt;　　}&lt;br /&gt;　　pn &lt;- n&lt;br /&gt;　}&lt;br /&gt;&lt;br /&gt;　return(list("shape1"=alpha[1],"shpae2"=alpha[2]))&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;厳密には閉じた形では解けないので、ニュートン法を用いて求めます。&lt;br /&gt;ベータ分布（ディリクレ分布）で効率的に計算を行うための工夫をしているところがポイントのようです。&lt;br /&gt;百聞は一見にしかずということで、ためしにやってみましょう。&lt;br /&gt;まず、適当なベータ分布から確率ベクトルを作ります。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;a &lt;- 3&lt;br /&gt;b &lt;- 5&lt;br /&gt;x &lt;- rbeta(100,a,b)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;真のパラメータが&lt;img src="http://www.codecogs.com/gif.latex?a=3,b=5" align="middle" border="0" /&gt;のベータ分布&lt;img src="http://www.codecogs.com/gif.latex?Beta%28x;3,5%29" align="middle" border="0" /&gt;は以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/SmiNHqc1hFI/AAAAAAAADD4/4Dkx69CArQg/s1600-h/beta%28x%3B3,5%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 194px; height: 200px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SmiNHqc1hFI/AAAAAAAADD4/4Dkx69CArQg/s200/beta%28x%3B3,5%29.png" alt="" id="BLOGGER_PHOTO_ID_5361690519178413138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;発生させた確率ベクトルよりパラメータを推定するとこんな感じで計算します。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;newton_beta(x)&lt;br /&gt;[1] 1.377578 1.730856&lt;br /&gt;[1] 2.212144&lt;br /&gt;[1] 1.916810 2.800353&lt;br /&gt;[1] 3.393544&lt;br /&gt;[1] 2.487916 3.960042&lt;br /&gt;[1] 4.676715&lt;br /&gt;[1] 2.833155 4.670363&lt;br /&gt;[1] 5.462514&lt;br /&gt;[1] 2.907663 4.824839&lt;br /&gt;[1] 5.633256&lt;br /&gt;[1] 2.910250 4.830231&lt;br /&gt;[1] 5.63921&lt;br /&gt;[1] 2.910253 4.830237&lt;br /&gt;[1] 5.639217&lt;br /&gt;$shape1&lt;br /&gt;[1] 2.910253&lt;br /&gt;&lt;br /&gt;$shpae2&lt;br /&gt;[1] 4.830237&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;これは推定されたパラメータが&lt;img src="http://www.codecogs.com/gif.latex?a=2.910253,b=4.830237" align="middle" border="0" /&gt;であることを表しています。概ねよさげですが、ちょっと精度が悪い？&lt;br /&gt;このパラメータを持つベータ分布は以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/SmiQPCmbJVI/AAAAAAAADEA/PiwYZZ26X-A/s1600-h/beta%28x%3B2.910,4.830%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 194px; height: 200px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SmiQPCmbJVI/AAAAAAAADEA/PiwYZZ26X-A/s200/beta%28x%3B2.910,4.830%29.png" alt="" id="BLOGGER_PHOTO_ID_5361693944455046482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;初期値を変えると結果も変わるかもしれません。ベータ分布のように、二つのパラメータを初期値にとることができます。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;newton_beta(x,初期値1,初期値2）&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;間違い等ございましたらご指摘ください。&lt;br /&gt;ところで、Bloggerでソースを貼付ける良い方法、何かないですか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-5401865990292915912?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/5401865990292915912/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/07/r.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5401865990292915912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5401865990292915912'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/07/r.html' title='ベータ分布の最尤推定（Rで実装）'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_i6Hk0cUa_go/SmiNHqc1hFI/AAAAAAAADD4/4Dkx69CArQg/s72-c/beta%28x%3B3,5%29.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-5596321602954784521</id><published>2009-07-21T01:33:00.003+09:00</published><updated>2009-07-21T01:44:32.881+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>夏休み突入</title><content type='html'>上半期最後のゼミ発表、毎年恒例のB4ゼミ合宿と、ゼミ関連のイベントが目白押しで忙しく過ごしていました。&lt;br /&gt;僕が指導を担当した後輩達の発表では、自分が発表するときよりも緊張。&lt;br /&gt;きっと僕の上司もそう思っているのでしょう（いつもありがとうございます）。&lt;br /&gt;&lt;br /&gt;指導担当といっても実質的には助手の方に任せっきりでありました。&lt;br /&gt;より一層精進せねば。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ところで、今日でひとしきりイベントに片がつきました。&lt;br /&gt;学生として最後の夏休みの始まりです。&lt;br /&gt;同期に夏の予定を聞いたところ、「バイトと研究」だそうです。&lt;br /&gt;僕はとりあえず「論文執筆と研究」です。&lt;br /&gt;普段と変わらない...（普段より研究するかも...）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-5596321602954784521?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/5596321602954784521/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/07/blog-post_21.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5596321602954784521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5596321602954784521'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/07/blog-post_21.html' title='夏休み突入'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-6980862056036553505</id><published>2009-07-08T02:37:00.004+09:00</published><updated>2009-07-08T02:46:58.036+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Mozila Open Web Tools Directory</title><content type='html'>&lt;a href="http://www.techcrunch.com/2009/07/07/mozilla-aims-to-centralize-all-open-web-tools-in-one-directory/trackback/" target="_blank"&gt;こちらの記事&lt;/a&gt;より&lt;br /&gt;&lt;br /&gt;FireFoxで有名なMozilaがWeb上のツールを集めてくれています。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://tools.mozilla.com/" target="_blank"&gt;Open Web Tools Directory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tools.mozilla.com/" target="_blank"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 108px;" src="http://3.bp.blogspot.com/_i6Hk0cUa_go/SlOJYaXQxmI/AAAAAAAADDY/uiCSoQYa2eU/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5355775434360407650" /&gt;&lt;/a&gt;&lt;br /&gt;ほとんどシラナイ・・・。&lt;br /&gt;開発者とは到底呼べない僕ですが、いくつかを自在に操り面白いものを作れたらいいなと思ってます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-6980862056036553505?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/6980862056036553505/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/07/mozila-open-web-tools-directory.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6980862056036553505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6980862056036553505'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/07/mozila-open-web-tools-directory.html' title='Mozila Open Web Tools Directory'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_i6Hk0cUa_go/SlOJYaXQxmI/AAAAAAAADDY/uiCSoQYa2eU/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-5560650411734369916</id><published>2009-07-01T04:44:00.009+09:00</published><updated>2009-07-01T05:37:52.944+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>イタリア所感</title><content type='html'>忘れないうちにイタリアの思い出を。&lt;br /&gt;強行軍の合間を縫って、１泊２日でローマ観光。&lt;br /&gt;街中に歴史的・芸術的建造物が点在する、贅沢な街でした。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_i6Hk0cUa_go/SkprkKhMk3I/AAAAAAAADCw/25OSRSIsKZM/s1600-h/IMG_0067.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_i6Hk0cUa_go/SkprkKhMk3I/AAAAAAAADCw/25OSRSIsKZM/s200/IMG_0067.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5353209376126309234" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;ローマの街並&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_i6Hk0cUa_go/SkprurMF3UI/AAAAAAAADC4/P11g1c0kHsQ/s1600-h/IMG_0058.JPG" style="text-decoration: none;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_i6Hk0cUa_go/SkprurMF3UI/AAAAAAAADC4/P11g1c0kHsQ/s200/IMG_0058.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5353209556694850882" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;サン・ピエトロ寺院&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/Skpr2o6zgMI/AAAAAAAADDA/wo2f4plG-Es/s1600-h/IMG_0076.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/Skpr2o6zgMI/AAAAAAAADDA/wo2f4plG-Es/s200/IMG_0076.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5353209693524426946" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;コロッセオ&lt;/div&gt;&lt;br /&gt;滞在中に感じたのは&lt;br /&gt;&lt;br /&gt;　・所謂イタリア人のイメージ（陽気、好色 etc...）どおり&lt;br /&gt;　・ローマもこの時期暑いよ...&lt;br /&gt;　・ローマにも&lt;a href="http://www.mitsukoshi.co.jp/shop?EcLogicName=storeinfo.storetopInfo&amp;amp;tenpoCd=42"&gt;三越&lt;/a&gt;あるよ...&lt;br /&gt;　・あぁ、１日かけてバチカン美術館に浸りたい&lt;br /&gt;　・「インターネット使えます」って書いてあったじゃんかよ！&lt;br /&gt;　・スーパーはなんでも格安だよね&lt;br /&gt;　・ローマ人よりもトリノ人の方が日本人に優しいなぁ&lt;br /&gt;&lt;br /&gt;なんてところ。&lt;br /&gt;ところで、イタリアはなんといっても飯がうまい！&lt;br /&gt;新鮮な魚介をメインに、ピザ、ラザニア、パスタ、ジェラート etc...を堪能してきました。&lt;br /&gt;１０日近くの滞在で、はずれは１回だけ！&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkptCYRw5II/AAAAAAAADDI/yf26ugPIF9E/s1600-h/IMG_0092.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkptCYRw5II/AAAAAAAADDI/yf26ugPIF9E/s200/IMG_0092.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5353210994727380098" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;ムール貝のトマト蒸し&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_i6Hk0cUa_go/SkptHoqUwpI/AAAAAAAADDQ/cGgXUlkC48M/s1600-h/IMG_0113.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_i6Hk0cUa_go/SkptHoqUwpI/AAAAAAAADDQ/cGgXUlkC48M/s200/IMG_0113.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5353211085024707218" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;もう、色々&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;でもやっぱりメインは学会だったかな。&lt;br /&gt;家具なんて到底買いに行く暇もなく、手に入れたのはこいつだけ&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000VT2RHO/ref=nosim/takaa-22/" target="_blank"&gt;&lt;img src="http://images-jp.amazon.com/images/P/B000VT2RHO.09.TZZZZZZZ.jpg" border="0" alt="A di ALESSI ボトルオープナー " abc01="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000VT2RHO/ref=nosim/takaa-22/" target="_blank"&gt;ALESSIのボトルオープナー&lt;/a&gt;です。&lt;br /&gt;1800円くらいで購入できたので、2割引くらい？&lt;br /&gt;機会を作って必ずもう一回行こうと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-5560650411734369916?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/5560650411734369916/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/07/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5560650411734369916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/5560650411734369916'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/07/blog-post.html' title='イタリア所感'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_i6Hk0cUa_go/SkprkKhMk3I/AAAAAAAADCw/25OSRSIsKZM/s72-c/IMG_0067.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4329631478134841663</id><published>2009-06-28T03:19:00.008+09:00</published><updated>2009-06-28T03:31:47.905+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>無事帰国</title><content type='html'>イタリアより本日無事帰国。&lt;br /&gt;これに行ってました。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://bnpworkshop.carloalberto.org/"&gt;http://bnpworkshop.carloalberto.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;研究分野の大物達がひしめく学会で、芸能人ばかりに遭遇した感覚。&lt;br /&gt;なんて幸せ！&lt;br /&gt;ただインターネット環境が貧弱、かつタイトなスケジュールであったことにより、現地からBlogを更新できなかったことが心残り。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkZjVT_gQLI/AAAAAAAADBg/UkLA2slkIvw/s1600-h/IMG_0128.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkZjVT_gQLI/AAAAAAAADBg/UkLA2slkIvw/s200/IMG_0128.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5352074424971444402" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;学会会場&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkZjmTyYknI/AAAAAAAADBo/0UsOZvoDOj8/s200/IMG_0122.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5352074716974191218" /&gt;&lt;div style="text-align: center;"&gt;頑張る後輩&lt;/div&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/SkZj4L_V0OI/AAAAAAAADBw/PKYdzRYDAhA/s200/IMG_0100.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5352075024118698210" /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;頑張る後輩？&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;今回の研究成果は先人達の偉業があってこそのもの。&lt;br /&gt;次は完全にオリジナルで出せるよう精進しよう。&lt;br /&gt;イタリア所感はまた今度！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4329631478134841663?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4329631478134841663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post_28.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4329631478134841663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4329631478134841663'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post_28.html' title='無事帰国'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_i6Hk0cUa_go/SkZjVT_gQLI/AAAAAAAADBg/UkLA2slkIvw/s72-c/IMG_0128.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-3669956442372118010</id><published>2009-06-14T00:14:00.007+09:00</published><updated>2009-06-14T02:11:22.832+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>出発前に色々</title><content type='html'>いよいよ来週末からイタリアへ。&lt;br /&gt;ポスターは問題ないが、論文の再投稿に一枚噛むことになり、これから急いで実験。&lt;br /&gt;理系学生らしい忙しさにアップアップ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;前回の海外は中国だった。昨年の１０月頃。&lt;br /&gt;４泊５日の日程だったが、デニム・Tシャツ２枚・パーカ＋洗濯で乗り切った。&lt;br /&gt;今回は８泊１０日ということもあり、もう少しボリュームを増やしたいところ。&lt;br /&gt;現地調達でもいいかななんて考えている。&lt;br /&gt;&lt;br /&gt;ところで今回、Tシャツの他にも現地で調達したいものがある。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;DANESE PinUp&lt;/div&gt;　&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_i6Hk0cUa_go/SjPKkJHmITI/AAAAAAAAC-c/2HxCXclYIMc/s1600-h/imgzoom-Pin-Up--Tableau-magnetique-horizontal-Danese-refdr9001aw.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 143px;" src="http://4.bp.blogspot.com/_i6Hk0cUa_go/SjPKkJHmITI/AAAAAAAAC-c/2HxCXclYIMc/s200/imgzoom-Pin-Up--Tableau-magnetique-horizontal-Danese-refdr9001aw.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5346839904890790194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;イタリアが誇る家具ブランド、DANESEの壁掛けボード。&lt;br /&gt;良く行くカフェに置いてあって一目惚れ。&lt;br /&gt;日本で購入するのに比べ、３〜４割は安く購入できると睨んでいる。&lt;br /&gt;問題は現地での知名度（取り扱いの多さ）とそのサイズ。&lt;br /&gt;ミラノを本拠地としているが、残念ながら行く時間はない。&lt;br /&gt;経由地のローマや、トリノにあるかどうか。&lt;br /&gt;また、例え購入できたとしても持って帰るのに一苦労。&lt;br /&gt;うーん。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-3669956442372118010?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/3669956442372118010/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post_14.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/3669956442372118010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/3669956442372118010'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post_14.html' title='出発前に色々'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_i6Hk0cUa_go/SjPKkJHmITI/AAAAAAAAC-c/2HxCXclYIMc/s72-c/imgzoom-Pin-Up--Tableau-magnetique-horizontal-Danese-refdr9001aw.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-6891841356165011147</id><published>2009-06-08T16:16:00.004+09:00</published><updated>2009-06-08T16:26:34.366+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>変分ベイズでディリクレ過程混合モデル（Blei論文を解く）</title><content type='html'>DPMに対する変分ベイズ法を書いたBleiの論文、Variational inference for Dirichlet Process mixturesを解いてみました。&lt;br /&gt;ざっと書き上げたまま確認をしておりませんので、間違いがあればご指摘ください。&lt;br /&gt;式展開だけ妙に丁寧にしていますが、全体的に分かりにくい文だなぁ...&lt;br /&gt;&lt;br /&gt;　&lt;a href="https://www.box.net/shared/2e6k7abce5" target="_blank"&gt;https://www.box.net/shared/2e6k7abce5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google DocumentsがPDF Web共有できればいいのに！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-6891841356165011147?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/6891841356165011147/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blei.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6891841356165011147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6891841356165011147'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blei.html' title='変分ベイズでディリクレ過程混合モデル（Blei論文を解く）'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-7435121920109731515</id><published>2009-06-01T22:51:00.002+09:00</published><updated>2009-06-01T22:58:27.663+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>線形代数事始め</title><content type='html'>統計をたしなむ以上避けて通れない線形代数。&lt;br /&gt;高校依頼避け続けてきたけどそろそろ限界だなぁ。&lt;br /&gt;&lt;br /&gt;　統計のための行列代数（参考書）&lt;br /&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/443172737X/ref=nosim/takaa-22/"&gt;&lt;img src="http://images-jp.amazon.com/images/P/443172737X.09.TZZZZZZZ.jpg" border="0" alt="統計のための行列代数 上 (1)" align="center"/&gt;&lt;/a&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/443172737X/ref=nosim/takaa-22/"&gt;統計のための行列代数 上 (1)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　Invertible matrix:Wikipedia&lt;br /&gt;　&lt;a href="http://en.wikipedia.org/wiki/Invertible_matrix" target="_blank"&gt;http://en.wikipedia.org/wiki/Invertible_matrix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　Woodbury matrix identity:Wikipedia&lt;br /&gt;　&lt;a href="http://en.wikipedia.org/wiki/Woodbury_matrix_identity" target="_blank"&gt;http://en.wikipedia.org/wiki/Woodbury_matrix_identity&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;米国の学生は上記参考書を授業で使うらしい。&lt;br /&gt;まずいぞ日本の学生！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-7435121920109731515?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/7435121920109731515/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/7435121920109731515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/7435121920109731515'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/06/blog-post.html' title='線形代数事始め'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-2826385085153156075</id><published>2009-05-31T07:47:00.008+09:00</published><updated>2009-05-31T08:35:06.904+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>Japanimation</title><content type='html'>僕は夢中になると疲れを感じない体質なのですが、その分遊びに集中すると仕事は多いに後回しです。&lt;br /&gt;このエントリも後回しにした学会ポスター作成の後に書いています。&lt;br /&gt;&lt;br /&gt;本日の遊びはこちら。&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;FLCL Fooly Cooly&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m9bIZc-GoQ8&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/m9bIZc-GoQ8&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;手塚治虫，火の鳥&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4NpDXqmeJAU&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4NpDXqmeJAU&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Japanimation万歳！！&lt;br /&gt;片やエヴァで一世を風靡したGAINAX制作アニメ、片や巨匠手塚治虫のLifeworkと、新旧の名作を堪能（？）致しました。&lt;br /&gt;FLCLは動画サイト、火の鳥は漫画を借りるとエコな遊びでしたが、決めました。どちらも買います。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0007XVET6/ref=nosim/takaa-22/"&gt;&lt;img src="http://images-jp.amazon.com/images/P/B0007XVET6.09.TZZZZZZZ.jpg" border="0" alt="フリクリ DVD-BOX" / align="center"&gt;&lt;/a&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0007XVET6/ref=nosim/takaa-22/"&gt;フリクリ DVD-BOX&lt;/a&gt;　¥12,849~&lt;br clear="all"&gt;&lt;br&gt;&lt;br /&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4871187918/ref=nosim/takaa-22/"&gt;&lt;img src="http://images-jp.amazon.com/images/P/4871187918.09.TZZZZZZZ.jpg" border="0" alt="火の鳥 全13巻セット (角川文庫)" / align="center"&gt;&lt;/a&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4871187918/ref=nosim/takaa-22/"&gt;火の鳥　全13巻セット（角川文庫）&lt;/a&gt;　¥6,980~&lt;br clear='all'&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;どちらも古いため新古・中古がよさげ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-2826385085153156075?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/2826385085153156075/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/japanimation.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2826385085153156075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2826385085153156075'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/japanimation.html' title='Japanimation'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-792716794574118199</id><published>2009-05-29T02:32:00.005+09:00</published><updated>2009-08-30T03:47:58.600+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Native Google Chrome for Mac OSX</title><content type='html'>Windows版の軽快な動作から、Mac版にも期待しているGoogle Chromeですが、Nativeの開発版が既にあるようですね。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://www.manu-j.com/blog/download-updated-native-google-chrome-for-mac-os-x/230/" target="_blank"&gt;DOWNLOAD UPDATED NATIVE GOOGLE CHROME FOR MAC OS X&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;早速ダウンロードしてインストール...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;　&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/Sh7OXbSklRI/AAAAAAAAC-M/lxYfuYyFBK4/s1600-h/chromium.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 124px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/Sh7OXbSklRI/AAAAAAAAC-M/lxYfuYyFBK4/s200/chromium.png" alt="" id="BLOGGER_PHOTO_ID_5340933109965952274" border="0" /&gt;&lt;/a&gt;おぉ　動いてる&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;やっぱり軽い・速いように思います。&lt;br /&gt;他にもMac上の仮想環境（？）のひとつ、Cross Overで動く&lt;a href="http://www.codeweavers.com/services/ports/chromium/" target="_blank"&gt;Cross Over Chromium&lt;/a&gt;なんてのがあるようです。&lt;br /&gt;&lt;br /&gt;お試しあれ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-792716794574118199?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/792716794574118199/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/native-google-chrome-for-mac-osx.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/792716794574118199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/792716794574118199'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/native-google-chrome-for-mac-osx.html' title='Native Google Chrome for Mac OSX'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_i6Hk0cUa_go/Sh7OXbSklRI/AAAAAAAAC-M/lxYfuYyFBK4/s72-c/chromium.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-2791292340373460203</id><published>2009-05-27T01:02:00.007+09:00</published><updated>2009-05-27T01:25:58.536+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>海外学会ポスター作成メモ</title><content type='html'>来月のWorkshopに向けてポスター作成を開始。&lt;br /&gt;以下やったこと。&lt;br /&gt;&lt;br /&gt;　1. MS PowerPointで作成開始&lt;br /&gt;　　→A0サイズがうまくpdf化されない&lt;br /&gt;　　→Macじゃ見れないじゃないか&lt;br /&gt;　　⇒Illustrator作成に変更&lt;br /&gt;&lt;br /&gt;　2. Illustratorで作成開始&lt;br /&gt;　　→フォントに悩む&lt;br /&gt;&lt;br /&gt;　3. Illustrator CS3にTexのフォントを入れてみる&lt;br /&gt;　　→&lt;a href="http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeX%E3%81%AE%E6%95%B0%E5%BC%8F%E3%82%92DTP%E3%82%BD%E3%83%95%E3%83%88%E3%81%AB" target="_blank"&gt;Texの数式をDTPソフトに&lt;/a&gt;&lt;br /&gt;　　→BoldならBoldフォント、ItalicならItalicフォントを利用する…&lt;br /&gt;　　→なんだかスマートじゃない&lt;br /&gt;　　⇒却下&lt;br /&gt;&lt;br /&gt;　4. 一般的なフォントを利用する&lt;br /&gt;　　→&lt;a href="http://www.presentationhelper.co.uk/Forum/powerpoint-questions-answers/18-what-best-fonts-use-presentation.html" target="_blank"&gt;What are the best fonts to use for a presentation?&lt;/a&gt;&lt;br /&gt;　　→&lt;a href="http://en.wikipedia.org/wiki/Sans-serif" target="_blank"&gt;Wikipedia:Sans-serif&lt;/a&gt;&lt;br /&gt;　　→Arialは好きじゃない&lt;br /&gt;　　⇒Sans-selfじゃないけどTimes New Romanでいっかー&lt;br /&gt;&lt;br /&gt;　5. ポスター下書き.pdfを先生に送る&lt;br /&gt;　　→いやpptで送ってよ&lt;br /&gt;　　⇒1に戻る&lt;br /&gt;&lt;br /&gt;作成の過程でPowerPointにepsを貼付けたくなりました。&lt;br /&gt;OSX CS3からは&lt;br /&gt;&lt;br /&gt;　別名で保存&lt;br /&gt;　　→フォーマット：Illustrator eps&lt;br /&gt;　　→EPSオプション：&lt;br /&gt;　　　　バージョン：Illustrator 10 eps&lt;br /&gt;　　　　プレビュー：TIFF 8ビットカラー &lt;br /&gt;&lt;br /&gt;でEPSを保存しておいてやれば問題なく貼付けできました。&lt;br /&gt;海外ではMacユーザは少ないからPowerPointで書いた方が良いなんて記事を読んだけど、本当でしょうか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-2791292340373460203?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/2791292340373460203/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_27.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2791292340373460203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2791292340373460203'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_27.html' title='海外学会ポスター作成メモ'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-2316189735472574349</id><published>2009-05-25T06:14:00.008+09:00</published><updated>2009-05-25T06:30:06.474+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>BloggerはFireFoxが便利？</title><content type='html'>最近は専らSafariを使っておりますが、Bloggerの編集だけはFirefoxが良いようで。&lt;br /&gt;いかんせんSafariだと画像のアップロードができなかったりします。&lt;br /&gt;&lt;br /&gt;また、かの強力アドオンGreasemonkeyでLatexまで！&lt;br /&gt;&lt;br /&gt;　クリボウのBlogger Tips&lt;br /&gt;　Blogger に LaTeX 数式を挿入するユーザースクリプト&lt;br /&gt;　&lt;a href="http://www.kuribo.info/2009/05/blogger-latex-latex-for-blogger.html" target="_blank"&gt;http://www.kuribo.info/2009/05/blogger-latex-latex-for-blogger.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;試しに...&lt;br /&gt;&lt;br /&gt;　&lt;img src="http://www.codecogs.com/gif.latex?p%28%5Ctheta%20%7C%20x%29%20=%20%5Cfrac%7Bp%28x%20%7C%20%5Ctheta%29%20p%28%5Ctheta%29%7D%7Bp%28x%29%7D" align="middle" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;ベイズの定理だってこのとおり！&lt;br /&gt;&lt;br /&gt;昨夜は実家の両親とskypeでビデオ通話をしてみたり。&lt;br /&gt;オンライン環境の進歩は目を見張るものがありますね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-2316189735472574349?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/2316189735472574349/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/bloggerfirefox.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2316189735472574349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2316189735472574349'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/bloggerfirefox.html' title='BloggerはFireFoxが便利？'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-6015621951935449068</id><published>2009-05-24T01:45:00.005+09:00</published><updated>2009-05-24T02:19:07.530+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>ガウス過程事始め</title><content type='html'>夏のゼミに向けて、ガウス過程（Gaussian Process）の勉強を開始。&lt;br /&gt;資料のメモ。&lt;br /&gt;&lt;br /&gt;　Mackay, Introduction to Gaussian Process&lt;br /&gt;　&lt;a href="http://www.inference.phy.cam.ac.uk/mackay/gpB.pdf"&gt;http://www.inference.phy.cam.ac.uk/mackay/gpB.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　正田備也, ガウス過程に関するメモ（１）&lt;br /&gt;　&lt;a href="http://www.iris.dti.ne.jp/~tmasada/2007071101.pdf"&gt;http://www.iris.dti.ne.jp/~tmasada/2007071101.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/026218253X/ref=nosim/takaa-22/"&gt;CE Rasmussen, Gaussian Processes for Machine Learning&lt;/a&gt;&lt;br /&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/026218253X/ref=nosim/takaa-22/"&gt;(Adaptive Computation and Machine Learning)&lt;/a&gt;&lt;br /&gt;　&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/026218253X/ref=nosim/takaa-22/"&gt;&lt;img src="http://images-jp.amazon.com/images/P/026218253X.09.TZZZZZZZ.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;普段はひたすらGoogle Scholarに頼っているのだけれど、やっぱり本はいいですね。&lt;br /&gt;研究室にもあるのだけれど、自費購入を検討中。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-6015621951935449068?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/6015621951935449068/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_24.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6015621951935449068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/6015621951935449068'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_24.html' title='ガウス過程事始め'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-2124455034135325500</id><published>2009-05-20T01:46:00.009+09:00</published><updated>2009-05-20T03:43:37.963+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>nkf拡張シェルスクリプト</title><content type='html'>普段はMac、外や研究室ではWindows、実験ではLinuxと環境を使い分けていると、文字コードに悩まされることがある。&lt;br /&gt;そんなときの強い味方、&lt;a href="http://en.wikipedia.org/wiki/Network_Kanji_Filter"&gt;Network Kanji Filter : nkf&lt;/a&gt;であるが、複数のファイルを一度に変換するにはいちいち面倒くさい。&lt;div&gt;どうせならフォルダ内の対応したファイルを全て変換したいっ！&lt;br /&gt;&lt;br /&gt;そんな煩わしさを解消するシェルスクリプトを書いてみた。&lt;br /&gt;ソースは続きから。&lt;br /&gt;&lt;div class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;「あるディレクトリのC++ファイル（.*\.hや.*\.cpp)を全てunicodeに変換したい！」場合の使い方は以下。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; 　&lt;/span&gt;nkf.sh -w -d -r ディレクトリ名&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;オプション-dでディレクトリ指定を。-rで元のファイルの削除を。-w/-sでutf-8/sjisの変換を行う。&lt;br /&gt;もちろん単一ファイルも対応可能で、その際は-dオプションを外せばよい。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; 　&lt;/span&gt;nkf.sh -w -r ファイル名&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;.*\.h、.*\.cpp、.*\.txtファイルを対象としているが、適宜ソースを編集すればOK。&lt;/div&gt;&lt;div class="fullpost"&gt;nkfのオプションも適宜編集のこと。&lt;br /&gt;ソースはこんな感じ。もっと短く書けるだろうなぁ。&lt;/div&gt;&lt;div class="fullpost"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="fullpost"&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;#!/bin/sh&lt;/div&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;#extended nkf&lt;br /&gt;#Author:Takaaki&lt;br /&gt;#Last update:09/05/20&lt;br /&gt;&lt;br /&gt;is_rm=0 # whether remove original files or not  defalt:false&lt;br /&gt;is_dir=0 # whether $1 is a directory or not defalt:false&lt;br /&gt;nkf_opt="" # format for nkf&lt;br /&gt;while getopts "rdsw" opt; do&lt;br /&gt;&lt;br /&gt;case $opt in&lt;br /&gt;r ) is_rm=1 ;;&lt;br /&gt;d ) is_dir=1 ;;&lt;br /&gt;s ) nkf_opt="-s" ;;&lt;br /&gt;w ) nkf_opt="-w" ;;&lt;br /&gt;\? ) echo 'usage: nkf -format [-r] [-d] args'&lt;br /&gt;exit 1&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;shift $(($OPTIND - 1))&lt;br /&gt;&lt;br /&gt;if [ $nkf_opt = ""];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;echo 'usage: -format must be given (-w / -s)'&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;exit 1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ $is_dir = 1 ];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;for file in $(ls $1);do&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;ext=`echo $file | sed -e "s/.*\.\([^\.]*\)\$/\1/g"`&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;if [ "$ext" = "cpp" -o "$ext" = "h" -o "$ext" = "txt" ];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;if [ $is_rm = 1 ];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　　&lt;/span&gt;nkf $nkf_opt $1/$file &gt; $1/$file~&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　　&lt;/span&gt;mv $1/$file~ $1/$file&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;else&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　　&lt;/span&gt;filename=`echo $file | sed -e "s/\.$ext//g"`&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　　&lt;/span&gt;nkf $nkf_opt $1/$file &gt; $1/$filename~.$ext&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;fi&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;fi&lt;br /&gt;　done&lt;br /&gt;else&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;ext=`echo $1 | sed -e "s/.*\.\([^\.]*\)\$/\1/g"`&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;if [ "$ext" = "cpp" -o "$ext" = "h" -o "$ext" = "txt" ];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;if [ $is_rm = 1 ];then&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;nkf $nkf_opt $1 &gt; $1~&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;mv $1~ $1&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;else&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;filename=`echo $1 | sed -e "s/\.$ext//g"`&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　　&lt;/span&gt;nkf $nkf_opt $1 &gt; $filename~.$ext&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　　&lt;/span&gt;fi&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;　&lt;/span&gt;fi&lt;br /&gt;fi&lt;br /&gt;&lt;/div&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="readmore"&gt;&lt;a href="http://wg-stein.blogspot.com/2009/05/nkf.html"&gt;続きを読む&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-2124455034135325500?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/2124455034135325500/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/nkf.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2124455034135325500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/2124455034135325500'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/nkf.html' title='nkf拡張シェルスクリプト'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-4832683366131099157</id><published>2009-05-18T05:44:00.005+09:00</published><updated>2009-05-18T06:00:00.592+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>ドクターフィッシュ</title><content type='html'>週末を利用して母校の生徒の卒論指導のため帰省。&lt;br /&gt;父と出かけた日帰り温泉で初体験。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_i6Hk0cUa_go/ShB3cs5AoPI/AAAAAAAAC94/TzgXVbmSgv4/s1600-h/IMG_0030.JPG"&gt;&lt;img style="cursor: pointer; width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_i6Hk0cUa_go/ShB3cs5AoPI/AAAAAAAAC94/TzgXVbmSgv4/s200/IMG_0030.JPG" alt="" id="BLOGGER_PHOTO_ID_5336896893404356850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;旅ぃゆけぇばぁ・・・&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_i6Hk0cUa_go/ShB4rAVX5LI/AAAAAAAAC-A/peE8VTTJPqY/s1600-h/IMG_0028.JPG"&gt;&lt;img style="cursor: pointer; width: 200px; height: 112px;" src="http://2.bp.blogspot.com/_i6Hk0cUa_go/ShB4rAVX5LI/AAAAAAAAC-A/peE8VTTJPqY/s200/IMG_0028.JPG" alt="" id="BLOGGER_PHOTO_ID_5336898238653392050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ひぃあぁぁぁ　喰われとるやないか&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;魚による不規則な吸引は、くすぐったさを余り感じない僕をもってしてでもなかなかのもの。&lt;br /&gt;気持ちいいというより、面白い体験でした。&lt;br /&gt;&lt;br /&gt;ところで、たっぷり15分間の吸引の最中、役目を終えた後の魚達のことばかりを考えていました。&lt;br /&gt;食すわけにもいかないしなぁ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-4832683366131099157?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/4832683366131099157/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_18.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4832683366131099157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/4832683366131099157'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_18.html' title='ドクターフィッシュ'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_i6Hk0cUa_go/ShB3cs5AoPI/AAAAAAAAC94/TzgXVbmSgv4/s72-c/IMG_0030.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-3528090766020016069</id><published>2009-05-12T17:06:00.017+09:00</published><updated>2009-05-24T03:20:40.385+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>変分ベイズで混合正規分布推定（Rで実装）</title><content type='html'>以前の&lt;a href="http://wg-stein.blogspot.com/2009/05/blog-post.html"&gt;エントリ&lt;/a&gt;の先駆けとして簡単な実装を。&lt;br /&gt;初期値と推定結果はこんな感じになる。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3LOSr_kI/AAAAAAAAC9Q/OlA7OM3mnvU/s1600-h/Picture+1.png"&gt;&lt;img style="cursor: pointer; width: 195px; height: 200px;" src="http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3LOSr_kI/AAAAAAAAC9Q/OlA7OM3mnvU/s200/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5334855899551628866" border="0" /&gt;&lt;/a&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3P9jcSeI/AAAAAAAAC9Y/WAHgWPVXsV4/s1600-h/Picture+2.png"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;初期値と&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3P9jcSeI/AAAAAAAAC9Y/WAHgWPVXsV4/s1600-h/Picture+2.png"&gt;&lt;img style="cursor: pointer; width: 195px; height: 200px;" src="http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3P9jcSeI/AAAAAAAAC9Y/WAHgWPVXsV4/s200/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5334855980957845986" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;推定結果&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;参考文献は上田さんの学会誌&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://ci.nii.ac.jp/naid/110003230957/"&gt;上田修功,ベイズ学習[IV・完] : 変分ベイズ学習の応用例&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;基本的にこのとおりに実装すれば動く。素晴らしすぎる。&lt;br /&gt;他に参考文献はこの辺り&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://www.eb.waseda.ac.jp/m_inoue/araki.yuki/B4soturon.pdf"&gt;荒木佑季,変分ベイズ学習による混合正規分布推定&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ソースは続きから。&lt;br /&gt;&lt;div class="fullpost"&gt;&lt;br /&gt;Rでのソースはこんな感じ。&lt;br /&gt;２変量正規分布での実装である。&lt;br /&gt;基本的に参考文献通りに計算をしているだけ。&lt;br /&gt;参考文献のnotationでΣが分散共分散行列でない点に注意。&lt;br /&gt;&lt;br /&gt;ちなみに、plot.gaussは2次元プロット上に正規分布をplotするための関数。&lt;br /&gt;パッケージにもあった気がするが使い勝手が悪く実装した。&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(220, 220, 220) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;vb&lt;-function(x,K=10,maxItr=100,cirCol="red",...){&lt;br /&gt; source("plot.gauss.r")&lt;br /&gt;&lt;br /&gt; #initialize&lt;br /&gt; N &lt;- dim(x)[1]&lt;br /&gt; d &lt;- dim(x)[2]&lt;br /&gt; phi_0 &lt;- N / K&lt;br /&gt; xi_0 &lt;- 1.0&lt;br /&gt; eta_0 &lt;- d + 2&lt;br /&gt; nu_0 &lt;- c(mean(x[,1]),mean(x[,2]))&lt;br /&gt; SS_0 &lt;- matrix(c(var(x[,1]),0,0,var(x[,2])),2,2)&lt;br /&gt; B_0 &lt;- SS_0&lt;br /&gt;&lt;br /&gt; x_h&lt;-cbind(rep(0,K),rep(0,K)) #R^K*2&lt;br /&gt; N_h &lt;- rep(N/K,length=K)&lt;br /&gt; phi &lt;- rep(phi_0,length=K)&lt;br /&gt; eta &lt;- rep(eta_0,length=K)&lt;br /&gt; p&lt;-rep(1/K,length=K)&lt;br /&gt; f &lt;- eta_0 + N_h + 1 - d #R^K&lt;br /&gt; mu &lt;- list()&lt;br /&gt; B &lt;- list()&lt;br /&gt; sigma &lt;- list()&lt;br /&gt; C_h &lt;- list()&lt;br /&gt; S &lt;- list() #precision matrix&lt;br /&gt; SS &lt;- list() #variance covariance matrix&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  mu[[k]]&lt;-c(rnorm(1,nu_0[1],2),rnorm(1,nu_0[2],2))&lt;br /&gt;  B[[k]]&lt;-B_0&lt;br /&gt;  sigma[[k]] &lt;- B[[k]]/(f[k] * (N_h[k] + xi_0))&lt;br /&gt;  C_h[[k]]&lt;-matrix(0,2,2)&lt;br /&gt;  S[[k]] &lt;- (eta_0 + N_h[k]) * solve(B[[k]])&lt;br /&gt;  SS[[k]] &lt;- solve(S[[k]])&lt;br /&gt; }&lt;br /&gt; #print(list("N_h"=N_h,"phi"=phi,"mu"=mu,"eta"=eta,"f"=f,"B"=B,"sigma"=sigma,"S"=S,"SS"=SS))&lt;br /&gt;&lt;br /&gt; #plot input data&lt;br /&gt; #x11()&lt;br /&gt; plot(x,main="Training data &amp; initial points",...)&lt;br /&gt; plot.gauss(p,mu,SS,add=T,col=cirCol,xlab="",ylab="",xaxt="n",yaxt="n",...)&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; #########################################################&lt;br /&gt;&lt;br /&gt;for(t in 1:maxItr){&lt;br /&gt; cat("Iteration ",t,"\n")&lt;br /&gt; #VB-Estep&lt;br /&gt; A0 &lt;- digamma(phi_0 + N_h) - digamma(K*phi_0 + sum(N_h))&lt;br /&gt; A1 &lt;-0&lt;br /&gt; for(j in 1:d){&lt;br /&gt;  A1 &lt;- A1 + digamma((eta_0+N_h+1-j)/2)&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; gamma&lt;-matrix(0,N,K)&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  for(n in 1:N){&lt;br /&gt;   gamma[n,k] &lt;- A0[k] + 1/2 * A1[k] - 1/2 * log(det(B[[k]])) - 1/2 * sum(diag( (eta_0 + N_h[k]) * solve(B[[k]]) %*% ( f[k]/(f[k]-2) * sigma[[k]] + matrix(x[n,]-mu[[k]]) %*% t(matrix(x[n,]-mu[[k]])) ) ))&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; z0&lt;-exp(gamma)&lt;br /&gt; z1&lt;-rep(0,N)&lt;br /&gt; for(n in 1:N){z1[n]&lt;-sum(z0[n,])}&lt;br /&gt; z_h&lt;-z0/z1 #R^N*K&lt;br /&gt;&lt;br /&gt; #VB-Mstep&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  #N_h and x_h must calc at first&lt;br /&gt;  N_h[k] &lt;- sum(z_h[,k]) #R^K&lt;br /&gt;  x_h[k,] &lt;- c((sum(z_h[,k]*x[,1]) / N_h[k]) , (sum(z_h[,k]*x[,2]) / N_h[k])) #R^K*2&lt;br /&gt;&lt;br /&gt;  C_h[[k]]&lt;-matrix(0,2,2)&lt;br /&gt;  for(n in 1:N){&lt;br /&gt;   C_h[[k]] &lt;- C_h[[k]] +  z_h[n,k] * matrix(x[n,] - x_h[k,]) %*% t(matrix(x[n,] - x_h[k,]))&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  mu[[k]] &lt;- (N_h[k] * x_h[k,] + xi_0 * nu_0) / (N_h[k] + xi_0)&lt;br /&gt;  B[[k]] &lt;- B_0 + C_h[[k]] + (N_h[k] * xi_0)/(N_h[k] + xi_0) * matrix(x_h[k,] - nu_0) %*% t(matrix(x_h[k,] - nu_0))&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; phi &lt;- phi_0 + N_h&lt;br /&gt; eta &lt;- eta_0 + N_h&lt;br /&gt; f &lt;- eta + 1 - d&lt;br /&gt;&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  sigma[[k]] &lt;- B[[k]]/(f[k] * (N_h[k] + xi_0))&lt;br /&gt;  S[[k]] &lt;- (eta_0 + N_h[k]) * solve(B[[k]])&lt;br /&gt;  SS[[k]] &lt;- solve(S[[k]])&lt;br /&gt; }&lt;br /&gt; #print(list("N_h"=N_h,"x_h"=x_h,"phi"=phi,"mu"=mu,"eta"=eta,"f"=f,"C_h"=C_h,"B"=B,"sigma"=sigma,"S"=S,"SS"=SS))&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; #plot estimates&lt;br /&gt; pz&lt;-K*phi_0 + sum(N_h)&lt;br /&gt; for(k in 1:K){&lt;br /&gt;  p[k]&lt;-(phi_0+N_h[k])/pz&lt;br /&gt; }&lt;br /&gt; print(list("Mixing parameter"=p))&lt;br /&gt;&lt;br /&gt; #quartz()&lt;br /&gt; #x11()&lt;br /&gt; quartz()&lt;br /&gt; plot(x,main="Estimated value (VB)",...)&lt;br /&gt; plot.gauss(p,mu,SS,add=T,col=cirCol,xlab="",ylab="",xaxt="n",yaxt="n",...)&lt;br /&gt; &lt;br /&gt; return(list("N_h"=N_h,"x_h"=x_h,"phi"=phi,"mu"=mu,"eta"=eta,"f"=f,"C_h"=C_h,"B"=B,"sigma"=sigma,"S"=S,"SS"=SS,"weights"=p))&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ちなみに、このエントリを記載中にVB for GMMのパッケージを発見&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://cran.r-project.org/web/packages/vabayelMix/index.html"&gt;vabayelMix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;マジかよ、、、&lt;br /&gt;パフォーマンスチェックをした上で、分があればちゃんと公開しよう。&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="readmore"&gt;&lt;a href="http://wg-stein.blogspot.com/2009/05/r.html"&gt;続きを読む&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-3528090766020016069?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/3528090766020016069/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/r.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/3528090766020016069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/3528090766020016069'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/r.html' title='変分ベイズで混合正規分布推定（Rで実装）'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_i6Hk0cUa_go/Sgk3LOSr_kI/AAAAAAAAC9Q/OlA7OM3mnvU/s72-c/Picture+1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-8504549387792885266</id><published>2009-05-10T02:06:00.014+09:00</published><updated>2009-05-10T04:31:59.124+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>物件探し　その1</title><content type='html'>ゼミ発表も無事終わり、弟と物件探しへ不動産屋へ。&lt;div&gt;親戚のアパートに転がり込んで早５年。&lt;/div&gt;&lt;div&gt;不動産屋を訪ねて物件を探すのはこれが初めてである。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;引越先では弟と完全に同居の予定。&lt;/div&gt;&lt;div&gt;当初の条件は2DK、2部屋は完全セパレート、バス・トイレ別、都心アクセスそこそこ良好。&lt;/div&gt;&lt;div&gt;Webで目星をつけた物件は残念ながら既に入居済みであったので、店舗にていくつかピックアップの後にいざ内見へ。&lt;/div&gt;&lt;br /&gt;&lt;div class="fullpost"&gt;&lt;br /&gt;&lt;div&gt;最初の物件は一軒家、11万5千円の破格物件。&lt;/div&gt;&lt;div&gt;逐年数は古く間取りも独特。風呂追い炊きの操作装置はあるが肝心の本体がない等どこかチグハグ。&lt;/div&gt;&lt;div&gt;しかし都心に近い一軒家物件などそうない。住めば都にしてしまえばいい。&lt;/div&gt;&lt;div&gt;そう心で自身に言い聞かせていた矢先、担当者が怪訝な顔で&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;「すみません。僕も知らなかったのですが、窓の向こうはとんでもないビューが・・・。」&lt;/div&gt;&lt;div&gt;「！((初回から隣が墓地物件))」&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;引きの強さ（？）をひしひしと感じる。&lt;/div&gt;&lt;div&gt;これからの季節にはもってこいだ。いつだって涼しく快眠だろう。&lt;/div&gt;&lt;div&gt;もしかしたら永久に目を覚まさないやもしれん。&lt;/div&gt;&lt;div&gt;遊びにも事欠かないだろう。卒塔婆でチャンバラする機会なんて地元でもなかった。&lt;/div&gt;&lt;div&gt;極めつけはその物件担当者の言葉。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;「いやぁ、でもまずい話は聞かないですけどねぇ。」&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;聞いてたら困る。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;気を取り直して２件目、３件目へ。&lt;/div&gt;&lt;div&gt;いずれも申し分ない物件であったが、「完全セパレート」の実現が難しい。&lt;/div&gt;&lt;div&gt;引越は夏までにするとして、気長に探す事にしよう。&lt;/div&gt;&lt;/div&gt;&lt;div class="readmore"&gt;&lt;div&gt;&lt;a href="http://wg-stein.blogspot.com/2009/05/1.html"&gt;続きを読む&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-8504549387792885266?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/8504549387792885266/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/1.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8504549387792885266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8504549387792885266'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/1.html' title='物件探し　その1'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-8839788836660569458</id><published>2009-05-07T18:10:00.003+09:00</published><updated>2009-05-07T18:53:22.111+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Life'/><title type='text'>連休明け</title><content type='html'>&lt;div&gt;&lt;div&gt;6月末にイタリアで開かれるNonparametric Bayes Workshopの手続きのため、1時間睡眠で家を出てつい先程帰宅。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;昼過ぎでも慌ただしい銀行員を眺めつつ今日から仕事始まりであることに気づく。&lt;/div&gt;&lt;div&gt;この辺りは学生の特権か。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;仮眠をとって明日のゼミ準備。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-8839788836660569458?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/8839788836660569458/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8839788836660569458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8839788836660569458'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post_07.html' title='連休明け'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2132555078542835966.post-8358571270672896065</id><published>2009-05-06T00:24:00.006+09:00</published><updated>2009-05-06T00:38:12.422+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>変分ベイズでディリクレ過程混合モデル（現状）</title><content type='html'>&lt;div&gt;Bleiの論文が2004年、持橋さんが2006年だからもう最先端ではないのかな？&lt;/div&gt;&lt;div&gt;理由あって後２日以内にフォローしなければなりません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;現状：&lt;/div&gt;&lt;div&gt;実装済み・テスト未済&lt;/div&gt;&lt;div&gt;VBフォロー済み・DPVBフォロー未済&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;読んでいる論文：&lt;/div&gt;&lt;div&gt;Variational Inference for Dirichlet Process Mixtures&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cs.princeton.edu/~blei/papers/BleiJordan2004.pdf"&gt;http://www.cs.princeton.edu/~blei/papers/BleiJordan2004.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;無限混合ディリクレ文書モデル&lt;/div&gt;&lt;div&gt;&lt;a href="http://chasen.org/~daiti-m/paper/nl172idm.pdf"&gt;http://chasen.org/~daiti-m/paper/nl172idm.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;全て終わったら色々UPします。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2132555078542835966-8358571270672896065?l=wg-stein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wg-stein.blogspot.com/feeds/8358571270672896065/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8358571270672896065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2132555078542835966/posts/default/8358571270672896065'/><link rel='alternate' type='text/html' href='http://wg-stein.blogspot.com/2009/05/blog-post.html' title='変分ベイズでディリクレ過程混合モデル（現状）'/><author><name>Takaaki</name><uri>http://www.blogger.com/profile/04792831455446679775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://3.bp.blogspot.com/_i6Hk0cUa_go/SgXbmKazC6I/AAAAAAAAC8U/57YOXxPnKp8/S220/moomin_little_my.gif'/></author><thr:total>0</thr:total></entry></feed>
