日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Newton's Method 牛顿法求极值.

發布時間:2023/12/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Newton's Method 牛顿法求极值. 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UTF8gbsn

一元求根

首先從最簡單的牛頓法應用開始.牛頓法最簡單的一個應用是去求一個函數的根.其實原理很簡單.就是一個迭代.當然這些結論也是凸函數才會成立.

xn+1=xn?f(xn)f′(xn)x_{n+1}=x_n-\frac{f(x_n)}{f^{'}(x_n)}xn+1?=xn??f(xn?)f(xn?)?

比如我們來求y=x2y=x^2y=x2的根.如果出發點為x=2.0x=2.0x=2.0.那么其表現在函數圖象上為.

一元求極值

那么我們怎么來求極值?怎么用牛頓的方法來求極值?其實很簡單.極值存在的點,就是函數二次導為0的點.也就是說,我們可以把求極值的問題回歸到求根的問題.比如對于函數
y=1+(x?1)2+(x+1)4y=1+(x-1)^2+(x+1)^4y=1+(x?1)2+(x+1)4

畫出它的函數圖象

請看它的導數的函數圖象 y=2(x?1)+4(x+1)3y=2(x-1)+4(x+1)^3y=2(x?1)+4(x+1)3


由此可見原函數的極值出現在,導數的根,也就是導數為0的地方.所以我們回到求根的牛頓法得出下面的迭代函數.

xn+1=xn?f′(xn)f′′(xn)x_{n+1}=x_{n}-\frac{f^{'}(x_n)}{f^{''}(x_n)}xn+1?=xn??f(xn?)f(xn?)? 畫出迭代的圖象可得

這是一個一元函數的解法.下面我們來看看針對多元函數又怎么利用牛頓法來求極值呢?

多元函數求極值

我們先描述一下多元函數的牛頓法極值的算法步驟.

  • Compute the Newton step and decrement.
    Δxnt:=??2f(x)?1?f(x);λ2:=?f(x)T?2f(x)?1?f(x)\Delta x_{\mathrm{nt}}:=-\nabla^{2} f(x)^{-1} \nabla f(x) ; \quad \lambda^{2}:=\nabla f(x)^{T} \nabla^{2} f(x)^{-1} \nabla f(x)Δxnt?:=??2f(x)?1?f(x);λ2:=?f(x)T?2f(x)?1?f(x)

  • Stopping criterion. quit if λ2/2??\lambda^2/2\leqslant \epsilonλ2/2??

  • Line search. Choose step size t by backtracking line search.

  • Update x:=x+tΔxntx:=x+t \Delta x_{\mathrm{nt}}x:=x+tΔxnt?

首先,我們需要分析的前提是函數f(x)f(x)f(x)是一個凸函數.因為如果不是凸函數.那么分析的結論將不會成立.所以我們下面的討論都限制在f(x)f(x)f(x)是凸函數的基礎上.

牛頓法

如何來理解多元函數的牛頓法?
其實有幾種理解的思路.而我們這里主要采用其中一種.也就是二階泰勒展開.

f^(x+v)=f(x)+?f(x)Tv+12vT?2f(x)v\widehat{f}(x+v)=f(x)+\nabla f(x)^{T} v+\frac{1}{2} v^{T} \nabla^{2} f(x) vf?(x+v)=f(x)+?f(x)Tv+21?vT?2f(x)v

值得注意的是符號?2f(x)\nabla^2f(x)?2f(x)是hessian矩陣. (?2f?x12?2f?x1?x2??2f?x1?xn?2f?x2?x1?2f?x22??2f?x2?xn?????2f?xn?x1?2f?xn?x2??2f?xn2)\left( \begin{array}{cccc} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\partial x_n} \\ \frac{\partial^2 f}{\partial x_2\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_n\partial x_1} & \frac{\partial^2 f}{\partial x_n\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2} \end{array} \right)?????????x12??2f??x2??x1??2f???xn??x1??2f???x1??x2??2f??x22??2f???xn??x2??2f????????x1??xn??2f??x2??xn??2f???xn2??2f??????????

如果函數f(x)f(x)f(x)是一個凸函數,那么?2f(x)\nabla^2 f(x)?2f(x)就是半正定的.既然這個函數是半正定的.那么

f^(x+v)=f(x)+?f(x)Tv+12vT?2f(x)v,v=??2f(x)?1?f(x)\widehat{f}(x+v)=f(x)+\nabla f(x)^{T} v+\frac{1}{2} v^{T} \nabla^{2} f(x) v, v = -\nabla^{2} f(x)^{-1} \nabla f(x)f?(x+v)=f(x)+?f(x)Tv+21?vT?2f(x)v,v=??2f(x)?1?f(x)
就會減小.因為

?f(x)T(??2f(x)?1?f(x))=??f(x)T?2f(x)?1?f(x)\nabla f(x)^T (- \nabla^2f(x)^{-1}\nabla f(x))=-\nabla f(x)^T \nabla^2f(x)^{-1}\nabla f(x)?f(x)T(??2f(x)?1?f(x))=??f(x)T?2f(x)?1?f(x)
12(??2f(x)?1?f(x))T?2f(x)(??2f(x)?1?f(x))=12(??Tf(x)(?2f(x)?1)T)?2f(x)(??2f(x)?1?f(x))\frac{1}{2} (- \nabla^2f(x)^{-1}\nabla f(x))^{T} \nabla^{2} f(x) (- \nabla^2f(x)^{-1}\nabla f(x))=\frac{1}{2} (- \nabla^T f(x)(\nabla^2f(x)^{-1})^{T}) \nabla^{2} f(x) (- \nabla^2f(x)^{-1}\nabla f(x))21?(??2f(x)?1?f(x))T?2f(x)(??2f(x)?1?f(x))=21?(??Tf(x)(?2f(x)?1)T)?2f(x)(??2f(x)?1?f(x))
=12?Tf(x)(?2f(x)?1)T?f(x)=12?Tf(x)?2f(x)?1?f(x)=\frac{1}{2}\nabla^Tf(x)(\nabla^2f(x)^{-1})^T\nabla f(x)=\frac{1}{2}\nabla^Tf(x)\nabla^2f(x)^{-1}\nabla f(x)=21??Tf(x)(?2f(x)?1)T?f(x)=21??Tf(x)?2f(x)?1?f(x)
因為?2f(x)\nabla^2f(x)?2f(x)是一個實對稱矩陣,所以?2f(x)?1\nabla^2f(x)^{-1}?2f(x)?1也是一個實對稱矩陣.于是
f^(v)=f(x)?12?Tf(x)?2f(x)?1?f(x)\widehat{f}(v) = f(x)-\frac{1}{2}\nabla^Tf(x)\nabla^2f(x)^{-1}\nabla f(x)f?(v)=f(x)?21??Tf(x)?2f(x)?1?f(x)
因為?2f(x)\nabla^2f(x)?2f(x)是半正定的,所以?Tf(x)?2f(x)?1?f(x)?0\nabla^Tf(x)\nabla^2f(x)^{-1}\nabla f(x)\geqslant 0?Tf(x)?2f(x)?1?f(x)?0,顧而f(x)f(x)f(x)減小.如此以來可以證明牛頓法是可以求得極值的.當然我們略去了很多細節.只是粗略的闡述了牛頓法成立的邏輯.還有更多的一些邏輯.我希望留在綜合比較,梯度下降,共軛梯度下降和牛頓法這三個算法上面來闡述.

總結

以上是生活随笔為你收集整理的Newton's Method 牛顿法求极值.的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。