Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2018年度 化学工学特論2 第12回

2018年度 化学工学特論2 第12回

前回の達成目標
今回の達成目標
クラスタリングとクラス分類
決定木 (Decision Tree, DT) とは?
Random Forest (RF) とは?
RFの概略図
どのようにサブデータセットを作るか?
サブデータセットの数・説明変数の数はどうする?
どのように推定結果を統合するか?
Out-Of-Bag (OOB)
ランダムフォレストをしてみよう!
[補足] 説明変数 (記述子) の重要度
[補足] OOBを用いた説明変数 (記述子) の重要度
回帰分析ってなに?
部分的最小二乗回帰 (PLS) とは?
どうして PLS を使うの?~多重共線性~
多重共線性への対策
主成分回帰 (PCR)
PCR と PLS との違い
PLS の概要
PLSの基本式 (yは1変数)
1成分のPLSモデル
t1の計算 yとの共分散の最大化
t1の計算 Lagrangeの未定乗数法
t1の計算 Gの最大化
t1の計算 式変形
t1の計算 w1の計算
p1とq1の計算
2成分のPLSモデル
w2、t2、p2、q2の計算
何成分まで用いるか?
クロスバリデーション
r2CV (予測的説明分散)
成分数の決め方
Root Mean Squared Error (RMSE) : 誤差の指標
PLS を実行してみよう!
LASSO とは?
線形の回帰分析手法
LASSO
回帰係数の求め方
どうしてLASSOは回帰係数が0になりやすいの?
どうしてLASSOは回帰係数が0になりやすいの?
重み λ の決め方
LASSO を実行してみよう!

Hiromasa Kaneko

January 27, 2019
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Technology

Transcript

  1. クラスタリングとクラス分類 クラスタリング • サンプルを塊 (クラスター) ごとに、自動に分ける • クラスの情報 (正解) は用いない

    ⁃ 階層的クラスタリング クラス分類 • クラスの情報 (正解) に基づいて、サンプルを分類する ⁃ 決定⽊ (Decision Tree, DT) ⁃ ランダムフォレスト (Random Forests, RF) 3
  2. どのようにサブデータセットを作るか︖ データセットのサンプル数: m • サンプルを重複を許してランダムに m 個選択 データセットの説明変数(記述⼦)の数: n •

    説明変数を重複を許さずランダムに p 個選択 7 が得られる サブデータセット 説明変数の数 : p サンプルの数 : m 決定⽊作成
  3. サブデータセットの数・説明変数の数はどうする︖ グリッドサーチ + クロスバリデーション サブデータセットの数の候補 例 • 100, 200, 300,

    400, 500 説明変数の数の候補 例 • データセットにおける説明変数(記述⼦)の数の 10, 20, …, 80, 90 % 8
  4. [補足] 説明変数 (記述⼦) の重要度 説明変数 (記述⼦) の重要度 Ij 12 ,

    1 t j t T t T j m I E k m ∈ = ∆   k : サブデータセットの数 (決定⽊の数) m : サンプル数 T : ある決定木 t : T におけるあるノード ΔEt : t にしたときの E (決定⽊における評価関数) の変化  目的変数の誤差の二乗和 (回帰分析)  Gini 係数など (クラス分類) * Scikit-learn では変数の重要度としてこれを採用
  5. [補足] OOBを用いた説明変数 (記述⼦) の重要度 説明変数 (記述⼦) の重要度 Ij 13 (

    ) ( ) 1 1 k j i i i I F E p j k = = −  k : サブデータセットの数 (決定⽊の数) p(j) : i 番目の決定⽊に変数 j が使われていたら 1, そうでなければ 0 Ei : i 番目の決定⽊において、OOBを推定したときの  平均二乗誤差 (回帰分析)  誤分類率 (クラス分類) Fi : i 番目の決定⽊を作成した後に、説明変数をランダムに並び替えて、 OOBを推定したときの  平均二乗誤差 (回帰分析)  誤分類率 (クラス分類) Ei が小さいほど、Fi が大きいほど、Ij が大きい → j 番目の説明変数 (記述⼦) の重要度が⾼い
  6. 回帰分析ってなに︖ 14 20 25 30 35 250 300 350 400

    450 500 ビール注文数[個] (y) 最高気温[℃] (X) 例 • 目的変数 (y) ⁃ ビール注文数[個] • 説明変数 (X) ⁃ 最⾼気温[℃] 目的変数(y)と説明変数(X)の関係をモデル化し、 Xによってyがどれだけ説明できるのかを定量的に分析すること どうやってモデル化する(式を作る)のか︖ y = 12.9X + 4.2
  7. 部分的最小二乗回帰 (PLS) とは︖ 部分的最小二乗回帰 (Partial Least Squares Regression, PLS) •

    線形の回帰分析手法の1つ • 説明変数(記述⼦)の数がサンプルの数より多くても計算可能 • 回帰式を作るときにノイズの影響を受けにくい • 説明変数の間の相関が⾼くても対応可能 • 主成分分析をしたあとの主成分と目的変数との間で最小二乗法を ⾏うのは主成分回帰 (PCR) であり、PLSとは異なるので注意 • PLS回帰とかPLSRとも呼ばれているが、ここでは PLS 15
  8. 多重共線性への対策 事前に共線性のある変数(記述⼦)を削除 → 変数選択 • 必要な変数(記述⼦)を取り除いてしまう危険もある Xを無相関化 (相関係数=0 に) してから重回帰分析

    Xの情報の一部のみを使用して重回帰分析 17 主成分分析 (Principal Component Analysis, PCA) + 重回帰分析 主成分回帰 (Principal Component Regression, PCR) 重回帰分析については こちら、PCAについては こちら
  9. 主成分回帰 (PCR) 主成分回帰 (Principal Component Regression, PCR) • 説明変数のデータ X

    のみを用いて主成分分析を⾏い 主成分 T を得る ⁃ T の成分(変数)の間は無相関 • T と目的変数 y との間で最小二乗法による重回帰分析 18 T X y 成分抽出 (PCA) 最小二乗法 X y 最小二乗法 通常の重回帰分析 PCR 説明変数(記述⼦) サンプル 目的変数(物性・活性) 主成分
  10. PCR と PLS との違い PCA • 主成分 t の分散 (

    tTt ) が最大になるように主成分を抽出 PLS • 主成分 t と目的変数 y との共分散 ( tTy ) が最大になるように 主成分を抽出 19 -2 0 2 -2 -1 0 1 2 y t -2 0 2 -2 -1 0 1 2 y t 共分散 大きい 共分散 小さい
  11. PLS の概要 PCA • 主成分 t の分散 ( tTt )

    が最大になるように主成分を抽出 PLS • 主成分 t と目的変数 y との共分散 ( tTy ) が最大になるように 主成分を抽出 20 T X y 最小二乗法 成分抽出 yの情報 説明変数(記述⼦) サンプル 主成分
  12. PLSの基本式 (yは1変数) 21  A : PLS の成分数  ta

    : a 番目の主成分  pa : a 番目のローディング  E : X の残差 E TP E p t X + = + =  T T A a a a f Tq f t y + = + =  A a a a q  qa : a 番目の係数  f : y の残差 X、y はオートスケーリング後 (平均0、標準偏差1) オートスケーリングについては こちら ⾏列の表し⽅やローディングについては こちら
  13. t1 の計算 yとの共分散の最大化 23 y と t1 の共分散 yTt1 を最大化するよう

    t1 を求める  オートスケーリングしているため X と y は平均0 y との関連性が大きい t1 を抽出したい ただし、 (制約条件) 1 1 = w
  14. t1 の計算 Lagrangeの未定乗数法 24 Lagrangeの未定乗数法 μ を未知の定数として、下の G を最大化 (

    ) ( ) 1 1 G 2 1 1 T 2 1 1 T − − = − − = w Xw y w t y µ µ 制約条件がある中での最大化
  15. t1 の計算 Gの最大化 25 n : データ数 d : 説明変数の数

    ( )       − − = − − =    = = = 1 1 G 1 2 , 1 , 1 , 1 1 2 1 1 T d k k k k i d k i n i w w x y µ µ w Xw y G は w1 の関数 0 2 G , 1 1 , , 1 = − = ∂ ∂  = k n i k i i k w x y w µ  k : 変数番号 G が最大値のとき、G を w1 の要素ごとに偏微分した値は 0
  16. t1 の計算 式変形 26 0 2 , 1 1 ,

    = −  = k n i k i i w x y µ k n i k i i w x y , 1 1 , 2µ =  = w1,k を両辺に掛けると、 2 , 1 1 , 1 , 2 k n i k k i i w w x y µ =  = µ 2 1 , 1 , 1 =   = = d k k k i i n i w x y k について 1 から d まで和を取る (制約条件を使ってwが消える) µ 2 1 T = t y より、 よって、
  17. t1 の計算 w1 の計算 27 µ 2 1 , ,

    1  = = n i k i i k x y w μは yTt1 の値、w1 の 大きさ(ノルム)は1より、 y X y X w T T 1 = 1 1 Xw t = w1 が得られた後、t1 も計算 k n i k i i w x y , 1 1 , 2µ =  = より、
  18. p1 とq1 の計算 28 p1 は X の残差 E の要素の二乗和が最小になるように求める

    (最小二乗法) 1 T 1 1 T 1 t t t X p = q1 は y の残差 f の要素の二乗和が最小になるように求める (最小二乗法) 1 T 1 1 T 1 t t t y = q
  19. 29 2成分のPLSモデル PLSモデル式 X2 : X の中で1成分のPLSモデルでは説明できない部分 y2 : y

    の中で1成分のPLSモデルでは説明できない部分 2 T 2 2 T 1 1 E p t p t X + + = 2 2 2 1 1 f t t y + + = q q T 1 1 2 p t X X − = 1 1 2 q t y y − = ただし、w2 の大きさ(ノルム)は1 t2 は X2 の線形結合 2 2 2 w X t = 1 2 = w
  20. w2 、t2 、p2 、q2 の計算 30 y2 と t2 の共分散

    y2 Tt2 を最大化するよう t2 を計算する y2 との関連性が大きい t2 を抽出したい 1成分の時と同様にして、 2 T 2 2 T 2 2 y X y X w = 2 2 Xw t = 2 T 2 2 T 2 2 t t t X p = 2 T 2 2 T 2 2 t t t y = q 3成分以降も同様に計算する
  21. クロスバリデーション 例) 3-fold クロスバリデーション 32 X ⽐較 変数 サンプル y

    X1 X3 y1 y3 X2 y2 X1 y1 X2 y2 X3 モデル1 y3p y1 y3 y2 y1p y3p y2p ① X2 y2 X3 y3 X1 モデル2 y1p ② X3 y3 X1 y1 X2 モデル3 y2p ③ ① ③ ②
  22. r2 CV (予測的説明分散) クロスバリデーションによる予測値を用いた説明分散 r2 • Leave-one-out クロスバリデーション • N-fold

    クロスバリデーション など モデルの予測性を表す指標 1に近いほど良い 33 ( ) ( ) 2 ( ) ( ) CV 2 1 CV 2 ( ) A 1 1 n i i i n i i y y r y y = = − = − −    y(i)︓i 番目のサンプルにおける 目的変数の値 yCV (i)︓i 番目のサンプルにおける クロスバリデーションによる 目的変数の推定値 yA ︓目的変数の平均値 n︓サンプル数
  23. 成分数の決め⽅ 例) r2 CV 値を指標にして判断 • r2 CV 値が最大値を取る成分数 •

    r2 CV 値が最初の極大値を取る成分数 • r2 CV 値の上昇が最初に0.03以下となる成分数 34 成分数 r2(⻘) r2 CV (赤) モデル構築用データに 対する性能は⾼くなって いるが、予測性能は低下 → 過学習が起きている
  24. Root Mean Squared Error (RMSE) : 誤差の指標 35 RMSEC (RMSE

    of Calibration) RMSECV (RMSE with Cross-Validation) r2 , r2 CV が大きい ⇔ RMSEC , RMSECV が小さい データが同じであれば、 ( ) ( ) 2 ( ) ( ) 2 1 2 ( ) 1 ˆ 1 n i i i n i i y y r y y = = − = − −    ( )2 ( ) ( ) 1 C ˆ n i i i y y RMSE n = − =   ( ) ( ) 2 ( ) ( ) 2 1 CV 2 ( ) 1 ˆ 1 n i i CV i n i i y y r y y = = − = − −    yの計算値 ( )2 ( ) ( ) 1 CV ˆ n i i CV i y y RMSE n = − =   クロスバリデーションによるyの予測値
  25. LASSO とは︖ Least Absolute Shrinkage and Selection Operator (LASSO) 線形の回帰分析手法

    目的変数の誤差の二乗和に加えて、回帰係数の絶対値の和の項を 最小化することで、過学習を防ぐ 回帰係数の値が0になりやすく、変数選択としても利用できる 37
  26. 線形の回帰分析手法 線形の回帰分析手法 • たとえば説明変数が2つのとき、目的変数・説明変数を オートスケーリングしたあと、 と表わされる ある関数 G を最小化することで回帰係数を求める 38

    yC ︓ y の、x で表すことができる部分 f︓ y の、x で表すことができない部分 (誤差、残差) y︓ 目的変数 x1 , x2 ︓ 説明変数 (記述⼦) b1 , b2 ︓ (標準)回帰係数 1 1 2 2 C y x x f y f b b = + + = + ( ) C 1 1 2 2 y = x x b b +
  27. LASSO 最小二乗法: G は誤差の二乗和 LASSO: G は誤差の二乗和と回帰係数の絶対値の和 39 2 2

    1 n i i G f = = = −  y Xb n︓サンプル数 fi : i 番目のサンプルの誤差 m︓説明変数の数 bi : i 番目の説明変数の回帰係数 λ : 重み 2 1 m i i G b λ = = − +  y Xb
  28. 回帰係数の求め⽅ 40 G が最小値を取る G を 各bi で偏微分したものが 0 G

    が極小値を取る 0 i G b ∂ = ∂ 必要に応じて繰り返し計算により、 を満たす各bi を求める 0 i G b ∂ = ∂
  29. どうしてLASSOは回帰係数が0になりやすいの︖ 41 b1 b2 2 1 m i i G

    b λ = = − +  y Xb ||y-Xb||2 が最小になる (b1 , b2 ) b1 , b2 を変えたときの||y-Xb||2 の 等⾼線 が最小になる (b1 , b2 ) = (0,0) 1 m i i b λ =  b1 , b2 を変えたときの の 等⾼線 1 m i i b λ = 
  30. どうしてLASSOは回帰係数が0になりやすいの︖ 42 b1 b2 2 1 m i i G

    b λ = = − +  y Xb と との交点が、 G が最小になる (b1 , b2 ) の角が軸上にあるため b1 もしくは b2 が 0 になりやすい b1 = 0