機器學習中的數學 三 牛頓法

2021-09-13 13:48:38 字數 1864 閱讀 8203

寫在前面    

《機器學習中的數學》系列主要列舉了在機器學習中用到的較多的數學知識,包括微積分,線性代數,概率統計,資訊理論以及凸優化等等。本系列重在描述基本概念,並不在應用的方面的做深入的**,如果想更深的了解某一方面的知識,請自行查詢研究。

牛頓法與梯度下降法相似,也是求解無約束最優化問題的常用方法,也有收斂速度快的優點。牛頓法是迭代演算法,每一步需要求解木變函式的海塞矩陣(hessian matrix)的逆矩陣。

1. 牛頓法的通俗解釋

牛頓法就是求解某個函式的極小值,這是通過求解該函式導數的零點來得到的。如下圖所示,圖中的函式影象就是目標函式的導數,求解目標函式極小值等價於求解下圖函式的零點。牛頓法求解零點的過程是這樣的:

①首先任意找一點x0作為起始點,在其對應的函式值yo處做函式的切線。切線與x軸的交點命名為x1。x1就是下一階段的起點。

② 和步驟①相似,在x1對應的函式值y1處做函式的切線。切線與x軸的交點命名為x2。x2是第三步的起點。

③ 同前兩步一樣,在x2對應的函式值y2處做函式的切線。切線與x軸的交點命名為x3。x3是第三步的起點。可以發現一步步的迭代,得到的x的值越來越靠近函式的零點。

④我們繼續,在x3對應的函式值y3處做函式的切線。切線與x軸的交點命名為x4。可以發現,x4已經相當地靠近函式的零點了。只要不停的迭代下去,直到得到的x值與零點的距離足夠小,滿足閾值,即|xn-x|

2. 牛頓法的數學解釋

牛頓法的通俗解釋就是通過迭代法一步一步的找到目標函式的極值,下面來講述一元函式和多元函式下牛頓法的數學解釋以及多元函式下牛頓法的演算法實現。

2.1 一元函式下牛頓法的數學解釋

根據第一部分的內容,一元函式在x0處的泰勒展開為:

只取前兩項,則有:

我們要找到f(x)的極小值點,等價於求f(x)導數的零點,所以我們將等式兩邊都進行微分並令其等於0:

可以得到關於x的等式:

上式就是牛頓法的第一步的迭代,由上式可以推導出牛頓法的通用迭代公式為:

根據該公式,即可通過一步步地迭代得到導數函式的零點即目標函式的極值點。

2.2 多元函式下牛頓法的數學解釋

與2.1過程一樣,對多元函式進行泰勒展開,然後兩邊微分並等於0,得到多元函式的牛頓法迭代公式為:

其中右邊第一項可以拆分為海塞矩陣(hessian matrix)與梯度的乘積:

所以每次的迭代只需求接在當前點的海塞矩陣以及梯度值即可求解下一目標點。

2.3 多元函式下牛頓法的演算法表達

為了更簡潔的表述牛頓法,做如下替換,令:

則迭代公式變為:

根據多元函式下牛頓法的數學解釋,其演算法表達如下:

注意:牛頓法由於迭代過程中要不斷的計算海塞矩陣的逆矩陣,計算比較複雜,所以有很多替代牛頓法的方法例如擬牛頓法(dfp, bfgs, broyden類演算法)等

機器學習數學基礎 牛頓法

關於牛頓法這裡講的很好,下面只是自己對牛頓法的乙個學習記錄。概述 牛頓法是一種優化演算法,利用迭代點處的一階導數 梯度 和二階導數 hessen矩陣 對目標函式進行二次函式近似,然後把二次模型的極小點作為新的迭代點,並不斷重複這一過程,直至求得滿足精度的近似極小值。牛頓法的速度相當快,而且能高度逼近...

機器學習筆記 牛頓法與擬牛頓法

提要 今天講的牛頓法與擬牛頓法是求解無約束問題最優化方法的常用方法。一 牛頓法 假設我們求下面函式的最小值 假設f x 具有連續的二階的連續偏導數,假設第k次迭代值為xk的值,那麼可將f x 在xk附近進行二階泰勒展開得到 我們對上述公式求導可得 假設其中 可逆,我們就可以得到牛頓法的迭代公式為 這...

機器學習筆記 牛頓法

吳恩達在機器學習中講到了牛頓法,再次做乙個通俗的解釋 1 求解方程。並不是所有的方程都有求根公式,或者求根公式很複雜,導致求解困難。利用牛頓法,可以迭代求解。原理是利用泰勒公式,在x0處展開,且展開到一階,即f x f x0 x x0 f x0 求解方程f x 0,即f x0 x x0 f x0 0...