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

Báo cáo bài tập lớn đề tài 11 cơ sở lý thuyết của pca ứng dụng pca để giảm chiều dữ liệu

17 6 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

Tiêu đề Báo cáo bài tập lớn đề tài 11 cơ sở lý thuyết của PCA ứng dụng PCA để giảm chiều dữ liệu
Tác giả Từ Huy Bảo, Bùi Đức Cẩm, Nguyễn Sĩ Cường, Lê Thị Mỹ Dung, Huỳnh Nguyễn Phúc Duy, Nguyễn Xuân Dũng, Tô Anh Dũng
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 Cơ sở Lý thuyết của PCA và Ứng dụng giảm chiều dữ liệu
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Phân tích thành phần chính là thuật toán tìm một 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 th

Trang 1

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

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

ĐỀ TÀI 11: CƠ SỞ LÝ THUYẾT CỦA PCA ỨNG DỤNG PCA ĐỂ GIẢM CHIỀU DỮ LIỆU

LỚP: L05 – NHÓM 8

GVHD: NGUYỄN HỮU HIỆP

TP HCM, 04/2021

Trang 2

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

Báo cáo trình bày quá trình nghiên cứu, tìm kiếm thông tin và thực hiện đề tài của nhóm A cũng như sử dụng phần mềm Matlab với mục tiêu hoàn thành bài tập lớn môn Đại Số Tuyến Tính đã được giao

Cụ thể, báo cáo sẽ đi sâu vào những công việc nhóm A cần làm, áp dụng những kiến thức cơ bản về ma trận, trị riêng, vectơ riêng,… trong chương trình để thực hiện phân tích thành phần chính (PCA: Principle Component Analysis) và mô tả quá trình bằng phần mềm Matlab

i

Trang 3

LỜI MỞ ĐẦU

Ngày nay, khi thực hiện phân tích một nhóm đối tượng, chúng ta khó tránh phải việc nhóm đối tượng này phục thuộc vào nhiều yếu tố, điều đó khiến cho việc tạo dựng hàm số để phân tích nhóm đối tượng này cần phụ thuộc vào một số lượng rất lớn các biến, có thể lên đến hàng nghìn, hàng trăm, hàng triệu,… đồng nghĩa với việc không gian mô tả cần thiết cũng như thế Điều này không chỉ gây khó khăn cho việc lưu trữ

dữ liệu mà còn khó khăn cho cả việc mô hình hóa và tính toán để có thể nhận xét, đưa

ra góc nhìn trực quan cũng như cho việc kết luận sự tương quan giữa các đối tượng Vì thế, việc giảm số lượng biến thực sự quan trọng trong các lĩnh vực có liên quan như trên Tuy nhiên, giảm số lượng biến của một tập dữ liệu phải đánh đổi bằng độ chính xác của tập dữ liệu đó, điều đó có nghĩa là chúng ta phải chấp nhận mất đi một phần

dữ liệu Cho nên: “Làm thế nào để giảm thiểu số chiều dữ liệu, mà vẫn đảm bảo số lượng thông tin cần thiết? Một đề xuất khá hay để giải quyết vấn đề đó là sử dụng phương pháp Phân tích thành phần chính (PCA: Principle Pomponent Analysis) Ở bài báo cáo này, chúng em sẽ sử dụng phương pháp Phân tích thành phần chính để giảm chiều dữ liệu

i

Trang 4

LỜI CẢM ƠN

Trong suốt quá trình thực hiện bài tập lớn môn Đại Số Tuyến Tính, 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 các thầy cô, anh chị và bạn bè

Ngoài ra, nhóm cũng xin gửi lời cảm ơn chân thành nhất đến Thầy Nguyễn Hữu Hiệp và Cô Nguyễn Xuân Mỹ, là giảng viên hướng dẫn cho đề tài này Nhờ có các thầy hết lòng chỉ bảo mà nhóm đã hoàn thành bài tập lớ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 các thầy đã là kim chỉ nam 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

Bộ môn Đại Số Tuyến Tính là một môn học vô cùng hữu ích, có tính thực tế cao, đảm bảo cung cấp đầy đủ kiến thức thực tiễn cho sinh viên Tuy nhiên, do vốn kiến thức chúng em còn nhiều hạn chế, cũng như bỡ ngỡ nên mặc dù đã cố gắng hết sức nhưng chắc chắn bài tập lớn Đại Số Tuyến Tính lần này khó tránh khỏi những thiếu sót Kính mong các thầy xem xét, góp ý cho bài tập lớn của chúng em được hoàn thiện hơn

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 cô đã dành thời gian chỉ dẫn cho nhóm, xin cảm ơn đến các tác giả của các tài liệu mà nhóm

đã tham khảo Đây chính là niềm tin, là nguồn động lực to lớn để nhóm có thể đạt được kết quả này

i

Trang 5

MỤC LỤC

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

LỜI MỞ ĐẦU ii

LỜI CẢM ƠN iii

DANH MỤC HÌNH ẢNH v

CHƯƠNG 1 MỞ ĐẦU CHƯƠNG 2 ĐẶT VẤN ĐỀ CHƯƠNG 3 PHÂN TÍCH THÀNH PHẦN CHÍNH 3.1 CƠ SỞ LÝ THUYẾT 2

3.1.1 Giới thiệu về Phân tích thành phần chính 2

3.1.2 Khái niệm về Phân tích thành phần chính 2

3.1.3 Ưu điểm của phương pháp 3

3.1.4 Nhược điểm của phương pháp 4

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

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

3.2 ỨNG DỤNG 6

CHƯƠNG 4: ỨNG DỤNG CỦA PHÂN TÍCH THÀNH PHẦN CHÍNH TRONG GIẢM CHIỀU DỮ LIỆU CHƯƠNG 5 GIẢI BÀI TOÁN PCA BẰNG MATLAB 5.1 ĐOẠN CODE MATLAB CHẠY CHƯƠNG TRÌNH 7

5.2 VÍ DỤ 7

CHƯƠNG 6 KẾT LUẬN 10 TÀI LIỆU THAM KHẢO

iv

Trang 6

DANH MỤC HÌNH ẢNH

Hình 3.1: Ví dụ về phân tích PCA 2

Hình 3.2: Biểu đồ mô phỏng 2

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

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

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

v

Trang 7

CHƯƠNG 1 MỞ ĐẦU

1.1 YÊU CẦU ĐỀ TÀI

- Nêu cơ sở lý thuyết của phân tích thành phần chính (PCA: Principle Component Analysis)

- Ứng dụng của phân tích PCA để giảm chiều dữ liệu

1.2 YÊU CẦU THÊM

- Nhóm cần có kiến thức cơ bản về PCA

- Nhóm cần có kiến thức cơ bản về lập trình Matlab

CHƯƠNG 2 ĐẶT VẤN ĐỀ

- Mỗi bộ dữ liệu thu thập được khi tiến hành các nghiên cứu, thí nghiệm thường được thể hiện dưới dạng bảng các giá trị số của nhiều cá thể Chúng tạo thành “đám mây số liệu” khá phức tạp Các số liệu này cần được phân tích và xử lí để có thể rút ra được những nhận xét, đánh giá thích hợp

- Phân tích thành phần chính (Principle Component Analysis- PCA) là kĩ thuật biểu diễn số liệu dựa theo các tiêu chuẩn về đại số và hình học mà không đòi hỏi một giả thuyết thống kê hay mô hình đặc biệt nào

- Kết hợp với phương pháp phân tích thành phần chính sẽ giúp ta khái quát các số liệu thu được, đồng thời có thể đưa ra các ước lượng, dự đoán chính xác với các đại lượng sau này

Trang 8

CHƯƠNG 3 PHÂN TÍCH THÀNH PHẦN CHÍNH

3.1 CƠ SỞ LÝ THUYẾT

3.1.1 Giới thiệu về Phân tích thành phần chính

- Cùng là 1 chú lạc đà, tuy nhiên với các góc

nhìn khác nhau (trục thông tin), chúng ta 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

- Phân tích thành phần chính là thuật toán tìm

một 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 của dữ liệu trên đó là lớn nhất có

thể

3.1.2 Khái niệm về Phân tích thành phần chính

- Phân tích thành phần chính 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

- Phân tích thành phần chính về cơ bản là một kỹ thuật giảm kích thước đơn giản, biến đổi các cột của bộ dữ liệu thành một tập các đặc trưng mới Nó thực hiện điều này bằng cách tìm một tập hợp các hướng mới (như trục X và Y) giải thích sự biến đổi tối

đa trong dữ liệu, tức là hướng đó ta tìm được giá trị lớn nhất của phương sai

Hình 3.1: Ví dụ về phân tích PCA

Hình 1: Bi u đồồ mồ ph ngHình 3.2: Biểu đồ mô phỏngể ỏ

Trang 9

- 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 Phân tích thành phần chính xoay chiều không gian cũ thành chiều không gian mới mà ở đó chỉ còn 5 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

- Nếu chúng ta có thể biểu diễn các vectơ 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

- Ví dụ, 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

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

sở mới

 Phương pháp phân tích thành phần chính (Principal Component Analysis) là công cụ toán thống kê vạn năng được áp dụng rất hiệuquả khi xử lý thông tin từ các ma trận số liệu quan trắc

3.1.3 Ư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õ

Trang 10

- Đả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

3.1.4 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ỏ

3.1.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 đá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ươngkhoả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 (mm), 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 Số đượ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

Trang 11

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

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

- Bước 2:

+ Tính vectơ

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

- Bước 3: Tìm trị riêng của và sắp xếp theo giá trị giảm dần và tìm các vectơ riêng đơn vị ứng với các trị riêng

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

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

- Bước 5: Tính ảnh của vectơ

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

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

Lưu ý

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

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

+ Trên đường chéo của là phương sai của các vectơ Phần tử là hiệp phương sai của và

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

- Ma trận là ma trận trực giao Mỗi 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ọ vectơ 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 vectơ này

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

- Nếu dữ liệu mẫu (sample data) thì

- Nếu dữ liệu dân số (population data) thì

Trang 12

3.2 ỨNG DỤNG

Phân tích thành phần chính được ứng dụng rộng rãi trong nhiều lĩnh vực chuyên môn như: kinh tế, sinh học, kỹ thuật,…

- Kinh tế: Sử dụng trong tính toán, dự đoán vĩnh vực chứng khoán cổ phiếu,…

- Sinh học: Thống kế và phân loại các mã gen tế bào phức tạp,…

- Kỹ thuật: Sử dụng trong các thuật toán hiện đại như: nhận diện khuôn mặt,…

CHƯƠNG 4 ỨNG DỤNG CỦA PHÂN TÍCH THÀNH PHẦN CHÍNH TRONG GIẢM CHIỀU DỮ LIỆU

- Giảm chiều dữ liệu có thể được sử dụng cho giảm nhiễu (noise reduction), trực quan hóa dữ liệu (data visualization), phân tích cụm, hoặc là một bước trung gian để tạo điều kiện thuận lợi cho các phân tích khác

- Giảm chiều dữ liệu có ứng dụng phổ biến trong các lĩnh vực có số lượng quan sát lớn

và số lượng biến lớn, chẳng hạn như xử lí tín hiệu, nhận dạng tiếng nói, thông tin học thần kinh, và tin sinh học

- Ví dụ: Khi chúng ta có một tập dữ liệu lớn thành ma trận 3001000, tức là chúng ta có

1000 chiều (số cột) và khi chúng ta sử dụng phân tích thành phần chính thì sẽ thành

300800, 30010, Chọn các vectơ riêng ứng với các trị riêng lớn nhất

Trang 13

CHƯƠNG 5 GIẢI BÀI TOÁN PCA BẰNG MATLAB 5.1 ĐOẠN CODE MATLAB CHẠY CHƯƠNG TRÌNH

function[]=PCAt(X)

disp('Ma tran Input:');

X = rand(5,3);

disp([X]);

Xm=mean(X);

C=cov(X);

[V,e]=eig(C);

for i=1:size(e,1)

for j=1:size(e,1)

if e(i,j)~=0

E(i)=e(i,j);

end

end

end

K=input('Chon gia tri K = ');

j=1;

for i=size(V,2):-1:K

A(:,j)=V(:,i);

j=j+1;

end

Y=(X-Xm)*A;

disp('Ma tran Output da giam chieu:');

disp([Y]);

5.2 VÍ DỤ

Ví dụ 1: Cho ma trận ban đầu (53)

0.4898 0.2760 0.4984

0.4456 0.6797 0.9597

0.6463 0.6551 0.3404

0.7094 0.1626 0.5853

0.7547 0.1190 0.2238

Trang 14

Biểu diễn ma trận như hình sau:

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

Dùng code để giảm xuống hai chiều ta được ma trận:

-0.0436 -0.0728

0.5522 -0.0660

0.0349 0.3301

-0.1229 -0.1972

-0.4206 0.0059

Biểu diễn ma trận như hình sau:

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

Trang 15

Ví dụ 2: Cho ma trận 109

0.5557 0.1662 0.4024 0.8711 0.2992 0.1249 0.2405 0.2122 0.7027 0.1844 0.6225 0.9828 0.3508 0.4526 0.0244 0.7639 0.0985 0.1536 0.2120 0.9879 0.4022 0.6855 0.4226 0.2902 0.7593 0.8236 0.9535 0.0773 0.1704 0.6207 0.2941 0.3596 0.3175 0.7406 0.1750 0.5409 0.9138 0.2578 0.1544 0.5306 0.5583 0.6537 0.7437 0.1636 0.6797 0.7067 0.3968 0.3813 0.8324 0.7425 0.9569 0.1059 0.6660 0.0366 0.5578 0.0740 0.1611 0.5975 0.4243 0.9357 0.6816 0.8944 0.8092 0.3134 0.6841 0.7581 0.3353 0.4294 0.4579 0.4633 0.5166 0.7486

Dùng code để giảm xuống thành 3 chiều ta được:

0.0102 -0.2317 0.2995

-0.8658 -0.3372 -0.1780

-0.1856 0.7779 -0.2182

-0.4413 -0.1373 0.2830

0.3793 -0.1531 0.4154

0.6830 -0.4475 -0.5933

0.6853 0.3136 0.1817

-0.2652 0.2152 -0.1902

 Kết quả:

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

Trang 16

CHƯƠNG 6 KẾT LUẬN

- Mục đích của phân tích thành phần chính là rút ra thông tin chủ yếu chứa trong bảng

số liệu bằng cách xây dựng một biểu diễn đơn giản hơn sao cho đám mấy số liệu được thể hiện rõ nhất Cụ thể hơn, phân tích thành phần chính tức là đi tìm những trục hay mặt phẳng “phản ánh” tốt nhất, trung thực nhất đám mây điểm -biến, điểm - cá thể

- PCA giúp giảm số chiều dữ liệu 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 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 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

Ngày đăng: 23/05/2023, 15:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đại số Tuyến Tính – Đặng Văn Vinh. Đại Học Quốc Gia TP. Hồ Chí Minh, Trường Đại Học Bách Khoa, 2020 Sách, tạp chí
Tiêu đề: Đại số Tuyến Tính
Tác giả: Đặng Văn Vinh
Nhà XB: Đại Học Quốc Gia TP. Hồ Chí Minh
Năm: 2020
[4] Principal Component Analysis https://machinelearningcoban.com/2017/06/15/pca/ Sách, tạp chí
Tiêu đề: Principal Component Analysis
Năm: 2017
[6] Tạp Chí Khoa Học ĐHQGHN - Phạm Văn Huấn, Khoa học tự nhiên và công nghệ số 28 Sách, tạp chí
Tiêu đề: Tạp Chí Khoa Học ĐHQGHN -
[2] Lập Trình Symbolic Trong Matlab - ThayHai DayCode Youtube:https://youtu.be/o-n9pIkKQxQ Link
[3] Hướng Dẫn Vẽ Đồ Thị Trong Matlab - ThayHai DayCode Youtube: https://youtu.be/MHnkO3VBPps Link
[5] Data Reduction and Regression Using Principal Component Analysis http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1870-90442016000100031 Link

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w