多値分類問題の確率モデルを考える
各ラベルは、特徴量に応じて決まる $K$ 個の成功率の組
$$ \{p_{ik}=f_k(X_i)\mid k=0,\dots,K-1\} $$
(ただし、各レコードについて確率の和は1: $\sum_k p_{ik}=1$)
に対してカテゴリカル分布で生成されるものとする。
$$ t_{ik}\sim \operatorname{Categorical}[\{p_{ik}\}_k] $$
すなわち、
$$ \begin{align*} \Pr[t_{ik}=t]&=\begin{cases}p_{ik}& (y_i=k)\\ \vdots & k=1,\dots, K\end{cases}\\ &=\sum_k t_{ik}p_{ik}\\ &=\prod_k (p_{ik})^{t_{ik}}\\ &=\exp\left(\sum_k t_{ik}\log(p_{ik})\right) \end{align*} $$
と書ける。(上2つは等価な別表現。)
全体の尤度は各レコードでの確率をかけ合わせて以下のように書ける。
$$ \begin{align*} \Pr[\{X_i, t_{ik}\}\mid\theta] &=\prod_i \Pr[t_{ik}\mid p_{ik}(=f_k(X_i))]\\ &=\exp\left(\sum_i\sum_k \{t_{ik}\log(p_{ik})\}\right) \end{align*} $$
確率を最大化するのは負の対数尤度を最小化するのと同じなので、損失関数は以下のように書ける。
$$ \mathcal{L}(\{p_{ik}\}, \{t_{ik}\})=-\sum_i\sum_k\{t_{ik}\log(p_{ik})\} $$
$p_{ik}$ の規格化条件 $\sum_k p_{ik}=1$ を満たすため、以下の変数変換を考える
$$ p_{ik}=\operatorname{softmax}(z_{ik})=\frac{e^{z_{ik}}}{\sum_{k'=0}^{K-1} e^{z_{ik'}}} $$
softmax関数は $K$ 個の実数を0以上にし、かつ総和が1となるように規格化する。
$$ \mathcal{L}(\{z_{ik}\}, \{t_{ik}\})=-\sum_i\sum_k\left\{t_{ik}\log\left(\frac{e^{z_{ik}}}{W_i}\right)\right\} $$
$$ W_i = \sum_{k'}e^{z_{ik'}} $$
勾配ブースティングのために $z$ に対する gradient, hessian(の対角成分)を求める。