離散選択モデルの誤差項にガンベル分布を仮定すると、ソフトマックス関数になる

はじめに

最近、Bayesian CRM(London, 2019)の論文を読んでいるときに、表題に関する記述があったので、その備忘録です。

設定

  • \( \mathcal{A} \) : サイズが\(m\)の集合(文脈によって行動空間, $a \in \mathcal{A}$を行動と呼ぶ)
  • 離散選択モデルは以下で定式化

\[ \text{arg max}_{a \in \mathcal{A}} \ m_a + \gamma_a \]

ここで、

  • \(m_a : a \in \mathcal{A} \)による報酬
    • この値が大きいと、行動\(a\)が選ばれやすくなると解釈
  • \( \gamma_a \):誤差項

とする。

示したいもの

誤差項に、標準ガンベル分布\(Gum(0, 1) \)を仮定すると、離散選択モデルは、ソフトマックス関数からのサンプルになる。

すなわち、行動$a$が選択される確率$p_a$は、

\[ \frac{\exp(m_{a})}{\sum_{a’ \in \mathcal{A}}\exp(m_{a’})} \]

となる。(各$a$に対して$\gamma_a \overset{i.i.d}{\sim} Gum(0, 1) である。$)

証明

標準ガンベル分布の分布関数$F(x)$と確率密度関数$f(x)$はそれぞれ

$$ F(x) = \exp(- \exp(-x)), \ f(x) = \exp(-x) F(x) \ \ ,x \in \mathbb{R} $$

である。

簡単のために$ U_a = m_a + \gamma_a$とおく。このとき、$U_a$が従う分布の分布関数$F_{U_a}$と密度関数$f_{U_a}$は、それぞれ

$$ F_{U_a}(x) = \exp(-\exp(m_a) \exp(-x)), \ f_{U_a}(x) = \exp(m_a) \exp(-x) F_U(x)$$

となる。

$a \in \mathcal{A}$が選ばれる確率$p_a$は、

\begin{align} p_a
&= \text{Pr}(U_a > U_{a’} \ | \ \forall \ a’ \neq a) \\
&= \int_{\mathbb{R}} \text{Pr}(U_a > U_{a’} \ | \ \forall \ a’ \neq a, U_a = x) f_{U_a}(x) dx \\
&= \int_{\mathbb{R}} \prod_{a’ \neq a} F_{U_{a’}}(x) \exp(m_a) \exp(-x) F_{U_a}(x) dx \\
&= \int_{\mathbb{R}} \exp(m_a) \exp(-x) \prod_{a’ \in \mathcal{A}} F_{U_{a’}}(x) dx \end{align}

となる。

  • 第1式:arg maxの定義から
  • 第3式:誤差項のi.i.d.性から

ここで、

\begin{align}
\prod_{a’ \in \mathcal{A}} F_{U_{a}}(x)
&=  \prod_{a’ \in \mathcal{A}} \exp(-\exp(m_{a’}) \exp(-x)) \\
&= \exp(- \exp(-x) \sum_{a’ \in \mathcal{A}}\exp(m_{a’})) \\
\end{align}

となる。$c = \sum_{a \in \mathcal{A}}\exp(m_a)$とおくことで、

\begin{align}
p_a &= \exp(m_a) \int_{\mathbb{R}} \exp \left(- x – c\exp(-x)\right) dx\\
&= \exp(m_a) \left[
\frac{1}{c} \exp(- c\exp(-x))
\right]_{-\infty}^{\infty} \\
&= \frac{\exp(m_a)}{c} \\
&= \frac{\exp(m_{a})}{\sum_{a’ \in \mathcal{A}}\exp(m_{a’})} \\
\end{align}

が得られる。

編集後記

  • wordpressでlatexを書くならsimple latexが良さげ
  • 数式を1つ1つ追って論文を読むのは時間がかかる。。。でも理解が薄いまま読み進めるのはもっと危険だからもっと読む。

コメント

タイトルとURLをコピーしました