AI Technology Community
分位損失(Quantile Loss)
ほとんどの現実世界の予測問題では、我々はしばしば予測結果の不確かさを知りたいと思います。具体的な値ではなく、値の区間を予測することは、具体的なビジネスプロセスにおける意思決定にとって極めて重要です。
分位数損失関数は、予測結果の値の区間を求める必要がある場合に、特に有用なツールです。通常、最小二乗回帰を使って値の区間を予測するのは、残差の分散が一定であるという仮定に基づいています。しかし、多くの場合、線形モデルではこの仮定が成り立たないことがあります。このときには、分位数損失関数と分位数回帰が回帰モデルを救うことになります。これは予測区間に非常に敏感で、残差の分散が一定でない非均一分布の場合でも、良好な性能を維持することができます。以下では、2つの例を使って、分位数損失が不均一分散データにおける回帰性能を見てみましょう。
上の図は2種類の異なるデータ分布で、左の図は残差の分散が一定の場合、右の図は残差の分散が変化する場合です。通常の最小二乗法を使って、上記の2つの場合を推定しました。橙色の線がモデル化の結果です。しかし、値の区間を得ることができません。このときには、分位数損失関数が区間を提供してくれます。
上の図の上下の破線は、0.05と0.95の分位数損失に基づいて得られた値の区間です。図からは、モデル化後の予測値の範囲が明確にわかります。分位数回帰の目的は、与えられた予測値の条件分位数を推定することです。実際、分位数回帰は平均絶対誤差の拡張です(分位数が第50百分位の場合、その値は平均絶対誤差になります)。
分位数の選択は、正または負の誤差により大きな価値を与えたいかどうかにかかっています。損失関数は、分位数γに基づいて、過学習と学習不足に対して異なるペナルティを与えます。たとえば、γを0.25に選ぶということは、過学習に対してより多くのペナルティを与え、中央値よりやや小さい予測値を維持しようとすることを意味します。γの値は通常0~1の間で選ばれます。図には、異なる分位数における損失関数の状況が示されており、正負の誤差の不均衡が明らかに見られます。
分位数損失関数を使って、ニューラルネットワークやツリーモデルの区間を計算することができます。下の図は、勾配ブースティングツリー回帰器に基づいて計算された値の区間です。90%の予測値の上下限は、それぞれγが0.95と0.05の場合で計算されています。
この記事の最後に、sinc(x)でシミュレートしたデータを使って、異なる損失関数の性能を比較しました。元のデータにガウスノイズとパルスノイズを加えました(ロバスト性を評価するため)。下の図は、GBM回帰器が異なる損失関数を使って得た結果で、ABCDの図はそれぞれMSE、MAE、Huber、分位数損失関数の結果です。
MAE損失関数の予測値は、パルスノイズの影響を受けにくく、MSEは多少の偏差があります。Huber損失関数は超パラメータの選択に敏感ではなく、分位数損失は対応する信頼区間内で良好な推定結果を示しています。
皆さんがこの記事を通じて、損失関数をより深く理解し、将来の仕事で適切な関数を選んで、より良く早く仕事を完了できることを願っています。
最後に、この記事で紹介したいくつかの損失関数の簡単な図を添付して、振り返ってみましょう。
5
item of content
損失関数は一種類だけではありません。異常値の存在、選択した機械学習アルゴリズム、勾配降下法の実行時間、予測の信頼度の見つけやすさや導関数の計算の難易度など、さまざまな要素に基づいて異なる損失関数を選択することができます。この記事では、さまざまな損失関数について学び、それらがデータサイエンスおよび機械学習においてどのように私たちを助けてくれるかを解説します。
- 3792hits
- 0replay
-
9like
- collect
- send report