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

モデルの微分による非線形モデルの解釈

 モデルの微分による非線形モデルの解釈

モデルの微分による非線形モデルの解釈
線形モデルの解釈の検討
非線形モデルでは?
局所的に傾きを求めよう!→ 微分
非線形モデルの微分
非線形モデルの例
非線形モデルの式
SVMモデルの微分
カーネル関数の微分
SVMモデルの微分
SVMモデルの微分係数によって分かること
SVRモデルの微分
SVRモデルの微分係数によって分かること
OCSVMモデルの微分
OCSVMモデルの微分係数によって分かること

Hiromasa Kaneko

June 30, 2018
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Technology

Transcript

  1. モデルの微分による非線形モデルの解釈 線形モデル • 標準回帰係数などの重みを⾒ることで、 各説明変数 (記述⼦・特徴量) の重みを検討できる 非線形モデル • モデルを各説明変数で偏微分

    • 説明変数空間におけるある点 (たとえば、あるサンプル) における 微分係数を計算することで、その点における説明変数ごとの 傾きを計算できる • 傾きが大きいということは、その点において値を変化させることで、 目的変数の値の変化も大きい説明変数であるということ 1
  2. 線形モデルの解釈の検討 2 線形の2クラス分類モデルもしくは回帰モデル y = f(x) (2クラス分類モデルにおいて、目的変数 y は -1

    もしくは 1) f(x) = a1 x1 + a2 x2 + … + am xm + b (m : 説明変数の数) モデルにおける各説明変数 xi の重み ai を⾒ることで、 xi を 1 変化させたときに、f(x) がどれくらい変化するかわかる ただし、説明変数の間に相関があるときは xi だけ 1 変化させる ことは難しく、単純に ai を xi の y への寄与の大きさとすることは できないことに注意
  3. 非線形モデルの微分 5 f(x) を xi で偏微分すると、 ( ) i f

    x ∂ ∂ x f(x) が線形モデル、つまり f(x) = a1 x1 + a2 x2 + … + am xm + b (m : 説明変数の数) のとき、 ( ) i i f a x ∂ = ∂ x となり重みと一致 線形モデルでは定数になるが、非線形モデルでは x の関数になる
  4. 非線形モデルの例 6 今回は、サポートベクターマシン関係の3つの非線形モデルを 説明変数 xi で偏微分してみる 2クラス分類︓Support Vector Machine (SVM)

    詳細︓https://datachemeng.com/supportvectormachine/ 回帰分析︓Support Vector Regression (SVR) 詳細︓https://datachemeng.com/supportvectorregression/ モデルの適用範囲︓One-Class SVM (OCSVM) 詳細︓https://datachemeng.com/ocsvm/ カーネル関数は、ガウシアンカーネルとする
  5. 非線形モデルの式 7 SVM SVR OCSVM ( ) ( ) 2

    ( ) ( ) , exp j j K γ = − − x x x x ( ) ( ) ( ) 1 ( ) , n j j j j f y K b α = = +  x x x ( ) ( ) * ( ) 1 ( ) , n j j j j f K b α α = = − +  x x x ( ) ( ) 1 ( ) , n j j j f K b α = = +  x x x n : サンプル数 y(j) : j 番目のトレーニングサンプルの目的変数の値 x(j) : j 番目のトレーニングサンプルの説明変数ベクトル αj , αj *: SVM, SVR, OCSVMモデリングにより求められる値 b : 定数項
  6. SVMモデルの微分 8 ( ) ( ) ( ) ( )

    ( ) 1 ( ) ( ) 1 , , n j j j j i i n j j j j i f y K b x x y K x α α = =   ∂ ∂ = +   ∂ ∂   ∂ = ∂   x x x x x カーネル関数 ( ) ( ) 2 ( ) ( ) , exp j j K γ = − − x x x x SVMモデル f(x) を xi で偏微分すると、 を xi で偏微分する
  7. カーネル関数の微分 9 ( ) ( ) ( ) ( )

    2 2 2 2 2 ( ) ( ) ( ) ( ) ( ) 1 1 2 2 ... ... j j j j j i i m m x x x x x x x x − = − + − + + − + + − x x ( ) ( ) ( ) ( ) 2 ( ) ( ) 2 2 ( ) ( ) , exp exp j j i i j j i K x x x γ γ γ ∂ ∂ = − − ∂ ∂ ∂ = − − − − ∂ x x x x x x x x より、 ( ) ( ) 2 ( ) ( ) 2 j j i i i x x x ∂ − = − − ∂ x x ( ) ( ) ( ) 2 ( ) ( ) ( ) , 2 exp j j j i i i K x x x γ γ ∂ = − − − ∂ x x x x よって、
  8. SVMモデルの微分 10 p.8, p.9 より、 ( ) ( ) (

    ) 2 ( ) ( ) ( ) 1 2 exp n j j j j i i j i f y x x x γ α γ = ∂ = − − − ∂  x x x
  9. SVMモデルの微分係数によって分かること 11 ( ) ( ) 2 ( ) (

    ) ( ) 1 2 exp n j j j j i i j y x x γ α γ = − − −  x x の値が正 (もしくは負) のとき、 あるサンプル x から 説明変数 xi の値だけを大きくしたとき、 クラス 1 (もしくは-1) の方向に変化するということ ( ) ( ) 2 ( ) ( ) ( ) 1 2 exp n j j j j i i j y x x γ α γ = − − −  x x の絶対値が 大きいということは、その変化が大きいということ
  10. SVRモデルの微分 12 ( ) ( ) ( ) ( )

    ( ) * ( ) 1 * ( ) 1 , , n j j j j i i n j j j j i f K b x x K x α α α α = =   ∂ ∂ = − +   ∂ ∂   ∂ = − ∂   x x x x x SVRモデル f(x) を xi で偏微分すると、 p. 9 より、 ( ) ( )( ) ( ) 2 * ( ) ( ) 1 2 exp n j j j j i i j i f x x x γ α α γ = ∂ = − − − − ∂  x x x
  11. SVRモデルの微分係数によって分かること 13 ( )( ) ( ) 2 * (

    ) ( ) 1 2 exp n j j j j i i j x x γ α α γ = − − − −  x x の値が正 (もしくは負) のとき、あるサンプル x から 説明変数 xi の値だけを大きくしたとき、 目的変数の値が正 (もしくは負) の方向に変化するということ の絶対値が 大きいということは、その変化が大きいということ ( )( ) ( ) 2 * ( ) ( ) 1 2 exp n j j j j i i j x x γ α α γ = − − − −  x x
  12. OCSVMモデルの微分 14 OCSVMモデル f(x) を xi で偏微分すると、 p. 9 より、

    ( ) ( ) ( ) 2 ( ) ( ) 1 2 exp n j j j i i j i f x x x γ α γ = ∂ = − − − ∂  x x x ( ) ( ) ( ) ( ) 1 ( ) 1 , , n j j j i i n j j j i f K b x x K x α α = =   ∂ ∂ = +   ∂ ∂   ∂ = ∂   x x x x x
  13. OCSVMモデルの微分係数によって分かること 15 ( ) ( ) 2 ( ) (

    ) 1 2 exp n j j j i i j x x γ α γ = − − −  x x の値が正 (もしくは負) のとき、 あるサンプル x から 説明変数 xi の値だけを大きくしたとき、 f(x) が大きく (もしくは小さく) なり、モデルの適用範囲内 (もしくは適用範囲外) の方向に変化するということ ( ) ( ) 2 ( ) ( ) 1 2 exp n j j j i i j x x γ α γ = − − −  x x の絶対値が 大きいということは、その変化が大きいということ