打字猴:1.70053666e+09
1700536660
1700536661 难度:★★☆☆☆
1700536662
1700536663
1700536664 给定优化问题,假设已经用代码实现了求目标函数值和求目标函数梯度的功能。请问,如何利用求目标函数值的功能来验证求目标函数梯度的功能是否正确?
1700536665
1700536666 分析与解答
1700536667
1700536668 根据梯度的定义,目标函数的梯度为
1700536669
1700536670
1700536671
1700536672
1700536673 (7.27)
1700536674
1700536675 其中对任意的i=1,2,…,n。梯度的第i个元素的定义为
1700536676
1700536677
1700536678
1700536679
1700536680 (7.28)
1700536681
1700536682 其中ei是单位向量,维度与θ相同,仅在第i个位置取值为1,其余位置取值为0。因此,可以取h为一个比较小的数(例如10−7),则有
1700536683
1700536684
1700536685
1700536686
1700536687 (7.29)
1700536688
1700536689 式(7.29)的左边为目标函数梯度的第i个分量,右边仅和目标函数值有关,二者应近似相等。
1700536690
1700536691 下面利用泰勒展开来计算该近似误差。令单变量函数
1700536692
1700536693
1700536694
1700536695
1700536696 (7.30)
1700536697
1700536698 根据泰勒展开及拉格朗日余项公式,式(7.30)可写为
1700536699
1700536700
1700536701
1700536702
1700536703 (7.31)
1700536704
1700536705 其中pi∈(0,h)。类似地,
1700536706
1700536707
1700536708
1700536709
[ 上一页 ]  [ :1.70053666e+09 ]  [ 下一页 ]