特徵值與特徵向量進一步說明

R 的資料科學線性代數

Eric Eager

Data Scientist at Pro Football Focus

發生了什麼事?

  • 若 $A$ 的特徵值 $\lambda_1, \lambda_2, ..., \lambda_n$ 彼此_不同_,且 $\vec{v}_1, \vec{v}_2, ..., \vec{v}n$ 為其對應的特徵向量,則這組向量構成 $n$ 維向量空間的一組基底_。

  • 換句話說,若矩陣 $A$ 具有特徵向量基底 $\vec{v}_1, \vec{v}_2, ... \vec{v}_n$,其對應特徵值 $\lambda_1, \lambda_2, ... \lambda_n$ 彼此不同,則_每個_ $n$ 維向量都可表為這些向量的線性組合,即 $$\vec{x} = c_1\vec{v}_1 + c_2\vec{v}_2 + ... + c_n\vec{v}_n.$$

R 的資料科學線性代數

發生了什麼事?

將矩陣 $A$ 作用在 $\vec{x}$ 上,並利用 $A\vec{v}_j = \lambda_j \vec{v}_j$,可得以下簡單分解:

$$A\vec{x} = c_1\lambda_1\vec{v}_1 + c_2\lambda_2\vec{v}_2 + ... + c_n\lambda_n\vec{v}_n.$$

因此,特徵對把矩陣相乘轉換為純量相乘的線性組合!

R 的資料科學線性代數

矩陣的迭代

若反覆以矩陣 $A$ 相乘:

$$A A\vec{x} = $$ $$ = A(c_1\lambda_1\vec{v}_1 + c_2\lambda_2\vec{v}_2 + ... + c_n\lambda_n\vec{v}_n)$$ $$ = c_1\lambda_1^2\vec{v}_1 + c_2\lambda_2^2\vec{v}_2 + ... + c_n\lambda_n^2\vec{v}_n,$$

一般而言: $$A^t\vec{x} = c_1\lambda_1^t\vec{v}_1 + c_2\lambda_2^t\vec{v}_2 + ... + c_n\lambda_n^t\vec{v}_n.$$

所以,連續的矩陣乘法等同於各分量上的純量冪次相乘!

另外,若某個特徵值明顯大於其他值,隨著 $t$ 增加,差異會被放大。

R 的資料科學線性代數

等位基因頻率範例

R 的資料科學線性代數
print(M)

eigen(M)
      [,1]  [,2]  [,3]  [,4]
[1,] 0.980 0.005 0.005 0.010
[2,] 0.005 0.980 0.010 0.005
[3,] 0.005 0.010 0.980 0.005
[4,] 0.010 0.005 0.005 0.980
eigen() decomposition
$`values`
[1] 1.00 0.98 0.97 0.97

$vectors
     [,1] [,2]          [,3]          [,4]
[1,] -0.5  0.5  0.000000e+00  7.071068e-01
[2,] -0.5 -0.5 -7.071068e-01  1.132427e-14
[3,] -0.5 -0.5  7.071068e-01 -2.442491e-15
[4,] -0.5  0.5 -1.382228e-14 -7.071068e-01
R 的資料科學線性代數
print(M)
      [,1]  [,2]  [,3]  [,4]
[1,] 0.980 0.005 0.005 0.010
[2,] 0.005 0.980 0.010 0.005
[3,] 0.005 0.010 0.980 0.005
[4,] 0.010 0.005 0.005 0.980
Lambda <- eigen(M)
v1 <- Lambda$vectors[, 1]/sum(Lambda$vectors[, 1])
print(v1)
0.25 0.25 0.25 0.25

R 的資料科學線性代數

一起來練習吧!

R 的資料科學線性代數

Preparing Video For Download...