Q&A

正則化

正則化項はなぜ必要?

  • 過学習を避けるため
  • 正則化項がなく,損失項だけだと,学習データに対してだけうまくいくような,複雑なモデルが作られてしまう
    • 複雑なモデル: bias=小,variance=大
    • シンプルなモデル: bias=大, variance=小
    • bias: モデルによる予測値の平均が真の値からどれくらい乖離しているかを示す.小さいほうが良い.
    • variance: モデルの予測値自体のばらつき(予測の安定性みたいなもの)小さいほうが良い.
    • 参考文献の絵がわかりやすい
  • 一番欲しいのはLow Variance & Low Bias
  • だけど,varianceとbiasはトレードオフの関係にある

    • 複雑すぎず,シンプルすぎず,丁度くらい複雑なモデルが欲しい
  • 参考文献

正則化の気持ちは?

  • 重みの大きさに対する罰則
    • 学習データに対してだけうまくいくような極端な重みがつくのを避ける
  • L2: 罰則は重みの2乗
    • 極端に大きすぎる重みは避けるようになる
    • 小さな重みならほとんど無視できる程度の罰則しかつかない
  • L1: 罰則は重みの絶対値

    • 重みゼロが一番罰則が低い
  • 参考文献

L1正則化とL2正則化はどちらを使うべき?

  • 少しでも高い性能を求めるならL2正則化,スパースなモデル(殆どの特徴量の重みが0)が欲しければL1正則化
    • 一般的にはL2正則化のほうが高いことが多い
    • ただし,L1正則化でもそれほど変わらない性能になることが多い
  • なお,L1正則化とL2正則化の両方を使うこともできる(Elastic net正則化

    • 例えば,Classiasでは,c1c2というパラメータで,L1とL2の各正則化の係数を指定できる
  • 参考文献

なぜL1正則化でスパースなモデルが得られるのか?

  • L1ノルムの勾配が急激に変化する場所が原点であるため
    • 原点での損失関数の勾配 < L1ノルムの勾配 => 原点が局所解
  • L2ノルムの場合は,なだらかに勾配が変化する

  • 海野ら「オンライン機械学習」のp.43の説明を参考に

各手法

「ロジスティク関数」や「ロジスティク回帰」の"ロジスティク"ってどういう意味?

SVMとロジスティク回帰どちらがよい?