![深度学习全书:公式+推导+代码+TensorFlow全程案例](https://wfqqreader-1252317822.image.myqcloud.com/cover/894/47216894/b_47216894.jpg)
上QQ阅读APP看书,第一时间看更新
2-3-2 微分定理
上述程序中的fd()函数为一阶导数,它们是如何求得的?只要运用以下微分的定理,就可以轻易解出上述范例的一阶导数,相关定理整理如下。
(1)f( x)一阶导数的表示法为f′(x)或。
(2)f( x)为常数(C)→f′(x)=0。
(3)f( x)=Cg( x)→f′(x)=Cg′( x)。
(4)f( x)=g( x)+h( x)→f′(x)=g′( x)+h′( x)。
(5)次方的规则:f( x)=xn →f′(x)=nxn−1。
(6)乘积的规则:。
(7)商的规则:若r( x)=s( x)/t( x),则。
(8)链式法则(Chain Rule):
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P44_914924.jpg?sign=1739185878-nhAq09foMChrV1X1avYF0XVFRrjdAGCQ-0-fe2911a868c9f46045b417bb5cb69d8d)
以上一节范例(2)f(x)=−10x2 +100x+5为例,针对多项式的每一项个别微分再相加,就得到f(x)的一阶导数为
f′(x)= -20 x + 100
SymPy库直接支持微积分函数的计算,可以验证定理,接下来我们就写一些程序来练习一下。
以下程序请参考02_04_微分.ipynb。
(1)f(x)为常数。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P44_632533.jpg?sign=1739185878-C2oYyAMJSrttqKqbuYKSgMgRepexOsAD-0-98b1e5e2137be0df0f4316fe3093705f)
执行结果:0。
(2)。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P44_632548.jpg?sign=1739185878-tq5ntiLvJEsHnBFRdob0n1GcSUfsOJOl-0-69c2158ae65948c132c32ba70115df9f)
执行结果均为10x。
(3)乘积的规则:。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P45_633002.jpg?sign=1739185878-XVD4t3gBSBMwxTkufqCFyyGvCVM9bCCY-0-ee33a26bfc3b31e836b38e81bbd396ef)
执行结果:5x4。
(4)链式法则:。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P45_633019.jpg?sign=1739185878-sNxEeDCVbflUxuHmME3owFSkv59yMZ0x-0-479c942c8096bdece38b5b4d6918691d)
执行结果:6x5。
(5)验证f(x)=−10x2 +100x+5。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P45_633026.jpg?sign=1739185878-5WbE4BgBc0krZJOlHEujIwZ846wDD2Ll-0-2f2f6f75329ca5aac12cd5979e9bd22e)
执行结果:100 -20x。
接着,利用一阶导数等于0,求最大值。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P46_633463.jpg?sign=1739185878-NjThwvWS2L2EksJKiU00WBYEElXynSxG-0-d20bb8f9adfb8e22032ffb0d5cdfd489)
执行结果:x=5时,最大值为255。
(6)验证f(x)= x2+2x+7。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P46_633470.jpg?sign=1739185878-7BRkgOqwcYcuovwLPmZxXQGzXkKbAq2U-0-f42bc476a242a8df29759ef13995a5c8)
执行结果:2x + 2。
接着,利用一阶导数等于0,求最小值。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P46_633477.jpg?sign=1739185878-eG3oBl5XUDhpWohqkX6AMSshtAFbeb19-0-3614daadd48a9ce8ba5c05175ceae564)
执行结果:x=-1时,最小值为6。