劉智慧 付麗華 李宏偉 李超群
(中國地質(zhì)大學(xué)數(shù)理學(xué)院,湖北 武漢 430074)
特征值與特征向量是《線性代數(shù)》中的重點內(nèi)容之一,在眾多領(lǐng)域有著廣泛的應(yīng)用[1-8].“特征”一詞來自德語的eigen,翻譯為“自身的”“有特征的”“特定于……的”,強調(diào)了特征值與特征向量對特定矩陣的重要性. 由于特征值與特征向量涉及的概念、定理較為抽象,在一定程度上阻礙了學(xué)生對其理解與認識. 如果在特征值與特征向量教學(xué)中,融入幾何直觀并通過實際生活中的具體例子闡明特征值與特征向量的作用,將在一定程度上調(diào)動學(xué)生的學(xué)習(xí)積極性,使其更好地掌握特征值與特征向量. 本文借助MATLAB軟件從幾何直觀以及出租車調(diào)配和高維數(shù)據(jù)降維的具體實例說明特征值與特征向量,注重應(yīng)用特征值與特征向量解決實際中的相關(guān)問題,加強學(xué)生對特征值與特征向量的深入理解,領(lǐng)會特征值與特征向量的數(shù)學(xué)意義和應(yīng)用價值.
定義1[7, 9]設(shè)A為n階矩陣,x為非零向量,若存在數(shù)λ,使得
Ax=λx
成立,則稱λ為A的特征值,x為A的屬于λ的一個特征向量.
從定義1可知,特征向量為一些特定的向量,這些向量在方陣A的作用下保持方向不變,只進行長度上的伸縮(當(dāng)λ<0時,伸縮值為負值;當(dāng)λ=0時,伸縮值為零). 若x為A的特征向量,則kx(k≠0)也是A的特征向量,所以特征向量不是一個向量而是一個向量族.
定理1特征值分解定理[7, 9]設(shè)A為n階對稱矩陣,則必存在一個正交矩陣P=[p1,p2,…,pn],使得
A=PΛPT
其中,(·)T表示轉(zhuǎn)置運算,Λ=diag{λ1,λ2,…,λn},λi為A的特征值,pi為A的屬于λi的特征向量.
從定理1中可知,任意一個實對稱矩陣總可以用它的特征值和特征向量完全描述.
通過一個具體的例子演示矩陣的特征值和特征向量.
利用MATLAB命令求出矩陣的特征值和特征向量,相應(yīng)的MATLAB程序為:
A=[1 0;0 2];
[P,D]=eig(A);%求矩陣A的特征值和特征向量
eigshow(A);%演示矩陣A的特征值和特征向量
例1的MATLAB程序運行結(jié)果如下:
P=
1 0
0 1
D=
1 0
0 2
圖1描述了藍色向量Ax隨綠色向量x的變換關(guān)系,x表示二維單位向量,當(dāng)用鼠標(biāo)拖動x圍繞原點旋轉(zhuǎn)時,Ax隨著x旋轉(zhuǎn),向量x的軌跡是一個綠色單位圓,向量Ax的軌跡為一個藍色橢圓. 在圖1中,當(dāng)x旋轉(zhuǎn)到水平方向和豎直方向時(見圖1(c)(d)),Ax恰好與x重合,即Ax=λx,由定義1知,矩陣A的兩個特征值為橢圓的短軸和長軸,對應(yīng)的特征向量分別為k1(1,0),k2(0,1),其中k1≠0,k2≠0. 例1說明,對所有二維向量,只有形如k1(1,0)和k2(0,1)的二維向量在二階對角矩陣A的作用下保持方向不變.
圖1 矩陣特征值和特征向量的圖形演示
假設(shè)一家出租車公司在甲地和乙地各有一家分支機構(gòu),專門負責(zé)為旅游公司提供出租車. 由于甲地和乙地距離不遠,出租車每天可以往返兩地. 根據(jù)公司統(tǒng)計的歷史數(shù)據(jù),每天甲地的車輛有60%前往乙地后返回甲地,余下40%前往乙地并留在乙地分支機構(gòu);而每天乙地的車輛有70%前往甲地后返回乙地,余下30%前往甲地并留在甲地分支機構(gòu). 假設(shè)出租車公司出租車數(shù)量是固定不變的,問:當(dāng)經(jīng)過足夠長時間后,甲地和乙地出租車數(shù)量是否會越來越不平衡?如果甲乙兩地車輛數(shù)量不平衡,公司如何調(diào)配?
(1)
式(1)用矩陣表示為
?Axn.
(2)
利用MATLAB命令求出矩陣A的特征值為λ1=1,λ2=0.3,對應(yīng)的特征向量為p1=[-0.600 0,-0.800 0]T,p2=[-0.707 1,0.707 1]T.
又pi為特征向量,故xn=Anx0=c1(λ1)np1+c2(λ2)np2. 若n→∞,則(λ2)n=(0.3)n→0. 于是,當(dāng)c1>0時,
xn≈c1(λ1)np1,
(3)
以及
xn+1≈c1(λ1)n+1p1=λ1c1(λ1)np1≈λ1xn.
(4)
式(3)表明,xn的2個分量之比(甲地和乙地出租車的數(shù)量之比)近似等于p1對應(yīng)分量之比,即甲乙兩地出租車的數(shù)量之比只與最大特征值λ1=1對應(yīng)的矩陣特征向量p1有關(guān),而與甲乙兩地初始
出租車的數(shù)量x0無關(guān). 由于p1分量之比為一個常數(shù),所以當(dāng)經(jīng)過足夠長時間后,甲地和乙地出租車數(shù)量之比趨于一個穩(wěn)定數(shù),即甲乙兩地車輛數(shù)量趨于平衡. 式(4)表明,xn最終以近似λ1的倍數(shù)增長,故矩陣A的最大特征值λ1確定了最終增長率.
以上例子說明,利用矩陣的特征值和特征向量,選擇矩陣較大特征值及對應(yīng)的特征向量可以分析出租車的調(diào)配問題.
圖2 甲地和乙地出租車數(shù)量之比
矩陣A的特征值和特征向量及圖2(a)相應(yīng)的MATLAB程序為:
A=[0.6 0.3;0.4 0.7];
x0=[2 000;5 000];
[P,D]=eig(A);
fori=1∶30
x(:,i)=A^i*x0;
end
plot(x(1,:)./x(2,:));
xlabel(′n/天數(shù)′);
ylabel(‘甲地車輛與乙地車輛之比’);
現(xiàn)有m組數(shù)據(jù),每一組數(shù)據(jù)為n維向量,在機器學(xué)習(xí)中,若對這n維m組數(shù)據(jù)點直接進行分析和挖掘,那么算法的復(fù)雜度往往與維數(shù)n呈指數(shù)級關(guān)系. 能否將n維向量組降為k維向量組(k
將此數(shù)據(jù)看作n×m的矩陣Xn×m,欲使n維向量組降為k維向量組,即尋找矩陣Pk×n,使得Pk×nXn×m=Yk×m,則矩陣Yk×m為降維的k維向量組.
下面用簡單的例子說明基于矩陣特征值和特征向量的高維數(shù)據(jù)降維問題. 圖3(a)表示五個不同的二維數(shù)據(jù)點,若將此數(shù)據(jù)點向x軸投影,則右邊的兩個點會重疊在一起,中間的兩個點也會重疊在一起,于是五個不同的二維數(shù)據(jù)點投影后只剩下三個不同的投影值,這是一種嚴(yán)重的信息丟失. 同理,若將此數(shù)據(jù)點向y軸投影,則投影后也只有三個不同的投影值. 因此x軸和y軸不是數(shù)據(jù)點最好的投影方向. 但若將此數(shù)據(jù)點向通過第一象限和第三象限的斜線投影(見圖3(b)),則五個二維數(shù)據(jù)點投影后為五個不同的投影值,即數(shù)據(jù)點向該斜線投影后,二維數(shù)據(jù)點降為了一維數(shù)據(jù)點,同時保留了五個原始數(shù)據(jù)信息. 此例說明,將高維數(shù)據(jù)進行降維,只需將數(shù)據(jù)點向某些方向進行投影,使得在這些方向上的投影值盡可能分散,問:如何找到這些投影方向?
圖3 二維數(shù)據(jù)點分布情況
顯然,A為對角矩陣,A對角元表示二維向量的方差(刻畫分散程度);A對角元外的元素表示維度間的協(xié)方差(刻畫維度間的不相關(guān)性). 對五個數(shù)據(jù)點進行降維,同時盡可能保留五個原始數(shù)據(jù)點,即滿足五個數(shù)據(jù)點投影后投影值盡可能分散(二維向量的方差盡可能大),同時維度間盡可能不存在相關(guān)性(維度間的協(xié)方差盡可能小),即使得協(xié)方差矩陣A對角化(對角元的元素從大到小排列,對角元外的元素為零).
(5)
=[-2.121 3,-0.707 1,0,0.707 1,2.121 3].
其中,y為降維后的五個一維數(shù)據(jù)點,p1為二維數(shù)據(jù)點的投影方向(見圖3(b)).
二維數(shù)據(jù)點降為一維數(shù)據(jù)點的相應(yīng)MATLAB程序為:
X=[-2 0 0 1 1;-1 -1 0 0 2];
A=(1/5)*X*X′; %數(shù)據(jù)點的協(xié)方差矩陣A
[P,D]=eig(A);
y=P(:,1)′*X; %降維后的一維數(shù)據(jù)點
以上例子說明,矩陣較大特征值對應(yīng)的特征向量上包含了較多的信息量,利用矩陣前面部分較大特征值對應(yīng)的特征向量可實現(xiàn)高維數(shù)據(jù)的降維.
本文對《線性代數(shù)》課程中特征值和特征向量兩個抽象的概念運用MATLAB軟件,從幾何直觀演示、出租車的調(diào)配及高維數(shù)據(jù)降維等實際問題進行了闡述,使得學(xué)生能更好地理解和認識特征值與特征向量,同時,對學(xué)生的學(xué)習(xí)興趣及學(xué)生運用數(shù)學(xué)知識解決實際問題的能力的培養(yǎng)有一定的幫助.