本文摘自邱锡鹏老师的《神经网络与深度学习》讲义
范数
矩阵的 p 范数为:
∥A∥=⎛⎝∑i=1m∑j=1n∣aij∣p⎞⎠1/p
导数
p 维向量 x∈Rp ,函数 y=f(x)=f(x1,⋯,xp)∈R ,则 y 关于 x 的导数为
∇xf(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂f(x)∂x1⋮∂f(x)∂xp⎤⎦⎥⎥⎥⎥⎥⎥⎥∈Rp
对于一个
p 维向量
x∈Rp ,函数
y=f(x)=f(x1,⋯,xp)∈Rq ,则
y 关于
x 的导数
∇xf(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂f1(x)∂x1⋮∂f1(x)∂xp⋯⋮⋯∂fq(x)∂x1⋮∂fq(x)∂xp⎤⎦⎥⎥⎥⎥⎥⎥⎥∈Rp×q
常见向量导数
∂Ax∂x=AT
∂xTA∂x=A
导数法则
乘法法则: y=f(x),z=g(x) ,则
∂yTz∂x=∂y∂xz+∂z∂xy
链式法则:
z=f(y),y=g(X) ,
X 为矩阵,则:
∂z∂Xij=tr((∂z∂y)T∂y∂Xij)
常用函数
定义 x=[x1,⋯,xK]T,z=[z1,⋯,zK]T ,
z=f(x)
f(x) 是按位运算的,即
(f(x))i=f(xi) ;则
f(x) 的导数为
∂f(x)∂x=[∂f(xj)∂xi]K×K=⎡⎣⎢⎢⎢⎢⎢f′(x1)0⋮00f′(x2)⋮0⋯⋯⋮⋯00⋮f′(xK)⎤⎦⎥⎥⎥⎥⎥=diag(f′(x))
logistic函数
logistic函数常用于将实数空间映射到 (0,1) 区间
σ(x)=11+e−x
其导数为
σ′(x)=σ(x)(1−σ(x))
softmax函数
softmax函数将多个标量映射为一个概率分布。
对于 K 个标量 x1,⋯,xK ,softmax函数定义为
zk=softmax(xk)=exp(xk)∑Ki=1exp(xi)
。
这样就将
K 个变量
x1,⋯,xK 转换为一个分布:
z1,⋯,zK 。
当softmax函数的输入为
K 维向量
x 时,
z^=softmax(x)=exp(x)1−TKexp(x)
其中
1−K=[1,⋯,1]K×1 是
K 维全1向量。
其导数为
∂softmax(x)∂x=diag(softmax(x))−softmax(x)softmax(x)T