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

Báo cáo bài tập lớn đại số tuyến tính đề tài 12 ứng dụng của phân tích pca để hồi quy tuyến tính (linear regression)

23 13 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 12 Ứng Dụng Của Phân Tích PCA Để Hồi Quy Tuyến Tính (Linear Regression)
Tác giả Đặng Minh Thiện, Ibramhim Mai Hạo Thiên, Lê Gia Thuận Thiên, Nguyễn Anh Thiên, Nguyễn Ngọc Thiện, Trần Xuân Thiện, Đặng Võ Phước Thịnh, Lưu Vĩnh Thông, Nguyễn Anh Thư, Võ Anh Thư
Người hướng dẫn Nguyễn Xuân Mỹ
Trường học Trường Đại Học Bách Khoa, Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Toán học/Đại số tuyến tính
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 11,23 MB

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

Nội dung

Cơ sở lý thuyếtI.Phương pháp phân tích thành phần chính PCA Phép phân tích thành phần chính Principal Components Analysis - PCA là một thuậttoán thống kê sử dụng phép biến đổi trực giao

Trang 1

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

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

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 12: ỨNG DỤNG CỦA PHÂN TÍCH PCA ĐỂ HỒI QUY TUYẾN TÍNH

(LINEAR REGRESSION)

Lớp L02_Nhóm 12GVHD: Nguyễn Xuân Mỹ

 

THÀNH VIÊN NHÓM 121.Đặng Minh Thiện

2.Ibramhim Mai Hạo Thiên3.Lê Gia Thuận Thiên4.Nguyễn Anh Thiên5.Nguyễn Ngọc Thiện6.Trần Xuân Thiện7.Đặng Võ Phước Thịnh8.Lưu Vĩnh Thông9.Nguyễn Anh Thư 10.Võ Anh Thư 

MSSV:2213247MSSV:2213229MSSV:2213230MSSV:1915270MSSV:2213255MSSV:1915300MSSV:2213267MSSV:2213330MSSV:2213394MSSV:2213415

2

Trang 2

Cơ sở lý thuyết

I.Phương pháp phân tích thành phần chính PCA

Phép phân tích thành phần chính (Principal Components Analysis - PCA) là một thuậttoán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ mộtkhông gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc 3 chiều) nhằmtối ưu hóa việc thể hiện sự biến thiên của dữ liệu Nói cách khác, PCA là phương phápbiế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ếnsao 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ươngquan lần nhau

3.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 mới là tổ hợp tuyến tính của những biến ban đầu

4.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ônggian 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àykhông thể hiện rõ

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

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

4

Trang 3

III Một số khái niệm toán trong thống kê

•Kỳ vọng (mean): Giá trị mong muốn, biểu diễn giá trị trung bình một biến

•Độ lệch chuẩn (Standard deviation): Thuật ngữ đo sự biến động của giá trịmang tính thống kê Nó cho thấy sự chênh lệch về giá trị của từng thời điểmđánh giá so với trung bình

•Phương sai (variance): Một đại lượng đặc trưng cho độ phân tán của các dữliệu so với giá trị trung bình của nó, hàm ý các giá trị của biến đó thường ở cáchgiá trị kỳ vọng bao xa Từ đó chúng ta dễ dàng hình dung được dữ liệu chúng tađang xét

•Ma trận hiệp phương sai: Trong thống kê, ta cần một thuật ngữ để thể hiện sự đầy đủphương sai và hiệp phương sai của các biến với nhau Từ đó ta tạo ra ma trận hiệpphương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông (m x m), trong đócác phần tử nằm trên đường chéo (Từ trái sang phải, từ trên xuống dưới) 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 (không nằmtrên đường chéo) là các hiệp phương sai của đôi một hai biến ngẫu nhiên khác nhautrong tập hợp

6

Trang 4

Là một thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp

dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc

3 chiều) nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu Phép biến đổi tạo ranhững ưu điểm sau đối với dữ liệu:

- Giảm số chiều của không gian chứa dữ liệu khi nó có số chiều lớn, không thể thểhiện trong không gian 2 hay 3 chiều

- 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ệutrê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ônggian 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àykhông thể hiện rõ

IV Ưu điểm của phép phân tích thành phần chính (Principal ComponentsAnalysis - PCA)

* Ví dụ mang tính chất minh họa trực quan:

Chúng ta có 2 biến X1 và X2 có tương quan (tuyến tính), được biểu diển bằng đồthị sau:

 

8 8

Trang 5

10

Trang 6

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ẽ “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, 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 quacác biến độc lập (tuyến tính)

11

 

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.

12

Trang 7

4.2 Tương quan dữ liệu Mong muốn có thể tạo ra một không gian mới nhỏ hơn mà vẫn có thể giữ lại được các thông tin quan trọng, nhưng lại gặp rắc rối với việc cân nhắc rằng có thể giảm bao nhiêu chiều và đó là những chiều nào Vì vậy ta xây dựng nên thuật ngữ phương sai hay còn gọi là độ phân tán dữ liệu Dựa vào so sánh giá trị phương sai giữa các chiều ta đưa đến mức độ quan trọng, đó là lượng thông tin mà chiều đó chứa được.

 Từ đó, ta có thể lược bỏ đi các chiều không quan trọng – có phương sai không đáng kể (≈ 0 ) Theo định nghĩa của phương sai, phương sai của một bản dữ liệu X ban đầu có giá trị xác định không đổi và bằng tổng phương sai theo từng chiều Dữ liệu ban đầu X (D chiều) có phương sai theo từng chiều có giá trị đáng kể, ta có thể nói các chiều ban đầu của dữ liệu X đều có mức độ quan trọng nhất định Ta không thể lược bỏ đi chiều của nó.

Vì thế ta cần một phép biến đổi nào đó để quay các chiều dữ liệu của X đến khi có K chiều nhận giá trị phương sai lớn nhất Vì phương sai của dữ liệu X là hằng số nên ta có thể nói (D-K) chiều còn lại có mức độ quan trọng rất ít (Phương sai không đáng kể) và ta được phép lược bỏ các chiều đó đi Cuối cùng, ta có thể biểu diễn X trên cơ sở mới với

độ mất mát ít nhất trong không gian với số chiều nhỏ hơn.

13

 

4.3 Ý tưởng chínhPCA 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

Giả sử hệ cơ sở trực chuẩn mới là U và chúng ta muốn giữ lại K toạ độ trong hệ cơ sởmới này Không mất tính tổng quát, giả sử đó là K thành phần đầu tiên Quan sát Hình () dưới đây:

 

14

Trang 8

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

Với cơ sở mới này, ma trận dữ liệu có thể được viết thành: (1)

Từ đây ta cũng suy ra: (2)

sẽ thấy rõ hơn khi lập trình mà tôi sẽ trình bày trong bài tiếp theo Gọi mỗi cột đó

là b và có thể coi nó là bias, khi đó, ta sẽ xấp xỉ:

Trong đó là vector hàng có toàn bộ các phần tử bằng 1 Giả sử đã tìm được U,∈

Trang 9

Như vậy, việc tính toán sẽ thuận tiện hơn nhiều nếu vector kỳ vọng x = 0 Việc này cóthể đạt được nếu ngay từ đầu, chúng ta trừ mỗi vector dữ liệu đi vector kỳ vọng củatoàn bộ dữ liệu Đây chính là các bước đầu tiên của PCA.Với giá trị b tìm được này, dữliệu ban đầu sẽ được xấp xỉ với: (3)

Kết hợp (1),(2),(3) ta định nghĩa hàm mất mát chính như sau: (4)

Chú ý rằng, nếu các cột của một ma trận V tạo thành một hệ trực chuẩn thì với một matrận W bất kỳ, ta luôn có:

17

 

18

Vì vậy hàm mất mát trong (4) có thể viết lại thành: (5)

Với là dữ liệu đã chuẩn hóa và với S là ma trận hiệpphương sai của dữ liệu Ta gọi ma trận này là zero-corrected data hoặc dữ liệu đã được chuẩn hoá Có thểnhận thấy

Trang 10

Với ma trận U trục giao bất kỳ, thay K = 0 vào (5) ta có:

Với là các trị riêng của ma trận nửa xác định dương S Chú ý rằng các trịriêng này là thực và không âm.Như vậy L không phụ thuộc vào cách chọn

ma trận trực giao U

và bằng tổng các phần tử trên đường chéo của S Nói cách khác,L chính

là tổng của các phương sai theo từng thành phần của dữ liệu ban đầu.Vìvậy, việc tối thiểu hàm mất mát J tương đương với việc tối đa:

Trang 11

Định lý 1: F đạt giá trị lớn nhất bằng khi là các vecto riêng có norm 2 bằng 1 ứng với các trị riêng này Tất nhiên, chúng ta không quên điều kiện trực giao giữa các

Chú ý rằng λi,i=1,…,K chính là K trị riêng lớn nhất của ma trận hiệp phương sai S Trị riêng lớn nhất λ1 của ma trận này còn được gọi là Thành phần chính thứ nhất  , trị riêng thứ hai λ2 còn được gọi là Thành phần chính thứ hai, etc Chính vì vậy, phương pháp này có tên gọi là Phân tích thành phần chính Ta chỉ giữ lại K thành phần chính của dữ liệu khi muốn giảm số chiều dữ liệu Để có cái nhìn trực quan hơn, chúng ta cùng theo dõi Hình dưới đây:

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

21

 

Trong không gian ban đầu với các vector cơ sở màu đen e1,e2, phương sai theo mỗichiều dữ liệu đều lớn Trong không gian mới với các vector cơ sở màu đỏ u1,u2 phươngsai theo chiều thứ hai σ2 rất nhỏ so với σ1 Điều này nghĩa là khi chiếu dữ liệu lên u2 tađược các điểm rất gần nhau và gần với kỳ vọng theo chiều đó Trong trường hợp này, kỳvọng theo mọi chiều bằng 0 nên ta có thể thay thế toạ độ theo chiều u2 bằng 0 Rõ ràng

là nếu dữ liệu có phương sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đóbằng một hằng số, sai số xảy ra càng nhỏ PCA thực chất là đi tìm một phép xoay tươngứng với một ma trận trực giao sao cho trong hệ toạ độ mới, tồn tại các chiều có phươngsai nhỏ mà ta có thể bỏ qua; ta chỉ cần giữ lại các chiều/thành phần khác quan trọnghơn Như đã chứng minh ở trên, tổng phương sai theo mọi chiều trong hệ cơ sở nàocũng là như nhau và bằng tổng các trị riêng của ma trận hiệp phương sai

22

Trang 12

Sử dụng phương pháp nhân tử Lagrange của giải tích hàm nhiều biến , ta

có hàm Lagrange:

Vậy u2 là một vector riêng của S ứng với ν2 Và để hàm mục tiêu đạt giá trịlớn nhất, ν2 cần càng lớn càng tốt Điều này dẫn đến ν2 phải là trị riêng thứhai của S

Trang 13

 V Các bước phân tích PCA

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

1.Tính vector kỳ vọng của toàn bộ dữ liệu:

2.Trừ mỗi điểm dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu:

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

6.Chiếu dữ liệu ban đầu đã chuẩn hoá xuống không gian con tìm được7.Dữ liệu mới chính là toạ độ của các điểm dữ liệu trên không gian mới

Dữ liệu ban đầu có thể tính được xấp xỉ theo dữ liệu mới như sau:

26

Trang 14

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

Vẫn do giả thiết là phương sai của

dữ liệu ảnh hưởng đến việc chọn

ra chiều mới Khi nhiễu xuất hiện,

do độ lệch của điểm nhiễu này màchiều có phương sai của dữ liệulớn cũng bị ảnh hưởng đáng kể

 

28

Trang 15

VII Nhược điểm của phương pháp PCA.

 Thiếu sót thông tin :

Mặc dù phân tích PCA sẽ giữ lại những chiều quan trọng nhất đối với bộ dữ liệu, tuy vậynếu sai xót trong việc chọn số chiều giữ lại thì lượng thông tin mà ta đánh mất sau quátrình phân tích này sẽ rất đáng kể 

 

VIII Một số ứng dụng trong lĩnh vực khác  

◈  Giảm dung lượng dữ liệu

◈  Machine Learning (đặc biệt là Data analysis)

◈  Nhận dạng ngôn ngữ cử chỉ

30

Trang 16

Ví dụ: trong nhận dạng ngôn ngữ cơ thể của con người

 Ngôn ngữ cử chỉ là loại ngôn ngữ sử dụng cử chỉ bàn tay, biểu cảm và khuôn mặt và chuyển động của cơ thể để truyền đạt ý nghĩa giữa những người khiếm thính với nhau và với người bình thường.

 Người ta đã phát triển một hệ thống nhận dạng các chữ cái Tiếng Việt qua cử chỉ bàn tay tĩnh bằng cách sử dụng kĩ thuật PCA.

Hệ thống nhận dạng có 4 giai đoạn : thu nhận dữ liệu, mô hình hoá

cử chỉ, trích chọn đặc trưng và nhận dạng

31

 

32

Trang 17

 

34

ngôn ngữ chữ cái Tiếng Việt, mô phỏng được thực hiện trên tập cơ sở

dữ liệu 250 ảnh mô tả 25 chữ cái Tiếng Việt, Tất cả các ảnh đều đượcchuẩn hoá bằng cách cắt và định lại kích cỡ 100x100 pixel Hệ thốngkiểm tra với 25 kí tự với mỗi lớp kí tự gồm 10 ảnh và thực hiện đánhgiá dựa trên tỉ lệ thành công

Bảng 1 mô tả kết quả của hệ thống đề xuất khi nhận dạng 25 chữ cái Tiếng Việtvới tỉ lệ thành công lên đến 80.4% Kết quả chỉ ra rằng tỉ lệ thành công của cácchữ cái “B, D, H, O, T” thấp vì chúng có hình dạng khá giống nhau Vậy nên đôikhi hệ thống nhận dạng nhầm Đối với các chữ cái như “A,E,K,L,N,P,Q,S”, ảnh cửchỉ bàn tay có chất lượng tốt sau giai đoạn tiền xử lí Vì vậy hệ thống đạt được tỉ

lệ nhận dạng cao đối với các chữ cái này

Trang 18

- Ứng dụng trong nhận diện khuôn mặt

Ví dụ: Trong nhận diện khuôn mặt:

· Tiền xử lý: Chuẩn hóa kích cỡ giữa ảnh trong cơ sở dữ liệu  · Tách khuôn mặt: Khuôn mặt trên ảnh được phân tách ra phần mặt,

nó sẽ là các khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ được sử dụng các ảnh được tách ra này.

· Trích chọn đặc trưng: Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong cơ sở dữ liệu.

· Đối sánh: So sánh các vector đặc trưng để chọn ra độ tương tự giữa ảnh cần tìm và ảnh trong cơ sở dữ liệu.

Trang 19

VÍ DỤ MINH HỌA & CODE MATLAB

I Ví dụ minh hoạ

Một trung tâm thương mại trong 10 năm gần đây phân tích dữ liệu

và nhận thấy rằng nguồn khách hàng đăng kí hội viên hằng năm phụ thuộc vào số lượng khách hàng tiềm năng được biểu diễn gần với hàm bậc nhất y=A0+A1*x Sau đây là bảng số liệu đã thống kê (Khách hàng tiềm năng; Khách hàng hội viên): (23;67) , (30;72), (42;81), (47;90) (55;102) (72;110) (85;135) (93;165) (105;174) (112;192) , đơn vị tính là ngàn người Tìm đường hồi quy tuyến tính

và dự đoán nếu năm nay có 200 ngàn khách hàng tiềm năng thì sẽ

có bao nhiêu hội viên tham gia.

 

  38

Bước 1: Tính Giá trị trung bình của X1là

Giá trị trung bình của X2 là

Bước 3 :Tính ma trận hiệp phương sai

Trang 20

 

40

Kết luận: Theo định nghĩa PCA, đường hồi quy chính có chiều là thành phần chính thứnhất và đi qua giá trị trung bình Vậy đường thẳng hồi quy là:

 

Dự đoán số khách hang làm hội viên khi có 200 ngàn khách hang tiềm năng:

(ngàn người)

Trang 21

41Hình ảnh trực quan dữ liệu

ylabel("Khach hang hoi vien");

title("Hinh anh truc quan du lieu");

grid on;

II Phần codeMatlab

Trang 22

1 N=input('Nhap N: '); Nhập dữ liệu đầu vào, ở đây cho nhập N

2 X=zeros(N,2); Tạo ma trận 0, ở đây ma trận có cỡ N2

3 for i=1:1:Nend

Vòng lặp for với số lần biết trước, ở đây lặp từ 1 đến N với mức tăng 1

4 num2str(i) Chuyển dữ liệu số sang dữ liệu chuỗi

5 X=[23 67; 30 72; 42 81; 47 90; 55 102; 72110; 85 135; 93 165; 105 174; 112 192]; Tạo ma trận, ở đây là ma trận cỡ 102

6 Xtb=mean(X) Tính giá trị trung bình của ma trận, ở đây là ma

trận X

7 Xnew' Tìm ma trận chuyển vị của ma trận, ở đây là ma

trận Xnew

8 [P D]=eig(S) Chéo hóa trực giao để tìm trị riêng và vecto

riêng, ở đây là chéo hóa trực giao ma trận S

Giải thích các lệnh Matlab được dung

 

44

9  

Plot (x, y, ‘LineWidth’, 2);

10 ‘LineWidth’, 2 Xác định độ rộng đường vẽ, ở đây là bằng 2

11 hold on; Thêm nét vẽ vào đồ thị đã có sẵn

12 x(:,1) Lấy ra một cột của một ma trận, ở đây là lấy

cột 1 của ma trận X

13 ‘b-‘ Định dạng đồ thị màu xanh da trời + nét liền

14 ‘rx’ Định dạng đồ thị màu đỏ + dấu x

15 xlabel(“Khach hang tiem nang”);

ylabel(“Khach hang hoi vien”); Đặt tên cho 2 trục Ox và Oy

16 title(“Hinh anh truc quan du lieu”); Đặt tiêu đề cho đồ thị được vẽ

17 grid on; Hiển thị lưới toạ độ

Ngày đăng: 19/05/2023, 05:45

HÌNH ẢNH LIÊN QUAN

Bảng 1 mô tả kết quả của hệ thống đề xuất khi nhận dạng 25 chữ cái Tiếng Việt với tỉ lệ thành công lên đến 80.4% - Báo cáo bài tập lớn đại số tuyến tính đề tài 12 ứng dụng của phân tích pca để hồi quy tuyến tính (linear regression)
Bảng 1 mô tả kết quả của hệ thống đề xuất khi nhận dạng 25 chữ cái Tiếng Việt với tỉ lệ thành công lên đến 80.4% (Trang 17)
Hình   ảnh trực quan dữ liệu - Báo cáo bài tập lớn đại số tuyến tính đề tài 12 ứng dụng của phân tích pca để hồi quy tuyến tính (linear regression)
nh   ảnh trực quan dữ liệu (Trang 21)

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