常用的微分运算法则
机器学习涉及到较多的数学知识,在工程应用领域,这些数学知识不是必要的,其实很多算法都是数值运算专家写好了的。然而知其然知其所以然,了解这些数学公式的来龙去脉是帮助理解算法的关键。本文直接给出常用的微分运算法则,并运用这些法则来计算分类回归算法 (Logistic Regression) 预测模型 Sigmoid Function 的微分公式。
基础函数的微分运算法则
- 幂函数法则
ddxxn=nxn−1 - 指数函数法则
ddxex=ex
ddxax=ln(a)ax - 对数函数法则
ddxln(x)=1x
ddxloga(x)=1xln(a) - 三角函数法则
ddxsin(x)=cos(x)
ddxcos(x)=−sin(x)
ddxtan(x)=sin2(x)=1cos2(x)=1+tan2(x) - 反三角函数法则
ddxarcsin(x)=11−x2‾‾‾‾‾‾‾√,−1<x<1
ddxarccos(x)=−11−x2‾‾‾‾‾‾‾√,−1<x<1
ddxarctan(x)=11+x2
组合函数的微分运算法则
- 常数法则:如果 f(x)=n ,n 是常数,则
f′=0 - 加法法则
(αf+βg)′=αf′+βg′ - 乘法法则
(fg)′=f′g+fg′ - 除法法则
(fg)′=f′g−fg′g2
根据除法法则和指数法则,可以得出推论
ddxe−x=ddx1ex=0−exe2x=−1ex=−e−x - 链接法则:如果 f(x)=h(g(x)) ,则
f′(x)=h′(g(x))g′(x)
计算 Sigmoid Function 的微分
g(x)=11+e−x 是分类算法的预测函数,也称为 Sigmoid Function 或 Logistic Function。我们利用上文介绍的微分运算法则来证明 Sigmoid Function 的一个特性:
ddxg(x)=g(x)(1−g(x))
方法一
假设 f(x)=1x ,则 f(g(x))=1g(x) ,根据除法法则得到
f′(g(x))=(1g(x))′=1′g(x)−1g′(x)g(x)2=−g′(x)g(x)2
其中 (17) 是根据除法法则得出的结论,除数是常数函数 1,被除数是 g(x) 。(18) 是根据常数法则得出的结论。
另一方面, f(g(x))=1g(x)=1+e−x ,根据指数法则直接计算微分得到
f′(g(x))=ddx(1+e−x)=−e−x=1−1g(x)=g(x)−1g(x)
(18) 和 (22) 两式是相等的,即
−g′(x)g(x)2g′(x)=g(x)−1g(x)=g(x)(1−g(x))
这样就得到了我们的结果。
方法二
由 g(x)=11+e−x 的定义可知
⇒⇒⇒⇒⇒⇒(1+e−x)g(x)=1ddx((1+e−x)g(x))=0−e−xg(x)+(1+e−x)ddxg(x)=0ddxg(x)=g(x)e−x1+e−xddxg(x)=g(x)(1+e−x)−11+e−xddxg(x)=g(x)[1−11+e−x]ddxg(x)=g(x)(1−g(x))
(26) 两边取微分;(27) 根据微分的乘法法则。
方法三
根据除法法则直接计算微分:
ddxg(x)=ddx(11+e−x)=0−(−e−x)(1+e−x)2=e−x(1+e−x)2=1(1+e−x)e−x(1+e−x)=1(1+e−x)(1+e−x)−1(1+e−x)=1(1+e−x)[1−1(1+e−x)]=g(x)(1−g(x))
(33) 是根据除法法则得出的,其中除数是常数 1,被除数是 1+e−x 。
参考资料
- StackExchange 上有个 Sigmoid Function 微分计算的问题及答案
- WikiPedia 上有关微分运算法则的资料
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
