情報理論 において、交差エントロピー (こうさエントロピー)またはクロスエントロピー (英 : cross entropy )は、2つの確率分布 の間に定義される尺度である。符号化方式が、真の確率分布
p
p
ではなく、ある所定の確率分布
q
q
に基づいている場合に、とりうる複数の事象の中からひとつの事象を特定するために必要となるビット 数の平均値を表す。
定義
同じ確率空間 における2つの分布
p
p
と
q
q
において、
q
q
の
p
p
に対する交差エントロピーは、次のように定義される。
H
(
p
,
q
)
=
E
p
[
−
log
q
]
=
H
(
p
)
+
D
K
L
(
p
‖
q
)
\mathrm {H} (p,q)=\mathrm {E} _{p}[-\log q]=\mathrm {H} (p)+D_{\mathrm {KL} }(p\|q)\!
ここで、
H
(
p
)
H(p)
は
p
p
のエントロピー 、
D
K
L
(
p
|
|
q
)
D_{\mathrm {KL} }(p||q)
は
p
p
から
q
q
のカルバック・ライブラー情報量 (相対エントロピー)である。
p
p
と
q
q
が離散確率変数 なら、これは次のようになる。
H
(
p
,
q
)
=
−
∑
x
p
(
x
)
log
q
(
x
)
\mathrm {H} (p,q)=-\sum _{x}p(x)\,\log q(x)\!
連続確率変数 なら、同様に次のようになる。
−
∫
X
p
(
x
)
log
q
(
x
)
d
x
-\int _{X}p(x)\,\log q(x)\,dx\!
なお、
H
(
p
,
q
)
\mathrm {H} (p,q)
という記法は交差エントロピーだけでなく、結合エントロピー にも使われるので、注意が必要である。
対数尤度との関係
分類問題において、異なる事象の確率を推定したいとする。N サンプルからなる訓練集合内における事象
i
i
の頻度(経験的確率)が
p
i
p_{i}
である一方、事象
i
i
の確率が
q
i
q_{i}
と推定されたとすると、訓練集合の尤度は次のようになる。
∏
i
q
i
N
p
i
{\displaystyle {\displaystyle \prod _{i}q_{i}^{Np_{i}}}}
この対数尤度をNで割ると、
1
N
log
∏
i
q
i
N
p
i
=
∑
i
p
i
log
q
i
=
−
H
(
p
,
q
)
{\displaystyle {\displaystyle {\frac {1}{N}}\log \prod _{i}q_{i}^{Np_{i}}=\sum _{i}p_{i}\log q_{i}=-H(p,q)}}
となり、この尤度を最大化することは、交差エントロピーを最小化することと同義となる。
交差エントロピー最小化
交差エントロピー最小化は、最適化問題 と希少事象の予測によく使われる技法である(交差エントロピー法)。
確率分布
q
q
を参照用固定確率分布
p
p
と比較したとき、交差エントロピーとカルバック・ライブラー情報量は(
p
p
が固定なので)付加的な定数 を除いて同一である。どちらも
p
=
q
p=q
であるとき最小値となり、カルバック・ライブラーの値は
0
{\displaystyle 0}
、交差エントロピーの値は
H
(
p
)
\mathrm {H} (p)
となる。
ただし、カルバック・ライブラー情報量 参照のとおり、q を固定の参照用確率分布とし、p を最適化して q に近づけるようにすることもある。この場合の最小化は交差エントロピーの最小化とはならない。文献ではどちらの手法で説明しているか、注意する必要がある。
交差エントロピー誤差
機械学習 ・最適化 における交差エントロピー誤差 (英 : cross entropy loss , CE loss )は交差エントロピーを用いた分布間距離表現による損失関数 である。
真の確率
p
i
p_{i}
が真のラベルであり、与えられた分布
q
i
q_{i}
が現在のモデルの予測値である。
ロジスティック回帰
より具体的に、ロジスティック回帰 による二項分類 を考える。すなわちロジスティック回帰モデルにより与えられた入力ベクトル
x
{\mathbf {x} }
から出力クラス
y
∈
{
0
,
1
}
{\displaystyle y\in \{0,1\}}
を予測する。確率は標準シグモイド関数
g
(
z
)
=
1
/
(
1
+
e
−
z
)
{\displaystyle g(z)=1/(1+e^{-z})}
でモデル化される。重みベクトル
w
\mathbf {w}
を用いて出力
y
=
1
y=1
を見出す確率は以下で与えられる:
q
(
y
=
1
|
x
)
≡
q
1
=
y
^
≡
g
(
w
⋅
x
)
=
1
/
(
1
+
e
−
w
⋅
x
)
{\displaystyle q(y=1|x)\equiv q_{1}\ =\ {\hat {y}}\ \equiv \ g(\mathbf {w} \cdot \mathbf {x} )\ =1/(1+e^{-\mathbf {w} \cdot \mathbf {x} })}
同様に、出力
y
=
0
y=0
を見出す余事象の確率は以下で与えられる:
q
(
y
=
0
|
x
)
≡
q
0
=
1
−
y
^
{\displaystyle q(y=0|x)\equiv q_{0}\ =\ 1-{\hat {y}}}
真の確率は
p
(
y
=
1
|
x
)
≡
p
1
=
y
{\displaystyle p(y=1|x)\equiv p_{1}=y}
および
p
(
y
=
1
|
x
)
≡
p
0
=
1
−
y
{\displaystyle p(y=1|x)\equiv p_{0}=1-y}
で定式化される。教師有り二項分類では入力ベクトルに対応するラベルが一意に与えられるため、
p
(
y
|
x
)
p(y|x)
は必ず one-hot なカテゴリカル分布になる。このことは
y
∈
{
0
,
1
}
{\displaystyle y\in \{0,1\}}
と次式より確かめられる:
p
(
y
|
x
)
=
y
or
1
−
y
=
1
or
0
{\displaystyle p(y|x)=y\ {\text{or}}\ 1-y=1\ {\text{or}}\ 0}
p
p
と
q
q
との間の非類似性の尺度を交差エントロピーで表現すると次式が得られる:
H
(
p
,
q
)
=
−
∑
i
{
1
,
0
}
p
i
log
q
i
=
−
y
log
y
^
−
(
1
−
y
)
log
(
1
−
y
^
)
{\displaystyle H(p,q)=-\sum _{i}^{\{1,0\}}p_{i}\log q_{i}=-y\log {\hat {y}}-(1-y)\log(1-{\hat {y}})}
ロジスティック回帰で用いられる典型的な損失関数は、サンプル中の全ての交差エントロピーの平均を取ることによって計算される。例えば、それぞれのサンプルが
n
=
1
,
…
,
N
{\displaystyle n=1,\dots ,N}
によってラベル付けされた
N
N
個のサンプルを持っていることを仮定する。損失関数は次に以下の式となる。
J
(
w
)
=
1
N
∑
n
=
1
N
H
(
p
n
,
q
n
)
=
−
1
N
∑
n
=
1
N
[
y
n
log
y
^
n
+
(
1
−
y
n
)
log
(
1
−
y
^
n
)
]
,
{\displaystyle {\begin{aligned}J(\mathbf {w} )\ &=\ {\frac {1}{N}}\sum _{n=1}^{N}H(p_{n},q_{n})\ =\ -{\frac {1}{N}}\sum _{n=1}^{N}\ {\bigg [}y_{n}\log {\hat {y}}_{n}+(1-y_{n})\log(1-{\hat {y}}_{n}){\bigg ]}\,,\end{aligned}}}
上式において、
y
^
n
≡
g
(
w
⋅
x
n
)
=
1
/
(
1
+
e
−
w
⋅
x
n
)
{\displaystyle {\hat {y}}_{n}\equiv g(\mathbf {w} \cdot \mathbf {x} _{n})=1/(1+e^{-\mathbf {w} \cdot \mathbf {x} _{n}})}
である。
y
n
∈
{
0
,
1
}
{\displaystyle y_{n}\in \{0,1\}}
であるため、損失関数を実際に計算する際には2つある項のうち片方のみの計算で済む(他方は0)。
ロジスティック損失は交差エントロピー損失と呼ばれることがある。また、log lossとも呼ばれる(この場合、二値ラベルは {-1,+1} で示されることが多い)[1] 。
脚注
^ Murphy, Kevin (2012). Machine Learning: A Probabilistic Perspective . MIT. ISBN 978-0262018029
関連項目