Ma trận đối xứng và ma trận xác định dương
Ma trận A ∈ R n×n được gọi là đối xứng nếu A T = A, trong đó A T ký hiệu ma trận chuyển vị của ma trận A.
Ma trận đối xứng A được gọi là nửa xác định dương nếu x T A.x ≥0 với mọi vectơ x ∈ R n
Ma trận đối xứng A được gọi là xác định dương nếu x T A.x > 0 với mọi vectơ x ∈ R n , x ̸= 0.
Chú ý rằng, A là nửa xác định dương khi và chỉ khi tất cả các giá trị riêng của A không âm; A là xác định dương khi và chỉ khi tất cả các giá trị riêng của A là dương.
Chú ý rằng với mỗi ma trận A ∈ R n×n , ma trậnA T A nửa là xác định dương.
Ma trận hiệp phương sai
Ma trận hiệp phương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông có cấp m, trong đó các phần tử nằm trên đường chéo lần lượt là phương sai tương ứng của các biến này, trong khi các phần tử còn lại là các hiệp phương sai của hai biến ngẫu nhiên khác nhau trong tập hợp.
Gọi X là một vectơ cột, X i là các thành phần của vectơ này
Nếu các thành phần của vectơ cột là các biến ngẫu nhiên có phương sai xác định thì ma trận hiệp phương sai Σ là một ma trận mà có thành phần (i, j) là hiệp phương sai: Σ = cov(X i , X j ) = E[(X i −à i )(X j −à j )], trong đú à j = E(X i ) là giỏ trị kỳ vọng của thành phần thứ i của vectơ
Giá trị riêng và vectơ riêng
Khi đó đa thức bậc n theo biến λ
= (−1) n λ n +a n−1 λ n−1 + .+a 1 λ 1 + a 0 được gọi là đa thức đặc trưng của ma trận A.
Các nghiệm của đa thức đặc trưng P A (λ) được gọi là giá trị riêng của ma trận A.
Nếu λ 0 là một giá trị riêng của A thì det(A− λ 0 I) = 0 Do đó, hệ phương trình tuyến tính thuần nhất:
(1.3.1) có vô số nghiệm Không gian nghiệm của hệ (1.3.1) được gọi là không gian con riêng của ma trận A ứng với giá trị riêng λ0 Các vectơ khác không là nghiệm của hệ (1.3.1) được gọi là các vectơ riêng của ma trận
A ứng với giá trị riêng λ 0 Các vectơ tạo thành một cơ sở của không gian riêng được gọi là các vectơ riêng độc lập tuyến tính ứng với giá trị riêng λ 0 Định lý 1.3.1 (Định lý phổ cho ma trận đối xứng) Đối với ma trận đối xứng A ∈ R n×n , tồn tại một cơ sở trực chuẩn của không gian vectơ tương ứng gồm các vectơ riêng của A và mỗi giá trị riêng là số thực.
Ma trận trực giao
Một hệ cơ sở u 1 , u 2 ,ã ã ã , u m ∈ R m được gọi là trực giao nếu mỗi vectơ là khác 0 và tích của hai vectơ khác nhau bất kỳ bằng 0, tức là: u i ̸= 0;u i T u j = 0,∀1 ≤ i ̸= j ≤ m.
Một hệ cơ sở u 1 , u 2 ,ã ã ã , u m ∈ R m được gọi là trực chuẩn nếu nú là một hệ trực giao và độ dài Euclide của mỗi vectơ bằng 1: u i T u j
Gọi U = [u 1 , u 2 ,ã ã ã , u m ] với u 1 , u 2 ,ã ã ã , u m ∈ R m là trực chuẩn thỡ ta cú thể suy ra:
U U T = U T U = I,trong đó I là ma trận đơn vị bậc m Ta gọi U là ma trận trực giao.
Phân tích Cholesky của ma trận đối xứng và xác định dương
Trong chương này chúng tôi trình bày phân tích Cholesky của ma trận, thuật toán tìm phân tích Cholesky của ma trận, cùng một số ứng dụng của phân tích Cholesky Các kết quả trong chương này được trình bày lại từ các tài liệu [1],[2].
Phân tích Cholesky là một phương pháp phân tích ma trận đối xứng, xác định dương thành tích của ma trận tam giác dưới và ma trận chuyển vị của nó Nó được đặt theo tên của nhà toán học người Pháp André Cholesky người đã phát minh ra phương pháp này vào năm 1914.
Phân tích Cholesky được sử dụng để giải quyết các vấn đề liên quan đến ma trận đối xứng và xác định dương, chẳng hạn như giải hệ phương trình tuyến tính, tính toán giá trị riêng và vectơ riêng của ma trận. Phương pháp này cũng được sử dụng để tối ưu hóa các thuật toán phân tích số và mô phỏng hệ thống động.
Tuy nhiên, phân tích Cholesky cần một ma trận đối xứng, xác định dương để áp dụng, và nếu không có điều kiện này, phương pháp sẽ không áp dụng được Ngoài ra, nó cũng không hoạt động tốt khi sử dụng các ma trận thưa.
Phân tích Cholesky của ma trận đối xứng và xác định dương 9
Phân tích Cholesky của ma trận đối xứng và xác định dương
xác định dương Định lý 2.1.1 Cho A∈ R n×n là một ma trận đối xứng, xác định dương. Khi đó, tồn tại một ma trận tam giác dưới L cỡ n×n với các phần tử trên đường chéo chính dương sao cho A = L.L T , trong đó L được gọi là nhân tử Cholesky của A.
Hơn nữa, phân tích trên là duy nhất.
Chứng minh Để bắt đầu, chúng tôi sẽ chứng minh rằng nếu A = LL T , thì A phải là một ma trận đối xứng và xác định dương;
Thật vậy, A = LL T Khi đó
Vậy A là ma trận đối xứng.
Giả sử x ∈ R n \ {0}, ta cần chứng minh rằng x T Ax > 0 Thật vậy, ta có x T Ax= x T LL T x= (L T x) T (L T x) =∥L T x∥ 2 > 0.
Vì ∥L T x∥ 2 là bình phương của độ dài của L T x̸= 0 (vì x ̸= 0), nên A là ma trận xác định dương.
Do đó, nếu A = LL T , thì A là ma trận đối xứng và xác định dương.
Bây giờ chúng tôi sẽ chứng minh phần ngược lại của định lý Cholesky, tức là nếu A là ma trận đối xứng và xác định dương, thì A có một phân tích Cholesky.
Chúng tôi sẽ sử dụng phương pháp quy nạp theo kích thước của ma trận.
Trường hợp n = 1: Ma trận A có dạng A = [a], và A xác định dương khi và chỉ khi a > 0 Ta có thể lấy L = [√ a], và L là ma trận tam giác dưới Do đó, ta đã chứng minh trường hợp cho n= 1.
Trường hợp đến n: Giả sử chúng tôi đã chứng minh rằng mọi ma trận đối xứng và xác định dương cỡ (n−1)×(n−1) có phân tích Cholesky Xét A ∈ R n×n
S = A 22 − 1 a 11 A 21 A 12 Theo giả thuyết quy nạp, ta biết rằng S có một phân tích Cholesky
S = LSL T S , với LS ∈ R(n−1)×(n−1) là ma trận tam giác dưới.
Bây giờ, chúng tôi xây dựng ma trận L ∈ R n×n theo cách sau:
A là một ma trận đối xứng, xác định dương tức làa 11 > 0 Dễ thấy rằng, L là ma trận tam giác dưới Hơn nữa, A T 21 = A 12 , ta được:
Vậy, chúng ta đã chứng minh được định lý Cholesky.
Tìm nhân tử Cholesky
Cho ma trận đối xứng, xác định dương A ∈ R 4×4 ,
Mà A= L.L T nên từ đó suy ra: l 11 = √ a 11 l 22 q a 22 −l 2 21 l 33 q a 33 −l 2 31 −l 32 2 l 44 q a 44 −l 2 41 −l 42 2 −l 43 2 l21 = 1 l 11 a21. l 31 = 1 l11
Từ đó ta có thuật toán tính nhân tử Cholesky:
Ví dụ 2.1.1 Xác định ma trận A theo phân tích Cholesky có ma trận tam giác dưới được cho bởi
Ví dụ 2.1.2 Tìm ma trận tam giác dưới được sử dụng trong phân tích Cholesky cho ma trận R 2×2
Giả sử ma trận tam giác dưới có dạng L " l 11 0 l 21 l 22
Vậy ma trận tam giác dưới là L "
Từ thuật toán tìm nhân tử Cholesky, ta có thuật toán phân tích Cholesky. Đầu vào: Ma trận đối xứng và xác định dương A. Đầu ra: Ma trận L.
- Bước 1: Khởi tạo ma trận tam giác dưới L với các phần tử bằng 0.
- Bước 2: Dùng các phương trình Cholesky để tính toán từng phần tử của ma trận L:
– Với mỗi j từ 1 đến n, tính toán:
– Với mỗi i từ j + 1 đến n, tính toán:
- Bước 3: Trả về ma trận L là kết quả.
Ví dụ 2.1.3 Xét ma trận đối xứng và xác định dương
Áp dụng thuật toán phân tích Cholesky cho ma trận A, ta thu được ma trận tam giác dưới
Một số ứng dụng
Giải hệ phương trình tuyến tính
Thuật toán: Giải hệ phương trình tuyến tính A.x = b, trong đó A là một ma trận đối xứng, xác định dương.
- Bước 1: Phân tích ma trận A thành tích của hai ma trận tam giác dưới L và ma trận chuyển vị của nó L T , tức là A= L.L T Khi đó ta có thể viết lại hệ phương trình thành L.L T x = b.
- Bước 2: Giải hệ phương trình tuyến tính Ly = b bằng phương pháp giải tam giác dưới tìm y.
- Bước 3: Giải hệ phương trình tuyến tính L T x = y bằng phương pháp giải tam giác trên tìm x.
Ví dụ 2.2.1 Giải hệ phương trình
Ta biểu diễn hệ phương trình trên dưới dạng ma trận:
Ta thấy A là ma trận đối xứng, xác định dương nên ta có thể giải hệ phương trình bằng phương pháp phân tích Cholesky.
Vậy nghiệm của hệ phương trình tuyến tính là
Phân tích Cholesky của ma trận Gram
Các ma trận Gram có dạng X T X, với X là một ma trận cỡ m ×n. Các ma trận Gram có nhiều ứng dụng quan trọng trong một số lĩnh vực:
- Trong Tối ưu đa thức;
- Trong Lý thuyết điều khiển;
- Trong phương pháp phần tử hữu hạn;
- Trong Máy học, các hàm hạt nhân (kernel function) thường được biểu diễn dưới dạng một ma trận Gram.
Nghịch đảo của một ma trận Gram có nhiều ứng dụng quan trọng trong Thống kê, trong Máy học,
Giả sử B ∈ R m×n , với các cột của nó là độc lập tuyến tính Ma trận Gram A= B T B là một ma trận đối xứng và xác định dương.
Có hai phương pháp để tính nhân tử Cholesky của A, dựa trên ma trận B:
Phương pháp 1: Tính A = B T B, sau đó thực hiện phân tích Cholesky cho A dưới dạng A = RR T , trong đó R là một ma trận tam giác dưới, chính là nhân tử Cholesky của ma trận Gram A, để tạo ra ma trận tam giác dưới R Ma trận R chính là ma trận Cholesky của A. Phương pháp 2: Tính phân tích QR cho B = QR, sau đó sử dụng nó để tính Cholesky cho A, trong đó Q là ma trận trực giao và R là ma trận tam giác trên Tiếp theo, tính ma trận Gram A = B T B R T Q T Q.R = R T R.
Ví dụ 2.2.2 Cho ma trận B ∈ R m×n , B
Phương pháp 1 Phân tích Cholesky cho ma trận A.
Ta thấy A là ma trận đối xứng, xác định dương nên ta có thể giải hệ phương trình bằng phương pháp phân tích Cholesky.
Vậy phân tích Cholesky cho ma trận A "
# Phương pháp 2 Phân tích QR cho ma trận B.
Ta có phân tích QR cho ma trận B
Từ đó suy ra phân tích Cholesky cho ma trận A = B T B.
Chú ý 2.2.3 Để tìm nghịch đảo của ma trận Gram A = B T B, giả sử
A = R.R T là phân tích Cholesky của A Khi đó A −1 = P P T , trong đó
Ghi chú
Phân tích Cholesky là một công cụ quan trọng trong tính toán, đặc biệt trong lĩnh vực Máy học Trong nhiều trường hợp, cần làm việc với các ma trận đối xứng và xác định dương, ví dụ như ma trận hiệp phương sai của phân phối Gauss nhiều biến Ma trận này là đối xứng và xác định dương Việc thực hiện phân tích Cholesky cho ma trận hiệp phương sai này cho phép chúng tôi tạo ra các mẫu từ phân phối Gauss.
Phân tích Cholesky cũng giúp chúng tôi tính toán định thức một cách hiệu quả Với phân tích Cholesky A = L.L T , khi đó det(A) det(L).det(L T ) = det(L) 2 Vì ma trận L là một ma trận tam giác, nên định thức của nó đơn giản chỉ là tích của các phần tử trên đường chéo chính của nó Do đó, nhiều phần mềm tính toán số sử dụng phân tíchCholesky để làm cho các tính toán trở nên hiệu quả hơn.
Phân tích riêng của ma trận
Trong chương này chúng tôi trình bày phân tích riêng (Eigendecom- position) của ma trận, thuật toán chéo hóa ma trận, cùng một số ứng dụng của phân tích riêng Các kết quả trong chương này được trình bày lại từ các tài liệu [1],[2].
Phân tích riêng là một phương pháp phân tích ma trận trong Đại số tuyến tính Phương pháp này cho phép phân tích một ma trận vuông thành tích của các ma trận trực giao và các ma trận đường chéo.
Phân tích riêng của ma trận
Định lý sau đây đưa ra điều kiện cần và đủ để một ma trận có một phân tích riêng, tức là có thể chéo hoá được. Định lý 3.1.1 Một ma trận A ∈ R n×n có thể phân tích thành: A P.D.P −1 , trong đó P ∈ R n×n và D là một ma trận đường chéo với các phần tử đường chéo chính là các giá trị riêng của A khi và chỉ khi các vectơ riêng của A là một cơ sở của R n
Chứng minh Gọi λ1, λ2, , λn là các số thực và P1, P2, , Pn là các vectơ trong R n
Ký hiệu ma trận P gồm cỏc vectơ P 1 ,ã ã ã , P n tức là
Ta sẽ chứng minh rằng AP = P D khi và chỉ khi λ 1 , λ 2 , , λ n là các giá trị riêng của A và các vectơ P 1 , P 2 , , P n là các vectơ riêng tương ứng của A.
Do đó, AP = P D khi và chỉ khi
AP n = λ n P n Điều đó chứng tỏ rằng λ 1 , λ 2 , , λ n là các giá trị riêng, vàP 1 , P 2 , , P n là các vectơ riêng tương ứng của A.
Khẳng định này suy ra Định lý phân tích riêng. Định lý 3.1.2 Mọi ma trận đối xứng luôn có một phân tích riêng, tức là có thể chéo hoá được.
Chứng minh Giả sử A ∈ R n×n là ma trận đối xứng và λ 1 , , λ k là các giá trị riêng của ma trận A, với bội đại số m i , i= 1, , k.
Vì λ 1 là giá trị riêng của A nên tồn tại một vectơ v 1 ̸= 0 sao cho
Gọi V là không gian con của R n sinh bởi v 1 và W là không gian được sinh bởi các vectơ trong R n , trực giao với v 1
Giả sử w ∈ W Khi đó ta có v.w = 0 và v.Aw = v T Aw = (Av) T w λv T w = λv.w = 0.
Do đó, Aw ∈ W Vì vậy, A có thể xem là toán tử tuyến tính từ W đến W, khi hạn chế lên W. λ 1 là giá trị riêng của A khi xét như là một toán tử tuyến tính trên
W, và tồn tại một vectơ riêng tương ứng v2 trong W.
Cứ tiếp tục lập luận bằng cách thay thế V bằng không gian con sinh bởi v1, v2 và W bằng không gian con sinh bởi các vectơ trong R n trực giao với v 1 và v 2
Sau m1 bước, thu được m1 vectơ riêng độc lập tuyến tính tương ứng với λ 1 Sau n bước, với n= m 1 +m 2 + +m k , n vectơ riêng độc lập của
A, tạo thành một cơ sở của không gian R n , đối với cơ sở này ma trận của A là ma trận đường chéo với các phần tử trên đường chéo là các giá trị riêng của A. Định lý được chứng minh xong.
Trực quan hình học của phân tích riêng
Chúng tôi mô tả các bước phân tích riêng (chéo hoá) một ma trận gồm một dãy các phép biến đổi như sau (xem Hình 3.1).
1 Bước đầu tiên diễn ra ở góc trên cùng bên trái sang phía dưới bên trái: Tại đây, chúng tôi thực hiện thay đổi cơ sở của không gian vectơ bằng phép biến đổi P −1 , mô tả bằng phép quay trong không gian R 2 Trong bước này, chúng tôi chuyển cơ sở chính tắc sang cơ
Hình 3.1: Trực quan hình học của phân tích riêng. sở gồm các vector riêng Điều này được thực hiện bằng cách nhân mỗi vectơ riêng với nghịch đảo của ma trận P.
2 Sau đó, chúng tôi xét bước tiếp theo, từ phía dưới bên trái sang phía dưới bên phải Tại đây, ma trận D thực hiện phép co giãn D là một ma trận đường chéo với các giá trị trên đường chéo là các giá trị riêng của ma trận A.
3 Cuối cùng, chúng tôi tiến đến bước cuối cùng, từ phía dưới bên phải đến phía trên bên phải Ở đây, ma trận P được sử dụng để hoàn tác lại cơ sở ban đầu Sau khi đã thực hiện phép co giãn, chúng tôi muốn trở lại cơ sở ban đầu Điều này được thực hiện bằng cách áp dụng ma trận P vào các vectơ riêng đã được kéo giãn Ma trận P thực hiện một phép quay hoặc biến đổi các vectơ riêng đã được kéo giãn trở lại vị trí ban đầu của chúng.
Ví dụ 3.2.1 Tìm phân tích riêng của ma trận A= 1
Tính giá trị riêng và vectơ riêng
Ta có phương trình đặc trưng: det(A−λI) = 0
# là vectơ riêng cần tìm.
Cơ sở trực chuẩn của ma trận P là p1 = 1
# là vectơ riêng cần tìm.
Cơ sở trực chuẩn của ma trận P là p 2 = 1
Kiểm tra sự tồn tại
Các vectơ riêng p 1 , p 2 là cơ sở của không gian R 2
Do đó, A chéo hóa được.
Xây dựng ma trận P để biến đổi ma trận A thành dạng ma trận đường chéo
Mà P −1 = P T ,vì các vec tơ riêng p 1 , p 2 là các cơ sở trực chuẩn.
Phân tích riêng của ma trận có nhiều ứng dụng rất thú vị, sẽ được trình bày ở mục sau Trước hết, phân tích riêng của ma trận có thể được sử dụng để tính toán luỹ thừa của ma trận và tính định thức của ma trận một cách thuận tiện.
1 Áp dụng phân tích riêng để tính luỹ thừa ma trận
Giả sử A là một ma trận có phân tích riêng A = P DP −1 Khi đó, với mỗi số tự nhiên dương k, ta có:
2 Áp dụng phân tích riêng tính định thức ma trận
Giả sử tồn tại phân tích riêng A = P.D.P −1 Định thức của ma trận A ∈ R n×n được tính bằng tích các giá trị riêng, đó là: det(A) = det(P.D.P −1 ) (P)det(D)det(P −1 ) det(A) = det(P.D.P −1 ) (P)( n
Thuật toán chéo hóa ma trận
Đầu vào: Ma trận A Đầu ra: Ma trận P có các cột là các vectơ riêng tìm được.
- Bước 1: Giải phương trình đặc trưng det(A−λI) = 0 tìm các giá trị riêng của A.
- Bước 2: Ứng với mỗi giá trị riêng, tìm một cơ sở cho không gian riêng V λ
- Bước 3: Xét hệ B ′ gồm tất cả các vectơ riêng tạo thành cơ sở cho các không gian riêng nhận được ở Bước 2.
– Nếu số phần tử của B ′ bằng n (tức là dim(Vλ) = n) thì A chéo hóa được Ma trận P chéo hóa ma trận A chính là ma trận đổi cơ sở chính tắc từ B sang B ′
– Nếu số phần tử B ′ nhỏ hơn n, nghĩa là P λdimV λ < n thì A không chéo hóa được.
- Bước 4: Ma trận chéo hóa A cần tìm là ma trận P có các cột là các vectơ riêng tìm được.
Ví dụ 3.3.1 Cho ma trận A "
# Ma trận A có chéo hóa được hay không? Nếu chéo hóa được thì tìm ma trận chéo hóa ma trận A.
Tìm giá trị riêng và vectơ riêng của A
Tìm giá trị riêng của A
Ta có phương trình đặc trưng: det(A−λI) = 0
Tìm vectơ riêng của A, gọi x " x 1 x 2
# là vectơ riêng cần tìm.
⇔ x 1 = −x 2 Suy ra vectơ riêng của A là x "
# Đặt B ′ = {x} Ta có, số vectơ của B ′ nhỏ hơn 2 (A ∈ M 2 ). Vậy A không chéo hóa được.
Ví dụ 3.3.2 Hãy chéo hóa ma trận A"
# (nếu có). Tìm giá trị riêng và vectơ riêng của A.
Tìm giá trị riêng của A
Ta có phương trình đặc trưng: det(A−λI) = 0
# là vectơ riêng cần tìm.
# là vectơ riêng cần tìm.
Khi đó, ma trận chéo hóa A là: P "
Ứng dụng của phân tích riêng trong Máy học
Trong phần này chúng tôi trình bày ứng dụng của phân tích riêng trong Máy học, cụ thể là ứng dụng phân tích riêng trong kỹ thuật phân tích thành phần chính (PCA) PCA được sử dụng rộng rãi trong phân tích dữ liệu, xử lý hình ảnh, nhận dạng khuôn mặt, và nhiều lĩnh vực khác Trong phân tích dữ liệu, PCA giúp giảm chiều dữ liệu mà vẫn giữ lại phần lớn thông tin quan trọng Điều này giúp giảm độ phức tạp và nhiễu trong dữ liệu, cũng như tạo điều kiện thuận lợi cho việc xây dựng mô hình máy học Trong xử lý hình ảnh và nhận dạng khuôn mặt, PCA có thể giúp cải thiện hiệu suất và loại bỏ đặc trưng không quan trọng.
Kỹ thuật PCA gồm các bước sau đây.
Xác định ma trận hiệp phương sai: PCA bắt đầu bằng việc thu thập dữ liệu đầu vào, được biểu diễn bởi một ma trận dữ liệu
X m×n , trong đó m là số quan sát và n là số biến Ma trận hiệp phương sai C được tính bằng cách sử dụng các quan sát trong dữ liệu để xác định sự tương quan giữa các biến Ma trận hiệp phương sai C n×n và có dạng:
Cij là phần tử tại hàng i và cột j của ma trận hiệp phương sai C; n là số lượng quan sát; x ki và x kj là các vectơ quan sát (đặc trưng) thứ i và j của quan sát thứ k; à i và à j là giỏ trị trung bỡnh của đặc trưng tương ứng.
Ma trận hiệp phương sai C có thể được biểu diễn dưới dạng:
P là ma trận các vectơ riêng;
D là ma trận đường chéo chứa các giá trị riêng.
Công thức cụ thể để tính các vectơ riêng và các giá trị riêng của ma trận hiệp phương sai C thường không được đưa ra ở đây để tránh phức tạp Quy trình này thường được thực hiện thông qua các phần mềm máy tính hoặc thư viện tính toán.
Sắp xếp các vectơ riêng và chọn các thành phần chính
Các vectơ riêng thường được sắp xếp theo giá trị riêng tương ứng giảm dần Các vectơ riêng có giá trị riêng lớn chứa nhiều thông tin quan trọng về biến đổi dữ liệu.
Chọn số lượng các thành phần chính cần giữ lại (thường ít hơn so với số biến ban đầu) dựa trên giá trị riêng và vectơ riêng tương ứng Số lượng này có thể được chọn dựa trên một ngưỡng hoặc tiêu chuẩn cụ thể.
Cuối cùng, PCA sử dụng các thành phần chính đã chọn để chiếu dữ liệu ban đầu lên không gian mới có số chiều thấp hơn.
Dữ liệu mới này là biểu diễn của dữ liệu gốc với số chiều giảm. Biểu diễn này có thể được tính bằng cách nhân ma trận dữ liệu gốc với ma trận các các thành phần chính được chọn.
Phương pháp phân tích riêng yêu cầu sử dụng ma trận vuông Để mở rộng phân tích này cho các ma trận tổng quát, trong phần tiếp theo sẽ giới thiệu một kỹ thuật phân tích mạnh mẽ hơn, được gọi là phân tíchSVD (Singular Value Decomposition).
Phân tích SVD của ma trận
Trong chương này chúng tôi trình bày phân tích SVD của ma trận, thuật toán tìm phân tích SVD, phép giảm chiều dữ liệu của SVD, mối liên hệ giữa phân tích riêng và phân tích SVD, cùng một số ứng dụng của phân tích SVD Các kết quả trong chương này được trình bày lại từ các tài liệu [1],[2],[3],[4].
Phân tích SVD là một phương pháp quan trọng trong Đại số tuyến tính và xử lý tín hiệu Nó cho phép phân tích ma trận thành các phần tử cơ bản và giúp giảm chiều dữ liệu, tách nguồn, nén dữ liệu, phân tích hình ảnh và nhiều ứng dụng khác.
SVD có thể sử dụng để giảm số chiều của dữ liệu bằng cách giữ lại các giá trị kỳ dị lớn nhất, giảm thiểu sự mất mát thông tin.
SVD cũng được sử dụng rộng rãi trong xử lý ảnh để phân tích và tái tạo hình ảnh Bằng cách thực hiện SVD trên ma trận ảnh ta có thể chia thành các thành phần cơ bản và giảm chiều của ảnh để giảm độ phức tạp tính toán và bộ nhớ.
SVD cũng có ứng dụng trong phân tích tín hiệu, giúp tách nguồn và trích xuất thông tin từ tín hiệu phức tạp như âm thanh và video.
Phân tích SVD của ma trận
Phân tích SVD của ma trận là một phương pháp trong Đại số tuyến tính Nó được coi là một trong những định lý cơ bản của Đại số tuyến tính, với khả năng áp dụng cho mọi loại ma trận, không chỉ riêng các ma trận vuông, và luôn tồn tại giải pháp Ngoài ra, SVD của một ma trận A có thể được hiểu như một loại ánh xạ tuyến tính, cho phép định lượng sự biến đổi giữa các khía cạnh hình học cơ bản của hai không gian vectơ. Định lý 4.1.1 Cho ma trận A ∈ R m×n Khi đó, thể phân tích A thành ba ma trận U,Σ và V T theo công thức sau:
U ∈ R mìm : ma trận trực giao cột, với cỏc vectơ cột u i , i = 1, ããã , m;
V ∈ R nìn : ma trận trực giao cột, với cỏc vectơ cột vj, j = 1, ããã , n; Σ ∈ R m×n là ma trận đường chéo với các phần tử trên đường chéo là các giá trị kỳ dị giảm dần.
Chứng minh Xét ma trận A ∈ R m×n có hạng r.
Phân tích riêng của ma trận S được biểu diễn: S = S T = P DP T Phân tích SVD của ma trận S được biểu diễn: S = UΣV T Đặt U = P = V, D = Σ.
Ma trận A T A là ma trận đối xứng, nửa xác định dương nên có thể chéo hóa được.
Do đó, ma trận có thể biến đổi thành dạng:
P là ma trận trực giao, bao gồm các cơ sở riêng trực giao; λ i là các giá trị riêng của A T A.
Giả sử, tồn tại ma trận A của phân tích SVD Khi đó
A T A = (UΣV T ) T (UΣV T ) = VΣ T U T UΣV T , trong đó, U, V là các ma trận trực giao Do đó, U T U = I, ta có
Do đó, các vectơ riêng của A T A tạo thành P là các vectơ số ít bên phải V của A.
Các giá trị riêng của A T A là các giá trị đơn bình phương của Σ. Để tìm được vectơ số ít bên trái U, ta thực hiện bằng việc tính SVD của ma trận đối xứng AA T ∈ R m×m (thay vì A T A ∈ R n×n ) Phân tích SVD của ma trận A:
Định lý phổ của một ma trận cho biết rằng AA T = SDS T có thể chéo hóa được Các vectơ riêng trực giao của AA T được thu thập trong
S và là các vectơ số ít bên trái U, được tạo thành một cơ sở trực giao trong miền của SVD.
Vì A T A và AA T có cùng giá trị riêng khác 0 nên các phần tử khác 0 của ma trận Σ trong SVD cho cả hai trường hợp đều phải giống nhau. Với hai vectơ riêng trực giao v i , v j , i ̸= j bất kỳ, ta có
(Av i ) T (Av j ) =v i T (A T A)v j = v T i (λ j v j ) = λ j v j T v j = 0. Đối với trường hợp m > r thì Av 1 , , Av r là cơ sở của không gian con R m Để xây dựng SVD, ta cần các vectơ số ít bên trái là trực chuẩn Ta chuẩn hóa các vectơ số ít bên trái Av i ta được u i := Avi
√λ i Av i = 1 σ i Av i Hay Av i = σ i u i với i = 1, , r.
Phương trình này gần giống với phương trình giá trị riêng nhưng các vectơ ở vế trái và vế phải không giống nhau. Đối với trường hợp n < m chỉ đúng với i ≤ n nhưng không nói gì về u i , với i > n Tuy nhiên, bằng cách xây dựng ta biết các vectơ đó trực chuẩn Ngược lại, m < n chỉ đúng với i < m Với i > m ta có Avi = 0 trong đó v i tạo thành từ cơ sở trực chuẩn.
Ghép vi thành các cột của V và ui thành các cột của U ta được
Nhân cả hai vế cho V T ta được công thức SVD:
Trong đó, V V T = I và Σ là một ma trận đường chéo có cùng kích thước với A.
Vậy, ta đã chứng minh được phân tích SVD.
Chú ý 4.1.1 Ma trận Σ ∈ R m×n là duy nhất Đặc biệt, Σ có cùng kích thước với A Điều này có nghĩa là Σ có một ma trận con chéo chứa các giá trị kỳ dị và cần được bổ sung thêm các phần tử 0 Cụ thể:
Nếu m > n thì ma trận Σ có cấu trúc đường chéo lên đến hàng n và các hàng bao gồm 0 từ n+ 1 đến m: Σ
Nếu m < n thì ma trận Σ có cấu trúc đường chéo lên tới cột m và các cột bao gồm 0 từ m+ 1 đến n: Σ
Do đó, SVD tồn tại cho bất kỳ ma trận A∈ R m×n
Trực quan hình học của phân tích SVD
Hình 4.1: Trực quan hình học của phân tích SVD.
SVD (Singular Value Decomposition) là một công cụ mạnh mẽ trong toán học và khoa học máy tính, cho phép hiểu một biến đổi ma trận dưới góc độ hình học Nó thực hiện hai phép biến đổi cơ sở đồng thời: ma trận V T thay đổi cơ sở trong không gian đầu vào, và ma trận U thay đổi cơ sở trong không gian đầu ra Ma trận Σ biểu diễn sự thay đổi tỷ lệ và kích thước của các chiều mới (xem Hình 4.1). Để hiểu rõ hơn cách SVD hoạt động, hãy xem xét một ví dụ: giả sử ta có một biến đổi của một ánh xạ tuyến tính: Φ : R n → R m Sử dụng hai bộ cơ sở khác nhau: cơ sở thứ nhất là B và C cho không gian đầu vào R n và đầu ra R m ; cơ sở thứ hai là B˜ và C˜ cho không gian đầu vào
R n và đầu ra R m Nếu muốn biểu diễn quá trình này bằng SVD, ta thực hiện các bước sau:
1 Ma trận V biểu diễn phép thay đổi cơ sở từ cơ sở thứ hai B˜ của không gian đầu vào (được biểu diễn bằng các vectơ màu đỏ và cam v1 và v2 ở góc trên bên trái của Hình 4.1) sang cơ sở tiêu chuẩn
B Ma trận V T (hoặc nghịch đảo của nó) thực hiện thay đổi cơ sở ngược lại từ B sang B Các vectơ màu đỏ và cam được căn chỉnh˜ với cơ sở chính tắc ở phía dưới bên trái của Hình 4.1.
2 Sau khi đã thay đổi hệ tọa độ sang B,˜ Σ chia tỷ lệ các tọa độ mới bằng các giá trị đơn σ i (và thêm hoặc xoá các kích thước), tức là Σ là ma trận biến đổi của Φ đối với B˜ và C˜, được biểu diễn bằng các vectơ màu đỏ và cam được kéo dài và nằm trong mặt phẳng e 1 −e 2 , mà bây giờ nằm trong một chiều thứ ba ở phía dưới bên phải của Hình 4.1.
3 Ma trận U thực hiện phép thay đổi cơ sở trong miền R m từ C˜ về cơ sở chính tắc của R m , được biểu diễn bằng một phép quay các vectơ màu đỏ và cam ra khỏi mặt phẳng e 1 − e 2 Điều này được thể hiện ở phía trên bên phải của Hình 4.1.
SVD giúp chúng tôi hiểu rõ hơn cách mỗi phần của biến đổi ma trận ảnh hưởng đến không gian đầu vào và đầu ra Điều đặc biệt là SVD cho phép chúng tôi thực hiện quá trình này trong hai không gian cơ sở khác nhau, đối lập với phương pháp phân tích riêng truyền thống, trong đó cùng một biến đổi cơ sở được thực hiện và hoàn tác trong cùng không gian Điểm đặc biệt của SVD là việc hai cơ sở khác nhau này được kết nối thông qua ma trận giá trị kỳ dịΣ, mang lại sự linh hoạt và hiệu suất trong biểu diễn và nén dữ liệu.
Thuật toán phân tích SVD của ma trận
Đầu vào: Ma trận A ∈ R m×n Đầu ra: Ma trận U, Σ và V.
- Bước 1: Tính toán ma trận A T A kích thước n × n và ma trận
- Bước 2: Tìm các giá trị riêng và vectơ riêng cho ma trận A T A và
- Bước 3: Sắp xếp các giá trị riêng theo thứ tự giảm dần và tương ứng với mỗi giá trị riêng, tính toán vectơ riêng.
- Bước 4: Tạo ma trận trực giao U từ các vectơ riêng của AA T và ma trận trực giao V từ các vectơ riêng của A T A.
- Bước 5: Xác định ma trận đường chéo Σ từ các giá trị riêng của
- Bước 6: Trả về ma trận U, Σ và V là kết quả.
Ví dụ 4.3.1 Xét ma trận A "
Xét phương trình đặc trưng: det(AA T −λI) = 0
# là vectơ riêng cần tìm.
Vậy cơ sở trực chuẩn của ma trận U là
# là vectơ riêng cần tìm.
Vậy cơ sở trực chuẩn của ma trận U là
Từ (4.3.1) và (4.3.2), suy ra ma trận trực giao U là:
Xét phương trình đặc trưng: det(A T A−λI) = 0
là vectơ riêng cần tìm.
Vậy cơ sở trực chuẩn của ma trận V là
là vectơ riêng cần tìm.
Vậy cơ sở trực chuẩn của ma trận V là
là vectơ riêng cần tìm.
Vậy cơ sở trực chuẩn của ma trận V là
Từ (4.3.3), (4.3.4) và (4.3.5), suy ra ma trận trực giao V là:
So sánh phân tích riêng và phân tích SVD
SVD luôn tồn tại cho bất kỳ ma trận R m×n nào Phân tích riêng chỉ có thể được xác định cho ma trận R n×n và chỉ tồn tại khi có thể tìm thấy một cơ sở của các vectơ riêng trong không gian R n
Các vectơ trong ma trận phân tích riêng P không bắt buộc phải trực giao, tức là, sự thay đổi cơ sở không nhất thiết phải biểu thị bằng phép quay và chia tỷ lệ đơn giản Trong khi đó, các vectơ trong các ma trận U và V trong SVD là các vectơ đơn vị Do đó, chúng thể hiện phép quay.
Cả phân tích riêng và SVD đều bao gồm ba phép ánh xạ tuyến tính:
1 Thay đổi cơ sở trong miền dữ liệu.
2 Tính tỷ lệ độc lập của từng vectơ cơ sở mới và ánh xạ từ miền dữ liệu sang tên miền dữ liệu.
3 Thay đổi cơ sở trong tên miền dữ liệu.
Một sự khác biệt quan trọng giữa phân tích riêng và phân tích SVD là trong SVD, miền và tên miền có thể là các không gian vectơ có kích thước khác nhau.
Trong SVD, các ma trận U và V thường không phải là nghịch đảo của nhau (chúng thực hiện sự thay đổi cơ sở trong các không gian vectơ khác nhau) Trong phân tích riêng, các ma trận thay đổi cơ sở P và P −1 là nghịch đảo của nhau.
Trong SVD, các phần tử trong ma trận đường chéo Σ đều là số thực và không âm, điều này không phải lúc nào cũng đúng đối với ma trận đường chéo trong phân tích riêng.
SVD và phân tích riêng có mối quan hệ mật thiết thông qua:
- Các vectơ riêng bên trái của A là các vectơ riêng của AA T
- Các vectơ riêng bên phải của A là các vectơ riêng của A T A.
- Các giá trị riêng khác 0 của A là căn bậc hai của các giá trị riêng khác 0 của cả AA T và A T A. Đối với các ma trận đối xứng A∈ R n×n nửa xác định dương, phân tích riêng và SVD là giống nhau, điều này xuất phát từ Định lý(1.3.1).
Các phép giảm chiều SVD
Phương pháp làm mỏng SVD
Xuất phát từ ý tưởng số quan sát thường lớn gấp rất nhiều lần so với số chiều hay m >> n trong hầu hết các trường hợp của ma trận A nên thay vì phải tính toán bộ ma trận Umm ta sẽ chỉ tính n cột đầu tiên là U mn Số chiều của ma trận đường chéo Σ mn cũng giảm xuống thành Σnn Khi đó ma trận A được biểu diễn dưới dạng:
Như vậy số lượng các trị riêng cần tìm chỉ còn n và số lượng vectơ riêng chỉ còn 2n (n cột của ma trận U mn và n cột của ma trận V nn ).
Phương pháp Compact SVD
Ta có thể biểu diễn ma trận A dưới dạng tổng của các tích vectơ cột ui ∈ R m của Umm và vectơ dòng vi ∈ R n của V nn T như sau:
Các vectơ u i và v i là các hệ cơ sở độc lập tuyến tính Thông thường trong ma trận đường chéo Σ nn chỉ một lượng lớn các trị riêng có lớn hơn
0 Các trị riêng còn lại đều xấp xỉ 0 Do đó chỉ tại r vị trí dòng và cột tương ứng với các trị riêng đủ lớn ta mới thực hiện tính toán SVD Biểu diễn ma trận A mn dưới dạng compact SVD như sau:
A = U r Σ r V r T , trong đó các ma trận Ur,Σr, V r T lần lượt là các ma trận sau khi đã rút gọn các dòng và cột để chỉ giữ lại các vị trí tương ứng với σ i đủ lớn Nếu r σ 2 >
> σ r > 0 lớn nhất củaA từ U, V T Phần còn lại của ma trận sẽ bị loại bỏ Như vậy trong phương pháp cắt cụt SVD ta sẽ thu được ma trận xấp xỉ của ma trận A bằng tổng của k < r ma trận có rank 1:
Hoặc ta có thể biểu diễn dưới dạng tổng của tích vô hướng các vectơ cột và dòng của U, V T như sau:
Khi đó ta còn tính được khoảng cách norm Frobenius giữa A k và A chính bằng tổng bình phương của các trị riêng còn lại từ σ t+1 đến σ n (với giả định A có n trị riêng) như sau
Dấu bằng (4.5.3) là vì lấy đẳng thức (4.5.1) trừ đi (4.5.2) Dấu bằng thứ (4.5.4) xảy ra là do ma các vectơ cột của U, V là những hệ trực giao nên u T i u j = 0, v i T v j = 0,∀1 ≤i ̸= j ≤ r Các dấu bằng (4.5.5), (4.5.6) là do u T i u i = 1, v i T v i = 1,∀1 ≤ i ≤ r Như vậy ta đã hiểu lý do tại sao chỉ chọn ra k trị riêng có giá trị lớn nhất Khi đó sai số của 2 ma trận sẽ là nhỏ nhất vì bằng tổng bình phương của các trị riêng còn lại Phương pháp cắt cụt SVD còn cho ta biết được tỷ lệ phần trăm lượng thông tin lưu giữ trong ma trận xấp xỉ thông qua công thức: k
Như vậy, sai số do xấp xỉ càng nhỏ nếu phần giá trị đơn bị cắt cụt có giá trị càng nhỏ so với phần giá trị đơn được giữ lại Đây là một định lý quan trọng giúp xác định việc xấp xỉ ma trận dựa trên lượng thông tin muốn giữ lại.
Ví dụ, nếu ta muốn giữ lại ít nhất 90% lương thông tin trong A, trước hết ta tính r
X j=1 σ 2 j , sau đó chọn k là số nhỏ nhất sao cho: k
Khi k nhỏ, ma trận A k có rank là k, là một ma trận có rank nhỏ Vì vậy, phương pháp cắt cụt SVD còn được coi là một phương pháp xấp xỉLow-rank.
Một số ứng dụng
Giảm chiều dữ liệu hình ảnh
Giả sử ta có một tập dữ liệu nhiều ảnh có kích thước rất lớn Khả năng lưu trữ trên máy chủ là có hạn Trong tình huống này làm thể nào để giảm kích thước của bộ ảnh vừa với dung lượng trên máy chủ mà thông tin của các bức ảnh vẫn giữ được một lượng lớn Câu trả lời sẽ có sau khi ta thực hành nén một bức ảnh bằng thuật toán phương pháp cắt cụt SVD.
Ta sẽ thực hiện nén ảnh theo phương pháp SVD, sao cho chỉ lấy lần lượt với 10 và 20 trị riêng lớn nhất để lưu giữ thông tin.
Như vậy, với 10 trị riêng lớn nhất đã thể hiện được được 99.39% thông tin bức ảnh và với 20 trị riêng lớn nhất thể hiện được 99.74% thông tin bức ảnh So với bức ảnh gốc, ta phải lưu trữ ma trận có kích thước là 330×500 Trong khi với 20 chiều vectơ, ta chỉ phải lưu trữ các ma trận U t , V t có kích thước là 330×20, 20×500 và ma trận S có kích thước là 20×20 Giả định mỗi phần tử của ma trận được lưu với cùng số byte Như vậy, số lượng thông tin ta cần lưu chỉ là:
Hình 4.4: Kết quả nén ảnh với lần lượt 10 trị riêng lớn nhất.
Hình 4.5: Kết quả nén ảnh với lần lượt 20 trị riêng lớn nhất.
Do đó, phương pháp cắt cụt SVD thường được sử dụng trong nén thông tin rất hiệu quả.
Nén dữ liệu
Để nén dữ liệu bằng phân tích SVD, chúng tôi sẽ thực hiện các bước sau:
1 Xác định ma trận dữ liệu A có kích thước m×n, trong đó m là số lượng mẫu và n là số lượng thuộc tính.
2 Thực hiện phân tích SVD trên ma trận A , được biểu diễn dưới dạng A = UΣV T trong đó
U ∈ R m×m là ma trận trực giao; Σ ∈ R m×n là ma trận đường chéo;
V ∈ R n×n là ma trận trực giao.
3 Xác định một ngưỡng cắt dựa trên các giá trị đặc biệt của ma trận Σ Các giá trị đặc biệt lớn hơn ngưỡng này sẽ được giữ lại, còn các giá trị nhỏ hơn sẽ bị loại bỏ.
Tóm lại, ma trận A từ các ma trận U, Σ, và V đã được giữ lại, theo công thức A ′ = UΣ ′ V T , trong đó Σ ′ là ma trận đường chéo chỉ bao gồm các giá trị đặc biệt lớn hơn ngưỡng.
Kết quả của quá trình này là một ma trận nén A ′ ∈ R m×n , mà mỗi phần tử trong đó chỉ được biểu diễn bởi một số giá trị đặc biệt thay vì nhiều thuộc tính ban đầu, giúp giảm kích thước lưu trữ và tính toán.Tuy nhiên, quá trình này có thể dẫn đến mất mát thông tin, tùy thuộc vào ngưỡng cắt được chọn.
Phân tích thành phần chính (PCA)
PCA (Principal Components Analysis) là một phương pháp trong thống kê và phân tích dữ liệu, được sử dụng để tìm một biểu diễn chiếu chiều thấp hơn của một tập hợp các điểm dữ liệu ban đầu, mà chúng tôi có thể lưu trữ trong ma trận X ∈ R n×k , trong đó có k quan sát trong n chiều Mục tiêu của PCA là tìm ra các vectơ cơ bản để chiếu dữ liệu ban đầu vào không gian chiếu thấp mà vẫn giữ lại nhiều thông tin nhất có thể.
Cách làm việc của PCA được trình bày như sau:
Giả sử chúng tôi được phép chiếu dữ liệu lên không gian con tạo bởi d vectơ vớid ≤ min{k, n} và muốn chọn những vectơ này một cách tối ưu Chúng tôi có thể biểu diễn chúng trong ma trận C ∈ R n×d , trong đó các cột của C là chéo vuông với nhau, tức là C T C = I d×d (ma trận đơn vị kích thước d×d).
PCA tương ứng với việc tối thiểu hoá khoảng cách Frobenius giữa ma trận X ban đầu và chiếu của nó lên không gian cột của C, tức là ∥X −CC T X∥ Fro Trong bài toán này, chúng tôi muốn tối thiểu hóa ∥X −CC T X∥ Fro với điều kiện C T C = I d×d Chúng tôi có thể đơn giản hóa bài toán của mình một chút:
∥X −CC T X∥ 2 Fro = tr((X −CC T X) T (X −CC T X))
= −∥C T X∥ 2 Fro +const, trong đó ∥A∥ 2 Fro = tr(A T A);C T C = I d×d
Việc tối thiểu hoá này có thể được đơn giản hóa thành việc tối đa hoá ∥C T X∥ Fro
Chúng tôi có thể sử dụng SVD của ma trận X, tức là biểu diễn ma trận X thành X = UΣV T , trong đó U và V là các ma trận trực giao và Σ là ma trận đường chéo chứa các giá trị suy biến Để tối đa hoá ∥C T X∥ Fro , có thể chọn C sao cho các cột đầu tiên của U tương ứng với d giá trị suy biến lớn nhất Điều này nghĩa là, chúng tôi có thể chọn d cột đầu của ma trận U trong SVD để xây dựng ma trận C, và chúng tôi đã tìm ra các thành phần chính tối ưu để biểu diễn dữ liệu ban đầu một cách hiệu quả.
KẾT LUẬN Trong Đề án này, chúng tôi đã tìm hiểu về các phương pháp phân tích ma trận, bao gồm phân tích Cholesky, phân tích riêng và phân tích SVD Các phương pháp này không chỉ cung cấp cái nhìn sâu sắc về cấu trúc và tính chất của ma trận mà còn có những ứng dụng trong nhiều lĩnh vực khác nhau. Đề án đã đạt được các kết quả sau.
1 Trình bày phép phân tích Cholesky của ma trận đối xứng và xác định dương, cùng với ứng dụng của phép phân tích này để giải hệ để giải hệ phương trình tuyến tính và nghiên cứu các ma trận Gram.
2 Trình bày phép phân tích riêng cho (chéo hóa) của ma trận vuông, cùng với ứng dụng của phép phân tích này trong Máy học.
3 Trình bày phép phân tích SVD của ma trận bất kỳ, cùng với một số ứng dụng của phân tích này trong Máy học.
Chúng tôi cố gắng trình bày các thuật toán để thực hiện các phép phân tích này, cùng với một số ví dụ minh họa cho các thuật toán đó.