CCCMKホールディングス TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

「トピックモデルによる統計的潜在的意味解析」の本を読んでみた(その2)

こんにちは!研究所の佐藤(智)です。

トピックモデルによる統計的潜在的意味解析、
奥村学(監修)、佐藤一誠(著)、コロナ社 (2015年)


を読んでみた感想(その2)です。

(その1)の記事;

今回は、本書の中で個人的に最も気になったについて書いてみます。 前回の記事式(1.2)の右辺

{
\displaystyle
\begin{eqnarray}
     \int \sum_{z} p(x \mid  \phi_z) p(z \mid \pi)
     p(\phi, \pi \mid x_1, \ldots, x_n, \eta, \gamma) d\phi d\pi
\end{eqnarray}
}

(※あとの説明のため、 \alpha  \gamma と置き換えました。)

は「一般的に解析的に計算することが困難」という話をしました。 変分近似法によるアプローチの場合、 上式を変形しながら計算を進めていくと、  q(z_{d,i}=k) の値を計算することに話が落ち着いてきます。 ここで、 q(z_{d,i}=k) は、 文書  d の単語  i における潜在変数  z_{d,i}  k となる場合の近似事後分布を表しています。 しかしながら、この  q(z_{d,i}=k) についても、 直接の計算をすることはまだできず、 対数関数のテイラー展開というテクニックを使います。

ここで、対数関数のテイラー展開を簡単に説明します。 テイラー展開をおこなうモチベーションは、 解析的に計算が難しいと考えられる関数があった場合に、 多項式を使ってより簡単な形で表し計算したいことにあります。 対数関数  \log(x) について、 点  a の周りでのテイラー級数を考えると

{
\displaystyle
\begin{eqnarray}
     \log(x) = \log(a)+
     \frac{1}{a} (x-a) -
     \frac{1}{2a^2} (x-a)^2 + \cdots
\end{eqnarray}
}

と書き表すことができ、 0次のテイラー展開は

{
\displaystyle
\begin{eqnarray}
     \log(a) \tag{2.1}
\end{eqnarray}
}

となり、2次までのテイラー展開は

{
\displaystyle
\begin{eqnarray}
     \log(a)+
     \frac{1}{a} (x-a) -
     \frac{1}{2a^2} (x-a)^2 \tag{2.2}
\end{eqnarray}
}

となります。  (2.1) は定数であり、 明らかに  (2.2) のほうが  \log(x) の近似になっているのですが。。。

本書では  x=q(z_{d,i}=k) のとき、  x の期待値  \mathbb{E} [ x ] の周りでのテイラー展開を考えると、  (2.1) のほうが  (2.2) よりも汎化能力が高いことが経験的に知られているとのこと! その理由の1つの解釈として、本書では以下の論文を紹介しています:

Issei Sato, Hiroshi Nakagawa, Rethinking Collapsed Variational Bayes Inference for LDA, Proceedings of the 29th International Conference on Machine Learning (ICML 2012)

この論文を少し見てみました。 この論文によると、理由は カルバックライブラーダイバージェンス(KLD)が関係しているようです。 LDA の推定(計算)では KLD を  KL [ p ] [ q ] で定義しています。 そして、 \log q(z_{d,i}=k) の 0 次テイラー展開  (2.1) で LDA を推定する場合は、 計算にこの  KL [ p ] [ q ] を使います。 一方、 \log (q(z_{d,i}=k)) の 2次までのテイラー展開  (2.2) で LDA を推定する場合は、 計算に  p q をスワップさせた  KL [ q ] [ p ] を使います。 この2種類の KLD の違いが、汎化能力の違いのキーになっているとのことです。

今回のブログはここまで。 これらの意味についてもう少しきちんと理解できたら、 本ブログでまた書きたいと思います。