1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài 2 phân tích thành phần chính pca (principal component analysics) Để giảm chiều dữ liệu

20 1 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

Định dạng
Số trang 20
Dung lượng 2,09 MB

Nội dung

- 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 với D rất lớn, và tạo ra 1 điểm ? ∈ ?D dữ liệu mới có số

Trang 1

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

BÁO CÁO BÀI TẬP LỚN

MÔN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 2: PHÂN TÍCH THÀNH PHẦN CHÍNH PCA (Principal Component Analysics) ĐỂ GIẢM CHIỀU DỮ LIỆU.

Giảng viên hướng dẫn: T.S Đặng Văn Vinh và Th.S Nguyễn Hữu Hiệp

Sinh viên thực hiện Mã số sinh viên

Đinh Vũ Mỹ Dung

Đỗ Từ Minh Trí

2310443 2313590

Thành phố Hồ Chí Minh, 16 tháng 12, năm 2023

Trang 2

TÓM TẮT BÁO CÁO

Ứ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

2

Trang 3

LỜI MỞ ĐẦU Đại số tuyến tính là môn học có tầm quan trọng đối với sinh viên ĐH Bách Khoa TP.HCM nói riêng và sinh viên các ngành khối khoa học kỹ thuật – công nghệ nói chung Do đó, việc dành cho môn học này một khối lượng thời gian nhất định và thực hành là điều tất yếu để giúp cho sinh viên có được cơ sở vững chắc về các môn KHTN

và làm tiền đề để học tốt các môn khác trong chương trình đào tạo

Trong suốt quá trình thực hiện bài tập lớn nói trên, nhóm chúng em đã nhận được rất nhiều sự quan tâm và ủng hộ, giúp đỡ tận tình của thầy, anh chị và bạn bè Ngoài

ra, nhóm cũng xin gửi lời tri ân chân thành đến T.S Đặng Văn Vinh và Th.S Nguyễn Hữu Hiệp, là giảng viên và cũng là người hướng dẫn nhóm em trong đề tài này Nhờ

có thầy hết lòng chỉ bảo mà nhóm đã hoàn thành tiểu luận đúng tiến độ và giải quyết tốt những vướng mắc gặp phải Sự hướng dẫn của thầy đã là chìa khóa cho mọi hành động của nhóm và phát huy tối đa được mối quan hệ hỗ trợ giữa thầy và trò trong môi trường giáo dục

Lời cuối, xin một lần nữa gửi lời biết ơn sâu sắc đến các cá nhân, các thầy đã dành thời gian chỉ dẫn cho nhóm Đây chính là niềm tin, nguồn động lực to lớn để nhóm có thể đạt được kết quả này

Trang 4

Mục Lục

Chương 1: Mở đầu 4

1.2 - Yêu cầu đề tài: 5

1.3 - Điều kiện: 5

1.4 - Nhiệm vụ: 5

Chương 2: Cơ sở lý thuyết 5

2.1 Khái niệm cơ bản: 5

2.2 Ưu điểm của phương pháp Phân tích thành phần chính 6

2.3 Nhược điểm của phương pháp Phân tích thành phần chính 6

2.4 Áp dụng lí thuyết để phân tích đề tài: 6

Hình 2.2.1 Hình ảnh con lạc đà 7

2.5 Một số khái niệm cơ bản liên quan 7

2.6 Các bước tiến hành PCA: 8

Hình 2.3.1 Các bước tiến hành PCA 10

Chương 3: Ứng dụng thực tế 11

3.1 Giới thiệu: 11

Hình 3.1.1 Hình ảnh về vecto component 12

Hình 3.1.2 Minh họa về bài toán chuyển hệ tọa độ 12

3.2 Thực tiễn: 12

Chương 4: Sản phẩm có khả năng giảm chiều dữ liệu 13

4.1 Phần mềm lập trình MATLAB 13

4.2 ĐOẠN CODE MATLAB CHẠY CHƯƠNG TRÌNH: 13

4.3 Ví dụ minh họa 13

Hình 4.3.1: Biểu diễn ma trận ban đầu 14

Hình 4.3.2: Biểu diễn ma trận đã giảm chiều 15

Hình 4.3.3: Kết quả sau khi giảm chiều 16

Chương 5: Kết luận 16

4

Trang 5

Chương 1: Mở đầu

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 với D rất lớn, và tạo ra 1 điểm 𝑥 ∈ 𝑅D

dữ liệu mới có số chiều K < D.𝑧 ∈ 𝑅K

- Phươ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/mặt đặc biệt nào đó

1.2 - Yêu cầu đề tài:.

1/ Mô tả cơ sở lý thuyết của PCA

2/ Nêu các bước chi tiết dùng PCA để giảm chiều dữ liệu

3/ 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ố

4/ 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 ý

1.3 - Điều kiện:

- 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

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

1.4 - Nhiệm vụ:

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

- Dùng matlab để minh họa, có ít nhất 1 ví dụ thực tế

Trang 6

Chương 2: Cơ sở lý thuyết

2.1 Khái niệm cơ bản:

-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 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 - cái mà có 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

-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

-Yêu cầu của phân tích thành phần chính là giảm chiều dữ liệu khi dữ liệu có quá nhiều chiều thông tin nhưng vẫn đảm bảo độ biến thiên của dữ liệu, giữ lại được những thông tin quan trọng, có thể biểu diễn tốt tương đương hệ cơ sở cũ mà không ảnh hưởng tới chất lượng của các đối tượng cần phân tích

2.2 Ưu điểm của phương pháp Phân tích thành phần chính:

- Giảm số chiều của không gian chứa dữ liệu khi nó có số chiều lớn

- Xây dựng những trục tọa độ mới, thay vì giữ lại các trục của không gian cũ, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương, và đảm bảo độ biến thiên của dữ liệu trên mỗi chiều mới

- Tạo điều kiện để các liên kết tiềm ẩn của dữ liệu có thể được khám phá trong không gian mới, mà nếu đặt trong không gian cũ thì khó phát hiện vì những liên kết này không thể hiện rõ

- Đảm bảo các trục tọa độ trong không gian mới luôn trực giao đôi một với nhau, mặc

dù trong không gian ban đầu các trục có thể không trực giao

2.3 Nhược điểm của phương pháp Phân tích thành phần chính:

- Khiến các biến độc lập trở nên khó hiểu

- Phải chuẩn hóa dữ liệu trước khi thực hiện

- Có thể gây mất thông tin

- PCA rất nhạy cảm với nhiễu

- Không phù hợp với các tập dữ liệu nhỏ

6

Trang 7

2.4 Áp dụng lí thuyết để phân tích đề tài:

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

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 2.2.1 Hình ảnh con lạc đà (hình ảnh minh họa cho PCA : cùng là 1 chú lạc đà, tuy nhiên với các góc 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)

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

2.5 Một số khái niệm cơ bản liên quan

- Độ lệch chuẩn (Standard Deviation) là một đại lượng thống kê dùng để đo mức độ phân tán của một tập dữ liệu Nó cho thấy sự chênh lệch về giá trị của từng thời điểm

Trang 8

đánh giá so với giá trị trung bình Nếu sự chênh lệch không đáng kể thì độ lệch chuẩn

và tính biến động ở mức thấp và ngược lại

- Giá trị kỳ vọng hay giá trị trung bình (mean) là trung bình có trọng số của tất cả các giá trị cụ thể của biến đó

- Phương sai (variance) là giá trị kỳ vọng của bình phương của độ lệch của X so với giá trị trung bình của nó Nói chung, phương sai là "trung bình của bình phương khoảng cách của mỗi điểm dữ liệu tới điểm trung bình"

- 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 hạng (m x 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 đôi một hai biến ngẫu nhiên khác nhau trong tập hợp

- Trị riêng và vectơ riêng: Cho ố được gọi là trị riêng của ma trận nếu tồn tại vectơ khác sao cho được gọi là vectơ riêng của ma trận tương ứng với giá trị riêng

- Chéo hóa ma trận: Ma trận vuông gọi là chéo hoá được nếu tồn tại ma trận đường chéo và ma trận khả nghịch sao cho

2.6 Các bước 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 Tiền xử lý dữ liệu

Mục đích của việc tiền xử lý dữ liệu là chuẩn hóa các biến ban đầu sao cho phạm vi của các biến có sự chênh lệch không quá đáng kể, vai trò của mỗi biến sẽ là như nhau trong quá trình phân tích Vì PCA khá nhạy cảm với phương sai của các biến ban đầu Nghĩa là, nếu có sự khác biệt lớn giữa phạm vi

8

Trang 9

của các biến ban đầu thì những biến có phạm vi lớn sẽ chiếm ưu thế so với những biến có phạm vi nhỏ trong quá trình phân tích

- Ví dụ: Một biến nằm trong khoảng từ 0 đến 100 sẽ chiếm ưu thế so với biến nằm trong khoảng từ 0 đến 1 Điều này sẽ dẫn đến kết quả sai lệch Vì vậy, việc chuẩn hóa dữ liệu là vô cùng quan trọng

- Việc chuẩn hóa dữ liệu có thể thực hiện bằng cách lấy giá trị của từng biến trừ

đi giá trị trung bình và chia cho độ lệch chuẩn của từng biến

Bước 2 Tính ma trận hiệp phương sai Mục đích của bước này là để xem các

biến có mối quan hệ nào hay không Bởi vì đôi khi các biến có mối tương quan cao đến mức chứa thông tin dư thừa

Với:

^

X = −X X

Ma trận hiệp phương sai được tính bằng công thức sau:

S= 1

N −1

^

X T^X

Bước 3 Tìm trị riêng, vector riêng để xác định thành phần chính.

- Các thành phần chính là các biến mới được xây dựng dưới dạng t‹ hợp tuyến tính hoặc hỗn hợp các biến ban đầu Những sự kết hợp này được thực hiện theo cách sao cho các biến mới (tức là các thành phần chính) không tương quan với nhau và hầu hết các biến ban đầu được biểu diễn vào các thành phần đầu tiên

Vì vậy, ý tưởng là dữ liệu 10 chiều cung cấp 10 thành phần chính, nhưng PCA

cố gắng đưa thông tin tối đa có thể vào thành phần đầu tiên, sau đó là thông tin còn lại tối đa trong thành phần thứ hai, … Đôi khi, các thành phần chính sẽ trở nên khó hiểu hơn và không có ý nghĩa thực sự nào vì chúng được xây dựng dưới dạng t‹ hợp tuyến tính của các biến ban đầu

- Gọi là các trị riêng cần tìm Giải phương trình det( − ) = 0 (tìm trị riêng)𝜆I 𝑆 𝜆i

- Sắp xếp các trị riêng của S theo thứ tự giảm dần: λ1> λ2…> λ mvà tìm các vector riêng đơn vị ứng với trị riêng

Bước 4

Việc tính toán các vectơ riêng và sắp xếp chúng theo các giá trị riêng theo thứ

tự giảm dần, cho phép chúng ta tìm các thành phần chính theo thứ tự quan trọng Trong bước này, điều chúng ta làm là loại bỏ những thành phần có tầm quan trọng thấp hơn (có giá trị riêng thấp) và tạo thành với những thành phần

Trang 10

còn lại một ma trận vectơ gọi là vectơ đặc trưng Việc này giúp giảm kích thước tập dữ liệu với lượng thông tin mất đi là tối thiểu

Chọn trị riêng ban đầu và 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

Bước 5 Viết lại dữ liệu dọc theo các trục của thành phần chính

Trong bước này, mục đích là sử dụng vectơ đặc trưng được hình thành bằng cách sử dụng các vectơ riêng của ma trận hiệp phương sai, để định hướng lại dữ liệu từ các trục ban đầu sang các trục được biểu thị bằng các thành phần chính Điều này có thể được thực hiện bằng cách nhân chuyển vị của vectơ đặc trưng (kí hiệu là A) với chuyển vị của tập dữ liệu gốc

Y = ^ A T^X T

Dữ liệu ban đầu được xấp xỉ bởi𝑋

X ≈ A ^ X + X

Mỗi cột của chứa tọa độ của các hàng của ma trận ấy trong cơ sở từ các cột của ma trận 𝑃

Lưu ý:

1/ Ma trận là ma trận đối xứng thực và các trị riêng của là các số thực không âm.𝑆 𝑆 2/ Ma trận luôn chéo hóa trực giao được.𝑆

3/ Trên đường chéo của là phương sai của các véctơ ; ; … ; 𝑆 𝑥1 𝑥i 𝑥N

Phần tử , là hiệp phương sai của và 𝑠ij 𝑥i 𝑥j

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ử = 𝑆 𝑃𝐷𝑃𝑇 Trên đường chéo của là các giá trị riêng của 𝐷 𝑆

T‹ng các giá trị riêng của bằng t‹ng các phần tử của (trace(𝑆 𝑆 𝑆))

4/ Ma trận 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 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 , 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

5/ Nếu dữ liệu mẫu (sample data), thì:S= 1

N −1 ⋅ ^ X T X^

Nếu dữ liệu dân số (population data), thì: S=1

N ⋅ ^ X T^X 10

Ngày đăng: 19/12/2024, 15:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w