翟術(shù)英 翁智峰
摘 要:矩陣的奇異值分解是高?!毒€性代數(shù)》教學(xué)中的重點(diǎn)難點(diǎn)內(nèi)容。由于對(duì)其缺乏直觀理解,學(xué)生很難理解奇異值分解背后的深層意義。本文探討將奇異值分解與Matlab相結(jié)合進(jìn)行教學(xué)的優(yōu)越性,既增強(qiáng)了學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,又可以提高知識(shí)運(yùn)用能力和動(dòng)手能力。
關(guān)鍵詞:Matlab數(shù)值實(shí)驗(yàn);奇異值分解;教學(xué)改革
線性代數(shù)是高校理工科、經(jīng)管類學(xué)生的基礎(chǔ)課程,同時(shí)也是計(jì)算機(jī)專業(yè)學(xué)生的必修課程,對(duì)后續(xù)學(xué)習(xí)起到奠基作用。矩陣是線性代數(shù)研究的核心內(nèi)容,主要包括方陣和非方陣,對(duì)于方陣的相關(guān)知識(shí)點(diǎn)研究得較為系統(tǒng),而對(duì)于非方陣的研究都處于蜻蜓點(diǎn)水的狀態(tài)。奇異值分解[1]是以非方陣為研究對(duì)象的一個(gè)重要知識(shí)點(diǎn),是線性代數(shù)中既優(yōu)雅又強(qiáng)大的工具,它揭示了矩陣最本質(zhì)的變換,能得到代表矩陣最本質(zhì)變化的矩陣元素,但也是線性代數(shù)中的難點(diǎn)內(nèi)容。特征值分解(針對(duì)方陣)和奇異值分解的目的都是一樣,就是提取一個(gè)矩陣最重要的特征,奇異值分解可適用于任何矩陣,但特征值分解只適用于方陣。當(dāng)給定的是對(duì)稱矩陣時(shí),二者結(jié)果是相同的,也就是說對(duì)稱矩陣的特征值分解是奇異值分解的一個(gè)特例。但奇異值分解比特征值分解要復(fù)雜很多,此部分內(nèi)容涉及許多新概念及復(fù)雜理論分析,且計(jì)算煩瑣,內(nèi)容枯燥乏味、晦澀難懂,學(xué)生對(duì)此部分內(nèi)容的掌握度很差。因此絕大多數(shù)高校在教授線性代數(shù)課程時(shí)都將此內(nèi)容作為選修內(nèi)容而很少提及,同時(shí)缺乏利用此內(nèi)容解決實(shí)際問題的案例探討。
雖然,奇異值分解是數(shù)學(xué)專業(yè)內(nèi)容,但已經(jīng)滲入不同的領(lǐng)域中,是很多機(jī)器學(xué)習(xí)算法[2]的基石,廣泛應(yīng)用于數(shù)據(jù)降維、圖像去噪和修復(fù)[3]、自然語言處理、最小二乘法及力學(xué)中的極分解等。奇異值分解的過程不是很好理解,單從計(jì)算的角度來看,是無法理解奇異值背后的深層思想,但實(shí)際應(yīng)用效果卻非常好。一個(gè)典型的代表實(shí)例就是Netflix在線電影租賃公司,為了能夠提高電影推薦系統(tǒng)評(píng)分預(yù)測準(zhǔn)確率的方法,公司曾發(fā)出重金獎(jiǎng)勵(lì)信息,希望能將預(yù)測準(zhǔn)確率提高10%。對(duì)于這個(gè)充滿挑戰(zhàn)的目標(biāo),全世界的研究團(tuán)隊(duì)設(shè)計(jì)了不同的解決策略,然而,最終獲勝的隊(duì)伍所采用算法的核心就是奇異值分解。目前,大數(shù)據(jù)所帶來的信息時(shí)代將進(jìn)一步改變我們的工作、生活、思維,人類必然要經(jīng)歷時(shí)代轉(zhuǎn)型,只有保持同步發(fā)展才不會(huì)被時(shí)代拋棄。大數(shù)據(jù)時(shí)代的我們要摒棄按照以往經(jīng)驗(yàn)或直覺做決策的思維定式,而是要通過分析數(shù)據(jù)尋找解決策略。在這種環(huán)境背景下,奇異值分解更是發(fā)揮了重要作用。此部分內(nèi)容的學(xué)習(xí)將極大提高學(xué)生的思維能力及運(yùn)用知識(shí)解決實(shí)際問題的能力,應(yīng)作為關(guān)鍵內(nèi)容講授。然而如何提高學(xué)生的學(xué)習(xí)興趣、解放計(jì)算量?如何加深理解問題深層含義?如何利用已有知識(shí)解決身邊實(shí)際問題?這些都是需要探討的重點(diǎn)。
Matlab作為方便實(shí)用、功能強(qiáng)大的數(shù)學(xué)軟件之一,具有強(qiáng)大的數(shù)值運(yùn)算和圖形可視化功能。將Matlab引入矩陣的奇異值分解教學(xué)[4],其繁雜的計(jì)算過程可采用軟件來解決,實(shí)現(xiàn)邊理論邊實(shí)踐的效果,提高學(xué)生的學(xué)習(xí)興趣及積極性,同時(shí)可將奇異值分解應(yīng)用于具體實(shí)際問題,讓學(xué)生在感嘆數(shù)學(xué)的神奇之余加深對(duì)奇異值分解的深層理解。這樣不僅能夠活躍課堂氣氛,還可以增強(qiáng)學(xué)生動(dòng)手能力,提高對(duì)基本定義及方法的實(shí)踐應(yīng)用。為學(xué)生日后從事金融建模、圖像處理、科學(xué)與工程計(jì)算打下基礎(chǔ)。下面首先給出奇異值分解的相關(guān)理論知識(shí)。
1 奇異值分解原理
1.1 奇異值分解定理
首先回顧奇異值分解定理。
特別的,當(dāng)A為對(duì)稱矩陣時(shí),容易驗(yàn)證U=V,此時(shí)奇異值分解則退化為特征值分解。奇異值分解表示矩陣A所代表的線性變換可以由更簡單的旋轉(zhuǎn)(U,V)和拉伸(S)變換進(jìn)行合成。
下面給出如何實(shí)現(xiàn)奇異值分解。分別考慮(ATA)V與(AAT)U。利用表達(dá)式A=USVT及結(jié)合矩陣U、V的正交性,有:
因此可得V由(ATA)的正交單位特征向量構(gòu)成,而(ATA)的非零特征值的平方根為奇異值。同理考察
可得U由(AAT)的正交單位特征向量構(gòu)成。
由上述過程可知,要想完成奇異值分解,需要分別對(duì)(ATA)及(AAT)進(jìn)行特征值分解,計(jì)算復(fù)雜度比較高。
1.2 數(shù)值算例
為驗(yàn)證上述過程的正確性,下面給出具體應(yīng)用算例。
通過上述計(jì)算過程可以發(fā)現(xiàn),奇異值計(jì)算十分煩瑣。事實(shí)上,Matlab有奇異值分解的內(nèi)置代碼,只需在工作窗口輸入svd(A)即可實(shí)現(xiàn),對(duì)于1000*1000以內(nèi)的矩陣,Matlab只需一秒即可實(shí)現(xiàn)奇異值分解。2000年,張智威博士團(tuán)隊(duì)首次提出了奇異值分解的并行算法,解決了長期困擾的瓶頸問題,奇異值分解擁有了更大的應(yīng)用空間。
下面利用svd(A)重現(xiàn)上述例題。
對(duì)比結(jié)果可以看出正交矩陣U,V并不相同,只有S相同。這是因?yàn)槠娈愔捣纸獠⒉晃ㄒ?,但奇異值是唯一的?/p>
2 奇異值分解的應(yīng)用
由第一部分可以看出,奇異值分解的原理較為復(fù)雜,那奇異值分解到底有什么重要的作用呢?事實(shí)上,奇異值分解是機(jī)器學(xué)習(xí)領(lǐng)域廣泛應(yīng)用的算法,它可以用于數(shù)據(jù)降維(主成分分析)、數(shù)據(jù)壓縮(圖像壓縮)、圖像修復(fù)與去噪、推薦系統(tǒng),以及自然語言處理,如做搜索引擎語義層次檢索的LSI(Latent Semantic Indexing)。下面將具體給出奇異值分解在數(shù)據(jù)壓縮方面的應(yīng)用。
為方便,將正交矩陣U,V寫成列向量形式:
當(dāng)s< 例:利用奇異值分解,對(duì)“天問一號(hào)”返回的圖片marz.png(見下圖)進(jìn)行數(shù)據(jù)壓縮。 下面分別采用前10個(gè)、20個(gè)、30個(gè)、40個(gè)奇異值進(jìn)行圖像還原,結(jié)果如下: 由上述圖像可以看出,前40個(gè)奇異值就達(dá)到了很好的還原效果。實(shí)際上,奇異值分解就是對(duì)數(shù)據(jù)集的重要特征從高到低進(jìn)行排序的過程,并通過舍棄不重要的特征實(shí)現(xiàn)數(shù)據(jù)降維。例如,某些AI人臉識(shí)別技術(shù)的核心算法就是奇異值分解,通過提取輸入人臉的關(guān)鍵特征,并與數(shù)據(jù)庫中已知身份的人臉進(jìn)行匹配,從而完成輸入人臉的識(shí)別。 結(jié)語 將Matlab軟件引入奇異值分解教學(xué),不僅可以提高學(xué)生的學(xué)習(xí)積極性及學(xué)習(xí)效率,同時(shí)加深學(xué)生對(duì)基本概念的理解和應(yīng)用,增強(qiáng)學(xué)生的動(dòng)手能力和自我成就感[5]。更重要的是Matlab與課程內(nèi)容的結(jié)合會(huì)改變學(xué)生的思維方式,使他們?cè)谝院蟮膶W(xué)習(xí)工作中具備更強(qiáng)的變通思維和動(dòng)手操作能力。 參考文獻(xiàn): [1]肖占魁,黃華林,林增強(qiáng).應(yīng)用線性代數(shù)[M].機(jī)械工業(yè)出版社,2011. [2]朱道遠(yuǎn).研究生數(shù)學(xué)建模精品案例[M].北京:科學(xué)出版社,2019. [3]張海燕,閔濤,艾克鋒.二維截?cái)嗥娈愔捣纸夥椒ㄔ趫D像恢復(fù)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2008,596(01):60-62. [4]孫璽菁,司守奎.MATLAB的工程數(shù)學(xué)應(yīng)用[M].北京:國防工業(yè)出版社,2017. [5]王曉華.算法的樂趣[M].北京:人民郵電出版社,2018. 基金項(xiàng)目:2022年度華僑大學(xué)本科教學(xué)示范團(tuán)隊(duì)“科學(xué)計(jì)算與數(shù)據(jù)分析教學(xué)示范團(tuán)隊(duì)”(HQJXSF2204);2023年度華僑大學(xué)教育教學(xué)改革研究一般項(xiàng)目“基于OBE理念下的《數(shù)值計(jì)算方法》課程教學(xué)改革與實(shí)踐探索”(HQJGYB2323) 作者簡介:翟術(shù)英(1986— ),女,漢族,山東泰安人,博士,副教授,主要從事偏微分方程理論與數(shù)值計(jì)算研究。 *通訊作者:翁智峰(1985— ),男,漢族,福建莆田人,博士,副教授,主要從事偏微分方程理論與數(shù)值計(jì)算研究。