正則化とロジスティック回帰/machine-learning-lecture-regularization-and-logistic-regression

 正則化とロジスティック回帰/machine-learning-lecture-regularization-and-logistic-regression

GMOペパボ新卒研修2020 機械学習入門 補足資料#04 #05

10caa9b4d041b23c2ecd6a947fdb1607?s=128

Hiroka Zaitsu

July 16, 2020
Tweet

Transcript

  1. 1 正則化と
 ロジスティック回帰
 ペパボ研究所 財津大夏
 新卒研修 機械学習入門 補足資料 #04 #05


  2. 2 2 正則化
 ロジスティック回帰


  3. 3 正則化
 Section 1
 3 Regularization


  4. 4 Machine Learning Crash Course says... 4 > this generalization

    curve shows that the model is overfitting to the data in the training set.
 
 > we could prevent overfitting by penalizing complex models, a principle called regularization.
 
 Regularization for Simplicity - Machine Learning Crash Course 

  5. 5 回帰におけるモデルの複雑度 5 特徴量が1次元のデータセット
 - モデル(線形関数)は直線
 - 既知のデータをそこそこ説明出来る
 - 未知のデータに頑健


    - モデルの複雑度が低い

  6. 6 回帰におけるモデルの複雑度 6 特徴量が多次元のデータセット
 - データ数 < 特徴量の次元数の場合既 知のデータを完全に説明できる
 -

    未知のデータに脆弱
 - モデルの複雑度が高い
 
 
 Overfitted Data.png - Wikimedia Commons
 

  7. 7 特徴量が多次元のデータセットの回帰 7 Boston Housing データセット
 - データポイント506個
 - 特徴量13個


    - Feature Crossで103個に
 
 - training loss が下がっている
 - 既知のデータを推論できる
 - validation loss が上がっている
 - 未知のデータを推論できない
 
 パラメータが過剰適合(過学習)した
 汎化性能が低いモデル

  8. 8 正則化
 8

  9. 9 過学習を防ぐためのアプローチ 9 - 過学習したモデルはトレーニングデータに過剰適合したパラメータを持つ
 - 誤差関数にトレーニングデータ以外の制約を加えて過学習を防ぐ
 - 特徴量のパラメータ自体を小さくするように学習させる
 -

    パラメータの大きさはノルムで表現できる
 
 w1
 w2
 L1ノルム
 L2ノルム
 n=2 のとき

  10. 10 誤差関数にパラメータのノルムを加える 10 - 誤差関数に制約条件を加える
 a. トレーニングデータに対する推論の誤差を小さくする(既存の条件)
 b. パラメータのノルムを小さくする
 -

    個別の特徴量が出力に与える影響が小さくなる
 - トレーニングデータに対する性能が下がるが汎化性能が上がる
 - L2ノルムで正則化するとリッジ回帰(Ridge Regression)
 - L1ノルムで正則化するとラッソ回帰(Lasso Regression)
 制約条件a
 制約条件b

  11. 11 L2正則化した誤差関数の導関数 11

  12. 12 L2正則化による誤差とパラメータの分布の変化 12

  13. 13 L1正則化による誤差とパラメータの分布の変化 13

  14. 14 まとめ - 正則化によりモデルの複雑度を下げて汎化性能を上げる
 - L2正則化とL1正則化
 - L2正則化
 - パラメータの絶対値が小さくなる


    - 解析的に解ける(微分可能)
 - L1正則化
 - パラメータの一部が0になる
 - 特徴量選択に利用できる
 - 解析的に解けないので推定で求める
 - L2正則化とL1正則化を組み合わせた ElasticNet もある
 - いずれかの正則化が常に優れているということはない
 14
  15. 15 ロジスティック回帰
 Section 2
 15 Logistic Regression


  16. 16 - y' と x の間に線形関係を仮定
 - 数値データから数値データを
 推論するのが線形回帰
 線形回帰のおさらい

    16
  17. 17 線形回帰の拡張 17 現実にはカテゴリデータの y が存在
 - 犬が吠える/吠えない
 - 都道府県


    
 機械学習ではカテゴリデータを
 マッピングした数値データを扱う
 - 犬が吠える/吠えない = 1/0
 - 都道府県 = 0 ~ 46

  18. 18 カテゴリデータをマッピングした y を線形回帰すると... 18 都道府県 { y ∈ N

    | 0 ≦ y ≦ 46 } の場合
 x の値によって y' ≧ 47 になる 
 
 - カテゴリデータ y の値は x の値により 線形に変化しない
 - カテゴリデータをマッピングした
 数値に数値としての意味はない
 - カテゴリデータは線形回帰できない
 
 

  19. 19 やりたいこと 19 カテゴリデータで表現される y を推論したい
 
 ロジスティック回帰の方針
 1. 事象が起きる確率

    p を出力する
 2. p を任意の閾値と比較することで y' を推論する
 
 

  20. 20 やりたいこと 20 線形回帰の出力である実数を確率にしたい
 
 ロジスティック関数 g(x) を使って実数 x を

    0 < g(x) < 1 に押し込める

  21. 21 シグモイド関数 21 - ロジスティック回帰の出力である確率
 - 0から1の範囲を取る値
 - ロジスティック関数の x

    に線形回帰の y' をとったもの
 - 閾値と比較して分類に用いる
 - 閾値0.5, p=0.8のときの推論は
 「犬が吠える」
 
 Logistic-curve.png - Wikimedia Commons
 

  22. 22 ロジスティック回帰の誤差関数(1) 22 - ロジスティック回帰の y はカテゴリデータ
 - y の変化量が定まらないので最小二乗法が使えない


    - 数値 x が1変化した時のカテゴリ y の変化量?
 - 二値のカテゴリ変数は確率変数 k をとるベルヌーイ分布に従う
 - 「ある事象が起きる」/「起きない」
 - 多値分類の場合はある値とそれ以外の値の二値分類の組み合わせ

  23. 23 ロジスティック回帰の誤差関数(2) 23 - 最小二乗法ではなく最尤法を使う
 - 最も尤もらしい確率分布を求める
 - パラメータθに従う確率分布にデータが従っている度合いが尤度
 -

    尤度関数 L(θ) の対数を取って和の形にする(対数尤度関数)

  24. 24 まとめ 24 - ロジスティック回帰ではカテゴリデータを扱うために線形回帰を拡張する
 - 線形回帰の出力をロジスティック関数で変換して確率として扱う
 - ロジスティック関数の x

    に線形回帰の出力を取るシグモイド関数
 - 出力される確率に閾値を定めて分類問題に利用する
 - ロジスティック回帰のパラメータθは最尤法により求める
 - 数値 x が1変化した時のカテゴリ y の変化量を求めづらいため
 - 機械学習では負の対数尤度を誤差として利用する