一般向量空间的基变换_从希尔伯特空间的角度看线性变换的一般思想和问题
一般線性變換以及傅里葉變換,歐氏變換,仿射變換,余弦變換,小波變換,拉普拉斯變換,Z變換,希爾伯特變換等等這些所謂的變換太多了,這些到底搞得是什么?怎么像云像霧又像風呢?怎么才能徹底理解它們?它們究竟解決什么問題?這個問題目前到底解決的怎么樣了?下面引用兩個教師的感慨:第一個老師說:我退休后一個最大的愿望就是搞清楚線性代數到底講的是啥?特征值,特征向量到底怎么回事,看書好像理解了,放下書好像又什么也沒有理解,糊里糊涂,以后退休了一定要好好學習一下線性代數,一定搞清楚到底是什么,了卻自己的心愿;另外一個老師說:我是一個好好學習的學生,學習的是工程方面的專業,希望自己能夠成為一個有成就的科技工作者,可是一學習到傅里葉變換,什么時域和頻域變換,就糊涂了,迷失了自己,從此不能自拔,最后放棄做科研工作了。
很容易理解第一位教師的感慨,做了教師,一天到晚忙著教學,而教學的內容也不太涉及線性代數的知識,就是涉及到,也可以依葫蘆畫瓢將教材的內容講清楚,但是感覺總是缺少點什么,知其然不知道所以然,本打算仔細學習線性代數,但是沒有時間和精力,就是很下心學一段時間,仍然不得要領。對于第二位老師的感慨,確實很多人被這時域和頻域搞得頭昏,以為自己沒有科研天賦,從此告別科研工作,選擇其它道路了。
到底怎么回事,這些所謂的變換概念到底是什么?搞得人們似乎懂了,可是一轉身又感覺什么也不懂呢!其實這是普通大學培養體系里面急功近利造成的。工科大學培養的出發點是工匠而不是工程師,結果是理論體系不充分,知識結構不完備,那就很難理解線性變換了。事實上,任何理工科大學本科生必須認真學習完傅里葉分析,復分析,實分析和泛函分析,否則根本沒有能力徹底理解線性變換的思想,而在上研究生階段時,一般學過這四門課程,可是課堂上講的都是該門課程教材前3章的內容,主要內容沒涉及到,使得學生誤以為自己學完了這些課程的全部內容,其實這還不如不學,不學還能想起來認真學一下,而課堂上正規教學卻只學一點,學生以為都學完了,就沒有再深入學習的計劃和想法,這才是最害人的。我們下面一點點講述,試圖徹底講清楚,同時給出一些變換的局限性和未來的發展思路,這僅僅是個人的理解,其中理解可能是錯誤的,歡迎看到的讀者指正,同時也希望讀者批判的看這些理解,以懷疑的態度對待它。
使用數學工具描述客觀世界,這是人類認識,理解和運用客觀事物的前提,當然描述這個客觀世界的數學工具越是簡單越好,但簡單不是粗略,而是要求精確的同時簡單。那么簡單就意味著參數少,同時盡量使用初等函數。如果我們能夠使用參數少而且簡單的初等函數描述這個客觀世界,那將是多么令人激動的事情,事實上,萬有引力定律公式,牛頓第二定律真的非常簡單而又準確地描述了客觀世界的運動,因此才有“天不生牛頓,萬古如長夜“之說,而且這個說法是世人公認的,絕無異議,無論多么守舊的人都無法否認。現在我們看如何描述一個橢圓:要描述一個橢圓,至少需要二個參數,現在大家都知道橢圓中心在坐標原點,長軸在
軸的公式就是 ,這里面只要 兩個參數就可以描述橢圓。這里很容易注意到,如果沒有笛卡爾建立坐標系,我們根本無法使用數學公式描述橢圓,也談不上操縱它了。比如使用機床刀具切割一個橢圓盤,根據這個公式使用計算機編程就可以控制刀具位置,實現橢圓盤的切割了。現在我們看橢圓的中心點不在原點,而且橢圓長軸和坐標軸不重合的情況,即一般斜橢圓公式: ,這時描述的橢圓至少需要5個參數,公式也變得較為復雜了,和標準方程相比較還有一個非常嚴重的問題就是從這5個參數中看不出來任何橢圓的特征,但是從標準方程立刻就能判斷橢圓的大體形狀,因為根據 和 的數值,即可得出長軸和短軸的大小,也就是參數反映了具體的幾何意義,而橢圓一般方程中的參數不能直接反映橢圓本身的特征。為什么出現這種情況呢?原因是這些參數將橢圓本身特征和橢圓的位置關系混在一起了,而當我們僅僅希望了解橢圓的本身特征時,當然要將這些位置關系去掉,這就是我們熟悉的坐標變換,也就是通過旋轉和平移變換,即歐氏變換,將坐標軸旋轉到和橢圓的長軸或者短軸重合,橢圓中心點和坐標原點重合即可。這樣做就簡化了橢圓方程,通過參數直接發現了橢圓的特征和規律,我們很容易理解這種變換是十分有現實意義的。比如我們在工程設計的時候,通過運算得到了一個橢圓形狀的工件,我們只要將它轉換成標準方程,告訴加工方兩個參數,也就是長短軸即可,否則至少要告訴5個參數,既浪費通訊成本,也容易出錯,這僅僅是一個小的例子,現實生活中數據量特別龐大,如果能通過這種類似變換,實現少數參數即可描述復雜目標,那樣意義就重大了。退一步講,在不影響實際應用的前提下,如果使用這種類似變換生成少數參數能近似描述復雜的目標,意義同樣重大啊!所有的變換都是基于這種思想考慮創立的。現在我們轉換一個角度,現實生活中,我們描述任何一個物體,一定要有一個描述他的參考系統。假如我們要描述一個名字叫張三,土生土長的廣東人,描述他的參考系統是30個長得完全互相不相像的土生土長的東北人,于是我們要從這30個東北人中挑選一個鼻梁較短的
,他的鼻梁和張三最相似;挑選 ,他的個頭和張三最相似,挑選 ,他的皮膚和張三最相似,如此下去,挑選 等等,我們將這30人放在一起,相似的特征賦給一個數值,不相似的統統給0,這樣我們雖然沒有見到張三這個人,但是通過從這些東北人挑選的局部特征中,能夠基本認識張三。現在我們不從東北人中挑選,而是從張三的家族中挑選,這下我們立刻會發現,工作量小多了,他兄弟的鼻子和眼睛都和他相似,他舅舅的額頭,下巴等和他相似,這樣,我們只要找三個或者四個人就可以將張三大體描述出來。由此看來,我們在不同的集合里面,尋找不同的對象描述同一個物體,這個對象系統很重要。現在我們夸張一點,從全體貓咪中選擇和張三局部特征相似的貓咪來描述張三,估計這下慘了,找100個貓咪也很難描述清楚張三,就是近似描述也不容易做到,畢竟找一個直立行走,嘴巴和鼻梁分開,一頭黑發,脖子以下光溜溜的貓咪不容易啊!上面的例子有幾個關鍵的東西:第一個是描述張三的參考系統,也就是全體東北人,第二個就是選擇長得完全不想象的30個東北人,張三只需要和這30個人比較就可以了,第三個就是張三和某個東北人的局部身體特征的相似性計算問題。這三個問題搞明白了,也就搞清楚所有的線性變換的基本思想了。
第一個問題是參考系統,也就是所有參照物的集合,也就是所有元素的集合,對照這個例子就是所有東北人的集合,我們希望張三如果也是東北人最好了,也就是我們研究的目標是參照系統里面的一個分子,否則正如我們上面的例子,如果選用全體貓咪的集合來描述張三,那么就很困難了,甚至無法描述。因此我們研究一個目標時候,選擇的參考系統也就是集合一定含有這個目標,這就是Banach空間,也就是完備的賦范線性空間。這個空間意味著任何一個元素列收斂于該空間。
第二問題就是典型的元素問題,也就是有代表性的元素確定問題。上面我們選擇30個完全不相似的東北人來代表所有的東北人。為什么要這樣呢?現在又涉及到一個簡化問題,全體東北人太多了,我們不可能將張三和每一個東北人的鼻子進行相似性評判,我們只要和代表性的具有不同特征東北人進行比較即可,也就是簡化集合里面的元素,這個也是可以理解的。一個集合里面可能有無數個元素,我們如果要盡量簡單的表達這個集合,顯然就希望選擇代表性的元素,而集合中的其它任何元素都能夠被這些具有代表性的元素表達出來,而這些元素組成的集合又是能表達所有元素的最小集合,于是很顯然的得出了線性無關組的概念,也就是找到集合中的最大線性無關組,那么其它所有的元素都能夠被這個線性無關組表達。具體到一個函數組成的空間,我們希望能夠找到一組基函數,空間里所有函數能夠被這組函數表達出來。我們沒有具體講線性空間,線性無關,線性相關等概念,這些概念不是我們要講述的,任何一本線性代數教材都可以查找到。
第三個問題就是元素的相似性計算問題。也就是我們采用什么手段來評判張三的鼻子和某一個東北人的鼻子相似程度,我們總不能靠感覺說像還是不像,要給出數學公式,這就是空間的內積定義,也就是定義內積的Banach空間,即希爾伯特空間了。從希爾伯特空間的角度上說,任何兩個元素進行內積運算,就是比較這兩個元素的相似程度。至于內積到底是什么,泛函分析給出一般定義,用戶只要尋找一個具體的運算方式滿足這個一般的定義就可以了。
我們談到了上面的三個問題,涉及到完備的線性空間,即Banach空間,元素的線性表達,定義了內積的希爾伯特空間,這就是泛函分析的基本內容。本來這種簡單而精確的表達思想就是針對Lebesgue空間的可測函數的表達問題,結果一抽象,抽象到張三的描述問題,完全脫離了函數問題,變成了針對希爾伯特空間的抽象元素的表達,不論什么集合,只要元素中定義了范數,定義了內積,具有完備性,就是希爾伯特空間,是希爾伯特空間就可以對任何一個元素進行描述了。上面講了幾個概念,讀者查查就可以了解到底是什么,不要說這里講難了,數學是哲學,總要給出一些定義和概念,否則說不清楚,關鍵是讀者別將這些概念神秘化就可以了。
那么我們回到出發點,首先看看傅里葉變換搞得是什么東西,就從前面我們談到的三個問題入手進行討論。為了簡化,我們假如所有的在區間
連續函數的全體集合構成一個線性空間 ,這個區間上有一個函數 ,這個函數挺復雜的,我們希望看到它的本身特征,不被其它類似于上面討論的一般斜橢圓中的位置等因素的影響。也就是從這個線性空間中尋找一組函數,用這組函數來表達 ,我們現在使用這樣一組函數: , , , , , , , , 。這組函數是線性空間上的最大線性無關組,也就是它們都是互不相關的,因此該空間的所有的元素都被它們線性表出,我們稱這些函數為基函數。現在有兩個問題需要研究一下,第一個小問題就是為什么選擇它們作為基函數,這個可以胡攪蠻纏的說所有線性無關函數組都想作為基函數,試一試用這些函數描述 ,這其實是說的過去的,我們做研究,發現一組線性無關的函數組,就想試一試用它表達 看看有什么規律,難道不行嗎?這當然是可以的,如果說總得給出一個理由吧,基函數太多了,選這一組有什么考慮呢?其實是有考慮的!我們看看這組函數只有一個參數,那就是頻率,也就是 ,這表明一個顯著的問題,那就是這些基函數完全由它的頻率決定,現在我們用它們描述 就想看看這個函數有哪些頻率的函數組成。這個不能再說了,再說就沒意思了,第二個小問題是,我們怎么知道這組函數是線性無關的,此處想投機取巧的說一句,高頻信號是不可能被低頻信號線性表達出來的,如同一個博士生是不可能被一些具有各種各樣能力的小學生合在一起取代的,當然這是可以嚴格證明的,我們不去討論;另外就是這些函數是線性空間的極大線性無關組,也就是基函數組,這是怎么得出來的?這次要搬出一副故作高深的面孔訓你一下了,難道不知道Weierstrass逼近定理嗎?這兩個小問題我們不去深究的原因是擔心沖淡我們現在要討論的主題。現在我們不能再拖下去了,需要立刻討論上面談到的第三個大問題,就是如何定義內積來度量 和這組基函數的相似性問題,也就是 和 相似程度,和 的相似程度,和 的相似程度, , 和 的相似程度,和 的相似程度, 等等。怎樣定義這個相似度的運算呢?沒辦法,我們還得求助于傳統歐氏空間中兩個向量的相似性計算。我們知道歐氏空間兩個向量,假設是二維向量 ,那么的內積定義是 ,其中 是向量 和 的夾角。這個內積的定義是什么意思呢?這樣看,如果坐標系的 軸和向量 的方向重合,那么,這是很明顯的,因為此時 , 那么 ,而 , 因此,這個很容易看出來就是向量 在 軸的投影再乘以 的大小,如果 軸和 不重合,那么很容易發現這個內積就是向量 在向量 上的投影再乘以 的大小。我們再進一步舉例,如果 為0,則內積就是這兩個向量大小的乘積, 角度越大,內積越小,當為90度的時候, 為0,當 大于90度的時候,則為負值,因為 為負值。現在我們看明白了,這個內積就是衡量兩個向量的相似度。我們再進一步演算,沒辦法,本文也不想搞數學公式推導,但是不推導就不搞清楚它的內涵,下面要進行簡單的運算,看看這種方法定義的內積又可以寫成什么形式。現在假設向量 和向量 和 軸的夾角分別為 和 ,顯然有 ,于是有從上面的公式,我們看出兩個向量的相似度就是它們對應坐標的乘積,也就是內積是它們對應坐標的乘積。那么現在我們如何根據這種思想計算
和 以及 的相似度呢?我們將區間
進行剖分,分為 等份,則有 ,那么函數 的函數值可以近似為 ,而 可以近似的看成 ,這是兩個 維向量啊!根據上面歐氏空間內積的定義,那么就有 相似性可以表達為 ,由于是等分,可以在該求和號外乘以 ,于是有 定義如下,故有 ,這兒的內積定義之所以乘以 是確保坐標系是標準正交坐標系,但是我們可以看出,乘以一個常數并不改變相似性。從上面的分析,我們立刻明白所謂傅里葉變換其實就是計算 和各個三角函數的相似性,而這些三角函數之間的內積為0,就是它們之間不相似。我們推廣歐氏空間的概念,內積為0就是 和 垂直, 和 的內積就是 在 的投影,于是我們立刻就聯想到 基函數系列可以看作坐標軸,而 和它們的內積就是在各個坐標軸上的坐標,這樣一來就建立起了所有基函數都可以看作坐標軸,而內積就是坐標,這個坐標反映了函數 在各個坐標上投影的方向和大小。這樣一來我們得出兩個基本結論,第一個結論就是只要在空間
中選擇一組正交基函數,就相當于建立了一個新的坐標系, 與它們做內積運算,其值就是對應于這些基函數的坐標,也就是給定一組坐標,就得到一組內積值即坐標值,那么我們就給它取一個新的名詞就是某某變換,比如給定一組小波基,那么就是小波變換,給定一組Chebyshev多項式函數作為基函數,那就是余弦變換等等,這就類似于歐氏空間中二維坐標變換以及三維坐標變換一樣的概念,也是它們的推廣,這種推廣理解起來應該是自然的。第二個結論就是坐標的理解,那就是一個函數在基函數上的投影,也就是該函數和基函數的相似度,而基函數也就是坐標軸,因此它們之間的內積為0,也就是它們之間完全不相關,更直觀的說就是它們互相垂直,這點很重要,類似于三維坐標系或者二維坐標系,它們是直角坐標系。那么對于一個函數,在一個基函數上的投影,就是該函數在基函數上的分量,這就意味著這些投影都是獨立的,是最簡單的表示。我們再回歸到傅里葉變換,選定三角基函數,傅里葉變換后獲得的
,就是 與 的相似度,也是在 的投影,也稱為在 上的坐標,這樣一來,我們可以作一個極端的假設,如果 ,那么它在基函數 上的坐標是多少呢?我們立刻可以計算出來就是 ,這是什么意思啊?這就是 與基函數組中各個基函數的相似度是多少啊?想想當然是該函數與基函數中 最相似,與其它函數相似性為0了,自己當然和自己最相似了。于是我們說函數 含有傅里葉基函數組中的頻率為1的分量(因為基函數組中 的頻率為1),不含其它分量。于是對于任何 ,我們通過傅里葉變換,就可以看到它在各個不同頻率的三角函數下的相似性大小,也就是傅里葉變換得到的項的值的大小,也就是內積的值的大小,進而判讀這個函數含有高頻信號多少,低頻信號多少,于是給出了一個新的名詞,這就是所謂的時域分析變換到頻域分析,也就是時頻變換,這個簡單的概念由于初學者沒有泛函分析的思想,就搞暈了。我們再看 這個函數,當然也可以稱為信號,它只含有低頻信號 ,沒有其高頻信號,比如 等。于是,對于一個函數,通過傅里葉變換,我們大體能看到該函數的變化情況,得到的高頻值越大,說明函數的起伏變化越是劇烈,反之信號越是平滑,這對于我們具體應用幫助很大,比如噪聲信號一般是高頻信號,我們可以將高頻信號舍去,只是使用低頻信號重構原始信號,就起到過濾噪聲的效果,怎么重構信號呢?下面接著講。如果沒有希爾伯特空間的概念,就一下子難以理解函數重構了,但是想想歐氏空間是怎么寫一個向量的?假如二維坐標系下一個向量為
,其坐標表示為 ,坐標向量為 ,難么該向量可以寫為 ,如果這種向量寫作的形式概念建立不起來就麻煩了,這個應該是學習向量分析課程建立的思想,但是學習過線性代數的學生都知道,這是線性組合啊, 是線性無關組, 是它們的線性組合,這是很自然的,但是很多人無法將現實看見的歐氏二維或者三維空間推廣到一般線性空間,也就是向量空間,因此就無法理解這樣的線性表達了,現在我們獲得的傅里葉變換就是坐標,那么原函數 也就是坐標和基函數的內積之和,這當然也是線性組合,這與向量空間表達一個向量完全是一回事,我們也稱這是傅里葉逆變換,也就是所謂的原函數重構,如果學習過泛函分析的投影算了概念,這是很自然的事情,完全不用理解什么線性表達,向量空間等概念。那么可以看出來對于,通過有限項就可以精確重構函數 ,事實上這個有限項就是一項,我們前面已經計算他們的相似度為 ,于是 。那么如果 ,那么在傅里葉基函數下的坐標又是什么?也就是函數與 下面這些傅里葉基函數 的相似度是多少呢?那就做內積運算啊,但是可以想象,一條直線和一條三角函數曲線的相似性,那差別就大了!也就是希望使用有限項坐標,即有限個傅里葉變換項 重構這條直線是不可能的了。這就意味著需要許多曲線不停的逼近一條直線,可以想象效率將很低,只能無限逼近,無法精確重構。估計很多人都知道傅里葉變換高階矩表示一個函數曲線的整體形狀,低階矩表示函數中的細節部分,這表明大多數函數和低頻率的余弦函數相似,因此人們常常使用這些低階矩重構函數,因此函數曲線中一些局部細小的起伏就會過濾掉,這也是一種信號平滑手段。我們考查下面函數
這個函數曲線類似一個矩形,在使用傅里葉變換重構該函數時,假如使用前10個矩可以較好的逼近函數的直線部分,但是在
和 這兩個點附近就會發現重構的曲線出現很大的震蕩。這個原因很簡單,因為這兩處是該函數的高頻部分,也就是需要高頻三角函數參與才能描述,現在人為的去掉了,當然無法較好的逼近了,而低頻三角函數曲線形狀是波形,用它們描述當然在這兩處出現上下的震蕩了,這就是所謂的吉本斯現象。如果使用繪圖工具觀察函數曲線重構過程,就會發現重構的曲線也是圍繞直線上下波動的,只是這種波動幅度小,近似直線而已,這很容易想象,將傅里葉基函數賦給一個權然后相加怎么可能會是絕對平滑的一條水平直線呢?如果我們直觀感覺的確很奇怪,這些三角基函數加權然后相加,怎么會重構出函數曲線的平滑部分和起伏部分,不是同時做加法運算嗎?每增加一個基函數, 在時間軸每一個 對應 同時增加一個數值,因此整個 曲線應該同時起伏,怎么會有的部分越來越平滑逼近原始信號的直線部分,有的越來越起伏,逼近原始信號的波動很大的部分呢?這一點的確特別迷惑人。理論上理解完全沒問題,就是現實直覺感到難以理解,可以通過使用matleb,先繪制 圖形 ,再繪制 圖形,接著再繪制 圖形,一直繪制下去,看看是怎樣一點點逼近原始函數曲線的。從每次累加的三角函數曲線可以看出,每一次追加一個三角函數項,這個三角函數的頻率和系數都在變化,而且系數逐漸變小,頻率逐漸增加,系數到底變得多小,這就取決于被描述函數曲線的特點,平滑的部分系數變小,逐步調整逼近這條直線,陡峭的部分,增加的三角函數曲線由于頻率變高的調整對陡峭曲線部分進行增強,使得逐漸逼近這部分曲線,我們下面圖形很好的說明了這點,下面是對一個周期為10,幅值為3的方波進行傅里葉變換重構函數逼近圖1:原始方波圖形圖2:第一個波形圖3:第二個波形圖4:第三個波形圖5:第一個波形和第二個波形相加圖6:第一,二,三個波形相加觀察上面圖2,圖3和圖5,很容易發現在橫坐標為5的時候第一個波形和第二個波形恰好在這個位置具有相同的下降趨勢,因此這兩個波形相加,體現在圖5就是在橫坐標為5的領域范圍內,生成了一個較長的斜線,再加上第四個波形生成圖6,會發現在此位置,斜線進一步變得陡峭,而分析橫坐標為2,4等領域范圍,會發現它是如何逐漸變成直線的,也能理解它如何不停的圍繞該直線進行上下波動的。特別注意圖3和圖4,它們的振幅越來越小,也就是傅里葉變換的數值越來越小,頻率越來越高,正是這個特點才使得每次三角函數項累加以后,就小幅度修正,進而逼近該函數曲線。
現在我們換一個角度討論,傅里葉變換可以看作一個函數在基函數上的投影大小,于是我們將這種投影運算記作
,那么對于空間,是否存在一個函數 ,使得 ,其中 ,根據該函數空間的性質,立刻就能想到, 滿足這個條件,其它任何函數都不可能滿足,這很容易驗證。這和線性代數中的特征值和特征向量的定義完全相似,也就是說傅里葉變換獲得數值其實就是對應基函數的特征值,而對應的基函數就是特征向量。這樣一來,我們立刻就明白了,原來線性變換就是我們希望找到一組正交向量,然后能使用正交向量的組合來表示這個線性變換,這樣就有利于我們觀察這個線性變換的特點。特征向量類似基函數,特征值就類似內積,這樣將所有變換統統歸于在希爾伯特空間里面尋找一組基元素,然后計算該空間任何元素與這些基元素的相似性,最后使用基元素的線性組合描述這個元素,這樣就使得我們能夠一目了然的認識這個元素的本質性質。還是沒有說清楚線性變換的特征值和特征向量的關系。現在我們進一步討論,上面我們講任何一個元素經過一組基元素變換后就可以重構該元素,這里面就涉及到泛函分析里面的一個投影算子,即一個元素和基元素的內積再乘以該基元素,也就是和基元素的相似性在乘以基該元素可以看作一個算子,就是投影算子,那么任意一個元素,如果是投影空間的一個元素,那么該元素在空間的投影就是本身,故函數空間各種變換實質上就是基函數的線性表達。這就是該元素在各個基所組成空間的投影和。這時的基就是特征向量,投影的值就是特征值。現在我們看一般線性變換的特征值和特征向量,假設線性變換
在二維線性空間中有兩個特征向量 和 ,假設特征值分別是 和 ,而該空間一個元素 ,那么我們有 ,我們觀察一下就明白了元素 在兩個特征向量作為坐標軸下的坐標為 ,經過線性變換后坐標為,這就明明白白的看出來該線性變換就是將任何元素沿著坐標軸 分別拉伸了 和 ,這意思就是通過參數就看出來變換的特征,沒有任何其它非本質的性質參與其中,現在我們假設 不是特征向量,而是一組基,那么現在變換后的坐標是
和 ,而變換前的坐標是 和 ,這時我們很難看清楚這個變換到底是什么樣子,比用特征向量表示變換 后的坐標為,除了多出兩個參數以外,還有求和運算在里面,而且我們從這些參數里面不能直接看出線性變換 的本質特征。到現在為止,我們徹底弄清楚了線性變換的特征值和特征向量就是就為了簡化變換后的元素表達,使得表達的參數反映線性變換的本質特征,正因此才取名特征值和特征向量。從另外一個角度看,二維空間可能有無窮多組基,我們找的正是特征向量這組基,使得線性變換的表達最優,而對于函數空間,也有無數多組基,是不是對于一個元素,也存在一組基來最優表達呢?下面我們轉入這方面的討論。另外補充說明,投影算子只是計算一個元素再各個基上的投影然后再線性表達該元素,并沒有將該元素變成另外一個元素,而一般的線性變換則變換到另外一個元素了,只不過,我們希望這個變換后元素的表達和該元素之間的關系簡明清晰而已,這是它們的各自目的不同。連續空間的正交基函數有無窮多,比如 Hermit正交多項式,Chebyshev正交多項式,Laguerre正交多項式,Legendre正交多項式,都可以作為連續函數空間中的正交基函數,于是對于任何一個給定函數,都可以計算和各個基函數的內積,進而使用基函數的線性組合表達該函數,于是就有Hermit變換,Chebyshev變換,Laguerre變換,Legendre變換,當然還有其它非多項式基函數,比如小波變換等等。這些變換可能有無數個,反正找一組正交基,就對應一個變換,類似于平面直角坐標系,旋轉一個角度,在平面上的一個點就對應在這個坐標系下的一個新坐標,比如 一個點的坐標為
,我們將坐標系旋轉一下就對應一個新的坐標,也就是每給定一個坐標體系,同一個點就得到一個新坐標系下的坐標。連續空間中的函數在不同基函數下的變換,就類似于這種在不同坐標系下的坐標。現在我們將原坐標系旋轉使該點落在新坐標系的 軸上,這時候該點的坐標為 ,也就是一個數值 就可以表達該點了,因為一旦這個坐標系建立好以后,在數據傳輸的時候只要傳輸5這個數值即可,系統默認就是 坐標為5, 坐標沒有傳輸就默認為0,這就實現了數據的壓縮和稀疏表達!這就初步解釋了在連續函數空間,為什么搞這么多變換,原因就是對于任何一個函數,如果想稀疏表達,就可能需要選擇合適的基函數才能達到這個目的。也就是所有的變換幾乎都是為了高效表達原函數,這個高效就是稀疏表達,也就是簡單而精確的表達,更進一步講就是變換以后,可以使用相對最少的參數就可以描述這個函數。比如上面談到的函數 ,選用傅里葉變換表達最方便,只要一個參數 就可以重建該函數,而選用一般的多項式基函數表達就很麻煩,我們都知道該函數的多項式展開式是一個冪級數,當然需要很多參數才能近似表達的,這就是不稀疏了。現在我們看 Chebyshev多項式,它的正交基是 定義內積為: ,我們令 ,那么 上面內積公式實質就是由函數 導出的一個L-S測度積分,也就是 。我們就明白了原來權函數表達的是一種L-S測度,此時的積分是一種L-S測度積分,這就表明了 在基函數上的投影不僅僅受基函數影響,而且受L-S測度影響,積分的區間分布不再是均勻的,因此能夠表達更多的信息,這就是Chebyshev多項式具有較高表達效率的原因。現在我們回到希爾伯特空間, 對于任何希爾伯特空間的一個元素,如果要稀疏表達,無怪乎從兩個方向研究,一個是尋找一組固定的基元素組,它們能夠稀疏的表達任何元素,另外一個研究方向是針對該元素自適應的選擇基函數以達到稀疏表達的目的。顯然第一個是最理想的,問題是目前提出很多變換,還沒有發現一個變換能夠達到該要求,于是從第二個方向進行研究,但是這也是極其困難的,原因是希爾伯特空間中的元素特點很難完全認識清楚,如果完全認識清楚,也不需要選擇基函數來表達了,這就陷入了一個矛盾狀態中,現在我們簡單的進入下面關于圖像分析的討論。
圖像處理的研究基本上是對圖像的像素點矩陣數據進行處理,一個像素點對應一個灰度值,一幅圖像就對應一個二維數值矩陣,現在要使用二元函數表達它,目的是能夠對它進行稀疏表達,從而為數據壓縮,噪聲去除,邊緣檢測,目標分割,物體識別等服務。但是圖像內容實在太豐富了,有復雜的紋理,有簡潔的線條,有光滑的曲線,有凌亂的噪聲。我們回顧上面的例子,就是一個簡單的方形函數,使用傅里葉基變換都無法高效描述它,而這僅僅是一維空間的討論,現在我們基本明白對于一個方形函數使用傅里葉變換難以表達的原因就是使用曲線去逼近一條直線當然困難了,怎么可能效率高呢?可能有的人就會說,為什么不用直線描述呢?這當然可以,問題是現實客觀世界的情況是:獲得的實際數據信號圖形一部分是直線,一部分是曲線,有的是夾雜各種不同斜率的直線和各種復雜的函數曲線,這時候很難找到一個有明確的解析式而且類似多項式的函數充當基函數來表達它們。這其實是矛盾的,想想看,哪個連續函數的圖形能夠隨隨便便的從直線光滑的過渡到曲線,而且在直線和曲線上隨意轉換,并且還是一組函數并滿足正交性?于是又有人提出,能不能尋找這樣的函數,它是分段函數,在一個區間上是某一個解析函數,在其它區間是0,這樣局部描述,直線部分使用直線,曲線部分使用曲線,這樣效率就來了,還真有人這么做了,而且很出名,這就是小波變換。我們現在提到小波變換,可以高效描述一維數據,那么對于二維圖像數據怎么辦?人們馬上想到,這個如同傅里葉變換一樣,擴展到兩維,也就是使用張量積的形式進行推廣,這樣一推廣,人們發現小波分析存在巨大問題,也就是二維圖像中的水平直線,垂直直線和45度角的斜線,小波變換可以很好的表達這三種類型的直線,其它類型的直線和曲線無法有效表達,但是一幅圖像怎么可能只有這三種直線?實際圖像中各種傾斜的直線都有,更可能的是曲線,比如一個老人面目的皺紋,那是彎彎曲曲的從額頭一直延續到下巴,總不能要求老人的皺紋要么長的水平,要么長得垂直,以方便科研開發人員搞小波變換處理?這樣一來的確困難了,但是雖然困難,那也得想辦法啊,只要想出辦法,科研人員就可以發論文,評職稱,拿項目,還可以成為什么什么高端人才。開發人員就可以弄出各種產品來推向市場,其實開發人員估計經常罵科研人員,寫的文章,說算法怎么怎么改進了,其實只是針對某一類特殊圖像才適用,根本不通用,還有就是假的,編造的,效果還不如我們使用傳統的方法好呢?不管怎么說,有人提出了針對小波分析的改進措施,進而將小波分析推進到后小波分析時代,這就是多尺度幾何分析。這些方法具體包括脊波(Ridgelet)變換,曲波(Curvelet)變換,輪廓波(Contourlet)變換,條帶波(Bandelet)變換,楔波(Wedgelet)變換,小線(Beamlet)變換等等。本文作者對有的有些變換沒有完全搞懂,但是大體了解其思想,了解以后感覺到有些無趣,為什么這么說呢?我們還是結合其它作者的理解談談這些分析,然后再說怎樣的無聊。
(1)Ridgelet變換:屬于非自適應變換。小波變換不是無法稀疏表達任意方向的直線嗎,但是它能高效的表達點,那么怎樣才能將圖像中的直線變換成一個點呢?估計學過圖像處理的都知道,Randon變換,或者Hough變換,這兩個變換能把圖像中任意方向的直線變換成一個點,這樣一來就可以用小波變換進行表達了,這就是Ridgelet變換,是不是有點無趣?但是圖像中的邊緣線條很多是曲線,對整幅圖像進行Ridgelet分析一定不理想啊!于是又有人提出了單尺度脊波(MonoscaleRidgelet)變換,具體方法是對圖像進行分塊,使每個分塊中的線條都近似直線,再對每個分塊進行Ridgelet變換,這就是多尺度Ridgelet,這個就更無趣了。
(2)Curvelet變換:第一代Curvelet變換是所有可能的尺度上進行分解,然后在每一個尺度使Ridgelet變換,不像Ridgelet變換那樣是固定的:具體步驟是先對圖像進行子帶分解;然后對不同尺度的子帶圖像采用不同大小的分塊;最后對每個分塊進行Ridgelet分析。如同微積分的定義一樣,在足夠小的尺度下,曲線可以被看作為直線,曲線奇異性就可以由直線奇異性來表示,這個方法也許的確能改進圖像的表達,但是在理論上很無聊了。
(3) Contourlet變換。Contourlet變換將多尺度分析和方向分析分拆進行,首先由LP(Laplacian pyramid)變換對圖像進行多尺度分解以“捕獲”點奇異,接著由方向濾波器組(Directional Filter Bank, DFB)將分布在同方向上的奇異點合成為一個系數。Contourlet變換的最終結果是用類似于輪廓段(Contour segment)的基結構來逼近原圖像,這也是所以稱之為Contourlet變換的原因。這種變換感覺缺乏傳統基函數表達的那種美感,感到無趣。
(4)Bandelet變換。Bandelet變換的思想是定義圖像中的幾何特征為矢量場,矢量場表示了圖像空間結構的灰度值變化的局部正則方向。Bandelet基并不是預先確定的,而是以優化最終的應用結果來自適應地選擇具體的基的組成。這個是自適應基函數表達方法,但是要自適應尋找基函數,而且又是需要分塊,也是感覺不好。
(5)Wedgelet變換。該變換就是在一個圖像子塊(dyadic square)畫條線段,把它分成兩個楔塊,每一個楔塊用唯一的灰度值表示,線的位置就位于兩個楔塊之間,這種方法做的更狠,什么基函數不基函數的,直接上優化方法,將分塊一切兩半,如果這個分塊真的有直線段,那么直線段兩邊的灰度值一定不同,因此它們的均值相差就很大,于是做優化處理,也就是隨便劃一條直線段,兩邊楔塊的灰度值大的直線就是圖像邊緣,其實這種方法本質上是積分的方法,有點意思,但是沒有什么數學理論做支撐,更沒有什么意思了。
(6)Beamlet變換。該變換以各種方向、尺度和位置的小線段為基本單元來建立小線庫,圖像與庫中的小線段積分產生小線變換系數,以小線金字塔方式組織變換系數,再通過圖的形式從金字塔中提取小線變換系數,從而實現多尺度分析。這是一種能較好進行二維或更高維奇異性分析的工具。根據小線理論及其研究結果來看,它對于處理強噪背景的圖像有無可比擬的優勢。但是小線變換的前期準備工作,如小線字典、小線金字塔掃描這些部分的工作量太過于龐大,不利于研究。如果能將這部分簡化,或者做成固定的模塊引用的話,小線分析能夠很快的擴展其應用領域。
看來Beamlet變換和Wedgelet變換都是一種積分方法,大家都知道對付噪聲,積分方法是根本的考慮,其實積分方法的弊端就是將邊緣也當成噪聲,如何保留邊緣而又能去除噪聲,這和圖像的稀疏基函數表達要求是一致的,我們看上面提到的方形函數,如果直線段上有噪聲,那么直線段含有高頻信號,但是在直線段邊緣明顯的發生了跳躍,這部分信號頻率更高,但是它卻是這個函數曲線最關鍵的特征,如果將它作為噪聲過濾掉,那么這個方形圖形就成了一個有圓角的梯形,這下子事情就鬧大了。那么如何保留方形直角特征又能去掉噪聲呢?如果直線用直線逼近,邊緣曲線用邊緣曲線逼近就好了,可是我怎么知道那些是曲線,哪些是直線,那些事拐角?上面所謂的多尺度幾何分析方法就是本著兩個思路去的,第一個是檢測啊,找出這些特征的邊緣,第二個就是優化啊,固定一些模板,進行優化比較。第一種方法是既丑又不好用,第二種方法也許好用,但是丑。
那么怎么辦呢?。。。。。。想想啊,其實想出一個通用方法,可能是調和分析的一個新的研究方向。真是奇怪,對于線性變換,我們能夠找到特征向量作為一組基,然后用這組基很簡潔的表達這個線性變換,但是對于一個元素,我們卻很難找到一組基來簡潔的表達它,奇怪!
最后一點說明,我們沒有將傅里葉變換涉及到的連續譜等概念進行討論,也沒有提到譜分析,因為這個可能太花時間,另外一個重要的原因是本文作者感到自己仍然需要深入理解它。
總結
以上是生活随笔為你收集整理的一般向量空间的基变换_从希尔伯特空间的角度看线性变换的一般思想和问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息队列 策略_消息队列技术点梳理(思维
- 下一篇: 部门换届推文文字_【校安协招新】这篇推文