1. 程式人生 > >Descent Method for 最小化(最優化)問題 (二)

Descent Method for 最小化(最優化)問題 (二)

4 Nonlinear conjugate gradient (非線性共軛梯度下降法)

先從(線性)CG 演算法說起:

4.0 問題形式

(線性)CG演算法求解問題的兩種形式:
1. 線性方程 Ax=b 並且要求矩陣 A對稱正定矩陣
2. 最優化問題:

minxϕ(x)=12xTAxbTx
要求矩陣 A 對稱正定,這樣該問題是一個凸問題並且有最優解。根據最優解滿足 ϕ(x)=Axb=0,一般記為 r(x) 。在迭代過程中,第 K 步的殘差表示為 rk=Axkb

(注:向量積對列向量 X 求導運演算法則:
d(UVT)/dX=(dU/dX)VT+U(dVT/dX)
d

(UTV)/dX=(dUT/dX)V+(dVT/dX)U
則有:
d(XTA)/dX=(dXT/dX)A+(dA/dX)XT=IA+0XT=A
d(AX)/dXT=(d(XTAT)/dX)T=(AT)T=A
d(XTAX)/dX=(dXT/dX)AX+(d(AX)T/dX)X=AX+ATX

共軛性

給定一個非零向量集合 {p0,p1,,pn1} 和一個對稱正定矩陣 A ,如果向量集合相對於 A 是共軛的,當且僅當 pTiApj=0,ij

如果向量集合是共軛的,則他們之間是相互線性獨立的。

4.1 共軛方向演算法

共軛方向演算法 (Conjugate direction method) 不同於共軛梯度演算法,共軛向量提前給出。共軛梯度演算法則給出了共軛向量(方向)的計算方法。

(即假定共軛方向已知的情況下,如何計算最優化問題)

演算法描述:
1. 給定共軛方向集合 {p0,p1,,pn1} 和任意初始點 x0
2. 計算 xk+1=xk+αkpk
3. 計算最優步長 α :此時假定 xk 為已知量(定值),通過優化 ϕ(xk+αpk) ,求解後得到最優步長,即

αk=argmin(ϕ(xk+αpk))=argmin12(

相關推薦

Descent Method for 最優化問題

4 Nonlinear conjugate gradient (非線性共軛梯度下降法) 先從(線性)CG 演算法說起: 4.0 問題形式 (線性)CG演算法求解問題的兩種形式: 1. 線性方程 Ax=b 並且要求矩陣 A 是對稱正定矩陣。

Descent Method for 最優化問題

Descent Method - Gradient Method / Newton’s Method / Quasi-Newton methods / CG / et al. 0 Minimization Problem 通常,線性系統 Ax−b=0 ,

後右下角托盤圖示的實現

1.想要實現這樣的效果 2.我參考了“如何實現最小化後出現右下角圖示”http://www.cnblogs.com/weiqubo/archive/2010/12/25/1917013.html   "讓一個程式托盤顯示,並且右鍵托盤圖示可以彈出選單"http://www.

關於大後驗概率估計就是結構風險的詳解統計學習方法

(1)最大似然估計    這篇文章中提到,關於最大似然估計,使用頻率去估計概率,在拋硬幣問題中會得到正面向上的概率是0.7的結論,其原因是由於樣本數量太小,使用經驗風險最小化會出現過擬合現象。    經驗風險:即模型關於訓練樣本集的平均損失。(2)最大後驗概率估計:   為了

NSIS隱藏窗體標題欄自帶的button最大化,,關閉X)

簡單 ini tex call 定義 ongui col 分享 http 這個問題實在八月份逛csdn論壇的時候偶然遇到的,當時比較好奇樓主為啥要隱藏關閉button。就順口問了下,結果樓主已經棄樓。未給出原因,猜著可能是為了做自己定義頁面美化,無法改變按紐外觀之類的,

安裝完 RHEL/CentOS 7 後需要做的 30 件事情

and 腳本語言 clas 普通用戶 進一步 data gcc 編程語言 col 本文導航 -7. 安裝 PHP0 -8. 安裝 MariaDB 數據庫 -9. 安裝和配置 SSH 服務器 -10. 安裝 GCC (GNU 編譯器集) -11. 安裝 Java

martini-能量參數mdp文件

eve lte avi reduce let 就是 xpl file 實踐 1 ; 2 ; STANDARD MD INPUT OPTIONS FOR MARTINI 2.x 3 ; Updated 02 feb 2013 by DdJ 4 ; 5 ;

搭建LNMP環境基於安裝CentOS 6.5

解壓 hive ima zlib RM opp 客戶 killall 宋體 本文檔主要說明在單臺服務器上手動安裝LNMP環境的操作步驟,本文檔使用的系統版本可能與您的實際使用版本不同,您可以根據實際情況選擇相應版本。一、本文檔LNMP環境版本說明:OS:最小化安裝CentO

linux CentOS7安裝環境靜默安裝Oracle11GR2數據庫安裝操作系統環境

安裝環境 min htm .html ces 51cto done c89 設置 最小化安裝 linux CentOS7 我使用的鏡像包:CentOS-7-x86_64-Minimal-1708.iso通過方向鍵選擇:install centos 7回車 直接點擊:cont

linux CentOS7安裝環境靜默安裝Oracle11GR2數據庫安裝依賴包

rec water comm -h 靜默 -- ksh 上傳 c51 安裝Oracle11GR2所需要的依賴包 有高手寫成了這樣:yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-li

linux CentOS7安裝環境靜默安裝Oracle11GR2數據庫上傳安裝包並解壓

安裝環境 proc ora fff col 創建 粘貼 linux 最小 靜默安裝Oracle11GR2數據庫上傳數據庫安裝包並解壓 rz按提示選擇文件,添加確定;開始上傳; 文件比較大,預計需要傳幾分鐘;完成 創建一個目錄存放安裝包;mkdir -p /data/u01/

linux CentOS7安裝環境靜默安裝Oracle11GR2數據庫修改配置文件

shmall file-max 數據庫 安裝 tex rap png img entos linux CentOS7最小化安裝環境靜默安裝Oracle11GR2數據庫(修改配置文件) 一、修改內核文件: vim /etc/sysctl.conf 按一次 "i&qu

Linux Centos7.5 檢視IP地址 系統安裝

ps:        Linux Centos7.5 最小化系統預設是把網絡卡給沒開啟,所以檢視不了ip地址。而且無法使用ifconfig命令,會提示命令找不到。  1、進入網絡卡的配置檔案,進行修改。 首先

安裝CentOS 7後,圖形介面的安裝GNOME、KDE等

安裝圖形化介面: 1、首先安裝X(X Window System),命令為 yum groupinstall "X Window System"  2、檢查一下我們已經安裝的軟體以及可以安裝的軟體,用命令 yum grouplist 3、然後安裝我們需要的圖形介面軟體,如:GNOME(GN

輕量級流程圖控制元件GoJS示例連載

GoJS是一款功能強大,快速且輕量級的流程圖控制元件,可幫助你在JavaScript 和 HTML5 Canvas程式中建立流程圖,且極大地簡化你的JavaScript / Canvas 程式。 慧都網小編為大家準備了一套完整的GoJS的示例,將以連載的形式展開,供大家學習和交流討論。 這不是GoJS

ZOJ——Copying Books 大值問題 貪心 + 二分

題目連結: #include <cstdio> #include <cmath> #include<vector> #include<cstring> #include<algorithm> #include<cmath>

spring系統學習-之spirngMVC練習環境準備基於IDEA的spring容器與外接tomcat容器的和平共處

    這個學期,我們系統的學了基於spring的內容。 前面已經從邏輯上分別記錄了ioc與aop的spring的兩大核心功能:spring的IOC容器練習以及IOC的優勢對比練習;  AOP的優勢極其逐步推進練習。    之後整理了spr

CentOS安裝後IP的配置圖形手動及DHCP獲取IP地址

下面主講CentOS最小化安裝後IP的配置,即DHCP獲取IP地址、手動獲取靜態IP地址的方法。 一、CentOS最小化安裝後IP的配置(DHCP獲取IP地址) 圖形化Linux的DHCP好配置,我就不講了。主要講一下Linux最小化安裝後IP的配置。 linux最小化安裝後沒有ifco

大值大值儘量

給出是個序列,如1 2 3 2 5 4 ,將其劃分成m個連續的子序列,每個子序列最少有一個元素,怎樣使每個子序列的和的最大值最小 #include <iostream> #include <ctime> using namespace std;

linux CentOS7安裝環境靜默安裝Oracle11GR2資料庫靜默建立例項

執行安裝前的準備工作: 1.安裝作業系統:http://blog.51cto.com/mflag/23003592.安裝依賴包:http://blog.51cto.com/mflag/23009093.上傳並解壓安裝包;http://blog.51cto.com/mflag/23009124.修改配置檔