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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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 を実行してみよう!

Avatar for Hiromasa Kaneko

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