理解牛頓法

2021-10-10 17:04:51 字數 890 閱讀 7701

參考1

參考2

先看上邊參考鏈結,下邊是我補充的一些想法。補充想法的原因是,參考了很多文章,但理解思路之間差異很大。一半是說幾何理解的,即以直代曲,用切線的根去逼近原函式的根。一半是說數學理解的,即用泰勒公式近似,然後進行推導。但是求根用的是一階導數寫出切線,泰勒展開又要展成二階導數,讓我很困惑。下邊我經過思考,給這兩種思路聯絡了一下。

首先回到我們用牛頓法的初衷上,是為了求解函式極值。只不過函式比較複雜難以直接求解,所以考慮用迭代的方式去逼近。也即目標函式為:

求函式極值,也就是求導數為0的點。也就是求導函式f』(x)=0的根。這裡雖然我還寫的f』(x),但是指代的是導函式,而不是導數。導數只是乙個標量,是乙個變換率。而導函式是乙個函式曲線,是對原函式f(x)每一點求導之後形成的新曲線。這個思路的轉換很有意思,這樣就把求原函式f(x)極值的問題,轉換成了求新函式f』(x)=0的根的問題。

現在把對f』(x)=0進行求根作為我們的目標問題時,我們發現就回到了參考一的幾何視角上了。我們在導函式f』(x)曲線上某一點做切線,切線斜率就是對f』(x)求導,也就是原函式f(x)的二階導f』』(x)。可以寫出切線方程:

這裡令f』(xn+1)=0找到xn+1的值,也就是切線與x軸的交點,也就是我找的下一步迭代的目標點。

注意上邊這個公式,也就是對原函式做泰勒展開後,扔掉二次以上項:

然後再求導數為0找極值點的公式:

注意:上邊我們總假設令函式導數為0就可以得到極值,其實是不對的,還可以是駐點等等很多情況。這也是牛頓法不嚴謹的原因之一,並不肯定能收斂到極值點。)

牛頓法和擬牛頓法

正在學習牛頓法,找到一篇非常詳細的部落格,特將目錄整理下來,方便今後回想和查詢。一 牛頓法 主要內容 1 泰勒展開式。比較基礎。2 牛頓法。從其應用的兩個方面來介紹 2.1 求方程的根 一階泰勒展開。2.2 解決最優化問題 二階泰勒展開。此部分又分為兩種情況 二維情況和高維情況。其中,二維情況比較常...

牛頓法與擬牛頓法

看了幾篇關於牛頓法的相關介紹,感覺非常好,尤其是擬牛頓條件的推導以及dfp等演算法的推導過程十分詳細明了。這裡記錄一下,方便之後查閱 牛頓法 擬牛頓條件 dfp演算法 bfgs演算法 f bfgs演算法 1 牛頓法 newton s method 牛頓法是一種在實數域和複數域上近似求解方程的方法。方...

牛頓法和擬牛頓法

牛頓法和擬牛頓法是求解無約束最優化問題的常用方法,收斂速度快。牛頓法是迭代演算法,每一步需要求解目標函式的海塞矩陣 hesse matrix 的逆矩陣,計算複雜。擬牛頓法通過正定矩陣近似海塞矩陣的逆矩陣或海塞矩陣,計算速度快。牛頓法 考慮無約束優化問題 min f x 其中x 為目標函式的極小值點 ...