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

Locally-Weighted Partial Least Squares (LWPLS, ...

Locally-Weighted Partial Least Squares (LWPLS, 局所PLS) ~あのPLSが非線形性に対応!~ [Python・MATLABコードあり]

LWPLSとは?
LWPLS のイメージ
PLS の復習 1/2
PLS の復習 2/2
LWPLS の前提
トレーニングデータとクエリとの類似度行列 U
トレーニングデータの平均化
1成分目の計算
2成分目の計算へ、そして繰り返し
クエリの推定をする
クエリの平均化
1成分目の計算
2成分目の計算へ、そして繰り返し
ハイパーパラメータをどうするか?
どうやって実際にLWPLSを実行するか?

Avatar for Hiromasa Kaneko

Hiromasa Kaneko

June 17, 2018
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Technology

Transcript

  1. LWPLSとは︖ 非線形PLSの一つ • PLS (Partial Least Squares) の詳細はこちら https://datachemeng.com/partialleastsquares/ Just-In-Time

    (JIT) モデリングの一つ • 目的変数の値を推定したいサンプルごとにモデリングする 目的変数の値を推定したいサンプルに近いトレーニングデータほど 大きい重みを付けてモデリングする 時系列データなど、説明変数と目的変数のデータセットのサンプルが 増えていく場合に特に効果を発揮する 1
  2. PLS の復習 1/2 PCA (Principal Component Analysis) • 主成分 t

    の分散 ( tTt ) が最大になるように主成分を抽出 PLS (Partial Least Squares) • 主成分 t と目的変数 y との共分散 ( tTy ) が最大になるように 主成分を抽出 3 T X y 最小二乗法 成分抽出 yの情報 説明変数(記述⼦) サンプル 主成分
  3. PLS の復習 2/2 4  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) オートスケーリングについては こちら ⾏列の表し⽅やローディングについては こちら
  4. LWPLS の前提 トレーニングデータ • X : m × n の⾏列

    • y : m × 1 のベクトル ⁃ m : サンプルの数 ⁃ n : 説明変数 (記述⼦) の数 目的変数の値を推定したいサンプル (クエリ) • xq : 1 × n のベクトル 5 X y 説明変数(記述⼦) n 個 サンプル m個
  5. トレーニングデータとクエリとの類似度⾏列 U 6 (1) q (2) q ( ) q

    m u u u       =         0 U 0 ⋱ トレーニングデータとクエリとの類似度⾏列 U ( ) q ( ) ( ) exp i i q i u s λ   −   = −     x x x(i) : i 番目のトレーニングデータ s(i) : ||x(1)-xq ||, ||x(2)-xq ||, …, ||x(m)-xq || の標準偏差 λ : 類似度調整用パラメータ (ハイパーパラメータ)
  6. トレーニングデータの平均化 7 0 w = − X X X 0

    w y = − y y ( ) ( ) 1 w ( ) 1 m i i q i m i q i u y y u = = =   w w,1 w,2 w, 1 1 , , ..., ... 1 n x x x         =         X ( ) ( ) 1 w, ( ) 1 m i i q j i j m i q i u x x u = = =   クエリとの類似度で重み付き平均したもの
  7. 1成分目の計算 8 成分数 a = 1 のとき、 T 1 1

    T 1 1 a a a a a − − − − = X Uy w X y 1 a a a − = t X w T 1 T a a a a a − = X Ut p t Ut T 1 T a a a a a q − = y Ut t Ut wa : a 成分目のウェイトベクトル ta : a 成分目のスコアベクトル pa : a 成分目のローディングベクトル qa : a 成分目の係数
  8. 2成分目の計算へ、そして繰り返し 9 T 1 a a a a − =

    − X X t p 1 a a a a q − = − y y t 下のように X と y をアップデート そして、a を a + 1 として、再び p. 7 の計算をする このように、p. 7 の計算と X, y のアップデートを繰り返して、 2, 3, … 成分目の計算をする これにより、成分ごとのウェイトベクトル・ローディングベクトル・係数が 得られる
  9. クエリの平均化 11 q,0 q w,1 w,2 w, , , ...,

    n x x x   = −   x x xw,1 , xw,2 , …, xw,n については、p. 6 参照
  10. 2成分目の計算へ、そして繰り返し 13 下のように xq と yq をアップデート そして、a を a

    + 1 として、再び p. 11 の計算をする このように、p. 11 の計算と xq と yq のアップデートを繰り返して、 2, 3, … 成分目のクエリの推定値を計算する T q, q, 1 q, a a a a t − = − x x p q, q, 1 q, a a a a y y t q − = −