Slide 1

Slide 1 text

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


Slide 2

Slide 2 text

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


Slide 3

Slide 3 text

3 正則化
 Section 1
 3 Regularization


Slide 4

Slide 4 text

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 


Slide 5

Slide 5 text

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


Slide 6

Slide 6 text

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


Slide 7

Slide 7 text

7 特徴量が多次元のデータセットの回帰 7 Boston Housing データセット
 - データポイント506個
 - 特徴量13個
 - Feature Crossで103個に
 
 - training loss が下がっている
 - 既知のデータを推論できる
 - validation loss が上がっている
 - 未知のデータを推論できない
 
 パラメータが過剰適合(過学習)した
 汎化性能が低いモデル


Slide 8

Slide 8 text

8 正則化
 8

Slide 9

Slide 9 text

9 過学習を防ぐためのアプローチ 9 - 過学習したモデルはトレーニングデータに過剰適合したパラメータを持つ
 - 誤差関数にトレーニングデータ以外の制約を加えて過学習を防ぐ
 - 特徴量のパラメータ自体を小さくするように学習させる
 - パラメータの大きさはノルムで表現できる
 
 w1
 w2
 L1ノルム
 L2ノルム
 n=2 のとき


Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

14 まとめ - 正則化によりモデルの複雑度を下げて汎化性能を上げる
 - L2正則化とL1正則化
 - L2正則化
 - パラメータの絶対値が小さくなる
 - 解析的に解ける(微分可能)
 - L1正則化
 - パラメータの一部が0になる
 - 特徴量選択に利用できる
 - 解析的に解けないので推定で求める
 - L2正則化とL1正則化を組み合わせた ElasticNet もある
 - いずれかの正則化が常に優れているということはない
 14

Slide 15

Slide 15 text

15 ロジスティック回帰
 Section 2
 15 Logistic Regression


Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

17 線形回帰の拡張 17 現実にはカテゴリデータの y が存在
 - 犬が吠える/吠えない
 - 都道府県
 
 機械学習ではカテゴリデータを
 マッピングした数値データを扱う
 - 犬が吠える/吠えない = 1/0
 - 都道府県 = 0 ~ 46


Slide 18

Slide 18 text

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


Slide 19

Slide 19 text

19 やりたいこと 19 カテゴリデータで表現される y を推論したい
 
 ロジスティック回帰の方針
 1. 事象が起きる確率 p を出力する
 2. p を任意の閾値と比較することで y' を推論する
 
 


Slide 20

Slide 20 text

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


Slide 21

Slide 21 text

21 シグモイド関数 21 - ロジスティック回帰の出力である確率
 - 0から1の範囲を取る値
 - ロジスティック関数の x に線形回帰の y' をとったもの
 - 閾値と比較して分類に用いる
 - 閾値0.5, p=0.8のときの推論は
 「犬が吠える」
 
 Logistic-curve.png - Wikimedia Commons
 


Slide 22

Slide 22 text

22 ロジスティック回帰の誤差関数(1) 22 - ロジスティック回帰の y はカテゴリデータ
 - y の変化量が定まらないので最小二乗法が使えない
 - 数値 x が1変化した時のカテゴリ y の変化量?
 - 二値のカテゴリ変数は確率変数 k をとるベルヌーイ分布に従う
 - 「ある事象が起きる」/「起きない」
 - 多値分類の場合はある値とそれ以外の値の二値分類の組み合わせ


Slide 23

Slide 23 text

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


Slide 24

Slide 24 text

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