高博14將在110頁的6.2.1中寫到:
前面定義好的目標函式:
求解增量最直觀的方式是將目標函式在x附近進行泰勒展開:
這裡j是目標函式關於x的導數(雅克比矩陣),而h則是二階導數(海塞[hessian]矩陣)。我們可以選擇保留泰勒展開的一階二階項,對應的求解方法則為一階梯度或二階梯度法。如果保留一階梯度,那麼增量的解就為:
它的直觀意義非常簡單,只要我們沿著反向梯度方向前進即可。通常我們還會計算該方向上的乙個步長,求得最快的下降方式。這種方法被稱為最速下降法。
這裡有幾個問號臉(數學比較渣導致的):
1、j(x)是如何定義的?
2、增量的解怎麼求出來的?
3、增量的解為什麼有個轉置t?
4、梯度是什麼?
1、基本概念
1.1 方向導數
1.2 梯度的概念
如果考慮z=f(x,y)描繪的是一座在點(x,y)的高度為f(x,y)的山。那麼,某一點的梯度方向是在該點坡度最陡的方向,而梯度的大小告訴我們坡度到底有多陡。
這裡注意看,梯度算出來是個向量,而向量用矩陣表示一般是用列表示。下面用更一般的形式寫一寫:
對於乙個一維的y,對應乙個二維的自變數x,函式為:y=f(x),這裡
對於含有n個變數的標量函式,
1.3 梯度與方向導數
函式在某點的梯度是這樣乙個向量,它的方向與取得最大方向導數的方向一致,而它的模為方向導數的最大值。
1.4 梯度與等高線
函式z=f(x)在點p(x,y)的梯度的方向與過點的等高線f(x,y)=c在這點的法線的乙個方向相同,且從數值較低的等高線指向數值較高的等高線,而梯度的模等於函式在這個法線方向的方向導數。這個法線方向就是方向導數取得最大值的方向。
即負梯度方向為最速下降方向
資料結構 P11
include include include 2016年6月7日14 08 06 2016年6月7日20 32 52 struct arr 定義了乙個資料型別,名字叫arr,該資料型別含有三個成員 void init arr struct arr int 初始化 bool insert arr s...
P11 揹包問題的搜尋解法
對於01揹包問題,簡單的深搜的複雜度是o 2 n 就是列舉出所有2 n種將物品放入揹包的方案,然後找最優解。基本框架如下 procedure searchpack i,cur v,cur w if i n if cur w best best cur wreturnif cur v v i v se...
吉大人工智慧課P11,八數碼難題
main.c dong c2 created by 神威 on 2018 10 24.include include define m 3 define n 3 int b m n 目標狀態 int c 9999 9 用於儲存,已有過的狀態 int main int argc,const char ...