Comments
Description
Transcript
勾配とヘッセ行列を用いた多変数関数(2 変数関数)の微分の計算
勾配とヘッセ行列を用いた多変数関数(2 変数関数)の微分の計算 f を 2 変数関数(一般の n 変数関数でも可)とするとき,勾配 ∇ f ,ヘッセ行列 H は f f fxy ∇ f = x ,H= xx fy f yx f y y () ( ( () ( f x1 f x 1, x1 ∇ f = ⋮ ,H= ⋮ fx f x ,x n ) n 1 … fx … … ⋮ f x ,x x 1, n n n ) ) という形で定義される.これらを用いると微分の計算は 1 変数の場合と同じ発想でできることが多 い.以下 2 変数関数(n 変数関数でも同様)は,2 次元ベクトル(n 次元ベクトル)を変数とする関数と x して扱う. 例えば, f ( x , y ) は f と同一視する. y (()) (1) 方向微分(方向導関数,方向微分係数) D f [⃗v ]( ⃗x )=∇ f ( ⃗x)⋅⃗v f の ⃗x における ⃗v 方向の方向微分は D f [ ⃗v ]( ⃗x )= lim ( f ( ⃗x +h ⃗ v )− f ( ⃗x ))/ h h →0 ∣ で定義される.もう少し簡単にこの定義は D f [ ⃗v ]( ⃗x )= ∂ f ( ⃗x +t ⃗v ) でもよい.この ∂t t=0 方向微分係数は ⃗v 方向の変化の割合を表す.この性質により,大きさが一定なら ∇ f に平行な方向が最も効率よく増えることが分かる. (2) 合成関数の微分 ⃗x (t)(ℝ → ℝ2 (ℝ n )) を実変数のベクトルに値を取る関数(各成分が 1 変数関数でできて いるベクトル) この(ベクトル)関数の微分は,各成分を微分したものとする. x (t ) x ' (t) x ' ' (t) ( ⃗x (t)= , ⃗x ' (t)= , ⃗x ' ' (t )= ) y( t) y ' (t) y ' ' (t ) ( ) ( ) ( ) このとき, F ( t)= f ( ⃗x ( t)) に対して次の公式が成り立つ. F ' (t)=∇ f ( ⃗x (t))⋅⃗x ' (t) , F ' ' ( t)=⃗x ' (t)⋅H ⃗x ' ( t)+∇ f (x (t))⋅⃗x ' ' (t ) (3) テイラー展開(テイラーの定理) f ( ⃗x )= f ( ⃗ a )+∇ f ( ⃗ a )⋅( ⃗x −⃗a )+( ⃗x – ⃗ a )⋅H ( ⃗x – ⃗ a )+R3 と表現することができる. ( ∇ f は勾配, H はヘッセ行列, R3 は剰余項) a )) とすると F (1)= f ( ⃗x ) . F ( t) に対して 1 変数のテイ (理由) F (t)= f ( ⃗a +t( ⃗x – ⃗ ラーの定理を適用すると 1 1 F (t)=F (0)+F ' (0)t+ F ' ' (0)t 2+…+ F (n−1)( 0)t n−1 +Rn , 2 (n−1)! v n=2 のとき(2 変数関数のとき) ⃗v = x =⃗x – ⃗ a と置くと vy F ( 0)= f ( ⃗ a ) , F ' (0)=v x f x (⃗ a )+v y f y (⃗ a )=(v x ∂ +v y ∂ ) f (⃗ a) ∂x ∂y 2 F ' ' (0)=v 2x f x x (⃗ a )+2 v x v y f x y (⃗ a )+v 2y f y y (⃗ a )=( v x ∂ +v y ∂ ) f (⃗ a ) ,... ∂x ∂y k F (k ) (0)=( v x ∂ +v y ∂ ) f (⃗ a ) , 特に k =0,1 では ∂x ∂y F ' (0)=∇ f ( ⃗a )⋅⃗v , F ' ' (0)=⃗v⋅H ⃗v と表すことができる.この性質は一般の n 変数 関数に対しても正しい. (示すべき式は n=3, t=1 の場合である.) ()