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

Chủ Đề nêu cơ sở của lý thuyết phân tích thành phần chính (principal component analysis – pca) Ứng dụng của phân tích pca giảm chiều dữ liệu

23 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Cơ sở của lý thuyết phân tích thành phần chính (Principal Component Analysis – PCA) ứng dụng của phân tích PCA giảm chiều dữ liệu
Tác giả Đinh Như Khỏnh, Đinh Trọc Đức Anh, Đoàn Minh Quang, Dương Minh Khánh, Hoàng Đình Nguyên, Hoàng Gia Phát
Người hướng dẫn Nguyễn Hữu Hiệp
Trường học Trường Đại học Bách Khoa, Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Đại số tuyến tính
Thể loại Bài tập lớn
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 1,08 MB

Nội dung

Phương pháp phân tích thành phần chính PCA là phương pháp biến đổi từ một không gian nhiều chiều thành một không gian mới ít chiều, cụ thể là giảm chiều dữ liệu từ D về K < D là chỉ giữ

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 3

LỚP: L14

SINH VIÊN THỰC HIỆN

Trang 4

MỤC LỤC

Trang

MỤC LỤC 2

LỜI MỞ ĐẦU 3

LỜI CẢM ƠN 3

NỘI DUNG 4

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 4

1.1 Sơ lược về Dimensionality Reduction (giảm chiều dữ liệu) 4

1.2 Yêu cầu 5

1.3 Điều kiện 5

1.4 Nhiệm vụ 6

CHƯƠNG 2 PHƯƠNG PHÁP PCA VÀ CƠ SỞ LÝ THUYẾT 7

2.1 Phương pháp phân tích thành phần chính (PCA) là gì ? 7

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

2.3 Phân tích về PCA 10

2.4 Các bước phân tích tiến hành PCA 13

CHƯƠNG 3 ỨNG DỤNG THỰC TẾ 15

3.1 Một số ứng dụng trong thực tế 15

3.2 Code Matlab (Python) VD 16

CHƯƠNG 4 KẾT LUẬN 21

TÀI LIỆU THAM KHẢO 21

Trang 5

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

LỜI CẢM ƠN

Trong suốt quá trình thực hiện bài tiểu luận, nhóm chúng tôi đã nhận được nhiều

sự quan tâm, ủng hộ, giúp đỡ tận tình của thầy cô và bạn bè Nhóm xin gửi lời cảm ơn đến tất cả mọi người Đặc biệt là thầy Nguyễn Hữu Hiệp, là giảng viên hướng dẫn cho đề tài lần này

Đồng thời do kiến thức còn hạn hẹp, kinh nghiệm thực tiễn vẫn còn nhiều thiếu sót mong thầy góp ý để nhóm có thể hoàn thiện đề tài tốt hơn cho lần sau

Trang 6

NỘI DUNG

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 Sơ lược về Dimensionality Reduction (giảm chiều dữ liệu)

Dimensionality Reduction (giảm chiều dữ liệu), là một trong những kỹ thuật quan trọng trong Machine Learning Các feature vectors trong các bài toán thực tế có thể có số chiều rất lớn, tới vài nghìn Ngoài ra, số lượng các điểm dữ liệu cũng thường rất lớn Nếu thực hiện lưu trữ và tính toán trực tiếp trên dữ liệu có số chiều cao này thì sẽ gặp khó khăn cả về việc lưu trữ và tốc độ tính toán Vì vậy, giảm số chiều dữ liệu là một bước quan trọng trong nhiều bài toán Đây cũng được coi là một phương pháp nén dữ liệu Dimensionality Reduction, nói một cách đơn giản, là việc đi tìm một hàm số, hàm số này lấy đầu vào là một điểm dữ liệu ban đầu x ∈ RD với D rất lớn, và tạo ra 1 điểm dữ liệu mới z ∈ RK có số chiều K < D Tuy nhiên, giảm chiều dữ liệu gặp nhiều khó khăn 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

Để giải quyết vấn đề này, một trong những hương pháp đơn giản nhất trong các thuật toán Dimensionality Reduction dựa trên một mô hình tuyến tính, có tên là Principal Component Analysis (PCA), tức Phân tích thành phần chính Phương pháp này dựa trên quan sát rằng dữ liệu thường không phân bố ngẫu nhiên trong không gian mà thường phân bố gần các đường hoặc mặt đặc biệt nào đó

Trang 7

Khi chuẩn hóa dữ liệu, mẫu dữ liệu được vector hóa và hãy thử tưởng tượng chúng

ta có 1 mẫu với 3 thông số, vậy là tương đương với 3 chiều Nếu chúng ta có thể nén nó lại thì việc trực quan hóa dữ liệu sẽ đơn giản hơn rất nhiều

Hình 1.1 Hình ảnh minh họa việc nén data từ 3 thông số thành 2 thông số

Dựa vào sự tuyến tính cùng nhau giữa các thông số Chúng ta có thể nén dữ liệu xuống để làm việc được tốt hơn Khi biết lợi ích từ việc nén dữ liệu, ta cần biết cách thực hiện nó.Sau đây chúng ta sẽ tìm hiểu một thuật toán để thực hiện nén dữ liệu Đó là PCA

1 Sinh viên cần có kiến thức về bộ môn Đại số tuyến tính nói chung và hiểu biết cơ bản

về phép phân tích thành phần chính trong Machine Learning nói riêng

2 Tìm hiểu các ứng dụng phân tích thành phần chính PCA thực tiễn

Trang 8

1.4 Nhiệm vụ

1 Tìm hiểu về cơ sở lý thuyết nền tảng của thuật toán PCA

2 Thực hành: Input là một file f tùy ý Số hóa file f Phân tích PCA Giảm chiều dữ liệu Đánh giá sai số

3 Sản phẩm: là một phần mềm (code Matlab, hoặc Python, ) có khả năng giảm chiều của một file dữ liệu tùy ý

Trang 9

CHƯƠNG 2 PHƯƠNG PHÁP PCA VÀ CƠ SỞ LÝ

THUYẾT

2.1 Phương pháp phân tích thành phần chính (PCA) là gì ?

Phân tích thành phần chính PCA (Principal Components Analysis) là một trong những kỹ thuật quan trọng trong thống kê để xử lý dữ liệu nhiều chiều PCA được sử dụng rộng rãi trong nhiều lĩnh vực nghiên cứu như kinh tế, sinh học, hóa học, Đây là một phương pháp được sử dụng thường xuyên khi các nhà phân tích thống kê phải đối mặt với những bộ số liệu với số chiều lớn (big data)

Phương pháp phân tích thành phần chính PCA là phương pháp biến đổi từ một không gian nhiều chiều thành một không gian mới ít chiều, cụ thể là giảm chiều dữ liệu từ

D về K < D là chỉ giữ lại K là phần tử quan trọng nhất Đây là một phương pháp thống kê được sử dụng để giảm chiều dữ liệu trong các bộ dữ liệu có số lượng biến lớn, đồng thời giữ lại thông tin quan trọng nhất PCA hoạt động bằng cách chuyển đổi các biến ban đầu thành một tập hợp mới các biến (gọi là các thành phần chính) mà mỗi thành phần chính là một tổ hợp tuyến tính của các biến ban đầu Các thành phần chính được sắp xếp theo độ giảm dần của sự biến động, tức là thành phần đầu tiên giữ lại phần lớn biến động trong dữ liệu, thành phần thứ hai giữ lại phần biến động còn lại và tiếp tục như vậy PCA thường được sử dụng trong việc giảm chiều dữ liệu, phân tích các mối quan hệ giữa các biến, trực quan hóa dữ liệu và giảm nhiễu Từ đó chúng ta có thể triển khai các thuật toán nhanh hơn, giảm bớt dung lượng của dữ liệu và mô hình hóa dữ liệu, trực quan hóa để đánh giá cũng như lựa chọn thuật toán tương thích cho từng dữ liệu

Mục tiêu của chúng ta là tìm ra K chiều mà có thể đảm bảo rằng các dữ liệu khi được biểu diễn, không bị trùng lắp không bị mất mát thông tin (tách biệt nhau hoàn toàn)

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

• Kỳ vọng (mean)

Trang 10

Là giá trị mong muốn, nó đơn giản là trung bình cộng của toàn bộ các giá trị khi cho n giá trị x1, x2,…, xn:

1

1 n

i i

n =

• Phương sai (variance)

Là trung bình cộng của bình phương khoảng cách từ mỗi điểm tới kỳ vọng, dùng

để đo độ biến thiên của một biến 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

2

1

11

n i i

X X n

=

• 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) Nếu 2 biến có xu hướng thay đổi cùng nhau (nghĩa là, khi một biến có giá trị cao hơn giá trị kỳ vọng thì biến kia có xu hướng cũng cao hơn giá trị kỳ vọng), thì hiệp phương sai giữa hai biến này có giá trị dương Mặt khác, nếu một biến nằm trên giá trị kỳ vọng còn biến kia có xu hướng nằm dưới giá trị kỳ vọng, thì hiệp phương sai của hai biến này có giá trị âm Nếu hai biến này độc lập với nhau thì giá trị bằng 0

1

1,

• Ma trận hiệp phương sai

Cho N điểm dữ liệu được biểu diễn bởi các vector cột x1, x2,…, 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à:

1

1 n

i i

Trang 11

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

- 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ành phần 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

- Minh hoạ ma trận hiệp phương sai:

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

• Trị riêng (eigenvalue), vector riêng (eigenvector) của ma trận hiệp phương sai:

- Cho một ma trận vuông AR m, nếu có vô số hướng và vector x 0 R n thoả

mãn Ax=x thì  được gọi là một trị riêng của Ax được gọi là vector riêng tương ứng với trị riêng đó

- Trị riêng là nghiệm của phương trình đặc trưng: det(A−I)= 0

- Một trị riêng có thể có nhiều vector riêng

- Mỗi vector riêng chỉ ứng với một trị riêng duy nhất

- Nếu x là một vector riêng của A ứng với  thì kx k ( 0) cũng là vector riêng ứng với trị riêng đó

Trang 12

- Mọi ma trận vuông bậc n đều có n trị riêng (kể cả lặp) và có thể là các số phức Với ma trận đối xứng, tất cả các trị riêng đều là các số thực

- Với ma trận xác định dương, tất cả các trị riêng của nó đều là các số thực dương Với ma trận nửa xác định dương, tất cả các trị riêng của nó đều là các số thực không âm

- Phương pháp giải tìm trị riêng, vector riêng:

• Giải phương trình đặc trưng det(A−I)=0 để tìm trị riêng

• Giải phương trình (A−I x) = tìm vector riêng tương ứng với mỗi trị riêng 0vừa tìm được

2.3 Phân tích về PCA

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

Ví dụ, chúng ta có 1000 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ũ thành chiều không gian mới mà ở đó chỉ còn 10 biến không có tương quan tuyến tính mà vẫn dữ được nhiều nhất lượng thông tin từ nhóm biến ban đầu

Trang 13

Hình 2.1 Hình ảnh minh họa cho PCA

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

Hay nói cách khác, PCA chính là phương pháp đi tìm 1 hệ cơ sở mới sao cho thông tin dữ liệu chủ yếu tập trung ở 1 vài tọa độ 1 cách trực quan, phần còn lại chỉ mang một lượng nhỏ thông tin (để đơn giản trong tính toán, PCA sẽ tìm 1 hệ trực chuẩn làm cơ sở mới)

Hình bên dưới thể hiện sự chuyển đổi một dữ liệu 3 chiều sang 2 chiều khi sử dụng phương pháp PCA:

Hình 2.2 Sự chuyển đổi một dữ liệu 3 chiều sang 2 chiều khi sử dụng phương pháp PCA

Với dữ liệu cần phân tích ban đầu phụ thuộc nhiều biến, các biến này thường có tương quan với nhau nên sẽ bất lợi cho việc áp dụng các biến này để xây dựng các mô

Trang 14

hình tính toán như hồi quy… và với số biến giải thích lớn chúng ta sẽ rất khó để có cái nhìn trực quan về dữ liệu Ví dụ, thị trường ta quan tâm có hàng ngàn mã cổ phiếu làm cách nào để khi quan sát dữ liệu từ hàng ngàn cổ phiếu này ta hình dung được xu hướng của toàn thị trường…

Phương pháp PCA sẽ biểu diễn dữ liệu đa chiều lên một không gian có cơ sở trực giao, tứ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 đề: 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à: do 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

Một số đặc tính của PCA:

• Giúp giảm số chiều dữ liệu - Giúp visualization khi dữ liệu có quá nhiều chiều thông tin

• Do dữ liệu ban đầu có số chiều lớn (nhiều biến) thì PCA giúp chúng ta xoay trục tọa

độ, xây dựng một trục tọa độ mới đảm bảo độ biến thiên của dữ liệu và giữ lại được nhiều thông tin nhất mà không ảnh hưởng tới chất lượng của các mô hình dự báo (Maximize the variability)

• Do PCA giúp tạo 1 hệ trục tọa độ mới nên về mặt ý nghĩa toán học, PCA giúp chúng

ta xây dựng những biến factor mới là tổ hợp tuyến tính của những biến ban đầu

• Trong không gian mới, có thể giúp chúng ta khám phá thêm những thông tin quý giá mới khi mà tại chiều thông tin cũ những thông tin quý giá này bị che mất (Điển hình cho ví dụ về chú lạc đà phía trên)

Một số hạn chế của PCA :

Trang 15

• Chỉ làm việc với dữ liệu numeric

• Nhạy cảm với các điểm outlier (điểm dị biệt có thể làm méo mó tính chất chuẩn hóa chung của dữ liệu)

• Không phù hợp với mô hình phi tuyến, do PCA hoàn toàn dựa trên các biến đổi tuyến tính

2.4 Các bước phân tích tiến hành PCA

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)

Bước 1 Tính giá trị trung bình X của X

Bước 2 Tính véctơ: Xˆ = −X X

Tính ma trận hiệp phương sai: 1 ˆ ˆT

S XX n

=

Bước 3 Tìm trị riêng của S và sắp xếp theo giá trị giảm dần λ1 > λ2 > ⋯ > λm và tìm

các véctơ riêng đơn vị ứng với các trị riêng

Trang 16

Bước 4 Chọn k trị riêng ban đầu và k véctơ riêng đơn vị ứng với các trị riêng này Lập

ma trận A có các cột là các véctơ riêng đã chọn Ma trận A là phép biến đổi cần tìm

• Ma trận S là ma trận đối xứng thực và các trị riêng của S là các số thực không âm

• Ma trận S luôn chéo hóa trực giao được

• Trên đường chéo của S là phương sai của các véctơ x1; x2; ; xn

Phần tử sij là hiệp phương sai của xi và xj

Tổng các phần tử trên đường chéo của S là phương sai của bảng dữ liệu

Giả sử S = PDPT, Trên đường chéo của D là các giá trị riêng của S

Tổng các giá trị riêng của S bằng tổng các phần tử của S (bằng vết của S)

• Ma trận P là ma trận trực giao Mỗi ma trận trực giao tương ứng với một phép quay Các cột của ma trận P tạo nên hệ trực chuẩn Nếu ta chọn cơ sở trực chuẩn là họ véctơ cột của ma trận P, thì ta xây dựng được hệ trục tọa độ mới dựa trên các véctơ này và

có một phép quay từ hệ trục ban đầu sang hệ trục tọa độ mới

• Nếu dữ liệu mẫu (sample data), thì 1 ˆ ˆ

S XX n

=

Ngày đăng: 19/11/2024, 15:38

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

TÀI LIỆU LIÊN QUAN

w