常用的微分运算法则

来源:互联网 发布:怎么看设备端口号 编辑:程序博客网 时间:2024/04/29 20:28

机器学习涉及到较多的数学知识,在工程应用领域,这些数学知识不是必要的,其实很多算法都是数值运算专家写好了的。然而知其然知其所以然,了解这些数学公式的来龙去脉是帮助理解算法的关键。本文直接给出常用的微分运算法则,并运用这些法则来计算分类回归算法 (Logistic Regression) 预测模型 Sigmoid Function 的微分公式。

基础函数的微分运算法则

  • 幂函数法则
    ddxxn=nxn1
  • 指数函数法则
    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)=11x2,1<x<1

    ddxarccos(x)=11x2,1<x<1

    ddxarctan(x)=11+x2

组合函数的微分运算法则

  • 常数法则:如果 f(x)=n,n 是常数,则
    f=0
  • 加法法则
    (αf+βg)=αf+βg
  • 乘法法则
    (fg)=fg+fg
  • 除法法则
    (fg)=fgfgg2

    根据除法法则和指数法则,可以得出推论
    ddxex=ddx1ex=0exe2x=1ex=ex
  • 链接法则:如果 f(x)=h(g(x)),则
    f(x)=h(g(x))g(x)

计算 Sigmoid Function 的微分

g(x)=11+ex 是分类算法的预测函数,也称为 Sigmoid Function 或 Logistic Function。我们利用上文介绍的微分运算法则来证明 Sigmoid Function 的一个特性:

ddxg(x)=g(x)(1g(x))

方法一

假设 f(x)=1x,则 f(g(x))=1g(x),根据除法法则得到

f(g(x))=(1g(x))=1g(x)1g(x)g(x)2=g(x)g(x)2

其中 (17) 是根据除法法则得出的结论,除数是常数函数 1,被除数是 g(x)。(18) 是根据常数法则得出的结论。

另一方面,f(g(x))=1g(x)=1+ex,根据指数法则直接计算微分得到

f(g(x))=ddx(1+ex)=ex=11g(x)=g(x)1g(x)

(18) 和 (22) 两式是相等的,即

g(x)g(x)2g(x)=g(x)1g(x)=g(x)(1g(x))

这样就得到了我们的结果。

方法二

g(x)=11+ex 的定义可知

(1+ex)g(x)=1ddx((1+ex)g(x))=0exg(x)+(1+ex)ddxg(x)=0ddxg(x)=g(x)ex1+exddxg(x)=g(x)(1+ex)11+exddxg(x)=g(x)[111+ex]ddxg(x)=g(x)(1g(x))

(26) 两边取微分;(27) 根据微分的乘法法则。

方法三

根据除法法则直接计算微分:

ddxg(x)=ddx(11+ex)=0(ex)(1+ex)2=ex(1+ex)2=1(1+ex)ex(1+ex)=1(1+ex)(1+ex)1(1+ex)=1(1+ex)[11(1+ex)]=g(x)(1g(x))

(33) 是根据除法法则得出的,其中除数是常数 1,被除数是 1+ex

参考资料

  • StackExchange 上有个 Sigmoid Function 微分计算的问题及答案
  • WikiPedia 上有关微分运算法则的资料
0 0