微积分2-常见函数的导数

同步于Buracag的博客;音尘杂记

在微积分1中已经附上了一个常见函数形式的导数,下文主要是关于向量函数及其导数,以及在机器学习和神经网络中常见的Logistic函数、Softmax函数的导数形式。

1. 向量函数及其导数

在这里插入图片描述

2. 按位计算的向量函数及其导数

假设一个函数 f ( x ) f(x) f(x)的输入是标量 x x x。对于一组 K K K个标量 x 1 , . . . , x K x_1, ... , x_K x1,...,xK,我们可以通过 f ( x ) f(x) f(x)得到另外一组 K K K个标量 z 1 , . . . , z K z_1, ... , z_K z1,...,zK
(1.4) z k = f ( x k ) , ∀ k = 1 , . . . , K z_k = f(x_k), ∀k = 1, ... ,K \tag{1.4} zk=f(xk),k=1,...,K(1.4)
为了简便起见,我们定义 x = [ x 1 , . . . , x K ] T , z = [ z 1 , . . . , z K ] T x = [x_1, ... , x_K]^T,z = [z_1, ... , z_K]^T x=[x1,...,xK]Tz=[z1,...,zK]T
(1.5) z = f ( x ) z = f(x) \tag{1.5} z=f(x)(1.5)
其中 f ( x ) f(x) f(x)是按位运算的,即 [ f ( x ) ] i = f ( x i ) [f(x)]_i = f(x_i) [f(x)]i=f(xi)

x x x为标量时, f ( x ) f(x) f(x)的导数记为 f ′ ( x ) f′(x) f(x)。当输入为 K K K维向量 x = [ x 1 , . . . , x K ] T x = [x_1, ... , x_K]^T x=[x1,...,xK]T时,其导数为一个对角矩阵。
在这里插入图片描述

3. Logistic函数的导数

关于logistic函数其实在博文’Logistic loss函数’中已经有所介绍,接下来要说是更广义的logistic函数的定义:
(1.7) l o g i s t i c ( x ) = L 1 + e x p ( − k ( x − x 0 ) ) logistic(x) = \frac{L}{1 + exp(−k(x − x_0))} \tag{1.7} logistic(x)=1+exp(k(xx0))L(1.7)
其中, x 0 x_0 x0是中心点, L L L是最大值, k k k是曲线的倾斜度。下图给出了几种不同参数的Logistic函数曲线。当 x x x趋向于 − ∞ −\infty 时,logistic(x)接近于0;当 x x x趋向于 + ∞ +\infty +时,logistic(x) 接近于 L L L
在这里插入图片描述

当参数为( k = 1 , x 0 = 0 , L = 1 k = 1, x_0 = 0, L = 1 k=1,x0=0,L=1) 时,Logistic 函数称为标准Logistic 函数,记为f(x)。
(1.8) f ( x ) = 1 1 + e x p ( − x ) f(x) = \frac{1}{1 + exp(−x)} \tag{1.8} f(x)=1+exp(x)1(1.8)
标准logistic函数有两个重要的性质如下:
在这里插入图片描述

当输入为 K K K维向量 x = [ x 1 , . . . , x K ] T x=[x_1, ..., x_K]^T x=[x1,...,xK]T时,其导数为:
(1.11) f ′ ( x ) = d i a g ( f ( x ) ⊙ ( 1 − f ( x ) ) ) f'(x) = diag(f(x) \odot (1 − f(x))) \tag{1.11} f(x)=diag(f(x)(1f(x)))(1.11)

4. Softmax函数的导数

Softmax函数是将多个标量映射为一个概率分布。对于 K K K个标量 x 1 , . . . , x K x_1, ... , x_K x1,...,xK,softmax 函数定义为
(1.12) z k = s o f t m a x ( x k ) = e x p ( x k ) ∑ i = 1 K e x p ( x i ) z_k = softmax(x_k) = \frac{exp(x_k)}{\sum_{i=1}^{K}exp(x_i)} \tag{1.12} zk=softmax(xk)=i=1Kexp(xi)exp(xk)(1.12)
这样,我们可以将 K K K个变量 x 1 , . . . , x K x_1, ... , x_K x1,...,xK转换为一个分布: z 1 , . . . , z K z_1, ... , z_K z1,...,zK,满足
(1.13) z k ∈ [ 0 , 1 ] , ∀ k , ∑ k = 1 K z k = 1 z_k \in [0, 1], ∀k, \quad \sum_{k=1}^{K}z_k = 1 \tag{1.13} zk[0,1],k,k=1Kzk=1(1.13)
当Softmax函数的输入为 K K K维向量 x x x时,
在这里插入图片描述
其中 1 K = [ 1 , . . . , 1 ] K × 1 1_K = [1, ... , 1]_{K×1} 1K=[1,...,1]K×1 K K K维的全1向量。

Softmax函数的导数为
在这里插入图片描述
其中式(1.16)请参考 ‘微积分1-导数’ 式(1.13)。

主要参考https://github.com/nndl/nndl.github.io

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值