モデル選択

LDAにおけるモデル選択とは最適なトピック数の決定である。最適なトピック数の決定方法として次のようなものがある。

  1. Perplexity
  2. log-likelihood
  3. predictive log-likelihood
  4. HDP (Hierarchical Dirichlet Process)

Perplexityはモデルがどのくらい単語を絞ることができるかという指標。小さいほど良い。これを最小とするトピック数を最適なトピック数と考える。

図1.Perplexityのトピック数依存性

図1はDPCデータに対してPerplexityのトピック数依存性を描いたものである。トピック数が500になってもまだPerplexityは減少傾向にある。

log-liklihoodは訓練データを用いて作成したモデルのパラメタを使って訓練データの対数尤度(の調和平均)を求めたものである。あるブログ記事を読むと、GriffithとSteyvers (2004) によってこの近似法が提案されたとのことである。
DPCデータに対してこの値のトピック数依存性を描いたものを図2に示す。

図2.log-likelihoodのトピック数依存性
図2を見ると、トピック数が350あたりでlog-liklihoodが最大になっている。

predictive log-likelihoodは前回のブログにも書いたように、未知のデータに対して求めた対数尤度である。訓練データで求めた対数尤度はデータにオーバーフィッティングする可能性があるのでこれを避けるのがpredictive log-likelihoodである。
しかし、LDAに対してこれを計算するライブラリが見当たらず計算しあぐねている。

HDPはデータから自動的に最適なトピック数を求める手法である。まだ勉強していないので詳細はわからない。

これら以外に、先に紹介したあるブログ記事IdtuningというRパッケージで最適なトピック数を求めることができると紹介されていた。
ここでは、次の4つの指標が紹介され、それらを計算してトピック数依存性をグラフ表示する例が掲載されている。

  1. Arun2010
  2. CaoJuan2009
  3. Deveaud2014
  4. Griffiths2004

上述したブログ記事によれば最初の3つ(1~3)はトピック間の単語分布の類似性に注目した手法であるとのこと(2はcosine類似性、3はKLダイバージェンスによって類似性を計算し、1も何らかの距離を計算しているらしい)。そして4はlog-likelihoodを用いる方法と同じである。
DPCデータに対してこのIdtuningを使って4つの指標のプロット依存性をプロットしたものを図3に示す。

図3.Idtuningの結果

図3によるとArun2010とCaoJuan2009はトピック数が250~300あたりで最小(最適)になっており、Deveaud2014はトピック数が100で最大(最適)になっている。そしてGriffiths2004はトピック数が450で最大(最適)になっている。

ドキュメントに相当する病院数が1600程度しかないのにトピック数が300~400というのはあまりに多すぎはしないだろうか。


0 件のコメント:

コメントを投稿

ChatGPT は、米国の医師免許試験に太刀打ちできるか?

A Gilson et al.: How Does ChatGPT Perform on the United States Medical Licensing Examination? The Implications of Large Language Models for ...