x^r: rx^r-1
e^x : e^x
a^x : a^x log[e]a
log[e]x : 1/x
sinx : cos x
cos x : -sing x
tan x : 1/cos^2x
sinx → cos x -> -sin x -> -cos x
合成関数の微分
y = f(x), dy/dx = dy/du * du/dx
合成関数(多変数) z = f(x, y)の微分法
(3x – 4)^50 を微分すると、50(3x – 4)^49 * 3 = 150(3x – 4)^49
(3x + 1)^2 + (x + y + 1)^3
2(3x + 1)* 3 + 3(x + y + 1)^2
xe^x -> 1e^x + x*e^x
正解データとニューラルネットワークの出力が合うように、ニューラルネットワークの重み(w)を調整
ニューラルネットワークの重みの調整量は誤差の値を重みで偏微分した値を考慮したもの
チェーンルールを使う
シグモイド関数
Sa(x) = 1 / 1 + exp(-ax)
dSa(x)/dx = a*exp(-ax) / {1 + exp(-ax)}^2 = aSa(x){1 – Sa(x)}
これ(aSa(x){1 – Sa(x)})をさらにxで微分する
ReLU関数
max(0, x) = {x(x > 0), 0(x <= 0)
= 1(x > 0), 0(x < 0)
標準シグモイド関数は微分すると、最大値が0.25 ニューラルネットワークの層が不快と、誤差が伝播しなくなる。その解決値としてReLU関数が多く使用されている
=> これあれだな、基礎数学もプログラミングみたいに、基礎本を10冊くらいやらんとあかんな。。