0-1の損失を近似するために分類で異なる損失関数を選択することの影響は何ですか


27

一部の目的関数は最適化が容易であり、一部は困難であることがわかっています。また、使用したいが使いにくい損失関数が多数あります(0-1損失など)。そのため、作業を行うためのプロキシ損失関数をいくつか見つけました。たとえば、ヒンジ損失またはロジスティック損失を使用して、0-1の損失を「概算」します。

次のプロットは、Chris BishopのPRML本からのものです。ヒンジ損失は青、ログ損失は赤、平方損失は緑、0/1エラーは黒でプロットされます。

ここに画像の説明を入力してください

(ヒンジ損失とロジスティック損失の)そのような設計がある理由は、目的関数を凸にしたいからです。

ヒンジ損失とロジスティック損失を調べることにより、強く誤分類されたインスタンスに対してよりペナルティを課し、興味深いことに、正しく分類されたインスタンスが弱く分類された場合にもペナルティを課します。それは本当に奇妙なデザインです。

私の質問は、ヒンジ損失やロジスティック損失など、さまざまな「プロキシ損失関数」を使用して支払う必要がある価格はいくらですか?


回帰では、絶対値の損失と比較して、二乗損失を選択すると最適化が容易になります。ただし、二乗損失は外れ値に対してより敏感です。それで、それは特定のタイプのデータにも敏感でなければなりませんか?
ハイタオデュ

4
より簡単な解決策は、効用関数を必要としない最適な予測確率を開発することです。ユーティリティ/損失機能は、実際の意思決定者が後で適用できます。分類は、意思決定者の意思決定に相当し、事前に多くの知識が必要です。
フランクハレル

@FrankHarrellありがとう、そして私はあなたが職場で述べたアプローチを使っています。そこで私たちは予測とビジネス運営を分離しています。ただし、これはまだ全体として最適化されておらず、貪欲な段階的なローカルソリューションです。それは「ダチョウの方針」ですか?
ハイタオデュ

2
最適な決定につながるとは限りません。損失/効用/コスト関数は、モデル予測子からは発生しません。
フランクハレル

1
+1。ロジスティック損失の最小化は、二項尤度の最大化に対応します。二乗誤差損失の最小化は、ガウス尤度の最大化に対応します(これは単なるOLS回帰です。2クラス分類の場合、実際にはLDAと同等です)。ヒンジ損失の最小化が他の可能性の最大化に対応するかどうかを知っていますか?すなわち、ヒンジ損失に対応する確率モデルはありますか?
アメーバは、モニカを復活させる

回答:


16

私の考えのいくつかは、しかし正しくないかもしれません。

(ヒンジ損失とロジスティック損失の)そのような設計がある理由は、目的関数を凸にしたいからです。

凸性は確かに素晴らしい特性ですが、最も重要な理由は、それを解決するために導関数を使用できるように、目的関数に非ゼロの導関数を持たせることだと思います。目的関数は非凸である場合があります。この場合、いくつかの局所的な最適点またはaddle点で停止することがよくあります。

興味深いことに、弱く分類された場合、正しく分類されたインスタンスにもペナルティが課せられます。それは本当に奇妙なデザインです。

このような設計は、正しい予測を行うだけでなく、予測についても自信を持つようにモデルにアドバイスすると思います。正しく分類されたインスタンスが罰せられないようにするには、たとえば、ヒンジ損失(青)を1だけ左に移動して、損失が発生しないようにします。しかし、私はこれがしばしば実際の結果を悪化させると信じています。

ヒンジ損失やロジスティック損失など、さまざまな「プロキシ損失関数」を使用して支払う必要がある価格はいくらですか?

IMOでは、さまざまな損失関数を選択することで、モデルにさまざまな仮定を取り入れています。たとえば、ロジスティック回帰損失(赤)はベルヌーイ分布を想定し、MSE損失(緑)はガウスノイズを想定しています。


PRMLの最小二乗対ロジスティック回帰の例に続いて、比較のためにヒンジ損失を追加しました。 ここに画像の説明を入力してください

図に示すように、ヒンジ損失とロジスティック回帰/クロスエントロピー/対数尤度/ソフトプラスは、目的関数が近いため(下図)、一般にMSEは外れ値の影響を受けやすいため、非常に近い結果になります。ヒンジ損失は厳密に凸型ではないため、必ずしも一意の解決策とは限りません。

ここに画像の説明を入力してください

ただし、ヒンジ損失の重要な特性の1つは、決定境界から遠く離れたデータポイントが損失に寄与しないことです。これらのポイントを削除しても解は同じになります。

残りのポイントは、SVMのコンテキストではサポートベクトルと呼ばれます。一方、SVMはレギュラー用語を使用して、最大マージンプロパティと一意のソリューションを保証します。


答えてくれてありがとう。いくつかのデモを作成して、さまざまな損失の影響を直感的に示すことは可能ですか?損失の二乗対最小絶対損失を使用した回帰の外れ値による影響を示すように。
ハイタオデュ

@ hxd1011どういたしまして、後でいくつかのデモを追加してみます。
dontloo

2
ヒンジ損失がある凸...
ムスタファSエイサー

1
@ MustafaM.Eisa正しい、ありがとう、厳密に凸ではないことを意味しました。
dontloo16年

@dontloo素晴らしいシミュレーション!ありがとうございました。また、シミュレーションの一部を後でアップロードしようとします。
ハイタオデュ

6

まだ言及されていない非常に簡単な答えがあるので、遅い返信を投稿します。

ヒンジ損失やロジスティック損失など、さまざまな「プロキシ損失関数」を使用して支払う必要がある価格はいくらですか?

非凸 0-1損失関数を凸サロゲート(ヒンジ損失など)に置き換えると、実際には、意図したものとは異なる問題を解決することになります(分類ミスの数を最小限に抑えるため)。あなたはとても得る計算扱いやすさを(問題は、あなたが、凸最適化のツールを使って効率的に解決することができることを意味し、凸型になります)が、一般的なケースでは、「プロキシ」の損失と最小限分類器のエラーに関連する方法は、実際にはありません0-1の損失を最小化する分類器のエラー。あなたが本当に気にかけているのが誤分類の数を最小限に抑えることであったなら、これは本当に大きな代償だと主張します。

D


1

損失関数は、ビジネスで発生した実際の損失を反映することが理想的です。たとえば、破損した商品を分類している場合、誤分類の損失は次のようになります。

  • 破損していない商品にマークを付ける:潜在的な販売で利益を失う
  • 破損した破損品にマークを付けない:返品処理のコスト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.