Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
11,23 MB
Nội dung
ĐẠ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 12 GVHD: Nguyễn Xuân Mỹ THÀNH VIÊN NHÓM 12 1.Đặng Minh Thiện 2.Ibramhim Mai Hạo Thiên 3.Lê Gia Thuận Thiên 4.Nguyễn Anh Thiên 5.Nguyễn Ngọc Thiện 6.Trần Xuân Thiện 7.Đặng Võ Phước Thịnh 8.Lưu Vĩnh Thông 9.Nguyễn Anh Thư 10.Võ Anh Thư MSSV:2213247 MSSV:2213229 MSSV:2213230 MSSV:1915270 MSSV:2213255 MSSV:1915300 MSSV:2213267 MSSV:2213330 MSSV:2213394 MSSV:2213415 Cơ sở lý thuyết I.Phương pháp phân tích thành phần PCA Phép phân tích thành phần (Principal Components Analysis - PCA) thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi tập hợp liệu từ không gian nhiều chiều sang không gian chiều (2 chiều) nhằm tối ưu hóa việc thể biến thiên liệu Nói cách khác, PCA phương pháp biến đổi giúp giảm số lượng lớn biến có tương quan với thành tập biến cho biến tạo tổ hợp tuyến tính biến cũ khơng có tương quan lần II Một số đặc tính PCA: 1.Giảm số chiều không gian chứa liệu có số chiều lớn, khơng thể thể không gian hay chiều 2.Xây dựng trục tọa độ mới, thay giữ lại trục khơng gian cũ, lại có khả biểu diễn liệu tốt tương đương, đảm bảo độ biến thiên liệu chiều 3.Do PCA giúp tạo hệ trục tọa độ nên mặt ý nghĩa toán học, PCA giúp xây dựng biến tổ hợp tuyến tính biến ban đầu 4.Tạo điều kiện để liên kết tiềm ẩn liệu khám phá không gian mới, mà đặt không gian cũ khó phát liên kết rõ 5.Đảm bảo trục tọa độ không gian trực giao đôi với nhau, không gian ban đầu trục khơng trực giao III Một số khái niệm tốn thống kê •Kỳ vọng (mean): Giá trị mong muốn, biểu diễn giá trị trung bình biến •Độ lệch chuẩn (Standard deviation): Thuật ngữ đo biến động giá trị mang tính thống kê Nó cho thấy chênh lệch giá trị 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 liệu so với giá trị trung bình nó, hàm ý giá trị biến thường cách giá trị kỳ vọng bao xa Từ dễ dàng hình dung liệu xét •Hiệp phương sai (covariance): Một đại lượng đo biến thiên hai biến ngẫu nhiên (Phân biệt phương sai – đo mức độ ngẫu nhiên biến) Kí hiệu: cov(X,Y) •Ma trận hiệp phương sai: Trong thống kê, ta cần thuật ngữ để thể đầy đủ phương sai hiệp phương sai biến với Từ ta tạo ma trận hiệp phương sai tập hợp m biến ngẫu nhiên ma trận vng (m x m), phần tử nằm đường chéo (Từ trái sang phải, từ xuống dưới) phương sai tương ứng biến này, phần tử cịn lại (khơng nằm đường chéo) hiệp phương sai đôi hai biến ngẫu nhiên khác tập hợp IV Ưu điểm phép phân tích thành phần (Principal Components Analysis - PCA) Là thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi tập hợp liệu từ không gian nhiều chiều sang khơng gian chiều (2 chiều) nhằm tối ưu hóa việc thể biến thiên liệu Phép biến đổi tạo ưu điểm sau liệu: - Giảm số chiều khơng gian chứa liệu có số chiều lớn, thể không gian hay chiều - Xây dựng trục tọa độ mới, thay giữ lại trục khơng gian cũ,nhưng lại có khả biểu diễn liệu tốt tương đương, đảm bảo độ biến thiên liệu chiều - Tạo điều kiện để liên kết tiềm ẩn liệu khám phátrong không gian mới, mà đặt khơng gian cũ khó phát liên kết rõ - Đảm bảo trục tọa độ không gian trực giao đôi với nhau, khơng gian ban đầu trục khơng trực giao - Sử lý vấn đề tương quan biến liệu ban đầu cách sử dụng biến không gian mà phương pháp PCA tìm để mơ tả liệu * Ví dụ mang tính chất minh họa trực quan: Chúng ta có biến X1 X2 có tương quan (tuyến tính), biểu diển đồ thị sau: 88 Ta biết thực phân tích đa biến mà biến có tương quan với khó Ta loại bỏ tương quan cách xoay trục (cơ sở) 99 Ta thấy liệu trục giảm tương quan đáng kể (biến Y1 Y2 gần không tương quan), thay đổi liệu phụ thuộc phần lớn vào biến Y1, ta dung biến Y1 để biểu diễn liệu, điều giúp ta giảm số chiều liệu mà không làm giàm nhiều “phương sai” liệu Đây tư tưởng phương pháp PCA Sau làm rõ mặt lý thuyết phương pháp 10 IV.Cơ sở lý thuyết 4.1 Phương pháp phân tích thành phần – Principle Component Analysis (PCA) gì: Với liệu cần phân tích ban đầu phụ thuộc nhiều biến, vấn đề biến thường có tương quan với bất lợi cho việc áp dụng biến để xây dựng mơ hình tính tốn ví dụ: hồi quy… với số biến giải thích lớn khó để có nhìn trực quan liệu ví dụ: thị trường ta quan tâm có hàng ngàn mã cổ phiếu làm cách để quan sát liệu từ hàng ngàn cổ phiếu ta hình dung xu hướng toàn thị trường… Phương pháp PCA “chiếu” (biễu diễn) liệu đa chiều lên khơng gian có sở trực giao, tức ta xem sở khơng gian biến hình ảnh liệu gốc không gian biểu diễn thông qua biến độc lập (tuyến tính) 11 Vấn đề: chuyển liệu ban đầu sang khơng gian thơng tin đáng quan tâm liệu ban đầu liệu có bị mất? Để giải vấn đề phương pháp PCA tìm khơng gian với tiêu chí cố gắng phản ánh nhiều thông tin gốc tốt, thước đo cho khái niệm “thông tin” phương sai Một điểm hay là: biến không gian độc lâp, nên ta tính tốn tỷ lệ giải thích phương sai biến liệu, điều cho phép ta cân nhắc việc dùng số biến để giải thích liệu 12 4.2 Tương quan liệu Mong muốn tạo khơng gian nhỏ mà giữ lại thông tin quan trọng, lại gặp rắc rối với việc cân nhắc giảm chiều chiều Vì ta xây dựng nên thuật ngữ phương sai hay gọi độ phân tán liệu Dựa vào so sánh giá trị phương sai chiều ta đưa đến mức độ quan trọng, lượng thơng tin mà chiều chứa Từ đó, ta lược bỏ chiều khơng quan trọng – có phương sai khơng đáng kể (≈ ) Theo định nghĩa phương sai, phương sai liệu X ban đầu có giá trị xác định không đổi tổng phương sai theo chiều Dữ liệu ban đầu X (D chiều) có phương sai theo chiều có giá trị đáng kể, ta nói chiều ban đầu liệu X có mức độ quan trọng định Ta khơng thể lược bỏ chiều Vì ta cần phép biến đổi để quay chiều liệu X đến có K chiều nhận giá trị phương sai lớn Vì phương sai liệu X số nên ta nói (D-K) chiều cịn lại có mức độ quan trọng (Phương sai khơng đáng kể) ta phép lược bỏ chiều Cuối cùng, ta biểu diễn X sở với độ mát khơng gian với số chiều nhỏ 13 4.3 Ý tưởng PCA phương pháp tìm hệ sở cho thông tin liệu chủ yếu tập trung vài toạ độ, phần cịn lại mang lượng nhỏ thơng tin Và đơn giản tính tốn, PCA tìm hệ trực chuẩn để làm sở Giả sử hệ sở trực chuẩn U muốn giữ lại K toạ độ hệ sở Khơng tính tổng qt, giả sử K thành phần Quan sát Hình ( ) đây: 14 Hình ( ) : Ý tưởng PCA: Tìm hệ trực chuẩn cho hệ này, thành phần quan trọng nằm K thành phần Với sở này, ma trận liệu viết thành: (1) Từ ta suy ra: (2) 15 Mục đích PCA tìm ma trận trực giao U cho phần lớn thông tin giữ lại phần màu xanh phần màu đỏ lược bỏ thay ma trận không phụ thuộc vào điểm liệu Nói cách khác, ta xấp xỉ Y ma trận có tồn cột Chú ý cột phụ thuộc vào liệu training khơng phụ thuộc vào liệu test, bạn thấy rõ lập trình mà tơi trình bày Gọi cột b coi bias, đó, ta xấp xỉ: Trong ∈ vector hàng có toàn phần tử Giả sử tìm U, ta cần tìm b thoả mãn: Giải phương trình đạo hàm theo b hàm mục tiêu 0: 16 Như vậy, việc tính toán thuận tiện nhiều vector kỳ vọng x = Việc đạt từ đầu, trừ vector liệu vector kỳ vọng toàn liệu Đây bước PCA.Với giá trị b tìm này, liệu ban đầu xấp xỉ với: (3) Kết hợp (1),(2),(3) ta định nghĩa hàm mát sau: (4) Chú ý rằng, cột ma trận V tạo thành hệ trực chuẩn với ma trận W bất kỳ, ta ln có: 17 Vì hàm mát (4) viết lại thành: (5) Với liệu chuẩn hóa với S ma trận hiệp phương sai liệu Ta gọi ma trận zerocorrected data liệu chuẩn hố Có thể nhận thấy 18 Cơng việc cịn lại tìm để mát nhỏ Trước hết, có nhận xét thú vị Nhắc lại định nghĩa ma trận hiệp phương sai 19 Với ma trận U trục giao bất kỳ, thay K = vào (5) ta có: Với trị riêng ma trận nửa xác định dương S Chú ý trị riêng thực không âm.Như L không phụ thuộc vào cách chọn ma trận trực giao U tổng phần tử đường chéo S Nói cách khác,L tổng phương sai theo thành phần liệu ban đầu.Vì vậy, việc tối thiểu hàm mát J tương đương với việc tối đa: 20 Định lý 1: F đạt giá trị lớn vecto riêng có norm ứng với trị riêng Tất nhiên, không quên điều kiện trực giao Chú ý λi,i=1,…,K K trị riêng lớn ma trận hiệp phương sai S Trị riêng lớn λ1 ma trận cịn gọi Thành phần thứ nhất , trị riêng thứ hai λ2 gọi Thành phần thứ hai, etc Chính vậy, phương pháp có tên gọi là Phân tích thành phần Ta giữ lại K thành phần liệu muốn giảm số chiều liệu Để có nhìn trực quan hơn, theo dõi Hình đây: Hình ( ) : PCA góc nhìn Thống kê PCA coi phương pháp tìm hệ sở trực chuẩn đóng vai trò phép xoay, cho hệ sở này, phương sai theo số chiều nhỏ, ta bỏ qua 21 Trong không gian ban đầu với vector sở màu đen e1,e2, phương sai theo chiều liệu lớn Trong không gian với vector sở màu đỏ u1,u2 phương sai theo chiều thứ hai σ2 nhỏ so với σ1 Điều nghĩa chiếu liệu lên u2 ta điểm gần gần với kỳ vọng theo chiều Trong trường hợp này, kỳ vọng theo chiều nên ta thay toạ độ theo chiều u2 Rõ ràng liệu có phương sai nhỏ theo chiều xấp xỉ chiều số, sai số xảy nhỏ PCA thực chất tìm phép xoay tương ứng với ma trận trực giao cho hệ toạ độ mới, tồn chiều có phương sai nhỏ mà ta bỏ qua; ta cần giữ lại chiều/thành phần khác quan trọng Như chứng minh trên, tổng phương sai theo chiều hệ sở tổng trị riêng ma trận hiệp phương sai 22 Vì vậy, PCA cịn coi phương pháp giảm số chiều liệu mà giữ tổng phương sai cịn lại lớn Tìm giá trị lớn S với điều kiện Giả sử u1 vector riêng ứng với trị riêng lớn S nghiệm u2 tốn tối ưu: 23 Là vector riêng S ứng với trị riêng lớn thứ hai λ2 Chú ý λ2 λ1 khơng gian riêng ứng với λ1 có số rank lớn Sử dụng phương pháp nhân tử Lagrange giải tích hàm nhiều biến , ta có hàm Lagrange: Vậy u2 vector riêng S ứng với ν2 Và để hàm mục tiêu đạt giá trị lớn nhất, ν2 cần lớn tốt Điều dẫn đến ν2 phải trị riêng thứ hai S 24 V Các bước phân tích PCA Từ suy luận phía trên, ta tóm tắt lại bước PCA sau: 1.Tính vector kỳ vọng tồn liệu: 2.Trừ điểm liệu vector kỳ vọng tồn liệu: 3.Tính ma trận hiệp phương sai: 25 4.Tính trị riêng vector riêng có norm ma trận này, xếp chúng theo thứ tự giảm dần trị riêng 5.Chọn K vector riêng ứng với K trị riêng lớn để xây dựng ma trận UK có cột tạo thành hệ trực giao K vectors này, cịn gọi thành phần chính, tạo thành không gian gần với phân bố liệu ban đầu chuẩn hoá 6.Chiếu liệu ban đầu chuẩn hố xuống khơng gian tìm 7.Dữ liệu toạ độ điểm liệu không gian Dữ liệu ban đầu tính xấp xỉ theo liệu sau: 26 VI Mơ thuật tốn 27 VII Nhược điểm phương pháp PCA Giả thiết độ quan trọng chiều liệu: PCA phân loại theo chiều phân bố lớn tập vector Mơ hình PCA dựa giả thiết chiều quan trọng liệu chiều có phương sai độ liệu lớn Tuy thực tế, lúc chiều phân bố liệu lớn mang lại hiệu tốt cho việc phân tích liệu PCA nhạy cảm với nhiễu: Vẫn giả thiết phương sai liệu ảnh hưởng đến việc chọn chiều Khi nhiễu xuất hiện, độ lệch điểm nhiễu mà chiều có phương sai liệu lớn bị ảnh hưởng đáng kể 28 VII Nhược điểm phương pháp PCA Thiếu sót thơng tin : Mặc dù phân tích PCA giữ lại chiều quan trọng liệu, sai xót việc chọn số chiều giữ lại lượng thơng tin mà ta đánh sau q trình phân tích đáng kể 29 VIII Một số ứng dụng lĩnh vực khác ◈ Giảm dung lượng liệu ◈ Machine Learning (đặc biệt Data analysis) ◈ Nhận dạng ngôn ngữ cử 30 Ví dụ: nhận dạng ngơn ngữ thể người Ngôn ngữ cử loại ngôn ngữ sử dụng cử bàn tay, biểu cảm khuôn mặt chuyển động thể để truyền đạt ý nghĩa người khiếm thính với với người bình thường Người ta phát triển hệ thống nhận dạng chữ Tiếng Việt qua cử bàn tay tĩnh cách sử dụng kĩ thuật PCA Hệ thống nhận dạng có giai đoạn : thu nhận liệu, mơ hình hố cử chỉ, trích chọn đặc trưng nhận dạng 31 32 33 Để đánh giá hiệu sử dụng thuật toán PCA việc nhận dạng ngôn ngữ chữ Tiếng Việt, mô thực tập sở liệu 250 ảnh mô tả 25 chữ Tiếng Việt, Tất ảnh chuẩn hoá cách cắt định lại kích cỡ 100x100 pixel Hệ thống kiểm tra với 25 kí tự với lớp kí tự gồm 10 ảnh thực đánh giá dựa tỉ lệ thành công Bảng mô tả kết hệ thống đề xuất nhận dạng 25 chữ Tiếng Việt với tỉ lệ thành công lên đến 80.4% Kết tỉ lệ thành công chữ “B, D, H, O, T” thấp chúng có hình dạng giống Vậy nên đơi hệ thống nhận dạng nhầm Đối với chữ “A,E,K,L,N,P,Q,S”, ảnh cử bàn tay có chất lượng tốt sau giai đoạn tiền xử lí Vì hệ thống đạt tỉ lệ nhận dạng cao chữ 34 Kí tự A B C D Đ E G H I K L M N O P Q R S T U V X Y Dấu móc Tỉ lệ thành cơng (%) 100 50 75 50 75 100 80 50 75 100 100 75 100 50 100 100 75 100 50 100 75 100 75 75 BẢNG 35 - Ứng dụng nhận diện khn mặt Ví dụ: Trong nhận diện khn mặt: · Tiền xử lý: Chuẩn hóa kích cỡ ảnh sở liệu · Tách khuôn mặt: Khuôn mặt ảnh phân tách phần mặt, khn mặt cần tìm chức trích chọn đặc trưng sử dụng ảnh tách · Trích chọn đặc trưng: Tìm đặc trưng ảnh mặt, từ đặc trưng hình thành vector đặc trưng, vector sử dụng để đối sánh giống ảnh mặt cần tìm ảnh mặt sở liệu · Đối sánh: So sánh vector đặc trưng để chọn độ tương tự ảnh cần tìm ảnh sở liệu 36 VÍ DỤ MINH HỌA & CODE MATLAB I Ví dụ minh hoạ Một trung tâm thương mại 10 năm gần phân tích liệu nhận thấy nguồn khách hàng đăng kí hội viên năm phụ thuộc vào số lượng khách hàng tiềm biểu diễn gần với hàm bậc y=A0+A1*x Sau 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 ngàn người Tìm đường hồi quy tuyến tính dự đốn năm có 200 ngàn khách hàng tiềm có hội viên tham gia 37 Bước 1: Tính Giá trị trung bình X Giá trị trung bình X2 là Bước 2: Tính vecto Bước 3: ( độ lệch) Tính ma trận hiệp phương sai 38 39 Bước 4: Xác định vecto riêng ma trận hiệp phương sai, ta riêng lớn ứng với trị ứng với trị riêng lại Kết luận: Theo định nghĩa PCA, đường hồi quy có chiều thành phần thứ 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 có 200 ngàn khách hang tiềm năng: (ngàn người) 40 Hình ảnh trực quan liệu 41 I Phần code Matlab: function pcahoiquytt %Nhap cac so lieu: %N=input('Nhap N: '); %X=zeros(N,2); % for i=1:1:N % for j=1:1:2 % X(i,j)=input(['X(' num2str(i) ',' num2str(j) ')= ']); % e nd % e nd %So lieu cho san: N=10; X =[ 23 7; ; 1; ; 5 2; 1 0; 35 93 165; 105 174; 112 192]; % B uo c : T in h g i a t ri t run g b ì nh X tb c ua X : Xtb=mean(X) % Buoc 2: Tinh vecto Xnew=X-Xtb (Do lech): Xnew=X-Xtb % Buoc 3: Tinh ma tran hiep phuong sai S: S=(1/(N-1))*Xnew'*Xnew % B uo c : T im t ri r ie ng v a v ect o r ie ng c ua S : [P D]=eig(S) %Buoc 5: Bieu dien x=20:0.1:120; a=P(2,2)/P(1,2); % Nh an t hay c ot c ua m a t r an P l a chieu cua duong hoi quy b=Xtb(1,2)-a*Xtb(1,1); y=a*x+b; p lot ( x, y ,'LineWidth',2); hold on; plot(X(:,1),X(:,2),'b-',X(:,1),X(:,2),'rx') xlabel("Khach hang tiem nang"); ylabel("Khach hang hoi vien"); title("Hinh anh truc quan du lieu"); grid on; end II Phần code Matlab 42 Giải thích lệnh Matlab dung STT Lệnh Công dụng N=input('Nhap N: '); Nhập liệu đầu vào, cho nhập N X=zeros(N,2); Tạo ma trận 0, ma trận có cỡ N2 for i=1:1:N end num2str(i) Vòng lặp for với số lần biết trước, lặp từ đến N với mức tăng Chuyển liệu số sang liệu chuỗi X=[23 67; 30 72; 42 81; 47 90; 55 102; 72 110; 85 135; 93 165; 105 174; 112 192]; Tạo ma trận, ma trận cỡ 102 Xtb=mean(X) Xnew' [P D]=eig(S) Tính giá trị trung bình ma trận, ma trận X Tìm ma trận chuyển vị ma trận, ma trận Xnew Chéo hóa trực giao để tìm trị riêng vecto riêng, chéo hóa trực giao ma trận S 43 Plot (x, y, ‘LineWidth’, 2); Vẽ biểu đồ đường 10 ‘LineWidth’, Xác định độ rộng đường vẽ, 11 hold on; Thêm nét vẽ vào đồ thị có sẵn 12 x(:,1) Lấy cột ma trận, lấy cột 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 trục Ox Oy 16 title(“Hinh anh truc quan du lieu”); Đặt tiêu đề cho đồ thị vẽ 17 grid on; Hiển thị lưới toạ độ 44 THANKS FOR WATCHING 45