1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TIỂU LUẬN MÔN PHƯƠNG PHÁP TÍNH ĐỀ TÀI PHÂN TÍCH THÀNH PHẦN CHÍNH VÀ ỨNG DỤNG

70 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 1,97 MB

Cấu trúc

  • 4. Các ứng dụng của PCA (0)
  • II. Nội dung thành phần chính: 1. Phân tích suy biến - Singular Value Decomposition (SVD) 1.1 Giới thiệu (7)
    • 1.2 Mục tiêu của phân tích suy biến (7)
    • 1.3 Kiến thức chung về đại số tuyến tính (8)
    • 1.4 Phát biểu SVD (13)
    • 1.5 Các phép giảm chiều SVD (16)
    • 1.6 Phương pháp làm mỏng SVD (17)
    • 1.7. Phương pháp Compact SVD (17)
    • 1.8. Phương pháp Truncated SVD (18)
    • 1.9. Ứng dụng của phân tích suy biến SVD (20)
      • 1.9.1 Giải phương trình tuyến tính (20)
      • 1.9.2 Giảm chiều dữ liệu hình ảnh (22)
    • 2.1 Khái niệm (25)
    • 2.2 Đặc tính của PCA (27)
    • 2.3 Mục tiêu của PCA (27)
    • 2.4 Thuật toán PCA (29)
      • 2.4.1 Tiền xử lí (29)
      • 2.4.2 Xây dựng không gian mới (30)
      • 2.4.3 Chuyển dữ liệu từ không gian ban đầu vào không gian mới (30)
    • 2.5 Cơ sở toán học của PCA (31)
    • 2.6. Các bước để phân tích thành phần chính (33)
      • 2.6.1 Toán nền (Background Mathematics) (33)
        • 2.6.1.1 Thống kê(Statistics) (33)
        • 2.6.1.2 Độ lệch chuẩn(Standard Deviation) (33)
        • 2.6.1.3 Phương sai (variance) (35)
        • 2.6.1.4 Hiệp phương sai (covariance) (36)
        • 2.6.1.5 Các ma trận hiệp phương sai(The covariance matrix) (38)
        • 2.6.1.6 Đại số ma trận(Matrix Algebra) (40)
        • 2.6.1.7 Vector riêng(Eigenvectors) (40)
        • 2.6.1.8 Giá trị riêng(Eigenvalues) (42)
    • 2.7 Phương pháp(Method) (43)
      • 2.7.1 Bước 1: Nhận được một số dữ liệu (Get some data) (0)
      • 2.7.2 Bước 2: Trừ các trung bình (Subtract the mean) (0)
      • 2.7.3 Bước 3: Tính toán ma trận hiệp phương sai(Calculate the covariance matrix) 44 (0)
      • 2.7.4 Bước 4: Tính vector riêng và giá trị riêng của ma trận hiệp phương sai (Calculate the eigenvectors and eigenvalues of the covariance matrix) (0)
      • 2.7.6 Bước 6 : Phát sinh các tập dữ liệu mới (0)
      • 2.7.7 Lấy dữ liệu cũ trở lại (0)
    • 2.8 Các ứng dụng phân tích thành phần chính (Applications of principal (52)
      • 2.8.1 Tổng quan về bản dữ liệu (Overview (plots) of any data table ) (53)
      • 2.8.2 Giảm biến đa chiều (Dimensionality reduction) (53)
      • 2.8.3 Mô hình tương đồng (Similarity models ) (54)
  • III. Phân tích thành phần chính (PCA) trong Python (55)
    • 3.1 Giới thiệu và ứng dụng của PCA (55)
      • 3.1.1 Giới thiệu (55)
      • 3.1.2 Ứng dụng (55)
      • 3.1.3 Ý nghĩa (56)
    • 3.2 Phân tích thành phần chính (PCA) để trực quan hóa dữ liệu (56)
      • 3.2.1 Tải tệp dữ liệu Iris (56)
      • 3.2.2 Chuẩn hóa dữ liệu (57)
      • 3.2.3 Phép chiếu PCA sang 2D (57)
      • 3.2.4 Trực quan hóa phép chiếu 2D (58)
    • 3.3 Phân tích thành phần chính (PCA) để tăng tốc thuật toán Machine-Learning 60 (60)
      • 3.3.1 Tải dữ liệu xuống (60)
      • 3.3.2 Tách dữ liệu thành các tập huấn luyện và kiểm tra (61)
      • 3.3.3 Chuẩn hóa dữ liệu (62)
      • 3.3.5 Số thành phần, phương sai, bảng thời gian (63)
  • IV. Ứng dụng (64)
    • 4.1 Chúng ta sẽ bắt đầu bằng một ví dụ mang tính chất minh họa trực quan (64)
    • 4.2 Ví dụ miêu tả cách tính toán PCA bằng Matlab (66)
    • 4.3 Các ví dụ khác (68)

Nội dung

Nội dung thành phần chính: 1 Phân tích suy biến - Singular Value Decomposition (SVD) 1.1 Giới thiệu

Mục tiêu của phân tích suy biến

Phương pháp SVD tìm ra ma trận xấp xỉ tốt nhất cho một ma trận cho trước dựa trên khoảng cách norm Frobenios Ma trận xấp xỉ này được biểu diễn dưới dạng tích của ba ma trận đặc biệt: hai ma trận trực giao và một ma trận đường chéo, trong đó các phần tử của ma trận đường chéo là các giá trị riêng của ma trận gốc Quá trình này biến đổi dữ liệu gốc thông qua phép xoay trục và thay đổi độ lớn, tạo ra các điểm dữ liệu mới trong không gian mới SVD có khả năng giữ lại 100% thông tin hoặc một phần lớn thông tin thông qua truncated SVD, và bằng cách sắp xếp các trị riêng theo thứ tự giảm dần, nó có thể cung cấp ma trận xấp xỉ tốt nhất với hạng giảm và kích thước ma trận nhân tử hợp lý, tiết kiệm thời gian và chi phí tính toán, đồng thời đảm bảo độ chính xác cao cho giá trị dự báo của ma trận gốc.

Thuật toán SVD là một phương pháp quan trọng trong lĩnh vực học máy, nhưng có thể gây bối rối cho những người mới bắt đầu Để hiểu rõ hơn về SVD, việc nắm vững kiến thức về đại số tuyến tính là điều cần thiết trước khi đi sâu vào thuật toán này.

Kiến thức chung về đại số tuyến tính

Hệ trực giao là một khái niệm quan trọng trong đại số tuyến tính, liên quan đến các hệ vector cơ sở 𝑼 = [𝒖 𝟏 , 𝒖 𝟐 , … , 𝒖 𝒏 ] ∈ ℝ 𝑛 Một hệ vector được coi là trực giao nếu nó thỏa mãn các điều kiện nhất định, đảm bảo rằng các vector trong hệ này vuông góc với nhau.

Hệ trực chuẩn: Hệ trực chuẩn (orthonormal) là một trường hợp đặc biệt của hệ trực giao khi điều kiện ||𝒖 𝒊 || 𝟐 𝟐 > 0 được thay thế thành ||𝒖 𝒊 || 𝟐 𝟐 = 1

Ma trận trực giao là loại ma trận vuông mà các dòng và cột của nó tạo thành một hệ trực chuẩn Điều này có nghĩa là nếu 𝑼 là một ma trận trực giao, thì các vector cột của nó là trực giao và có độ dài bằng 1.

ℝ 𝑛×𝑛 sẽ bao gồm các cột 𝒖 𝑖 𝑖𝑛ℝ 𝑛 có tính chất:

Ma trận trực giao có những tính chất đặc biệt sau:

1 Nếu U trực giao thì 𝑼 𝑻 cũng trực giao

2 Ma trận trực giao có chuyển vị bằng ma trận nghịch đảo Từ đẳng thức 𝑼 𝑻 𝑼 𝑰 𝒏 suy ra 𝑼 𝑻 = 𝑼 −𝟏

3 Nếu ma trận 𝑼 ∈ ℝ 𝑛 là ma trận trực giao thì ma trận 𝑼 𝒓 ∈ ℝ 𝑛×𝑟 được rút ra từ 𝒓 cột đầu tiên của ma trận U có tính chất: 𝑼 𝒓 𝑻 𝑼 𝒓 = 𝑰 𝒓 Để chứng minh tính chất này ta cần sử dụng đến khai triển tích của 2 ma trận dựa trên các ma trận con (được trích ra từ các dòng và cột của ma trận gốc) Giả sử 𝑨, 𝑩 ∈ ℝ 𝑛×𝑛

Ma trận 𝑴 ∈ ℝ 𝑛 bao gồm r dòng đầu tiên của ma trận A, trong khi ma trận M là phần bù của U, được hình thành từ các dòng còn lại Tương tự, ma trận 𝑵 ∈

Trong không gian vector ℝ^n, r cột đầu tiên của ma trận B tạo thành ma trận V, trong khi N là ma trận phần bù của V Khi đó, tích AB có thể được khai triển dựa trên M, N và các ma trận phần bù tương ứng.

Khi áp dụng tính chất cho ma trận UrUr, ta nhận thấy rằng tích 𝑼 𝒓 𝑻 𝑼 𝒓 sẽ tạo thành một ma trận gồm r dòng và r cột đầu tiên từ tích 𝑼 𝑻 𝑼.

4 Ma trận trực giao không làm thay đổi giá trị tích vô hướng của 2 vector Thật vậy, nếu coi 𝒙, 𝒚 ∈ ℝ 𝑛 là các vector được biến đổi bằng các nhân với ma trận trực giao 𝑼 ∈ ℝ 𝑛 Khi đó tích vô hướng của 2 vector mới như sau:

Ma trận đường chéo: Một ma trận DD là ma trận đường chéo khi các phần tử của nó thỏa mãn:

Ma trận có các phần tử trên đường chéo chính khác 0 và các phần tử còn lại bằng 0 được gọi là ma trận đường chéo Ma trận đơn vị 𝑰 𝒏 là một trường hợp đặc biệt của ma trận đường chéo, và ma trận đường chéo có thể không nhất thiết phải vuông Hơn nữa, có mối liên hệ giữa hệ trực giao và ma trận đường chéo, cụ thể là một ma trận 𝑼 ∈.

ℝ 𝑛×𝑛 có các cột tạo thành một hệ trực giao thì tích của nó với ma trận chuyển vị sẽ tạo thành một ma trận đường chéo

Trace của ma trận, ký hiệu là trace(A), là tổng của tất cả các phần tử nằm trên đường chéo chính của ma trận A Một số đẳng thức liên quan đến trace bao gồm các tính chất quan trọng giúp trong việc tính toán và phân tích ma trận.

1 𝒕𝒓𝒂𝒄𝒆(𝑨) = 𝒕𝒓𝒂𝒄𝒆(𝑨 𝑻 ) Điều này là hiển nhiên do phép chuyển vị không làm thay đổi các vị trí trên đường chéo chính của A

2 𝒕𝒓𝒂𝒄𝒆(𝑨𝑩) = 𝒕𝒓𝒂𝒄𝒆(𝑩𝑨) Chứng minh tính chất này khá đơn giản Giả sử 𝑨 𝒊 là vector dòng thứ i của A và 𝑩 𝒋 là vector cột thứ j của B Khi đó phần tử 𝑨𝑩 𝑰𝒋 ở dòng thứ i cột thứ j của ma trận tích AB là:

Hoàn toàn biến đổi tương tự:

Chúng tôi nhận thấy rằng chỉ số i và k có tính bình đẳng trong cả hai biểu thức (1) và (2) Do đó, việc hoán vị i và k sẽ không làm thay đổi kết quả tổng Hơn nữa, phép hoán vị này chuyển đổi biểu thức (1) thành (2), từ đó suy ra rằng giá trị của hai biểu thức là bằng nhau.

3 𝒕𝒓𝒂𝒄𝒆(𝑨𝑩𝑪) = 𝒕𝒓𝒂𝒄𝒆(𝑪𝑨𝑩) = 𝒕𝒓𝒂𝒄𝒆(𝑩𝑪𝑨) Tính chất này suy ra từ tính chất 2

4 𝒕𝒓𝒂𝒄𝒆(𝑨 + 𝑩) = 𝒕𝒓𝒂𝒄𝒆(𝑨) + 𝒕𝒓𝒂𝒄𝒆(𝑩)Dễ dàng suy ra tính chất này do A phải cùng kích thước và vị trí các phần tử trên đường chéo chính của 2 ma trận này là trùng nhau

Trị riêng của ma trận: Chúng ta chắc hẳn đã làm quen rất nhiều với trị riêng

Giá trị riêng (eigen-value) của một ma trận vuông là một đại lượng vô hướng (scalar) có tính chất đặc biệt Một ma trận 𝑨 ∈ ℝ 𝑛 có trị riêng λ khi tồn tại một vector.

𝑨𝒙 = 𝜆𝒙 Khai triển biểu thức trên để đưa về dạng tích của xx:

Phương trình 𝑨𝒙 − 𝜆𝑰 𝑛 𝒙 = 0 (𝑨 − 𝜆𝑰 𝑛 )𝒙 = 0 cho thấy rằng khi tích của một ma trận A với ma trận đơn vị 𝑰 𝒏, kết quả sẽ bằng chính ma trận A Ở đây, x được gọi là vector riêng (eigen vector) tương ứng với trị riêng λ.

Trị riêng và vector riêng của ma trận có những tính chất đặc biệt sau:

1 Nếu x là vector riêng tương ứng của trị riêng λ thì kx cũng là một vector riêng của λ Tính chất này cho thấy một trị riêng có thể có nhiều vector riêng

Tuy nhiên với một vector riêng chỉ có duy nhất một trị riêng

2 Một ma trận có n trị riêng bao gồm cả lặp lại và trị riêng phức Điều này có được là vì trị riêng là nghiệm của một đa thức bậc n Thật vậy, biểu thức (3) về bản chất là tổ hợp tuyến tính của các cột ma trận 𝑨 − 𝜆𝑰 𝑛 với các phần tử của vector x Do kết quả bằng 0 nên các cột của ma trận 𝑨 − 𝜆𝑰 𝑛 là phụ thuộc tuyến tính Từ đó suy ra 𝒅𝒆𝒕(𝑨 − 𝜆𝑰 𝑛 ) = 0 Triển khai định thức này ta thu được một đa thức 𝑷 𝑛 (𝜆) bậc n Do đó ma trận có n trị riêng bao gồm cả lặp và phức

3 Khi ma trận A là ma trận đối xứng thì các trị riêng của A là các số thực

Phát biểu SVD

Phương pháp phân tích trị riêng (SVD – Singular Value Decomposition) là một chủ đề quan trọng trong đại số tuyến tính, được nhiều người nghiên cứu Phương pháp này có khả năng áp dụng cho mọi ma trận thực m x n Nội dung chính của SVD là phân tích ma trận A thành ba ma trận U, D, và V, với các đặc điểm riêng biệt.

• U = (u 1 ,u 2 , ,uN ) là một ma trận trực giao N x N.,uj,j = 1, ,N, tạo cơ sở trực chuẩn cho không gian được kéo dài bởi vectơ cột của ma trận X

• V = (v 1 ,v 2 , ,vp ) là một ma trận trực giao p × p.vj,j = 1, ,p,tạo cơ sở trực chuẩn cho không gian được kéo dài bởi vectơ dòng của ma trận X

Ma trận D là một ma trận hình chữ nhật có kích thước N x p, với các phần tử khác không nằm dọc theo đường chéo thứ nhất p x p Các giá trị riêng của ma trận X được biểu diễn dưới dạng diag(d1, d2, , dp), trong đó d1 ≥ d2 ≥ ≥ dp và N > p.

Các cột của V tức là vj,(j = 1, ,p) là các giá trị riêng của X T X Chúng được gọi là hướng thành phần chính của ma trận X

Các giá trị đường chéo trong D tức là dj,j = (1, ,p) là căn bậc hai các giá trị riêng của X T X

Hình 1 minh họa phân tích giá trị riêng (SVD) cho ma trận A với hai trường hợp: khi số hàng m nhỏ hơn số cột n (hình trên) và khi số hàng m lớn hơn số cột n (hình dưới) Ma trận Σ là ma trận đường chéo với các phần tử giảm dần và không âm, trong đó màu đỏ đậm biểu thị giá trị cao, trong khi các ô màu trắng trên ma trận thể hiện giá trị bằng 0.

2.4 Phân tích suy biến trong python

Trong Python, phép phân tích suy biến của một ma trận có thể được thực hiện dễ dàng bằng cách sử dụng hàm SVD từ package scipy Để bắt đầu, bạn cần import thư viện scipy.linalg và numpy Ví dụ, với m = 2 và n = 3, bạn có thể xác định n_diag là giá trị nhỏ hơn giữa m và n.

#Init normal standard random variable A with size (m, n)

#Create diagonal matrix S based on diagonal

S = np.zeros((n_diag, n_diag)) np.fill_diagonal(S, S_diag) if m > n:

S = np.concatenate((S, np.zeros((1, n))), axis = 0) elif m < n:

In the given code, the matrix S is augmented with zeros to create a new shape, and the resulting matrix A is printed alongside the orthogonal matrices U and V The code verifies the orthogonality of U and V by checking the Frobenius norm of their respective products with their transposes, confirming that they approximate the identity matrices Additionally, the diagonal matrix S and the augmented matrix S are displayed, followed by a check of the Frobenius norm to ensure that the product of U, S, and V closely reconstructs the original matrix A.

Các phép giảm chiều SVD

Việc phân tích suy biến một ma trận lớn thường mất nhiều thời gian do cần giải phương trình đặc trưng để xác định các giá trị đặc trưng và từ đó suy ra ma trận đường chéo Σ Qua phương trình phân tích riêng 𝑨 𝑻 𝑨 = 𝑽𝜮 𝑻 𝜮𝑽 𝑻, ta có thể suy ra 𝑨 𝑻 𝑨𝑽 = 𝑽𝜮 𝑻 𝜮, từ đó sử dụng từng cột của cả hai vế để tính toán các vector riêng tương ứng với mỗi trị riêng và xác định ma trận V Phương pháp tìm ma trận U cũng được thực hiện tương tự từ phương trình phân tích riêng.

Quá trình tính toán ma trận 𝑨𝑨 𝑻 = 𝑼𝜮𝜮 𝑻 𝑼 𝑻 thường yêu cầu nhiều bước và khi kích thước ma trận lớn, chi phí về thời gian và lưu trữ sẽ tăng cao Do đó, việc sử dụng các dạng giảm chiều như SVD sẽ giúp tối ưu hóa và rút gọn quá trình tính toán.

Phương pháp làm mỏng SVD

Xuất phát từ thực tế rằng số lượng quan sát thường lớn hơn nhiều so với số chiều (m >> n), trong hầu hết các trường hợp của ma trận A, chúng ta chỉ cần tính toán n cột đầu tiên của ma trận 𝑼 𝑚𝑚, tức là 𝑼 𝑛𝑛 Điều này cũng dẫn đến việc số chiều của ma trận đường chéo 𝜮 𝑚𝑚 giảm xuống còn 𝜮 𝑛𝑛 Như vậy, ma trận A có thể được biểu diễn một cách hiệu quả hơn.

𝑨 = 𝑼 𝑚𝑛 𝜮 𝑛𝑛 𝑽 𝑛𝑛 𝑻 Như vậy số lượng các trị riêng cần tìm chỉ còn nn và số lượng vector riêng chỉ còn 2n2n (nn cột của ma trận 𝑼 𝑚𝑛 và n cột của ma trận 𝑽 𝑛𝑛 ).

Phương pháp Compact SVD

Ta có thể biểu diễn ma trận 𝑨 dưới dạng tổng của các tích vector cột 𝒖 𝒊 ∈

ℝ 𝑚 của 𝑼 𝑚𝑚 và vector dòng của 𝑽 𝑛𝑛 𝑻 như sau:

Các vector 𝒖 𝒊 và 𝒗 𝒊 là hệ cơ sở độc lập tuyến tính Trong ma trận đường chéo 𝜮 𝑛𝑛, thường chỉ có một số lượng lớn các trị riêng lớn hơn 0, trong khi các trị riêng còn lại xấp xỉ 0 Do đó, việc tính toán SVD chỉ thực hiện tại các vị trí dòng và cột tương ứng với các trị riêng đủ lớn Ma trận 𝑨 𝑛𝑛 có thể được biểu diễn dưới dạng compact SVD.

Công thức 𝑨 = 𝑼 𝑟 𝜮 𝑟 𝑽 𝑟 𝑻 thể hiện rằng các ma trận 𝑼 𝑟 , 𝜮 𝑟 , 𝑽 𝑟 𝑻 được rút gọn bằng cách giữ lại các vị trí tương ứng với các giá trị σi đủ lớn Khi kích thước r nhỏ hơn nhiều so với nr và n, phương pháp này giúp tiết kiệm đáng kể số lượng tính toán và bộ nhớ so với phương pháp SVD truyền thống.

Phương pháp Truncated SVD

Phương pháp Truncated SVD giả định rằng ma trận A là ma trận bán xác định dương, với tất cả các trị riêng không âm Phương pháp này tương tự như Compact SVD, nhưng chỉ chọn t dòng và cột tương ứng với t trị riêng lớn nhất của A từ 𝑼 và 𝑽 𝑻, trong đó các trị riêng được sắp xếp theo thứ tự giảm dần 𝜎 1 > 𝜎 2 > > 𝜎 𝑡 > 0 Phần còn lại của ma trận sẽ bị loại bỏ, cho phép chúng ta thu được ma trận xấp xỉ của ma trận A.

𝑨 ^ = 𝑼 𝑡 𝜮 𝑡 𝑽 𝑡 𝑻 Hoặc ta có thể biểu diễn dưới dạng tổng của tích vô hướng các vector cột và dòng của U,VTU,VT như sau:

Khoảng cách norm Frobenius giữa A^A^ và A được tính bằng tổng bình phương của các trị riêng từ σt+1 đến σn, với giả định rằng A có n trị riêng.

Dấu bằng thứ 3 là vì lấy đẳng thức (4) trừ đi (5) Dấu bằng thứ 5 xảy ra là do ma các vector cột của U,V là những hệ trực giao nên

𝒖 𝒊 𝑻 𝒖 𝒋 = 0, 𝒗 𝒊 𝑻 𝒗 𝒋 = 0, ∀1 ≤ 𝑖 ≠ 𝑗 ≤ 𝑛 Các dấu bằng 6, 7 là do

Trong phương pháp truncated SVD, chúng ta chỉ chọn ra top t trị riêng có giá trị lớn nhất, vì điều này giúp giảm thiểu sai số giữa hai ma trận, được tính bằng tổng bình phương của các trị riêng còn lại Phương pháp này cũng cho phép xác định tỷ lệ phần trăm thông tin được lưu giữ trong ma trận xấp xỉ, thông qua một công thức cụ thể.

2.5 Bài toán xấp xỉ low-rank.`

Bài toán xấp xỉ low-rank là ứng dụng quan trọng của phân tích suy biến, nhằm tìm ma trận xấp xỉ tốt nhất với hạng xác định trước, nhỏ hơn hạng của ma trận gốc Mức độ xấp xỉ được đánh giá qua chuẩn Frobenius của hiệu hai ma trận.

𝑟𝑎𝑛𝑘(𝑋) =𝑘||𝑨 − 𝑿|| 𝑭 𝟐 Người ta chứng minh được rằng nghiệm của bài toán low-rank chính là phép truncated SVD đối với kk trị riêng lớn nhất.

Ứng dụng của phân tích suy biến SVD

1.9.1 Giải phương trình tuyến tính

SVD (Phân tích giá trị riêng) được áp dụng để giải quyết các phương trình hồi quy tuyến tính trong trường hợp tổng quát Bài toán hồi quy tuyến tính nhằm tìm kiếm một phương trình tuyến tính sao cho sự khác biệt giữa các điểm dữ liệu dự đoán và thực tế là nhỏ nhất Sự khác biệt này được đánh giá thông qua một hàm mất mát (loss function).

Trong bài toán tối ưu hóa, ta có công thức 2𝑛||𝒚 − 𝑿𝒘||², trong đó 𝒚 ∈ ℝ^𝑚 là vector biến mục tiêu (hay biến phụ thuộc) Ma trận 𝑿 ∈ ℝ^𝑚×𝑛 là ma trận mở rộng của ma trận đầu vào, với mỗi dòng tương ứng với một quan sát và mỗi cột đại diện cho một chiều dữ liệu Đặc biệt, cột cuối cùng của ma trận này là 1, biểu thị cho hệ số tự do.

Vector các hệ số của phương trình hồi quy được ký hiệu là 𝑿 ∈ ℝ 𝑚×𝑛 và đóng vai trò quan trọng trong việc điều chỉnh phương trình hàm mất mát Bằng cách giải phương trình đạo hàm bậc nhất của hàm mất mát, chúng ta có thể xác định được giá trị tối ưu của ww.

Theo phương trình đạo hàm tích (Product rules) ta có:

Do đó đạo hàm 𝛻 𝒙 (𝑓 𝑻 𝑓) = 2(𝛻 𝒙 𝑓)𝑓 Áp dụng vào triển khai đạo hàm ℒ(𝒘)

Đẳng thức dòng thứ 3 xảy ra khi 𝛻 𝒙 𝑿𝒘 = 𝑿 𝑻 Đặt 𝑨 = 𝑿 𝑻 𝑿 và 𝑿 𝑻 𝒚 = 𝒃, nghiệm w của hàm loss function sẽ thỏa mãn 𝑨𝒘 = 𝒃 Nếu A khả nghịch, phương trình có nghiệm 𝒘 = 𝑨 −1 𝒃 Trong trường hợp A không khả nghịch, để tìm nghiệm, ta cần sử dụng ma trận giả nghịch đảo (Pseudo-Inverse hoặc ma trận Moore-Penrose) ký hiệu là A † Các định nghĩa và tính chất về ma trận giả nghịch đảo có thể được tìm hiểu tại Pseudo-Inverse, và ma trận này có thể được giải thông qua phép phân tích suy biến của A.

𝑨 = 𝑼𝜮𝑽 𝑻 Khi đó ma trận giả nghịch đảo của A sẽ là:

Ma trận giả nghịch đảo vẫn giữ tính chất tương tự như ma trận nghịch đảo, cụ thể là 𝑨 † 𝑨 = 𝑰 Trong phần dưới đây, chúng ta sẽ áp dụng phân tích giá trị kỳ dị (SVD) để giải quyết phương trình hồi quy tuyến tính Chúng tôi sẽ sử dụng thư viện numpy và matplotlib trong Python để thực hiện các phép toán này.

# add 1 column in the last of X to create X matrix

X = np.concatenate((x.reshape(n, 1), np.ones((n, 1))), axis = 1) y = np.random.randn(n)*10 + 2*x plt.plot(x, y)

S = np.zeros((S_diag.shape[0], S_diag.shape[0])) np.fill_diagonal(S, S_diag)

A_pse = np.dot(V.T, np.dot(S_inv, U))

The estimated coefficient using Singular Value Decomposition (SVD) is calculated as \( w_{svd} = np.dot(A_{pse}, b) \), resulting in \( w_{svd} = [2.03561275, -1.85810255] \) Additionally, when utilizing the LinearRegression model from the sklearn library with no intercept, the coefficients are found to be consistent, yielding \( w_{sklearn} = [2.03561275, -1.85810255] \).

1.9.2 Giảm chiều dữ liệu hình ảnh

Khi làm việc với một tập dữ liệu lớn gồm nhiều ảnh, việc lưu trữ trên server thường gặp hạn chế về dung lượng Để giảm kích thước bộ ảnh mà vẫn giữ được nhiều thông tin, ta có thể áp dụng thuật toán nén ảnh bằng phương pháp truncated SVD Phương pháp này giúp tối ưu hóa dung lượng lưu trữ mà không làm giảm chất lượng hình ảnh quá nhiều.

Bức ảnh gốc import matplotlib.pyplot as plt import numpy as np import scipy.linalg as ln from PIL import Image import urllib.request from io import BytesIO

To display an image using Matplotlib, first import the necessary libraries and set the inline mode with `%matplotlib inline` Then, define the image URL as a string Utilize `urllib.request.urlopen` to open the URL, and read the image data into a `BytesIO` object Convert the image data into a NumPy array using `np.array` and `Image.open` Finally, print the shape of the image array to verify its dimensions.

# Convert to grey ig = ig.dot([0.299, 0.5870, 0.114]) plt.imshow(ig)

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à 2

0 trị riêng lớn nhất để lưu giữ thông tin def SVD_pic(n_evl):

""" n_evl: number of highest eigenvalues taken

#Take m, n shape m = ig.shape[0] n = ig.shape[1]

#Get id position of n highest eigenvalues id_trunc = np.argsort(S)[::-1][:n_evl]

U_t = U[np.ix_(np.arange(m), id_trunc)]

V_t = V[np.ix_(id_trunc, np.arange(n))]

S_t = np.zeros((n_evl, n_evl)) np.fill_diagonal(S_t, S_diag)

#Norm Frobenius fb = ln.norm(A-ig, 'fro') prt_retain = (1-fb**2/np.sum(S**2))*100 plt.imshow(A) print('Percentage of information retained: %.2f%s \n'%(prt_retain, '%'))

Kết quả nén ảnh với lần lượt 10 và 20 trị riêng lớn nhất

Với 10 trị riêng lớn nhất, chúng ta có thể lưu trữ 99.39% thông tin của bức ảnh, và với 20 trị riêng lớn nhất, con số này tăng lên 99.74% Để lưu trữ bức ảnh gốc, cần một ma trận kích thước 330x500 Tuy nhiên, khi sử dụng 20 chiều vector, chỉ cần lưu trữ các ma trận Ut, VtUt, Vt với kích thước lần lượt là 330x20, 20x500 và ma trận SS có kích thước 20x20 Giả định mỗi phần tử của ma trận được lưu với cùng số byte, lượng thông tin cần lưu trữ sẽ giảm đáng kể.

Dó đó phương pháp truncated SVD thường được sử dụng trong nén thông tin rất hiệu quả

2 Phương pháp phân tích thành phần chính – Principal Component Annalysis (PCA)

Khái niệm

Phân tích thành phần chính (PCA) là một phương pháp thống kê sử dụng chuyển đổi trực giao để biến đổi một tập hợp quan sát của các biến tương quan thành một tập hợp các giá trị của các biến tuyến tính được gọi là thành phần chủ yếu Số lượng thành phần chủ yếu không vượt quá số lượng biến ban đầu, với thành phần đầu tiên chiếm nhiều biến đổi nhất trong dữ liệu, và mỗi thành phần tiếp theo có phương sai cao nhất dưới điều kiện trực giao với các thành phần trước Các thành phần này là vector riêng của ma trận hiệp phương sai, và PCA nhạy cảm với tỷ lệ mở rộng của các biến ban đầu.

Phân tích thành phần chính (PCA) của một phân phối Gaussian đa biến có tâm tại (1,3) với độ lệch chuẩn là 3, nằm gần tọa độ (0.878, 0.478) Hướng của PCA được xác định bởi các vectơ trực giao, tương ứng với vector riêng của ma trận hiệp phương sai, được thể hiện theo tỷ lệ căn bậc hai của các giá trị riêng Đồng thời, các vectơ này được dịch chuyển sao cho trung bình của chúng nằm ở mức độ trung bình.

PCA, hay Phân tích thành phần chính, là một phương pháp toán học sử dụng biến đổi tuyến tính để chuyển đổi dữ liệu sang một hệ tọa độ mới Mục tiêu của PCA là tối đa hóa phương sai của các chiếu dữ liệu, với thành phần chính đầu tiên chứa phương sai lớn nhất, thành phần thứ hai chứa phương sai lớn thứ hai, và tiếp tục như vậy cho các thành phần tiếp theo.

Xem xét một ma trận dữ liệu X, trong đó các cột đã được điều chỉnh để không có giá trị trung bình (mỗi cột có trung bình mẫu bằng không) Mỗi n hàng trong ma trận đại diện cho một lần lặp khác nhau của thí nghiệm, trong khi mỗi p cột biểu thị một loại thông tin đặc biệt (chẳng hạn như kết quả từ một cảm biến cụ thể).

Trong toán học, quá trình chuyển đổi được xác định bởi một tập hợp các p vectơ trọng lượng, mỗi vectơ này ánh xạ hàng vectơ của X tới một vectơ mới với các thành phần chính Điều này cho phép các biến số cá nhân của t xem xét dữ liệu một cách liên tục, tối ưu hóa phương sai từ x, trong khi mỗi vectơ tải w được giới hạn ở một vectơ đơn vị.

Đặc tính của PCA

• Giúp giảm số chiều của dữ liệu,

PCA tạo ra một không gian mới với ít chiều hơn, thay vì giữ lại các trục tọa độ của không gian cũ, nhưng vẫn đảm bảo khả năng biểu diễn dữ liệu tương đương với không gian cũ, qua đó duy trì độ biến thiên (variability) của dữ liệu trên mỗi chiều mới.

Các trục tọa độ trong không gian mới được hình thành từ tổ hợp tuyến tính của không gian cũ, cho thấy rằng PCA tạo ra các đặc trưng mới dựa trên những đặc trưng đã quan sát Điều thú vị là những đặc trưng này vẫn giữ được khả năng biểu diễn tốt cho dữ liệu ban đầu.

Trong không gian mới, việc khám phá các liên kết tiềm ẩn của dữ liệu trở nên dễ dàng hơn, trong khi trong không gian cũ, những liên kết này thường khó phát hiện hoặc không rõ ràng.

Mục tiêu của PCA

Mục tiêu của Phân tích thành phần chính (PCA) là xác định một không gian mới với số chiều nhỏ hơn không gian ban đầu, trong đó các trục tọa độ được xây dựng để tối đa hóa độ biến thiên của dữ liệu Cụ thể, PCA hướng đến việc "maximize the variability", một khái niệm quan trọng trong việc phân tích và giảm chiều dữ liệu.

Minh họa PCA: phép chiếu lên các trục tọa độ khác nhau có thể cho cách nhìn rất khác nhau về cùng một dữ liệu

Một ví dụ kinh điển về việc nhìn nhận sự vật là hình ảnh của con lạc đà Khi quan sát từ bên hông, ta có thể thấy rõ ràng và đầy đủ hình dáng của nó Ngược lại, nếu nhìn từ phía trước, sẽ rất khó để nhận ra đó là một con lạc đà.

Một ví dụ thuyết phục hơn được minh họa trong hình sau

Minh họa PCA: tìm các trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất

Giả sử có một tập dữ liệu ban đầu được quan sát trong không gian ba chiều, nhưng ba trục này không thể hiện tốt mức độ biến thiên của dữ liệu PCA sẽ tìm ra hệ trục tọa độ mới để tối ưu hóa việc biểu diễn dữ liệu Sau khi chuyển đổi sang không gian mới, dữ liệu được thể hiện rõ ràng hơn với chỉ hai trục tọa độ, mang lại sự biểu diễn tốt hơn so với hệ trục ba chiều ban đầu.

Một trong những ưu điểm nổi bật của PCA là các trục tọa độ trong không gian mới luôn đảm bảo tính trực giao với nhau, mặc dù trong không gian ban đầu, các trục này có thể không trực giao.

Thuật toán PCA

Cho ma trận Các bước của PCA lần lượt như sau:

Dữ liệu ban đầu có thể chứa giá trị biến động lớn, như trên feature 1 có giá trị từ (0, 1) và trên feature 2 từ (-100, 100) Do đó, cần thực hiện bước tiền xử lý để chuẩn hóa giá trị trên các cột của ma trận X Hai phương pháp tiền xử lý phổ biến cho PCA là Centered PCA và Normed PCA Centered PCA giúp đưa tất cả các feature về cùng một gốc tọa độ.

Normed PCA chuẩn hóa tất cả các đặc trưng về cùng một gốc tọa độ và điều chỉnh chúng về cùng một khoảng độ lệch chuẩn, với giá trị chuẩn hóa là 1 Trong đó, n là số dòng của ma trận X, và mean là giá trị trung bình của cột thứ j trong ma trận X, được tính như đã nêu.

Trong đó là độ lệch chuẩn (standard deviation) của cột thứ j trong X

Thông thường Normed PCA hay được dùng Sau bước tiền xử lí, ma trận sẽ là đầu vào cho bước tiếp theo

2.4.2 Xây dựng không gian mới

Tính ma trận hiệp phương sai (covariance) của các feature trong :

Ma trận là tích của chính nó với chuyển vị, do đó nó là ma trận positive semidefinite kích thước p Ma trận này có p trị riêng Tiếp theo, PCA xác định các trị riêng và vector riêng tương ứng của ma trận, sau đó sắp xếp chúng theo thứ tự giảm dần của trị riêng Giả sử rằng p trị riêng của ma trận V là

, (3) và p vector riêng tương ứng là

Các trục của không gian mới được xác định bởi các vector riêng, và những vector này hoàn toàn độc lập tuyến tính, tức là chúng trực giao với nhau.

Trong PCA, trị riêng và vector riêng đóng vai trò quan trọng, đáp ứng đầy đủ các yêu cầu của phương pháp này Điều này có thể gây bất ngờ, vì lời giải cho PCA hoàn toàn nằm trong các khái niệm này Tuy nhiên, chúng ta sẽ chấp nhận điều đó và phần cơ sở Toán học ở cuối bài sẽ giải thích lý do vì sao trị riêng và vector riêng lại xuất hiện một cách bất ngờ trong PCA.

2.4.3 Chuyển dữ liệu từ không gian ban đầu vào không gian mới

Thông thường, không gian mới không được xây dựng từ tất cả p vector riêng trong (4), mà chỉ từ k vector riêng đầu tiên, với k < p Chúng ta sẽ thảo luận lý do tại sao chọn các vector đầu tiên và cách xác định giá trị k phù hợp trong phần cuối của bài viết.

Khi đó tọa độ các điểm trong hệ tọa độ mới là (5)

Cơ sở toán học của PCA

Mục tiêu của PCA là xác định các trục cho không gian mới nhằm tối ưu hóa việc biểu diễn mức độ biến thiên của dữ liệu Giả sử có một ma trận dữ liệu, PCA sẽ tìm ra các hướng chính để giảm thiểu kích thước mà vẫn giữ lại thông tin quan trọng.

PCA có nhiệm vụ tìm kiếm một không gian mới với số chiều nhỏ hơn m, nhằm tối ưu hóa việc biểu diễn n điểm trong không gian ban đầu X.

Hình sau minh họa trọn vẹn ý tưởng của PCA

Minh họa ý tưởng của PCA

Trong hình trên, chúng ta đang tìm kiếm một trục trong không gian mới Tọa độ trên trục này chính là tích vô hướng, điều này có thể được hiểu rõ hơn qua ý nghĩa hình học của tích vô hướng.

Mục tiêu của PCA là tối ưu hóa việc biểu diễn dữ liệu sao cho giá trị lớn nhất cho tất cả n điểm trong tập dữ liệu X Điều này đồng nghĩa với việc tìm kiếm các cực đại, giúp xác định trục biểu diễn tốt nhất cho tất cả các vector cột trong X.

Nói cách khác, mục tiêu của PCA là cực đại tổng

Nên mục tiêu của PCA là: (1)

Vậy vấn đề còn lại là làm thế nào để giải bài toán tối ưu này

Ta nhận xét rằng là ma trận đối xứng và positive semidefinite nên tất cả các trị riêng của đều không âm: và các vector riêng tương ứng là:

Phân tích thành phần chính (principal component analysis) là phương pháp cho phép tính toán các trị riêng và vector riêng của một ma trận bằng cách tìm trị riêng lớn nhất, tương ứng với vector riêng cực đại Sau khi xác định các vector riêng, ta chọn k vector riêng ứng với k trị riêng lớn nhất Cuối cùng, thực hiện phép nhân để tính tọa độ của X trong không gian k chiều mới.

Chúng ta đã hoàn thành PCA trên không gian được tạo ra bởi các cột của X Bằng cách chuyển vị và thực hiện các phân tích tương tự, chúng ta cũng đạt được kết quả cho không gian, nhưng cần tìm các trị riêng của Một điểm thú vị là các trị riêng của cũng chính là trị riêng của , cho phép chúng ta thực hiện PCA trên cả hai không gian thông qua một phép phân tích trị riêng.

2 chiều của X Trong ML nói chung việc này không thú vị lắm, nhưng trong ngành thống kê thì kĩ thuật này rất hay được sử dụng

Thực chất trong PCA, có thể chứng minh rằng trị riêng của chính là

Lượng thông tin có thể phân bố trên các trục gọi là inertia Để chọn số k thích hợp, cần xác định k trị riêng lớn nhất sao cho tổng của chúng chiếm hơn 90% tổng tất cả các trị riêng Tổng các trị riêng đại diện cho toàn bộ lượng thông tin có thể phân bố, vì vậy phương pháp heuristic này nhằm mục đích chọn k sao cho nó thể hiện ít nhất 90% lượng thông tin ban đầu.

Các bước để phân tích thành phần chính

Chủ đề chính của bài viết là phân tích mối quan hệ giữa các điểm dữ liệu trong một tập hợp lớn Chúng ta sẽ khám phá một số biện pháp phân tích có thể áp dụng cho bộ dữ liệu này và ý nghĩa của chúng đối với các dữ liệu cá nhân.

2.6.1.2 Độ lệch chuẩn(Standard Deviation) Để hiểu rõ độ lệch chuẩn, chúng ta cần một bộ dữ liệu Các nhà thống kê thường có liên quan với việc lấy mẫu của một dân số Để sử dụng các cuộc thăm dò bầu cử như là một ví dụ, dân số là tất cả những người dân trong nước, trong khi một mẫu là một tập hợp con của các dân mà các nhà thống kê đo lường Những điều tuyệt vời về thống kê là chỉ đo (trong trường hợp này bằng cách thực hiện một cuộc khảo sát điện thoại hoặc tương đương) một mẫu dân số, bạn có thể làm ra những gì là có nhiều khả năng đo lường nếu bạn sử dụng toàn bộ dân số Tại phần thống kê này, ta sẽ cho rằng bộ dữ liệu của chúng ta là những ví dụ của một số dân lớn hơn

Có một tài liệu tham khảo sau này trong phần này chỉ để moreinformation về mẫu và dân số Dưới đây là một ví dụ thiết lập:

Biểu tượng X được sử dụng để chỉ toàn bộ tập hợp các con số, trong khi để chỉ một số cá nhân trong tập dữ liệu này, chúng ta sẽ sử dụng kí hiệu trên biểu tượng.

X được sử dụng để chỉ ra một số cụ thể, ví dụ như x3 tham khảo số 3 trong X, cụ thể là 4 số Cần lưu ý rằng X1 là số đầu tiên trong chuỗi, không phải X0 như một số sách giáo khoa có thể đề cập Biểu tượng n sẽ được dùng để chỉ số phần tử trong tập hợp X.

Có nhiều phép toán có thể thực hiện trên một tập hợp dữ liệu, trong đó việc tính toán giá trị trung bình của mẫu là một ví dụ điển hình Giả định rằng người đọc đã nắm rõ khái niệm về giá trị trung bình, bài viết này sẽ chỉ cung cấp các công thức cần thiết để thực hiện phép tính này.

Biểu tượng thể hiện giá trị trung bình của tập X rất quan trọng Tất cả các công thức đều chỉ ra rằng bạn cần cộng tất cả các số lại và chia cho số lượng Tuy nhiên, trung bình không cung cấp nhiều thông tin về dữ liệu, chỉ cho thấy một loại điểm trung bình Chẳng hạn, hai sự kiện có cùng giá trị trung bình (10) nhưng lại có sự khác biệt rõ rệt.

Sự khác biệt giữa hai bộ dữ liệu nằm ở mức độ trải dài của chúng Độ lệch chuẩn (SD) là một chỉ số quan trọng để đo lường mức độ phân tán của các giá trị trong một tập hợp dữ liệu.

Để tính toán độ lệch chuẩn (SD), chúng ta cần hiểu rằng SD là "khoảng cách trung bình từ các dữ liệu đến một điểm" Để tính SD, trước tiên, chúng ta tính bình phương khoảng cách từ mỗi điểm dữ liệu đến trung bình của tập dữ liệu, sau đó cộng tất cả các giá trị này lại, chia cho n-1, và cuối cùng lấy căn bậc hai của kết quả.

Bài viết thảo luận về sự khác biệt giữa mẫu và quần thể, cùng với các tính toán độ lệch chuẩn cho dữ liệu Theo bảng 2.1, tập dữ liệu đầu tiên có độ lệch chuẩn lớn hơn do các giá trị phân tán xa khỏi trung bình Ngược lại, ví dụ với tập dữ liệu [10, 10, 10, 10] có độ lệch chuẩn bằng 0, vì tất cả các giá trị đều giống nhau và không có sự phân tán nào.

Phương sai là thước đo mức độ phân tán của dữ liệu trong một tập hợp Nó gần giống với độ lệch chuẩn và được tính bằng công thức cụ thể.

Độ lệch chuẩn bình phương, được ký hiệu là s², là biểu tượng thông thường cho phương sai của một mẫu và là một trong những biện pháp quan trọng để đánh giá sự lây lan của dữ liệu Trong khi độ lệch chuẩn là biện pháp phổ biến nhất, phương sai cũng thường được sử dụng Việc giới thiệu phương sai bên cạnh độ lệch chuẩn giúp tạo ra một nền tảng vững chắc cho các phần tiếp theo trong phân tích thống kê.

Trong phân tích dữ liệu, chúng ta thường gặp các bộ dữ liệu đa chiều, ví dụ như chiều cao của học sinh và nhãn hiệu họ nhận được trong kỳ thi COMP101 Mục tiêu của phân tích thống kê là khám phá mối quan hệ giữa các kích thước này Chẳng hạn, chúng ta có thể phân tích xem chiều cao ảnh hưởng đến nhãn hiệu của học sinh hay không Độ lệch chuẩn và phương sai thường chỉ áp dụng cho từng chiều riêng lẻ, vì vậy chúng ta có thể tính toán độ lệch chuẩn cho mỗi kích thước độc lập Tuy nhiên, việc tìm ra mức độ thay đổi của các kích thước so với giá trị trung bình thông qua tương tác giữa chúng là rất hữu ích.

Hiệp phương sai là một biện pháp như vậy Hiệp phương sai luôn được đo giữa

Khi tính toán phương sai trong không gian ba chiều (x, y, z), bạn có thể đo hiệp phương sai giữa các cặp biến như x và y, x và z, y và z Việc đo hiệp phương sai giữa cùng một biến, chẳng hạn như x với x, y với y, và z với z, sẽ cho bạn phương sai tương ứng của các biến x, y và z Công thức tính hiệp phương sai rất giống với công thức tính phương sai, và có thể được mở rộng để thể hiện cả hai phần của nó Dưới đây là công thức cho phương sai:

Hình 2.1: Đồ thị của các dữ liệu cho thấy mối quan hệ tích cực hiệp phương sai giữa số giờ nghiên cứu chống lại các dấu hiệu nhận được

Nó hoàn toàn giống nhau, ngoại trừ việc trong tập thứ hai của khung, các X được thay thế bằng Y Điều này có nghĩa là, trong tiếng Anh, "Đối với mỗi mục dữ liệu, sự khác biệt giữa giá trị x và giá trị trung bình của x bằng mức chênh lệch giữa giá trị y và giá trị trung bình của y Hãy cộng tất cả chúng lại và chia cho (n-1)."

Để thực hiện nghiên cứu này, chúng ta có thể sử dụng một số dữ liệu ví dụ Hãy tưởng tượng rằng chúng ta đã khảo sát một nhóm sinh viên về số giờ họ dành để học môn COSC241 và các điểm số mà họ nhận được Dữ liệu này bao gồm hai chiều: kích thước H, đại diện cho số giờ học, và kích thước M, đại diện cho điểm số Hình 2.2 trình bày dữ liệu giả định của chúng ta, cùng với các giá trị hiệp phương sai cov(H, M) giữa số giờ học và điểm số đạt được.

Phương pháp(Method)

Bước 1: Nhận được một số dữ liệu (Get some data)

Trong ví dụ đơn giản này, chúng ta sẽ sử dụng bộ dữ liệu riêng của mình với chỉ hai kích thước Lý do lựa chọn này là để dễ dàng cung cấp hình ảnh trực quan cho dữ liệu, giúp hiển thị rõ ràng quá trình phân tích PCA tại từng bước Hình 3.1 minh họa cho kết quả này cùng với một lô dữ liệu tương ứng.

Bước 2: Trừ các trung bình Để PCA hoạt động hiệu quả, bạn cần trừ đi giá trị trung bình từ mỗi kích thước dữ liệu Giá trị trung bình này được tính cho từng chiều, vì vậy tất cả các giá trị x sẽ được trừ đi giá trị trung bình của x từ tất cả các điểm dữ liệu, và tương tự đối với các giá trị y Quá trình này tạo ra một tập hợp dữ liệu có nghĩa là bằng không.

Bước 3: Tính toán ma trận hiệp phương sai được thực hiện tương tự như đã mô tả trong phần 2.1.4 Với dữ liệu 2 chiều, ma trận hiệp phương sai sẽ có kích thước 2x2 Kết quả cho thấy các yếu tố phi chéo trong ma trận hiệp phương sai là tích cực, điều này cho thấy rằng x và y có sự tương tác tích cực với nhau.

Bước 4: Tính vector riêng và giá trị riêng của ma trận hiệp phương sai

(Calculate the eigenvectors and eigenvalues of the covariance matrix)

Ma trận hiệp phương sai có hình vuông cho phép chúng ta tính toán các vector riêng và trị riêng, điều này rất quan trọng vì nó cung cấp thông tin hữu ích về dữ liệu Các vector riêng là các đơn vị vector với độ dài bằng 1, điều này rất cần thiết cho phương pháp phân tích thành phần chính (PCA) Hầu hết các gói toán học khi yêu cầu vector riêng sẽ cung cấp cho bạn bộ vector riêng.

Dữ liệu trong hình 3.2 cho thấy một mô hình mạnh mẽ, với hai biến tăng cùng nhau theo dự đoán từ ma trận hiệp phương sai Các vector riêng xuất hiện dưới dạng đường đứt đoạn trên cốt truyện, vuông góc với nhau và cung cấp thông tin quan trọng về các mẫu trong dữ liệu Eigenvector cho thấy cách hai tập hợp dữ liệu liên quan thông qua đường phù hợp nhất, trong khi eigenvector thứ hai thể hiện mô hình ít quan trọng hơn, với các điểm nằm bên ngoài đường chính.

Quá trình này, thông qua việc lấy các vector riêng của ma trận hiệp phương sai, cho phép chúng ta trích xuất các dòng đặc trưng từ dữ liệu Các bước tiếp theo liên quan đến việc chuyển đổi dữ liệu để nó được thể hiện dưới dạng các dòng này.

Bước 5: Lựa chọn các thành phần và hình thành một vector đặc trưng

Choosing the right components and forming a feature vector involves the concepts of data compression and dimensionality reduction By examining the eigenvectors and eigenvalues discussed earlier, one can effectively streamline the data representation for improved analysis.

Có nghĩa là dữ liệu điều chỉnh với vector riêng overlayed

Hình 3.2 : Một biểu đồ của các dữ liệu bình thường ( nghĩa là trừ ) với các vector riêng của ma trận hiệp phương sai chồng chập lên

Các giá trị riêng trong phân tích dữ liệu là hoàn toàn khác nhau và các vector riêng với giá trị riêng cao nhất thường là thành phần chính của bộ dữ liệu Trong ví dụ này, các vector riêng với giá trị riêng lớn nhất thể hiện mối quan hệ quan trọng nhất giữa các kích thước dữ liệu Sau khi xác định được các vector riêng từ ma trận hiệp phương sai, bước tiếp theo là sắp xếp chúng theo thứ tự giảm dần của giá trị riêng Điều này giúp xác định các thành phần quan trọng nhất Nếu muốn, bạn có thể loại bỏ các thành phần ít quan trọng hơn, mặc dù điều này có thể làm mất một số thông tin Nếu bạn bắt đầu với n chiều trong dữ liệu và chọn p vector riêng đầu tiên, dữ liệu cuối cùng sẽ có kích thước p Cuối cùng, cần tạo một vector đặc trưng, tức là một ma trận chứa các vector riêng mà bạn muốn giữ lại, được xây dựng từ các vector riêng trong các cột.

Tính năng vectoe = (eig1 eig2 eig3 eign) được thiết lập từ ví dụ dữ liệu, cho thấy rằng chúng ta có hai vector riêng Từ đó, chúng ta có hai lựa chọn để thành lập một vector đặc trưng kết hợp cả hai vector riêng này.

Hay, chúng ta có thể chọn để bỏ qua những thành phần nhỏ hơn, ít hơn đáng kể và chỉ có một cột duy nhất:

Chúng ta sẽ thấy kết quả của mỗi trong số này trong phần tiếp theo

Bước 6 : Phát sinh các tập dữ liệu mới

Bước cuối cùng trong PCA là dễ nhất, khi chúng ta đã chọn các thành phần (vector riêng) cần giữ lại và hình thành vector đặc trưng Chúng ta chỉ cần lấy transpose của vector và nhân nó với tập dữ liệu ban đầu để tạo ra dữ liệu cuối cùng Vector tính năng hàng là ma trận với các vector riêng ở cột, sắp xếp theo thứ tự quan trọng, trong khi dữ liệu điều chỉnh là các mục dữ liệu trong từng cột và hàng Dữ liệu cuối cùng sẽ phản ánh các vectơ đã chọn, cho phép hiển thị dữ liệu theo hai trục tùy ý Điều quan trọng là các vector riêng phải vuông góc với nhau để đảm bảo hiệu quả Khi giảm chiều dữ liệu, chúng ta chỉ giữ lại các vectơ cần thiết, và thực hiện chuyển đổi cuối cùng để định dạng dữ liệu thành bảng Nếu giữ cả hai vector riêng cho việc chuyển đổi, chúng ta sẽ nhận được dữ liệu ban đầu đã được xoay theo các vector riêng mà không mất thông tin nào trong quá trình phân hủy.

Việc chuyển đổi mà chúng ta thực hiện là chỉ sử dụng các vector riêng tương ứng với eigenvalue lớn nhất Như được thể hiện trong hình 3.4, dữ liệu chỉ có một chiều duy nhất Khi so sánh tập dữ liệu này với các cột đầu tiên của tập dữ liệu khác, chúng ta nhận thấy rằng nếu vẽ dữ liệu này, nó sẽ nằm trên một đường thẳng, thể hiện vị trí x của các điểm trong hình 3.3 Qua đó, chúng ta đã loại bỏ hiệu quả các trục khác, tức là các eigenvector không cần thiết.

Chúng ta đã chuyển dữ liệu thành các mô hình mô tả mối quan hệ giữa các điểm dữ liệu, giúp phân loại chúng dựa trên sự đóng góp của từng yếu tố Ban đầu, chúng ta chỉ có các trục x và y, nhưng điều này không cho thấy mối liên hệ chính xác giữa các điểm Giờ đây, các giá trị dữ liệu cho biết vị trí của chúng so với các đường xu hướng Qua việc sử dụng cả hai vector riêng, chúng ta đã điều chỉnh dữ liệu theo các vector này thay vì các trục thông thường Tuy nhiên, việc phân hủy đơn eigenvector đã loại bỏ ảnh hưởng của các vector nhỏ hơn, chỉ để lại những dữ liệu quan trọng hơn.

Lấy dữ liệu cũ trở lại

Khi sử dụng PCA để nén dữ liệu, việc khôi phục dữ liệu ban đầu là một mối quan tâm lớn Điều này đặc biệt quan trọng trong các ứng dụng mà độ chính xác của dữ liệu là cần thiết Thông tin chi tiết có thể được tham khảo tại http://www.vision.auc.dk/sig/Teaching/Flerdim/Current/hotelling.html.

Để khôi phục dữ liệu ban đầu, điều quan trọng là phải giữ nguyên tất cả các vector riêng trong quá trình biến đổi Nếu chỉ giảm số lượng vector riêng, dữ liệu sẽ mất đi một số thông tin quan trọng Do đó, việc thực hiện chuyển đổi một cách chính xác là cần thiết để có thể quay lại và lấy lại dữ liệu ban đầu một cách đầy đủ.

Khi thực hiện tất cả các vector riêng trong vector tính năng, chúng ta nhận thấy rằng nghịch đảo của vector đặc trưng thực sự bằng các transpose của vector Tính năng này đúng vì các phần tử của ma trận là tất cả các vector riêng của đơn vị thiết lập dữ liệu Điều này giúp việc truy hồi dữ liệu trở nên dễ dàng hơn, vì các phương trình trở nên đơn giản hơn.

Các ứng dụng phân tích thành phần chính (Applications of principal

✓ Overview (plots) of any data table (tổng quan về bản dữ liệu)

✓ Dimensionality reduction (giảm biến đa chiều)

✓ Similarity models( mô hình tương đồng)

PCA có thể áp dụng cho bất kỳ dữ liệu ma trận nào và thường được sử dụng như bước khởi đầu trong phân tích đa biến để hiểu cấu trúc dữ liệu Nó giúp xác định các yếu tố bên ngoài và phân loại các loại dữ liệu Tuy nhiên, khi mục tiêu là phân loại hoặc liên quan đến một tập hợp biến số khác, như hiệu chuẩn, thì các phương pháp mở rộng của PCA thường mang lại hiệu quả cao hơn Dưới đây là một cái nhìn khá đảng phái về PCA.

Nó phản ánh những kinh nghiệm mà rojections cũng coi bao gồm một phạm vi lớn đáng ngạc nhiên của các công thức vấn đề khoa học tiêu biểu

2.8.1 Tổng quan về bản dữ liệu (Overview (plots) of any data table )

Lô điểm của hai hoặc ba vectơ đầu tiên cho thấy nhóm, giá trị ngoại lai và các mẫu mạnh trong dữ liệu, điều này được minh chứng qua các âm mưu điểm dữ liệu của người Thụy Điển Nhiều ứng dụng khác cũng có thể được khám phá trong vấn đề này.

2.8.2 Giảm biến đa chiều (Dimensionality reduction)

Như đã chỉ ra bởi Frank và Kowalski, hai nhóm chính của ứng dụng PCA và

FA được áp dụng trong hóa phân tích, tập trung vào việc khai thác các yếu tố cơ bản và giá trị tiềm ẩn của hỗn hợp đa thành phần Trong phân tích sắc ký lỏng hai chiều hiệu suất cao, FA giúp xác định số lượng tối thiểu các loại trong một mẫu.

Các vectơ điểm đầu tiên, t alpha, đóng vai trò là những biến tiềm ẩn chứa hầu hết thông tin trong dữ liệu Gần đây, chúng đã được áp dụng để xác định các đặc tính chính của amino acids, dung môi và chất xúc tác, từ đó phục vụ cho việc mô tả định lượng các lựa chọn của các thực thể.

Lô của vectơ điểm PC đầu tiên và thứ hai của một bảng với 20 thuộc tính cho

Có 20 axit amin tự nhiên, và nghiên cứu chỉ ra mối liên hệ giữa các thuộc tính lý hóa của chúng với nucleotide trong các codon thứ hai trong tổng hợp axit amin, bao gồm adenosine, uracil và cytosine Đặc biệt, các axit amin được mã hóa bởi guanine (G) dường như không tham gia vào mối quan hệ này Các vectơ điểm PC mô tả sự thay đổi cấu trúc trong các gia đình peptide, từ đó tạo nền tảng cho cấu trúc mối quan hệ hoạt động của các peptide.

2.8.3 Mô hình tương đồng (Similarity models )

Mô hình máy tính cho thấy sự tương đồng với bảng dữ liệu của một tài sản trong khoảng thời gian hạn chế, và có thể được coi là sự mở rộng của bảng dữ liệu Taylor Các địa điểm tương đồng giữa các đối tượng yêu cầu ít điều khoản hơn để đạt được sự xấp xỉ tốt Các điều kiện tiên quyết cho việc giải thích PCA bao gồm một số giả thuyết về sự khác biệt và liên tục trong quá trình tạo dữ liệu, điều này đã được xác nhận trong nhiều trường hợp Điều này phần nào giải thích cho tính hữu ích của PCA trong thực tiễn.

Một phương pháp nhận dạng mẫu hiệu quả có thể sử dụng các mô hình máy tính riêng biệt cho từng loại đối tượng Các đối tượng mới sẽ được phân loại dựa trên sự phù hợp hoặc không phù hợp với mô hình lớp học, từ đó cung cấp phân loại theo xác suất Phương pháp Simca (Soft Independent Modeling of Class Analogies) dựa trên nguyên tắc này Để phân biệt tối ưu giữa hai lớp của Thụy Điển, mỗi lớp có thể được trang bị một mô hình máy tính riêng Kết quả cho thấy sự tương đồng trong lớp học, với mô hình hai hoặc ba thành phần có khả năng mô tả đầy đủ dữ liệu, đồng thời các lớp học được phân tách rõ ràng, giúp các mẫu mới phù hợp với những "lớp lưu trữ" một cách chính xác.

Phân tích thành phần chính (PCA) trong Python

Ứng dụng

Ngày đăng: 22/01/2022, 16:30

HÌNH ẢNH LIÊN QUAN

Hình sau minh họa trọn vẹn ý tưởng của PCA. - BÀI TIỂU LUẬN MÔN PHƯƠNG PHÁP TÍNH ĐỀ TÀI PHÂN TÍCH THÀNH PHẦN CHÍNH VÀ ỨNG DỤNG
Hình sau minh họa trọn vẹn ý tưởng của PCA (Trang 31)
Hình 3.2 : Một biểu đồ của các dữ liệu bình thường ( nghĩa là trừ ) với các  vector riêng của ma trận hiệp phương sai chồng chập lên - BÀI TIỂU LUẬN MÔN PHƯƠNG PHÁP TÍNH ĐỀ TÀI PHÂN TÍCH THÀNH PHẦN CHÍNH VÀ ỨNG DỤNG
Hình 3.2 Một biểu đồ của các dữ liệu bình thường ( nghĩa là trừ ) với các vector riêng của ma trận hiệp phương sai chồng chập lên (Trang 46)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN