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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab格拉姆施密特,改进的格拉姆-施密特正交化(modified Gram-Schmidt Process)

發布時間:2025/4/5 循环神经网络 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab格拉姆施密特,改进的格拉姆-施密特正交化(modified Gram-Schmidt Process) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在重新學習線性代數,學習的教材是MIT Gilbert Strang 教授的《INTRODUCTION TO LINEAR ALGEBRA》,在第4.4章節格拉姆-施密特正交化時,書中章節末尾介紹了一種改進的格拉姆-施密特正交化方法,但書中給出了公式,省略了很多細節,給學習理解造成了一定的難度,為自己今后或者遇到同樣問題的朋友記錄一下公式的來由。

首先,介紹一下格拉姆施密特正交化的思想和方法。介紹正交化還得說說投影矩陣,我們在用最小二乘法解方程組的最優解的時候,由于Ax=b,b一般情況下,b并不一定存在于A的列空間中,這種情況下Ax=b其實是無解的,因為找不到列空間內合適的線性組合使其結果為b。這是后最小二乘法就派上用場了,最小二乘法的思想是,既然Ax=b無解,我們在列空間內找到一個向量p,下面這個方程組一定有解,那么怎么尋找p呢,最小二乘選取的p是使得||e||=||b-p||誤差最小的那個p,其實這個p就是b在A的列空間上的投影。前面說了那么一大堆就是為了引出投影,那這個投影是怎么做呢,推導這里我就省略了,直接給出投影矩陣P:

在線上的投影矩陣,這是后a是線上的向量:

在子空間上的投影矩陣:。

知道投影矩陣之后,那么為什么要正交化呢,有什么好處呢?投影矩陣中包含,使得普通的投影矩陣并不是那么漂亮,這一向給求解帶來了很大的麻煩,那么能不能消除它呢?答案就是找到A列空間的一組標準正交基Q,因為對于標準正交基有如下性質,如果我們能找到列空間的標準正交基(格拉姆-施密特正交化要做的事情),那么上面的投影矩陣P中A用Q代替,表達式變為:,神奇的發現投影矩陣中不好的部分不見了。這也是標準正交令人著迷的地方。那么怎么尋找標準正交基呢,我們知道一個向量子空間中有多種可能的標準正交基,格拉姆-施密特就為我們提供了一種尋找標準正交基的方法,思想很簡單:假設矩陣M=(?a b c),A列空間的第一列為第一個標準正交基向量的方向,令A=a,通過除去向量的模得到第一個基向量,那么第二基向量怎么求呢,答案就是通過投影得到在A上的投影,根據投影的知識知道這是后有是垂直于的,那么我們得到第二個基向量,如果M矩陣還有第3個列向量,那我們如何得到呢?思想和得到的思想一樣,對在和上做投影得到,, 重復第二步驟就可以得到所有的n個正交基向量,這就是格拉姆-施密特正交化。

格拉姆-施密特正交化是A的一個因子分解,叫QR分解,A=QR,Q就是格拉姆-施密特正交化的標準正交矩陣,R是一個上3角矩陣,假設M=(?a b c),M的QR分解是如下形式:

為什么R會是這樣的上3角矩陣呢,原因是格拉姆-施密特正交化的過程,a在和方向一致,所以在上投影為0,同樣b只在上有分量在上沒有分量,格拉姆-施密特正交化的過程保證了A前面的列不會在后面的正交向量方向有分量,因為后面的正交分量始終是垂直于前面的列構成的向量子空間,也就是說與前面的列向量都垂直。下面我們推導一下就是b在方向投影的模長,這對后面理解改進的格拉姆-施密特正交化至關重要。

b在上的投影由線上的投影矩陣知道:

,,可以推論R中其他項也是對于的向量在正交基向量上投影的模長。

前面的準備知識夠了,接下來,我們可以搬出改進的格拉姆-施密特正交化的公式了A是mxn階矩陣:

下面的公式從開始計算在上的模長(在上的模場由已經求得):

改進的格拉姆-施密特正交化就是上面的4個公式,下面我們就分析下這四個公式各自的含義:

就是QR分解中R對角線上的值,如果對應上面舉例的QR分解,那么,前面已經證明了R中的項是對應向量在正交基向量上投影的模長,是在方向上的投影,的表達式對應的正是在方向上的投影的模長。

是的第j個元素值,來源于前面的格拉姆-施密特正交化,,。

是QR分解中對角線之外的元素表達式,像的向量內積展開,這里有個小小的拐彎要知道,原來R矩陣第j列的元素對應的是,而這里通過迭代計算的方式,第一步,與元表達式一致,但是從第二次迭代開始,由第四個公式知道,這時,這時候的,因為,從幾何上理解與正交,在上的分量不會對在上的分量的模長產生貢獻,或者說在上的分量在上的投影為0,在計算到的投影時,可以先將在上的分量減掉。

就是在迭代過程中從減去前面計算過的方向分量的剩余補向量。

下面我們用改進的施密特正交化做一下上面介紹施密特正交化對M=(a b c)矩陣做的事情,直觀的看看它和標準的施密特正交化的不同之處:

摘抄一段書上改進的格萊姆-施密特正交化的matlab代碼:

for j=1:n? ? ? ? ? ? ? ? ? ? ? %modified Gram-Schmidt

v=A(:,j);? ? ? ? ? ? ? ? ? %v begins as column j of A

for i=1:j-1? ? ? ? ? ? ? ?%columns up to j-1, already settled in Q

R(i,j)=Q(:,i)'*v;? ?%compute

v=v-R(i,j)*Q(:,i); %subract the projection

end? ? ? ? ? ? ? ? ? ? ? ? %v is now perpendicular to all of

R(j,j)=norm(v);? ? ? ?%diagonal entries of R

Q(:,j)=v/R(j,j);? ? ? ? ?%normalize v to be the next unit vector q_{j}

end

總結

以上是生活随笔為你收集整理的matlab格拉姆施密特,改进的格拉姆-施密特正交化(modified Gram-Schmidt Process)的全部內容,希望文章能夠幫你解決所遇到的問題。

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