読んだ本
DeepLearningに必要な数学知識
偏微分
線形対数
微分とは?
y = f(x)
fという関数がある時、xの各点における傾きを示す関数を導くことを「微分する」という。
傾きを示す関数を「導関数」or「微分」という。
導関数により値がゆっくり変わるのか、急激に変わるのか、その変化の仕方を表す。
detail.chiebukuro.yahoo.co.jp
微分の表記方法は複数あり。上記の関数の場合、以下の通り。(他にも表記方法あり。以下は一部)
微分の記法 - Wikipedia
①y'
②f'(x)
偏微分とは?
変数を2つ以上持つ関数に対し、いづれか1つの変数に関して微分すること
例) 2変数関数 z=f(x,y)の場合
表記方法は以下の通り
dではなく∂(デル)
sigmac.hatenablog.jp
定義式は以下の通り。
導関数ではなく偏導関数という。
例) f(x,y) = x^2 + 3y + 1の場合
xの偏微分
f'(x)=((((x+∆x)^2)+3y+1)-(x^2 + 3y + 1))/∆x f'(x)=((x^2+2x∆x+∆x^2+3y+1)-(x^2+3y+1))/∆x f'(x)=(x^2+2x∆x+∆x^2+3y+1)-x^2-3y-1)/∆x f'(x)=2x∆x+∆x^2/∆x f'(x)=2x+∆x
f'(y)=((x^2+3(y+∆y)+1)-(x^2+3y+1))/∆y f'(y)=((x^2+3y+3∆y+1)-(x^2+3y+1))/∆y f'(y)=(x^2+3y+3∆y+1-x^2-3y-1)/∆y f'(y)=3∆y/∆y f'(y)=3
∆yはlimでなくなるため、偏微分は3
微分係数とは?
変数が任意の値の時の微分
例) 関数f(x,y) = x^2 + 3y + 1のx=aの場合
f'(a)=2a
上記関数をグラフにすると以下
x^2 + 3y + 1 - Google 検索
xの偏微分はyが任意の値の時のもの。(yが任意の値の時の平面で切断した時のグラフの断面)
yの偏微分はxが任意の値の時のもの。(xが任意の値の時の平面で切断した時のグラフの断面)
合成関数
以下の関係の関数f,uがある時
y=f(u)
u=g(x)
これらを関数zでまとめると以下表記
z=f(g(x))
zを合成関数と呼ぶ。
合成関数zの微分を関数f,gの微分を使って表記すると以下
z'(x)=f'(u)*g'(x)
合成関数の微分は、それぞれの関数の微分を掛け算したものになる。
これを連鎖律(chain rule)と呼ぶ
証明は以下の通り。
以下2つの関数の場合
y=u^2 u=x^2
これを普通に微分すると
y=x^4 y'=4x^3
※以下公式利用
y=x^n y'=nx^(n-1)
合成関数の連鎖律を使い微分すると、、、
1つ目の関数fを微分
y=u^2 f'(u)=((u+∆u)^2-u^2)/∆u f'(u)=(u^2+2u∆u+∆u^2-u^2)/∆u f'(u)=(2u∆u+∆u^2)/∆u f'(u)=2u+∆u f'(u)=2u
2つ目の関数を微分
u=x^2 〜省略〜 g'(x)=2x
2つの微分を掛け算
z'(x)=2u*2x z'(x)=2(x^2)*2x z'(x)=4x^3
普通に微分した場合と、合成関数の連鎖律を使った場合が同じ結果となった。
偏微分の合成関数
偏微分も合成関数の連鎖律が適用できるとのこと。
導出には全微分という考え方がある。
※難しそうなので、公式だけ覚える。
以下のように多変数関数zおよびui(i=1,...,n)が以下の式で与えられた場合
以下の公式が成り立つ。
連鎖律はニューラルネットワークの理論で頻繁に用いられるよう。
ひとまず理解はさておき、覚えて先に進んでみる。