Save 37% off PRO during our Black Friday Sale! »

外れ値とHuber(フーバー)損失

Fd6de6cbad68e7898078f548b6dd894c?s=47 K
October 08, 2021
32

 外れ値とHuber(フーバー)損失

最小二乗法を用いてモデルを作成した時、外れ値が含まれているとどのような挙動になるかを確認します。またHuber(フーバー)損失について説明します。
動画での説明→https://youtu.be/CrN5Si0379g

Fd6de6cbad68e7898078f548b6dd894c?s=128

K

October 08, 2021
Tweet

Transcript

  1. ,ͷษڧνϟϯωϧ ロ ロ

  2. 今回の内容 •『ロバスト』とは? •各種損失関数の可視化 •Huber回帰 •分位点回帰 •まとめ ロバストという考え方と特殊な損失関数について説明します

  3. やりたいこと=直線・平面を決めるための係数を決める 最小二乗法 = 残差平方和が最小になるような線・平面を引くこと y x1 y = β1 x1

    + β0 ΣN i=1 (yi − (β1 xi,1 + β0 ))2 が最小になるようにa1, a2を決定すること 最小二乗法 前回までのあらすじ
  4. Ridge回帰の発想 余計な係数には罰則を設ける y = β0 + β1 x1 + β2

    x2 1 + β3 x3 + β4 x4 1 … βridge = argminβ {ΣN i=1 (yi − β0 − Σp j=1 xi,j βj )2 + λΣp j=1 β2 j } が大きいほど大きくなる項 βj 残差平方和 右の値を最小にするような を求めたい β はハイパーパラメータであり、大きいほど係数を小さくする方向に働く λ 過学習を抑えるような制約をつけること=正則化 前回までのあらすじ
  5. もしも外れ値があったら直線のフィットはどうなる? 外れ値とは、他の値から大きく外れた値のことを指しています y x1 ΣN i=1 (yi − (β1 xi,1

    + β0 ))2 が最小になるようにa1, a2を決定すること 最小二乗法 外れ値 二乗誤差は極端に大きくなる
  6. 外れ値によって、線がおおきくずれる 外れ値の二乗誤差が大きく、それを減らすように線をずらす必要があるため y x1 ΣN i=1 (yi − (β1 xi,1

    + β0 ))2 が最小になるようにa1, a2を決定すること 最小二乗法 外れ値 ↑ このような、最小化することで何かを最適化することを目的と している関数を損失関数(コスト関数, Loss function)と呼ぶ
  7. ロバストさ(頑健性) ”入力されるデータが理想的な状態からやや乖離していても,理想的であったときと同等の出力ができる性質”[1] y x1 ΣN i=1 (yi − (β1 xi,1

    + β0 ))2 が最小になるようにa1, a2を決定すること 最小二乗法 外れ値 ↑ このような、最小化することで何かを最適化することを目的と している関数を損失関数(コスト関数, Loss function)と呼ぶ http://ibisforest.org/index.php?%E9%A0%91%E5%81%A5%E6%80%A7 [1] ग࡝ͷైWikiʢͱ͖ͷ΋Γ ͏͖͌ʣ 今回の場合『少数の外れ値がデータに含まれていたとしても、 最終的な直線がそこまで大きくずらされなかった』ならば、 それは頑健性があると言えます。
  8. 損失をグラフで可視化 外れ値に対する損失を減らせば、線のずれる幅を減らすことができるかも 正解との誤差 損失 loss = (error)2 損失が大きすぎる

  9. 絶対誤差を損失にしてみる 外れ値のペナルティは小さいが、ペナルティの大きさが常に一定 正解との誤差 損失 loss = (error)2 損失が二乗誤差より小さい loss =

    |error| 理想は、外れ値の影響は小さくしたいが、 外れ値でないデータは誤差を厳しく評価したい
  10. Huber損失 = 閾値によって損失の付け方が変化する 基準以上の損失は線形に増加して、二乗のペースで増加しない loss = (error)2  ( が 以下の場合)

    (errorが 以上の場合) loss = 1 2 error2 |error| k loss = k(|error| − 1 2 k) k 誤差が大きくても 損失がそこまで大きくない ࢀߟจݙɿhttps://en.wikipedia.org/wiki/Huber_loss 正解との誤差 損失 閾値 よりも誤差が小さいときは 誤差を二乗誤差に近い形で評価する k
  11. 実際にロバストかどうか確認してみる 外れ値を一つだけ仕込みます x1 y 正解は であるようなデータ点です y = 5x1 +

    10x2 + ϵ
  12. 実際にロバストかどうか確認してみる 外れ値を一つだけ仕込みます x1 y 正解は であるようなデータ点です y = 5x1 +

    10x2 + ϵ フーバー損失を用いた回帰は、 外れ値の影響をあまり受けずに直線をフィットできている
  13. まとめ 頑健性という概念と外れ値に強い回帰について紹介しました •入力されるデータが理想的な状態から一部乖離していたとしても、理想的な場合と近 い状態の出力を出すことができる性質 •最小二乗法は、外れ値の影響を受けやすい •外れ値の影響を減らす工夫の一つに、損失関数を変更するアプローチがある •そのようなアプローチの一つにフーバー損失があり、実験的に外れ値の影響が少なる ことを確かめた •今日のグラフに使用したコードは概要欄へ