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を実行するか?

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 − = −