Stan...しかし、主成分分析やトピックモデルなどの行列分解や、ガウス過程などのカーネル法のような様々なデータ解析の手法に一歩踏み込むと、きちんとした勉強が必要になります。理解しやすくて使いやすくて、統計や機械学習への応用を主眼においた線形代数の本はまだ見たことないです。Cookbook」*1までを視野に入れた本が出てきてくれると良いのですが。以下では個人的な好みの教科書を挙げておきます。「線形代数とその応用」です。データ(data2)とStanコードは以前の記事と同じものを使いました。時間も測り直しました。驚きの50倍近いスピードです。Stan...分かりません。outについてはこの記事参照)。各kごとにthetaが重みの混合正規分布から生成したと考えていることに相当します。このループはV*(W-10)*U回まわりますので時間がかかるようになります。キックするRコードは以下になります。最後にスライドを作成するにあたって使ったRコードとパラメータを載せます。一種Stan最後はおまけでLDAに時系列を組み合わせた実装を試してみたので紹介します。今まで「文書」と呼んできたものを「ユーザー」、「単語」と呼んできたものを「アクセスしたWebページ(≒アクション)」と考えます。ユーザーが1日目~31日目までV種類のWebページにアクセスしたデータがあるとします。ユーザーの興味のあるトピックの分布(トピック混合比)が時間によって変化すると考えます。ある人は興味が移りやすく、またある人は移りにくいでしょう。そんな状況をモデリングします。Model)Stanこの記事の表記は以下です。Wがbag-of-wordsの行列を表すことに注意してください。右2列は定数については数値を、そうでないものについてはR内の変数名を書いています。データは前の記事参照。LDAの記事で、『別の視点から見ると、LDAがやっていることは、文書の特徴を大きな単語次元(V)から小さなトピック次元(K)に圧縮していることに相当します』と書きました。Model)StanLDAの不満点の一つとしましては、トピック間の関係性を全て無視しているところです。「政治」と「経済」なんかは相関ありそうですよね。Model)があります。実はStanのマニュアルでもCTMは実装されています(githubではここ)が、サンプルデータとサンプルプログラムをそのまま実行しても全く収束する気配がなくて殺意がわきます。2003])を説明します。前回のUMの不満点は、ある文書に1つのトピックだけを割り当てるのが明らかにもったいない場合や厳しい場合があります。そこでLDAでは文書を色々なトピックを混ぜあわせたものと考えましょーというのが大きな進歩です。この記事の表記法は以下になります。前回のUMの場合と同一です。右2列は定数については数値を、そうでないものについてはR内の変数名を書いています。データは前の記事参照。Mixtures)Stan次にUMを説明します。この記事の表記法は以下になります。右2列は定数については数値を、そうでないものについてはR内の変数名を書いています。データは前の記事参照。見比べてもらうと分かるのですが違う場所は文書ごとのトピックzがデータからパラメータ(潜在変数)になったところだけです。トピック情報を人手でつけるのは大変ですのでモデルの拡張としては非常に自然です。Bayes)Stan...りたいところですが、トピックモデル全般的にパラメータが多めでデータが少なめな状況が多く、フルベイズはことごとく失敗しました。最後にモデルのパラメータ数(Stanで出力される数です。ホントはsimplexの制限があるので実質的な数は少し減ります)や推定にかかった計算時間などは以下の通りです。理論Stanでトピックモデルを実装するメリット・デメリットについて簡単に触れたいと思います。ややこしい推論部分は一切実装しなくてOK。データが少ないと収束しない。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。