クロスエントロピー

learn menu
By Joannes Vermorel, January 2018

クロスエントロピーは、確率的予測の正確さを反映するために使用できる指標です。クロスエントロピーは最尤推定と強い関連があります。クロスエントロピーは、代替指標でも優れた予測を可能にするため、現代の予測システムにおいて非常に重要です。サプライチェーンの観点から見ると、クロスエントロピーは特に重要であり、稀なイベントの確率をキャプチャするのにも優れたモデルの推定をサポートします。これらの稀なイベントは、しばしば最も高価なものです。この指標は、平均二乗誤差や平均絶対パーセンテージ誤差などのより単純な精度指標をサポートする直感から大きく逸脱しています。

頻度主義確率 vs ベイズ確率

統計を理解する一般的な方法は、頻度主義確率の観点です。不確実な現象を定量的に理解しようとする場合、頻度主義の観点では、現象の発生回数を数えることによって、現象の頻度、つまり確率を推定することが可能です。頻度が多くの実験を通じて収束すると、確率はより正確に推定されます。

クロスエントロピーは、この観点から逸脱し、ベイズ確率の観点を採用しています。ベイズの観点では、問題を逆に考えます。不確実な現象を定量的に理解しようとする場合、ベイズの観点では、現象の確率推定を直接与えるモデルから始めます。その後、繰り返し観測によって、モデルが現象の実際の発生とどの程度適合しているかを評価します。発生回数が増えるにつれて、モデルの(不)適切さの測定が改善されます。

頻度主義とベイズの観点は、どちらも有効で役立ちます。サプライチェーンの観点からは、観測を収集することはコストがかかり、柔軟性に欠けるため、ベイズの観点の方が頻繁に扱いやすいです。

クロスエントロピーの直感

クロスエントロピーの代数的な定式化に入る前に、その基本的な直感について考えてみましょう。過去を説明し、未来を予測するための確率モデル、または単に「モデル」と呼ぶものがあるとします。過去の観測ごとに、このモデルはその観測が実際に起こったようになる確率の推定値を提供します。過去の観測をすべて記憶し、それらに確率1を割り当てるモデルを構築することは可能ですが、このモデルは将来について何も教えてくれません。したがって、「興味深い」モデルは、過去をある程度近似し、過去のイベントに対して1より小さい確率を提供します。

ベイズの観点を採用することで、モデルがすべての観測を生成した確率を評価することができます。さらに、すべての観測を独立していると仮定すると、モデルが過去の観測ごとに推定したすべての確率の積が、私たちが持っている観測の集合を生成する確率です。

通常、0.5未満の数千の変数の数学的な積は、不確実性の高い現象を扱っている場合には、非常に小さな数になることが予想されます。たとえば、需要を予測するための優れたモデルを考慮しても、会社が1年間に観測したすべての売上データをこのモデルが生成できる確率はどれくらいでしょうか?この数値を推定することは容易ではありませんが、この数値は驚くほど小さくなることは明らかです。

したがって、算術アンダーフローとして知られるこの数値の問題を緩和するために、対数が導入されます。直感的には、対数は積を和に変換するために使用でき、算術アンダーフローの問題を便利に解決します。

クロスエントロピーの形式的な定義

2つの離散的な確率変数$${p}$$と$${q}$$に対して、クロスエントロピーは次のように定義されます:

$${H(p, q) = -\sum_x p(x)\log q(x)}$$

この定義は対称ではありません。$${P}$$は「真の」分布であり、部分的にしか観測されていないものであり、一方$${Q}$$は構築された統計モデルから得られた「非自然な」分布を意味します。

情報理論では、クロスエントロピーは、$${P}$$の代わりに$${Q}$$を使用した場合のメッセージの符号化のための期待長さとして解釈することができます。この視点は現在の議論を超えており、サプライチェーンの観点からは主要な重要性を持ちません。

実際には、$${P}$$がわからないため、クロスエントロピーは観測から経験的に推定されます。ただし、すべての収集された観測が等しく確率的であると仮定します。つまり、$${p(x)=1/N}$$であり、ここで$${N}$$は観測の数です。

$${H(q) = - \frac{1}{N} \sum_x \log q(x)}$$

興味深いことに、この式は平均対数尤度推定と同じです。クロスエントロピーまたは対数尤度を最適化することは、概念的にも数値的にも本質的に同じです。

クロスエントロピーの優位性

1990年代から2010年初頭まで、統計学界のほとんどの人々は、純粋に数値的な観点から与えられた指標(例:MAPE(平均絶対パーセント誤差))を最適化するために、この指標に直接適した最適化アルゴリズムを構築することが最も効率的な方法だと信じていました。しかし、ディープラーニングコミュニティによって達成された重要かつ直感に反する洞察により、これは事実ではないことが明らかになりました。数値最適化は非常に困難な問題であり、ほとんどの指標は効率的で大規模な数値最適化の取り組みには適していません。同じ期間中、データサイエンスコミュニティ全体でも、予測/予測問題は実際には数値最適化問題であることがわかってきました。

サプライチェーンの観点からは、会社の目標がMAPEやMSE(平均二乗誤差)などの予測指標を最適化することであっても、実際にはクロスエントロピーを最適化することが最も効率的な方法です。Lokadでは、2017年にこの主張を支持するための大量の経験的な証拠を収集しました。さらに驚くべきことに、クロスエントロピーはCRPS(連続ランク付け確率スコア)という別の確率的な精度指標を上回りますが、最終的なモデルの評価はCRPSに対して行われます。

クロスエントロピーが数値最適化において非常に優れた指標となる理由は完全には明確ではありません。Ian Goodfellow et allで詳細に説明されている最も説得力のある議論の1つは、クロスエントロピーが非常に大きな勾配値を提供することであり、これは現在利用可能な最も成功したスケール最適化手法である勾配降下法にとって特に価値があります。

CRPS vs クロスエントロピー

サプライチェーンに関しては、クロスエントロピーはCRPSに比べて確率的予測の指標としてはるかに優れています。これは単にまれなイベントにより大きな重点を置いているためです。需要の確率モデルを考えてみましょう。このモデルは平均が1000単位であり、分布の全体の質量が990から1010のセグメントに集中しています。さらに、次に観測される需要の数量が1011であると仮定しましょう。

CRPSの観点からは、モデルは比較的良好です。観測された需要は平均予測から約10単位離れています。一方、クロスエントロピーの観点からは、モデルには無限の誤差があります。モデルは1011単位の需要がゼロの確率で観測されると予測しましたが、これは事実とは異なります。なぜならば、実際に1011単位が観測されたからです。

CRPSが「イベントXYは決して起こらない」というような馬鹿げた主張をするモデルを好む傾向が、サプライチェーンの観点から説明すると、なぜクロスエントロピーがより良い結果をもたらすのかを大いに貢献しています。クロスエントロピーは、予測不能なことが起こったときに「警戒心を持たない」モデルを好む傾向があります。サプライチェーンでは、予測不能なことが起こり、それに事前の準備がない場合、このイベントに対処することは非常に高コストになります。