<目次>
(1) ソフトマックス関数の微分の導出をご紹介
(1-1) ソフトマックス関数とは?
(1-2) ソフトマックス関数の微分(一般式)
(1-3) ソフトマックス関数の微分の導出(証明)
(1) ソフトマックス関数とは?ロジスティック回帰との関係性もご紹介
(1-1) ソフトマックス関数とは?
ソフトマックス関数の解説については、下記記事をご参照ください。
⇒(参考)ソフトマックス関数とは?ロジスティック回帰との関係性もご紹介
・ソフトマックス関数の式
$$ softmax(x)_i = \frac{e^{x_i}}{\sum^{n}_{j=1}e^{x_j}} \quad (i=1,2,…,n) $$
(1-2) ソフトマックス関数の微分(一般式)
\( Y=\sum^{n}_{j=1}e^{x_j} \)と置くと、ソフトマックス関数の微分を次のように表せます。
・①i=jの場合
$$ \frac{\partial y_i}{\partial x_i} = \frac{e^{x_i}Y-e^{x_i}e^{x_i}}{Y^2} = p(x_i) (1 – p(x_i))$$
・②i≠jの場合
$$ \frac{\partial y_i}{\partial x_j} = -\frac{e^{x_i}e^{x_j}}{Y^2} = -p(x_i)p(x_j)$$
(1-3) ソフトマックス関数の微分の導出(証明)
●STEP0:前提確認
・ソフトマックス関数は、ある入力に対する「出力の確率」として扱える
$$ softmax(x_i) = \frac{e^{x_i}}{\sum^{n}_{j=1}e_{x_j}} = p(x_i) \quad (i=1,2,…,n) $$
●STEP1:i=jの場合の微分
・商の微分(Quotient Rule)を適用
$$ \frac{\partial P(x_i)}{\partial x_i} = \frac{ \frac{\partial e^{x_i}}{\partial x_i} Y – e^{x_i} \frac{\partial Y}{\partial x_i} }{ Y^2 } $$
↓
・1項目は\( e^{x_i} \)(そのまま。ネイピア数の微分で、係数なし)
$$ \quad \quad \quad \quad = \frac{ e^{x_i} Y – e^{x_i} \frac{\partial Y}{\partial x_i} }{ Y^2 } $$
↓
・2項目は分母\(Y\)をそのまま
$$ \quad \quad \quad \quad = \frac{ e^{x_i} Y – e^{x_i} \frac{\partial Y}{\partial x_i} }{ Y^2 } $$
↓
・3項目は分子\( e^{x_i} \)をそのまま(変化なし)
$$ \quad \quad \quad \quad = \frac{ e^{x_i} Y – e^{x_i} \frac{\partial Y}{\partial x_i} }{ Y^2 } $$
↓
・4項目は微分の結果、\( \frac{\partial Y}{\partial x_i} = \frac{\partial \sum^{n}_{j=1}e^{x_j}}{\partial x_i} = \frac{ \partial (e^{x_1} + e^{x_2} + \cdots e^{x_i} + \cdots + e^{x_n}) }{ \partial x_i} = 0 + 0 + \cdots e^{x_i} + \cdots 0 = e^{x_i} \)なので
$$ \quad \quad \quad \quad = \frac{ e^{x_i} Y – e^{x_i} e^{x_i} }{ Y^2 } $$
↓
・式変形
$$ \quad \quad \quad \quad = \frac{ e^{x_i} }{ Y } \cdot \frac{ Y – e^{x_i} }{ Y } $$
$$ \quad \quad \quad \quad = \frac{ e^{x_i} }{ Y } (1- \frac{ e^{x_i} }{ Y }) $$
$$ \quad \quad \quad \quad = p(x_i) (1 – p(x_i)) $$
よって、ソフトマックス関数の微分(i=jの場合)は自分自身を用いた簡易な式で表現できる事が分かりました。
●STEP2:i≠jの場合の微分
・残りの分母の項についても、ソフトマックス関数の結果に影響を与えるため、それらに関しても微分します。
$$ softmax(x)_i = \frac{e^{x_i}}{ (e^{x_1} + e^{x_2} + \cdots e^{x_i} + \cdots + e^{x_n}) } \quad (i=1,2,…,n) $$
(図121)
↓
・商の微分(Quotient Rule)を適用
$$ \frac{\partial P(x_i)}{\partial x_j} = \frac{ \frac{\partial e^{x_i}}{\partial x_j} Y – e^{x_i} \frac{\partial Y}{\partial x_j} }{ Y^2 } $$
↓
・1項目は0になる
⇒\(e_{x_i}\)の\( x_{j} \)に関する微分は0になります(\( x_{j} \)が分子に含まれないため)
$$ \frac{\partial P(x_i)}{\partial x_j} = \frac{ 0 \cdot Y – e^{x_i} \frac{\partial Y}{\partial x_j} }{ Y^2 } $$
↓
・2項目は計算不要(1項目が0なので)
・3項目は分子をそのまま代入
$$ \frac{\partial P(x_i)}{\partial x_j} = \frac{ 0 – e^{x_i} \frac{\partial Y}{\partial x_j} }{ Y^2 } $$
↓
・4項目は微分の結果、\( \frac{\partial Y}{\partial x_j} = \frac{\partial \sum^{n}_{j=1}e^{x_j}}{\partial x_j} = \frac{ \partial (e^{x_1} + e^{x_2} + \cdots e^{x_i} + \cdots + e^{x_n}) }{ \partial x_j} = 0 + 0 + \cdots e^{x_j} + \cdots 0 = e^{x_i} \)なので
$$ \frac{\partial P(x_i)}{\partial x_j} = \frac{ 0 – e^{x_i} e^{x_j} }{ Y^2 } $$
↓
・式変形
$$ \quad \quad \quad \quad = – \frac{ e^{x_i} }{ Y } \cdot \frac{ e^{x_j} }{ Y } $$
$$ \quad \quad \quad \quad = – p(x_i) p(x_j) $$
よって、ソフトマックス関数の微分(i≠jの場合)も自分自身を用いた簡易な式で表現できる事が分かりました。