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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习: 共轭梯度算法(PCG)

發布時間:2024/1/17 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习: 共轭梯度算法(PCG) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天介紹數值計算和優化方法中非常有效的一種數值解法,共軛梯度法。我們知道,在解大型線性方程組的時候,很少會有一步到位的精確解析解,一般都需要通過迭代來進行逼近,而 PCG 就是這樣一種迭代逼近算法。

我們先從一種特殊的線性方程組的定義開始,比如我們需要解如下的線性方程組:

Ax=bAx=b

這里的 A(n×n)A(n×n) 是對稱,正定矩陣, b(n×1)b(n×1) 同樣也是已知的列向量,我們需要通過 AAbb 來求解 x(n×1)x(n×1), 這其實是我們熟知的一些線性系統的表達式。

直接求解

首先,我們來看一種直觀的解法,我們定義滿足如下關系的向量為關于 矩陣 AA 的共軛向量,

uTAv=0uTAv=0

因為矩陣 AA 是對稱正定矩陣,所以矩陣 AA 定義了一個內積空間:

?u,v?A:=?Au,v?=?u,ATv?=?u,Av?=uTAv?u,v?A:=?Au,v?=?u,ATv?=?u,Av?=uTAv

基于此,我們可以定義一組向量 PP

P={p1,,pn}P={p1,…,pn}

其中的向量 p1p1 , p2p2, … , pnpn 都是互為共軛的,那么 PP 構成了 RnRn 空間的一個基,上述方程的解 x?x? 可以表示成 PP 中向量的線性組合:

x?=i=1nαipix?=∑i=1nαipi

根據上面的表達式,我們可以得到:

Ax?=i=1nαiApipTkAx?=i=1nαipTkApi(Multiply left by?pTk)pTkb=i=1nαi?pk,pi?A(Ax?=b?and??u,v?A=uTAv)?pk,b?=αk?pk,pk?A(uTv=?u,v??and??ik:?pk,pi?A=0)Ax?=∑i=1nαiApipkTAx?=∑i=1nαipkTApi(Multiply left by?pkT)pkTb=∑i=1nαi?pk,pi?A(Ax?=b?and??u,v?A=uTAv)?pk,b?=αk?pk,pk?A(uTv=?u,v??and??i≠k:?pk,pi?A=0)
這意味著:

αk=?pk,b??pk,pk?Aαk=?pk,b??pk,pk?A

所以,如果我們要直接求解的,可以先對矩陣 AA 進行特征值分解,求出一系列的共軛向量,然后求出系數,最后可以得到方程的解 x?x?

迭代求解

上面的方法已經說明,x?x? 是一系列共軛向量 pp 的線性組合,學過 PCA 的都知道,可以用前面占比高的向量組合進行逼近,而不需要把所有的向量都組合到一起,PCG 也是用到了這種思想,通過仔細的挑選共軛向量 pp 來重建方程的解 x?x?

我們先來看下面的一個方程:

f(x)=12xTAx?xTb,xRnf(x)=12xTAx?xTb,x∈Rn

對上面的方程求導,我們可以得到:

D2f(x)=AD2f(x)=A

Df(x)=Ax?bDf(x)=Ax?b

可以看到,方程的一階導數就是我們需要解的線性方程組,令一階導數為 0,那么我們需要解的就是這樣一個線性方程組了。

假設我們隨機定義 xx 的一個初始向量為 x0x0,那么我們可以定義第一個共軛向量為 p0=b?Ax0p0=b?Ax0, 后續的基向量都是和梯度共軛的,所以稱為共軛梯度法。

下面給出詳細的算法流程:

而 preconditioned conjugate gradient method 與共軛梯度法的不同之處在于預先定義了一個特殊矩陣 MM

參考來源:wiki 百科

https://en.wikipedia.org/wiki/Conjugate_gradient_method#The_preconditioned_conjugate_gradient_method

轉載于:https://www.cnblogs.com/mtcnn/p/9412105.html

總結

以上是生活随笔為你收集整理的机器学习: 共轭梯度算法(PCG)的全部內容,希望文章能夠幫你解決所遇到的問題。

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