Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

PCA giam chieu du lieu, Cheat Sheet of Mathematical Methods

PCA giam chieu du lieu PCA giam chieu du lieu

Typology: Cheat Sheet

2023/2024

Uploaded on 04/20/2025

anh-djang-vo-truc
anh-djang-vo-truc 🇻🇳

1 document

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC ỨNG DỤNG
BÀI TẬP LỚN
ĐẠI SỐ TUYẾN TÍNH MT1007
ĐỀ TÀI: PHÂN TÍCH PCA ĐỂ
GIẢM CHIỀU DỮ LIỆU
Giảng viên hướng dẫn: ThS. Nguyễn Xuân Mỹ
Lớp: DT02
Nhóm: 02
TP. Hồ Chí Minh, tháng 12/2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download PCA giam chieu du lieu and more Cheat Sheet Mathematical Methods in PDF only on Docsity!

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC ỨNG DỤNG

BÀI TẬP LỚN

ĐẠI SỐ TUYẾN TÍNH – MT

ĐỀ TÀI: PHÂN TÍCH PCA ĐỂ

GIẢM CHIỀU DỮ LIỆU

Giảng viên hướng dẫn: ThS. Nguyễn Xuân Mỹ

Lớp: DT

Nhóm: 02

TP. Hồ Chí Minh, tháng 12/

Khoa Khoa học và ứng dụng

Danh sách thành viên

STT Thành viên nhóm MSSV Công việc 1 Nguyễn Ngọc Hân 2210941 Code Latex + Code Matlab + Nội dung + Ví dụ minh họa 2 Nguyễn Bùi Hữu Phước 2312772 Làm nội dung + Làm Powerpoint 3 Nguyễn Hoài Nam 2313288 Powerpoint + Thuyết trình 4 Nguyễn Hưng Thịnh 2211721 Powerpoint + Thuyết trình

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 1/

  • 1 Lời mở đầu Mục lục
  • 2 Lời cảm ơn
  • 3 Cơ sở lý thuyết
    • 3.1 Giới thiệu phương pháp phân tích thành phần chính PCA
    • 3.2 Khái niệm phương pháp phân tích thành phần chính PCA
    • 3.3 Ưu và nhược điểm của phương pháp phân tích thành phần chính PCA
      • 3.3.1 Ưu điểm của phương pháp phân tích thành phần chính PCA
      • 3.3.2 Nhược điểm của phương pháp phân tích thành phần chính PCA
    • 3.4 Ứng dụng của phương pháp phân tích thành phần chính PCA
      • 3.4.1 Sinh học và y học
      • 3.4.2 Lĩnh vực tài chính
      • 3.4.3 Nhận dạng khuôn mặt
      • 3.4.4 Nén ảnh
      • 3.4.5 Takeaway
  • 4 Cơ sở toán học
    • 4.1 Một số khái niệm toán học sử dụng trong PCA
      • 4.1.1 Ý tưởng phương pháp
      • 4.1.2 Các đặc trưng số của vector ngẫu nhiên
        • 4.1.2.a Kì vọng (Mean, Expected Value)
        • 4.1.2.b Độ lệch chuẩn (Standard Deviation)
        • 4.1.2.c Phương sai (Variance)
        • 4.1.2.d Hiệp phương sai (Covariance)
    • 4.2 Trị riêng, vector riêng của ma trận hiệp phương sai
      • 4.2.1 Ma trận hiệp phương sai (Covariance Matrix)
      • 4.2.2 Trị riêng, vector riêng
    • 4.3 Kỳ vọng và ma trận hiệp phương sai
      • 4.3.1 Dữ liệu một chiều
      • 4.3.2 Dữ liệu nhiều chiều
  • 5 Cơ sở trong thống kê và Các bước phân tích thành phần chính
    • 5.1 Cơ sở trong thống kê
    • 5.2 Các Bước Phân Tích Thành Phần Chính (PCA)
  • 6 PCA trong việc giảm chiều dữ liệu
    • 6.1 Các ứng dụng của PCA trong việc giảm chiều dữ liệu
    • 6.2 Ví dụ thực tiễn của việc ứng dụng phương pháp PCA trong thực tiễn
  • 7 MATLAB Thực hành
    • 7.1 Đoạn code sử dụng
    • 7.2 Kết quả
  • 8 Các hàm MATLAB đã sử dụng
  • Báo cáo bài tập lớn Đại số tuyến tính - MT - Trang 2/
  • 9 Giải thích code MATLAB Khoa Khoa học và ứng dụng
  • 10 Ví dụ minh họa
  • 11 Một số phương pháp giảm chiều dữ liệu khác
    • 11.1 Tổng quan về LDA giảm chiều dữ liệu
    • 11.2 Ý tưởng bài toán
    • 11.3 Tổng quan về SVD giảm chiều dữ liệu
      • 11.3.1 Giới thiệu về SVD - Singular Value Decomposition
      • 11.3.2 Ứng dụng của SVD trong Image Compression
    • 11.4 Mối quan hệ giữa PCA và SVD
      • 11.4.1 SVD cho bài toán xấp xỉ low-rank tốt nhất
      • 11.4.2 Quan hệ giữa PCA và SVD
    • 11.5 Làm thế nào để chọn chiều của dữ liệu mới
  • 12 Lưu ý về tính PCA trong các bài toán thực tế
    • 12.1 Số chiều dữ liệu nhiều hơn số điểm dữ liệu
    • 12.2 Chuẩn hoá các vector riêng
    • 12.3 Với các bài toán large-scale
  • 13 Kết luận
  • 14 Kết quả báo cáo
    • 14.1 Về ưu điểm
    • 14.2 Về hạn chế
  • 15 Tổng kết
  • 16 Tài liệu tham khảo
  • Báo cáo bài tập lớn Đại số tuyến tính - MT - Trang 3/

Khoa Khoa học và ứng dụng

1 Lời mở đầu

Ứng dụng Phân tích thành phần chính ( PCA : Principal Component Analysis ) trong giảm chiều dữ liệu ( Dimensionality Reduction ) là một đề tài hay và thú vị mang giá trị nghiên cứu và học tập cao. Cùng với sự yêu thích bộ môn Đại số tuyến tính cũng như mong muốn tìm tòi học hỏi là lý do nhóm em quyết định thực hiện đề tài này. Đề tài được yêu cầu giải quyết các thông số dữ liệu và biểu diễn chúng 1 cách trực quan. Để có thể thực hiện tốt các tiêu chí đề ra nhóm em cần tìm hiểu về những kiến thức nền tảng về PCA trong Machine Learning và liên hệ với những ứng dụng thực tế. Song song với đó cũng cần vận dụng những kiến thức đã được các thầy cô giảng dạy để có thể hoàn thành đề tài một cách tốt nhất. Sau khi thực hiện đề tài, nhóm em đã có cái nhìn sâu sắc hơn về sự gắn kết giữa lý thuyết và thực tế. Cũng góp phần cũng cố kiến thức nền tảng về chuyên đề Phân tích thành phần chính. Bên cạnh đó cũng giúp chúng em phát huy khả năng làm việc nhóm, xử lí thông tin và dữ liệu, nâng cao hiểu biết về sử dụng công nghệ thông tin trong học tập và công việc sau này.

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 4/

Khoa Khoa học và ứng dụng

3 Cơ sở lý thuyết

3.1 Giới thiệu phương pháp phân tích thành phần chính PCA

Phân tích thành phần chính (PCA – Princial Component Analysis) là một kỹ thuật thống kê được sử dụng rộng rãi trong các lĩnh vực như học máy, thị giác máy tính, tài chính, sinh học để giảm thiểu số lượng biến số trong dữ liệu. PCA giúp tìm ra các thành phần chính (principal components) – là các hướng trong không gian đa chiều mà dữ liệu phân tán mạnh nhất. Mục tiêu là để giảm số chiều của dữ liệu trong khi vẫn giữ được càng nhiều thông tin càng tốt, loại bỏ các thành phần không quan trọng, hướng đến cải thiện hiệu suất của mô hình và giảm chi phí tính toán. Không những đơn giản hóa dữ liệu, PCA còn hỗ trợ việc trực quan hóa dữ liệu trong không gian, giúp chúng ta dễ dàng nhận diện các mẫu và xu hướng của mô hình. Phân tích thành phần chính (PCA) là một công cụ linh hoạt, mạnh mẽ trong việc xử lý dữ liệu phức tạp. Trong thực tế, PCA có nhiều ứng dụng đa ngành, đa lĩnh vực, từ thị giác máy tính, nơi nó giúp giảm nhiễu và phân tích hình ảnh, đến tài chính, nơi PCA được sử dụng để phân tích và dự đoán các biến động của thị trường. Trong sinh học, PCA còn hỗ trợ phân tích dữ liệu gene và protein, giúp hiểu rõ về các cơ chế sinh học phức tạp. PCA còn được sử dụng trong xử lý âm thanh và xử lý ngôn ngữ tự nhiên. Với khả năng vượt trội của mình, phân tích thành phần chính đã trở thành một phương pháp không thể thiếu trong khoa học hiện đại.

Hình 1: Cùng là 1 chú lạc đà, tuy nhiên với các cách nhìn khác nhau (trục thông tin), chúng ta lại có những cách thu nhận thông tin khác nhau và cho ta những kết luận khác nhau.

3.2 Khái niệm phương pháp phân tích thành phần chính PCA

Phép phân tích thành phần chính (Principal Components Analysis – PCA) là một phương pháp giảm chiều dữ liệu (dimension reduction) tương đối hiệu quả dựa trên phép phân tích suy biến (singular decomposition) mà ở đó chúng ta sẽ chiếu các điểm dữ liệu trong không gian cao chiều xuống một số ít những véc tơ thành phần chính trong không gian thấp chiều mà đồng thời vẫn bảo toàn tối đa độ biến động của dữ liệu sau biến đổi. Nói cách khác, PCA là phương pháp dùng phép biến đổi trực giao để giảm kích thước một tập hợp dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn nhưng vẫn đảm bảo đầy đủ thông tin. PCA là phương pháp biến đổi giúp giảm số lượng lớn các biến có tương quan với nhau thành tập ít các biến sao cho các biến mới tạo ra là tổ hợp tuyến tính của những biến cũ không có tương quan lẫn nhau.

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 6/

Khoa Khoa học và ứng dụng

Ví dụ, chúng ta có 100 biến ban đầu có tương quan tuyến tính với nhau, khi đó chúng ta sử dụng phương pháp PCA xoay chiều không gian cũ tuyến tính mà vẫn giữ được nhiều nhất lượng thông tin từ nhóm biến ban đầu. Cách đơn giản nhất để giảm chiều dữ liệu từ D về K (K < D) là chỉ giữ lại K phần tử quan trọng nhất. Tuy nhiên, việc làm này chắc chắn chưa phải tốt nhất vì chúng ta chưa biết xác định thành phần nào là quan trọng hơn. Hoặc trong trường hợp xấu nhất, lượng thông tin mà mỗi thành phần mang là như nhau, bỏ đi thành phần nào cũng dẫn đến việc mất một lượng thông tin lớn. Tuy nhiên, nếu chúng ta có thể biểu diễn các vector dữ liệu ban đầu trong một hệ cơ sở mới mà trong hệ cơ sở mới đó, tầm quan trọng giữa các thành phần là khác nhau rõ rệt, thì chúng ta có thể bỏ qua những thành phần ít quan trọng nhất. Lấy một ví dụ về việc có hai camera đặt dùng để chụp một con người, một camera đặt phía trước người và một camera đặt trên đầu. Rõ ràng là hình ảnh thu được từ camera đặt phía trước người mang nhiều thông tin hơn so với hình ảnh nhìn từ phía trên đầu. Vì vậy, bức ảnh chụp từ phía trên đầu có thể được bỏ qua mà không có quá nhiều thông tin về hình dáng của người đó bị mất.

Hình 2: Ý tưởng chính của PCA: Tìm một hệ trực chuẩn mới sao cho trong hệ này, các thành phần quan trọng nhất nằm trong K thành phần đầu tiên.

Quan sát hình vẽ trên với cơ sở mới U = [UK , U¯K ] là một hệ trực chuẩn với UK là ma trận con tạo bởi K cột đầu tiên của U. Với cơ sở mới này, ma trận dữ liệu có thể được viết thành:

X = UK Z + U¯K Y (8)

Từ đây ta cũng suy ra: " Z Y

U KT

U^ ¯ KT

X ⇒ Z = U KT X, Y = U¯ KT X (9)

Mục đích của PCA là đi tìm ma trận trực giao U sao cho phần lớn thông tin được giữ lại ở phần màu xanh UK Z và phần màu đỏ U¯K Y sẽ được lược bỏ và thay bằng một ma trận không phụ thuộc vào từng điểm dữ liệu. Nói cách khác, ta sẽ xấp xỉ Y bởi một ma trận có toàn bộ các cột là như nhau. Chú ý rằng các cột này có thể phụ thuộc vào dữ liệu training nhưng không phụ thuộc vào dữ liệu test, các bạn sẽ thấy rõ hơn khi lập trình mà tôi sẽ trình bày trong bài tiếp theo. Gọi mỗi cột đó là b và có thể coi nó là bias, khi đó, ta sẽ xấp xỉ:

Y ≈ b 1 T

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 7/

Khoa Khoa học và ứng dụng

Với λ 1 ≥ λ 2 ≥ · · · ≥ λD ≥ 0 là các trị riêng của ma trận nửa xác định dương S. Chú ý rằng các trị riêng này là thực và không âm. Như vậy L không phụ thuộc vào cách chọn ma trận trực giao U và bằng tổng các phần tử trên đường chéo của S. Nói cách khác, L chính là tổng của các phương sai theo từng thành phần của dữ liệu ban đầu. Vì vậy, việc tối thiểu hàm mất mát J được cho bởi (13) tương đương với việc tối đa:

F = L − J = K

X^ K

i=

uiSuTi

Định lý 1: F đạt giá trị lớn nhất bằng

PK

i=1 λi^ khi^ ui^ là các vector riêng có norm 2 bằng 1 ứng với các trị riêng này. Tất nhiên, chúng ta không quên điều kiện trực giao giữa các ui. Chú ý rằng λi, i = 1,... , K chính là K trị riêng lớn nhất của ma trận hiệp phương sai S. Trị riêng lớn nhất λ 1 của ma trận này còn được gọi là Thành phần chính thứ nhất (First Principal Component), trị riêng thứ hai λ 2 còn được gọi là Thành phần chính thứ hai, v.v. Chính vì vậy, phương pháp này có tên gọi là Phân tích thành phần chính - Principal Component Analysis. Ta chỉ giữ lại K thành phần chính của dữ liệu khi muốn giảm số chiều dữ liệu. Để có cái nhìn trực quan hơn, chúng ta cùng theo dõi Hình dưới đây:

Hình 3: PCA dưới góc nhìn Thống kê. PCA có thể được coi là phương pháp đi tìm một hệ cơ sở trực chuẩn đóng vai trò một phép xoay, sao cho trong hệ cơ sở mới này, phương sai theo một số chiều nào đó là rất nhỏ, và ta có thể bỏ qua.

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 9/

Khoa Khoa học và ứng dụng

Trong không gian ban đầu với các vector cơ sở màu đen e 1 , e 2 , phương sai theo mỗi chiều dữ liệu đều lớn. Trong không gian mới với các vector cơ sở màu đỏ u 1 , u 2 , phương sai theo chiều thứ hai ˆσ^2 rất nhỏ so với ˆσ 12. Điều này nghĩa là khi chiếu dữ liệu lên u 2 ta được các điểm rất gần nhau và gần với kỳ vọng theo chiều đó. Trong trường hợp này, kỳ vọng theo mọi chiều bằng 0 nên ta có thể thay thế tọa độ theo chiều u 2 bằng 0. Rõ ràng là nếu dữ liệu có phương sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đó bằng một hằng số, sai số xảy ra càng nhỏ. PCA thực chất là đi tìm một phép xoay tương ứng với một ma trận trực giao sao cho trong hệ tọa độ mới, tồn tại các chiều có phương sai nhỏ mà ta có thể bỏ qua; ta chỉ cần giữ lại các chiều/thành phần khác quan trọng hơn. Như đã chứng minh ở trên, tổng phương sai theo mọi chiều trong hệ cơ sở nào cũng là như nhau và bằng tổng các trị riêng của ma trận hiệp phương sai. Vì vậy, PCA còn được coi là phương pháp giảm số chiều dữ liệu mà giữ được tổng phương sai còn lại là lớn nhất. Tôi sẽ bỏ qua phần chứng minh của Định lý 1. Tuy nhiên, cũng nêu một vài ý để bạn đọc có thể hình dung: Khi K = 1. Ta cần giải bài toán:

max u 1 uT 1 Su 1 s.t. ∥u 1 ∥ 2 = 1

Như đã đề cập ở phía trên, hàm mục tiêu đạt giá trị lớn nhất bằng λ 1 khi u 1 là một vector riêng của ma trận hiệp phương sai S tương ứng với trị riêng λ 1. Vậy định lý đúng với K = 1. Giả sử u 1 đã là vector riêng ứng với trị riêng lớn nhất của S thế thì nghiệm u 2 của bài toán tối ưu:

max u 2 uT 2 Su 2 s.t. ∥u 2 ∥ 2 = 1, uT 2 u 1 = 0

là một vector riêng của S ứng với trị riêng lớn thứ hai λ 2 của nó. Chú ý rằng λ 2 có thể bằng λ 1 nếu không gian riêng ứng với λ 1 có số hạng lớn hơn 1. Nhận định này có thể được chứng minh bằng phương pháp nhân tử Lagrange. Thật vậy, Lagrangian của bài toán (21) là: L(u 2 , ν 1 , ν 2 ) = uT 2 Su 2 + ν 1 uT 1 u 2 + ν 2 (1 − uT 2 u 2 )

Ta cần giải hệ phương trình đạo hàm của L theo từng biến bằng 0:

∂L ∂u 2 = 2Su^2 +^ ν^1 u^1 −^2 ν^2 u^2 = 0^ (22) ∂L ∂ν 1 =^ u

T 1 u 2 = 0 (23)

∂L ∂ν 2 = 1^ −^ u

T 2 u 2 = 0 (24)

Nhân cả hai vế của (22) với uT 1 vào bên trái ta có:

2 uT 1 Su 2 + ν 1 = 0

Vì Su 1 = λ 1 u 1 nên uT 1 Su 2 = λ 1 uT 1 u 2 = 0. Từ đó suy ra ν 1 = 0 và (22) lúc này tương đương với:

Su 2 = ν 2 u 2

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 10/

Khoa Khoa học và ứng dụng

3.4.2 Lĩnh vực tài chính

PCA giảm số lượng kích thước trong một vấn đề tài chính phức tạp. Ví dụ: Chúng ta hãy giả sử rằng danh mục đầu tư của một chủ ngân hàng đầu tư bao gồm 150 chứng khoán.

  • Để phân tích định lượng các cổ phiếu này, họ sẽ cần một ma trận tương quan 150 × 150 , điều này khiến vấn đề trở nên cực kỳ phức tạp.
  • Tuy nhiên, PCA có thể hỗ trợ trích xuất 15 thành phần chính xác định tốt nhất phương sai cổ phiếu. Điều này sẽ đơn giản hóa vấn đề trong khi bổ sung chi tiết về sự biến động của mỗi trong số 150 cổ phiếu.

3.4.3 Nhận dạng khuôn mặt

  • Một loạt các vectơ riêng được sử dụng cho thử thách thị giác máy tính trong việc phát hiện khuôn mặt người được gọi là eigenfaces. PCA là trung tâm của phương pháp eigenfaces, vì nó tạo ra tập hợp các khuôn mặt có thể xảy ra.
  • Phân tích thành phần chính làm giảm độ phức tạp thống kê của mô tả hình ảnh khuôn mặt trong khi vẫn duy trì các đặc điểm thiết yếu của nó. Điều này rất quan trọng đối với công nghệ nhận dạng khuôn mặt.

3.4.4 Nén ảnh

  • Hãy xem xét rằng chúng ta được cung cấp một bộ sưu tập phong phú gồm 64 × 64 hình ảnh về các đặc điểm của con người. Bây giờ, chúng ta muốn miêu tả và giữ lại những bức ảnh có kích thước thấp hơn đáng kể. Bằng cách sử dụng khái niệm PCA, các bức ảnh có thể được nén và lưu trữ trong các tệp nhỏ hơn, chính xác tương tự.
  • Tuy nhiên, cần lưu ý rằng việc tái tạo lại một hình ảnh đòi hỏi phải tính toán thêm.

3.4.5 Takeaway

  • PCA là một khái niệm nền tảng trong các hoạt động dữ liệu quy mô lớn, thúc đẩy các thuật toán AI và ML tiên tiến và nghiên cứu khoa học. Các bộ thông tin khổng lồ là cần thiết để làm cho các thuật toán chính xác hơn, nhưng sự phức tạp của dữ liệu có thể áp đảo các mô hình thuật toán.
  • Phân tích thành phần chính (PCA) áp dụng một phương pháp toán học tương đối đơn giản để trích xuất các kích thước quan trọng nhất với quá nhiều chiều để bạn biết chính xác dữ liệu cần tập trung vào.

Trong các ứng dụng trên, ứng dụng giảm chiều dữ liệu là một ứng dụng thú vị và được ứng dụng rộng rãi, đó cũng chính là đề tài BTL mà chúng em sẽ trình bày.

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 12/

Khoa Khoa học và ứng dụng

4 Cơ sở toán học

4.1 Một số khái niệm toán học sử dụng trong PCA

4.1.1 Ý tưởng phương pháp

Phương pháp PCA sẽ "chiếu" (biểu diễn) dữ liệu đa chiều lên một không gian có cơ sở trực giao thức, nếu ta xem mỗi cơ sở trong không gian mới là một biến thì hình ảnh của dữ liệu gốc trong không gian mới này sẽ được biểu diễn thông qua các biến độc lập tuyến tính. Vấn đề là nếu chuyển dữ liệu ban đầu sang không gian mới thì những thông tin đáng quan tâm của dữ liệu ban đầu liệu có bị mất? Để giải quyết vấn đề này phương pháp PCA sẽ tìm không gian mới với tiêu chí cố gắng phản ánh được càng nhiều thông tin gốc càng tốt và thước đo cho khái niệm "thông tin" ở đây là phương sai. Một điểm hay nữa là các biến trong không gian mới độc lập nên ta có thể tính toán được tỷ lệ giải thích phương sai của từng biến mới đối với dữ liệu điều này cho phép ta cân nhắc việc chỉ dùng số ít các biến để giải thích dữ liệu. Nói 1 cách ngắn gọn, mục tiêu của phương pháp PCA là tìm 1 không gian mới (với số chiều nhỏ hơn không gian cũ). Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên dữ liệu là lớn nhất có thể (maximize the variability).

4.1.2 Các đặc trưng số của vector ngẫu nhiên

4.1.2.a Kì vọng (Mean, Expected Value)

  • Là giá trị “mong muốn”, nó đơn giản là giá trị trung bình cộng của toàn bộ các giá trị của biến.
  • Cho N giá trị x 1 , x 2 ,... , xn: μ = mx = (^) N^1

PN

i=1 xi

4.1.2.b Độ lệch chuẩn (Standard Deviation)

Là thuật ngữ để đo tính biến động của giá trị mang tính thống kê. Nó cho thấy sự chênh lệch về giá trị của từng thời điểm đánh giá so với giá trị trung bình:

σ = s =

vu ut 1 N

X^ N

i=

(Xi − μ)^2

4.1.2.c Phương sai (Variance)

Là đại lượng đặc trưng cho sự phân tán của các dữ liệu so với giá trị trung bình, từ đó dễ dàng hình dung được dữ liệu ta đang xét:

var(X) = σ^2 = s^2 = (^) N^1

X^ N

i=

(Xi − μ)^2

4.1.2.d Hiệp phương sai (Covariance)

Là độ đo sự biến thiên cùng nhau của hai biến ngẫu nhiên (phân biệt với phương sai – đo mức độ biến thiên của một biến):

cov(X, Y ) = (^) N^1

X^ N

i=

(Xi − μX )(Yi − μY )

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 13/

Khoa Khoa học và ứng dụng

  • Mỗi vector riêng chỉ ứng với một trị riêng duy nhất;
  • Mọi trị riêng của A đều khác 0 thì A khả nghịch;
  • Nếu λ là trị riêng của A thì λk^ là trị riêng của Ak.
  • Phương pháp:
  • Bước 1: Giải phương trình đặc trưng tìm trị riêng: det(A − λI) = 0
  • Bước 2: Giải hệ phương trình thuần nhất tìm vector riêng ui ứng với trị riêng λi: (A−λI)x = 0

4.3 Kỳ vọng và ma trận hiệp phương sai

4.3.1 Dữ liệu một chiều

Cho N giá trị x 1 , x 2 ,... , xN. Kỳ vọng và phương sai của bộ dữ liệu này được định nghĩa là:

x = (^) N^1

X^ N

n=

xn = (^) N^1 1 T^ X

với 1 ∈ RN^ là vector cột chứa toàn phần tử 1. Kỳ vọng đơn giản là trung bình cộng của toàn bộ các giá trị. Phương sai được tính theo công thức:

σ^2 = (^) N^1

X^ N

n=

(xn − x)^2

Phương sai càng nhỏ thì các điểm dữ liệu càng gần với kỳ vọng, tức các điểm dữ liệu càng giống nhau. Phương sai càng lớn thì ta nói dữ liệu càng có tính phân tán. Căn bậc hai của phương sai, σ, còn được gọi là độ lệch chuẩn (standard deviation) của dữ liệu.

4.3.2 Dữ liệu nhiều chiều

Cho N điểm dữ liệu được biểu diễn bởi các vector cột x 1 ,... , xN , khi đó, vector kỳ vọng và ma trận hiệp phương sai của toàn bộ dữ liệu được định nghĩa là:

x = (^) N^1

X^ N

n=

xn

S = N^1

X^ N

n=

(xn − x)(xn − x)T^ = (^) N^1 Xˆ XˆT

Trong đó Xˆ được tạo bằng cách trừ mỗi cột của X đi x:

x ˆn = xn − x Các công thức này khá tương đồng với các công thức cho dữ liệu 1 chiều phía trên. Có một vài điểm lưu ý:

  • Ma trận hiệp phương sai là một ma trận đối xứng, hơn nữa, nó là một ma trận nửa xác định dương.
  • Mọi phần tử trên đường chéo của ma trận hiệp phương sai là các số không âm. Chúng cũng chính là phương sai của từng chiều của dữ liệu.

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 15/

Khoa Khoa học và ứng dụng

  • Các phần tử ngoài đường chéo Sij , i ̸= j thể hiện sự tương quan giữa thành phần thứ i và thứ j của dữ liệu, còn được gọi là hiệp phương sai. Giá trị này có thể dương, âm hoặc bằng 0. Khi nó bằng 0, ta nói rằng hai thành phần i, j trong dữ liệu là không tương quan (uncorrelated).
  • Nếu ma trận hiệp phương sai là ma trận đường chéo, ta có dữ liệu hoàn toàn không tương quan giữa các chiều.

Ví dụ về dữ liệu không tương quan và tương quan được cho trong Hình 2b,c.

5 Cơ sở trong thống kê và Các bước phân tích thành phần chính

5.1 Cơ sở trong thống kê

PCA có thể được coi là phương pháp đi tìm một hệ cơ sở trực chuẩn đóng vai trò một phép xoay, sao cho trong hệ cơ sở mới này, phương sai theo một số chiều nào đó là rất nhỏ, và ta có thể bỏ qua.

5.2 Các Bước Phân Tích Thành Phần Chính (PCA)

Từ các suy luận phía trên, ta có thể tóm tắt lại các bước trong PCA như sau:

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 16/

Khoa Khoa học và ứng dụng

6 PCA trong việc giảm chiều dữ liệu

6.1 Các ứng dụng của PCA trong việc giảm chiều dữ liệu

  • Học máy: Trong các mô hình học máy, dữ liệu có chiều cao có thể làm tăng thời gian tính toán và yêu cầu tài nguyên nhiều hơn. PCA giúp giảm số lượng biến số cần thiết, làm giảm thời gian huấn luyện và dự đoán của các mô hình.
  • Trực quan hóa 2D và 3D: PCA giúp biến đổi dữ liệu từ không gian chiều cao thành không gian 2D hoặc 3D, giúp trực quan hóa dữ liệu một cách dễ dàng và rõ ràng hơn. Điều này rất hữu ích trong việc hiểu cấu trúc và phân bố của dữ liệu.
  • Lọc nhiễu: PCA có thể giúp loại bỏ các thành phần nhiễu trong dữ liệu bằng cách chỉ giữ lại các thành phần chính có ý nghĩa, giúp cải thiện chất lượng dữ liệu và độ chính xác của các mô hình học máy.
  • Nén dữ liệu: PCA được sử dụng để nén dữ liệu, giúp lưu trữ và truyền tải dữ liệu một cách hiệu quả hơn mà không làm mất nhiều thông tin quan trọng.
  • Chuẩn hóa dữ liệu: PCA thường được sử dụng để chuẩn hóa dữ liệu trước khi áp dụng các thuật toán học máy khác, giúp cải thiện hiệu suất và độ chính xác của mô hình.
  • Phát hiện dị thường: PCA có thể giúp phát hiện các điểm dữ liệu dị thường (outliers) bằng cách biến đổi dữ liệu sang không gian mới, nơi các điểm dị thường có thể dễ dàng nhận diện hơn.
  • Trích xuất đặc trưng: PCA giúp giảm số lượng đặc trưng mà vẫn giữ lại được phần lớn thông tin quan trọng, làm cho quá trình học máy trở nên hiệu quả hơn.
  • Giảm chiều ảnh: PCA giúp giảm số lượng pixel trong ảnh mà vẫn giữ được các đặc trưng quan trọng, hỗ trợ cho các ứng dụng như nhận diện khuôn mặt, nhận diện vật thể, v.v.
  • Phân tích dữ liệu gen: Trong sinh học và y học, PCA giúp phân tích dữ liệu biểu hiện gen, nhận diện các mẫu hoặc cụm gen có liên quan đến các bệnh cụ thể.
  • Phân tích danh mục đầu tư: PCA được áp dụng để giảm chiều dữ liệu trong phân tích tài chính, chẳng hạn như phân tích danh mục đầu tư, giúp nhận diện các yếu tố chính ảnh hưởng đến lợi nhuận của các chứng khoáng.

6.2 Ví dụ thực tiễn của việc ứng dụng phương pháp PCA trong thực tiễn

Ứng dụng phân tích thành phần chính để đánh giá các đặc tính hóa học và kháng khuẩn của nọc ong mật Apis Mellifera: Nghiên cứu này sử dụng Phân Tích Thành Phần Chính (PCA) để làm rõ các mô hình phân bố và sự tương đồng của bốn thành phần chính (apamine, phospholipase A2, peptide phân giải tế bào mast, và melittin) trong nọc ong mật, thu thập từ hai dòng ong mật khác nhau qua nhiều tháng và năm. Các thành phần này được phân tích bằng sắc ký lỏng hiệu suất cao (HPLC), và hoạt tính kháng khuẩn được xác định thông qua Nồng độ ức chế tối thiểu (MIC). PCA giúp tìm và mô tả mối tương quan giữa các thành phần nọc ong và hoạt tính kháng khuẩn. Nghiên cứu chỉ ra rằng dòng ong là tiêu chí chính để phân loại mẫu nọc ong và xác nhận mối tương quan chặt chẽ giữa phospholipase A và melittin. Tuy nhiên, mối quan hệ yếu giữa các thành phần chính và giá trị MIC gợi ý rằng các thành

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 18/

Khoa Khoa học và ứng dụng

phần nhỏ khác cũng có thể ảnh hưởng đáng kể đến hoạt tính kháng khuẩn. Đây là nghiên cứu đầu tiên áp dụng PCA để so sánh thành phần và hoạt tính của nọc ong mật theo cách này. Ứng dụng PCA trong tài chính định lượng: Trong tài chính định lượng, phân tích thành phần chính (PCA) là công cụ quan trọng giúp quản lý rủi ro cho các danh mục đầu tư phát sinh lãi suất. Khi giao dịch từ 30 đến 500 công cụ hoán đổi khác nhau, PCA giúp giảm số lượng công cụ này xuống còn 3- thành phần chính, phản ánh xu hướng lãi suất vĩ mô. Việc chuyển đổi rủi ro được thể hiện dưới dạng các hệ số tải, cung cấp cái nhìn sâu sắc hơn về các yếu tố ảnh hưởng đến toàn bộ danh mục đầu tư thay vì chỉ xem xét từng công cụ riêng lẻ. Ví dụ, một quỹ đầu tư có thể áp dụng PCA để phân tích 200 công cụ hoán đổi lãi suất, từ đó xác định các thành phần chính như xu hướng lãi suất chung, rủi ro tín dụng và biến động thị trường. Dựa vào những phân tích này, quỹ có thể đưa ra quyết định đầu tư hợp lý hơn, chẳng hạn như giảm đầu tư vào các công cụ có rủi ro cao hoặc tái phân bổ tài sản để bảo vệ danh mục khỏi biến động không mong muốn. Nhờ đó, PCA không chỉ đơn giản hóa quy trình phân tích mà còn giúp quỹ đưa ra những quyết định quản lý tài sản hiệu quả hơn.

7 MATLAB Thực hành

7.1 Đoạn code sử dụng

1 m = input ( ’ Nh ậ p s ố h à ng m c ủ a ma tr ậ n d ữ li ệ u : ’) ; 2 n = input ( ’ Nh ậ p s ố c ộ t n c ủ a ma tr ậ n d ữ li ệ u : ’) ; 3 fprintf ( ’ Nh ậ p ma tr ậ n d ữ li ệ u ( k í ch th ư ớ c % dx % d ) :\ n ’ , m , n ) ; 4 X = zeros (m , n ) ; 5 for i = 1: m 6 for j = 1: n 7 X (i , j ) = input ( sprintf ( ’ Nh ậ p ph ầ n t ử X (% d ,% d ) : ’ , i , j ) ) ; 8 end 9 end 10 X = normalize ( X ) ; % Chu ẩ n h ó a d ữ li ệ u 11 12 K = 2; % S ố l ư ợ ng th à nh ph ầ n ch í nh c ầ n gi ữ 13 X_mean = mean ( X ) ; % T í nh gi á tr ị trung b ì nh 14 X = X - X_mean ; % Trung b ì nh h ó a d ữ li ệ u 15 16 covariance_matrix = cov ( X ) ; % Ma tr ậ n hi ệ p ph ư ơ ng sai 17 18 [~ , D , V ] = svd ( covariance_matrix ) ; % Ph â n t í ch gi á tr ị ri ê ng 19 20 % T í nh t ỷ l ệ ph ư ơ ng sai gi ả i th í ch cho m ỗ i th à nh ph ầ n ch í nh 21 explained_variance = diag ( D ) / sum ( diag ( D ) ) * 100; 22 23 % Hi ể n th ị t ỷ l ệ ph ư ơ ng sai gi ả i th í ch 24 fprintf ( ’T ỷ l ệ ph ư ơ ng sai gi ả i th í ch c ủ a t ừ ng th à nh ph ầ n ch í nh :\ n ’) ; 25 for i = 1: K 26 fprintf ( ’ Th à nh ph ầ n ch í nh % d : %.2 f %%\ n ’ , i , explained_variance ( i ) ) ; 27 end 28 29 % Gi ả m chi ề u d ữ li ệ u 30 V_reduce = V (: , 1: K ) ; 31 Y = X * V_reduce ;

Báo cáo bài tập lớn Đại số tuyến tính - MT 1007 Trang 19/