Principle Component Analysis

Một phần của tài liệu ĐỀ TÀI TIỀN XỬ LÝ DỮ LIỆU (Trang 51 - 58)

Principle Component Analysis (PCA) là phương pháp hiệu quả để phân tích dữ liệu đa chiều. Đối với những dạng dữ liệu đa chiều, khả năng biểu diễn được chúng dưới dạng đồ thị để phân tích mẫu đối với chúng ta là rất hiếm do đó phương pháp PCA được phát triển nhằm phân tích sự nhất quán và khác biệt của các mẫu dữ liệu. Điểm nổi bật của PCA là nó cung cấp cho chúng ta một phương pháp làm giảm

số chiều của dữ liệu, nói cho chính xác là chiếu dữ liệu đa chiều lên một không gian ít chiều hơn mà không làm mất mát quá nhiều thông tin.

Giả sử chúng ta có một tập dữ liệu gồm M mẫu dữ liệu N chiều. Với N lớn, việc phân tích tập dữ liệu sẽ trở nên rất khó khăn nếu ta làm việc trực tiếp với dữ liệu thô. Ý tưởng chính ở đây là ta sẽ tập trung phân tích những thành phần chính của các mẫu dữ liệu ( mỗi mẫu có N thành phần ứng với N chiều ) để làm rõ sự nhất quán và khác biệt giữa các mẫu dữ liệu với nhau và đưa ra một chuẩn đo hiệu quả về sự khác biệt đó ( nhằm phân lớp dữ liệu ).

Như vậy,vấn đề ở đây là làm sao ta biết được thành phần nào là thành phần chính có ảnh hưởng chủ yếu đến sự phân bố của các mẫu dữ liệu ? Để làm rõ vấn đề này chúng ta sẽ lần lượt khảo sát các bước phân tích dữ liệu sau đây :

Chuẩn hóa dữ liệu : Ở bước này chúng ta sẽ sử dụng những mẫu dữ liệu 2 chiều (x,y) để minh họa cho ý tưởng chính và kể từ đây các bước sau cũng sẽ được minh họa bằng những mẫu dữ liệu 2 chiều này.

Đối với mỗi thành phần ta tính trung binh mẫu của chúng rồi trừ đi trung bình mẫu đó.

Hình 2.18 Đồ thị biểu diễn các mẫu dữ liệu hai chiều sau khi chuẩn hoá

Tính ma trận Covariance :

Ma trận Covariance được xác định như sau : { Cij = [∑ = − − M i i i j j MeanX X MeanX X 1 ) )( ( ]/(M-1) }

Đối với ví dụ ở trên của chúng ta thì ma trận Covariance sẽ như sau :

Xác định eigenvectors và eigenvalues tương ứng :

Ờ đây trước khi đi vào vấn đề ta nhắc lại một chút về eigenvector và eigenvalue. Hai khái niệm này được định nghĩa trên ma trận vuông N*N. Một ma trận vuông N*N thì sẽ có đúng N eigenvectors và N eigenvalues

tương ứng.

Ví dụ :

Hình 1 cho ví dụ về một eigenvector và một vector không phải eigen vector. (3,2) là một eigenvector và có tính chất là khi ta nhân ma trận vuông vào bên trái của vector này thì được một vector khác tương tự về phương và chiều chỉ khác biệt về độ lớn. Đó chính là tính chất đặc biệt của eigenvector. Ngoài ra, eigenvector còn có một số tính chất đáng chú ý khác như :

• Hai eigenvector bất kỳ của cùng một ma trận vuông trực giao nhau.

• Eigenvalue là không đổi bất kể ta thay đổi độ lớn của eigenvector như thế nào đi nữa.

Ví dụ trên cho thấy nếu ta nâng độ lớn của vector (3,2) lên thì khi nhân ma trận vuông vào bên trái thì eigenvalue tương ứng vẫn là 4.

Đối với những mô hình phân tích dữ liệu, để thuận tiện người ta thường chuẩn hóa sao cho các eigenvector có độ lớn là 1.

Ở đây, ma trận vuông chúng ta xét sẽ là ma trận Covariance vừa tính với kích thước N*N. Đối với ví dụ minh họa của chúng ta :

Các eigenvector xếp theo cột ( mỗi cột là một eigenvector ).

Hình 2.19 Mean adjust data with eigenvectors

Quan sát hình biểu diễn dữ liệu minh họa ở trên ta thấy hai đường nét đứt biểu diễn 2 eigenvectors. Qua đồ thị ta thấy dữ liệu chủ yếu phân bố xung quanh đường thẳng từ góc trái dươi lên góc phải trên do đó eigenvector tương ứng chính là vector thành phần chính của dữ liệu ( xem như mỗi eigenvector đại diện cho một thành phân ). Tổng quát, người ta đã chứng minh được rằng eigenvalue chính là độ đo mức ảnh hưởng của một thành phần đến cấu trúc phân bố của dữ liệu, eigenvalue càng lớn thì ảnh hưởng càng cao. Khi tiến hành phân tích dữ liệu ngươi ta có thể bỏ đi những eigenvector có eigenvalue thấp hơn hẳn so với những eigenvector khác với quan điểm là việc bỏ đi như thế sẽ làm mất rất ít thong tin và lượng thông tin đó sẽ không ảnh hưởng đáng kể đến kết quả phân tích và tăng tốc độ phân tích lên rất nhiều.

Người ta còn đưa ra khái niệm vector đặc trưng xây dựng từ những eigenvector như sau :

Đối với ví dụ minh họa của chúng ta, vector đặc trưng sẽ là :

Ta cũng có thể bỏ đi eigenvector không quan trọng để giảm chiều của vector đặc trưng :

Lấy đặc trưng mẫu :

Đây là bước cuối cùng và cũng là bước dễ nhất trong mô hình PCA. Ta có công thức sau :

Trong đó, FinalData sẽ là ma trận biểu diễn đặc trưng dữ liệu, RowFeatureVector là chuyển vị của FeatureVector (dòng thành cột,cột thành dòng – các eigenvector giờ nằm trên một dòng ), tương tự cho RowDataAdjust – mỗi mẫu dữ liệu chuẩn hóa nằm trên 1 cột và FinalData sẽ chứa các đặc trưng dữ liệu – dặc trưng mỗi mẫu dữ liệu nằm trên 1 cột. Khi tiến hành phân tích các mẫu dữ liệu người ta sẽ chỉ quan tâm đến những đặc trưng của mẫu đó ( cột tương ứng trên FinalData )

Lưu ý : từ FinalData ta cũng có thể phục hồi được dữ liệu nguyên thủy theo một tỉ lệ nào đấy phụ thuộc vào việc chúng ta đã bỏ đi nhưng eigenvector nào và bao nhiêu. Ta có công thức :

Nếu ta giữ nguyên tất cả các eigenvector thì dữ liệu nguyên thủy sẽ được phục hồi 100%. Tóm lại thì ý tưởng chính của PCA là loại bỏ đi những thành phần không quan trọng đến cấu trúc phân bố của các mẫu dữ liệu với giả thiết rằng sự loại bỏ đó sẽ dẫn đến mất mát thông tin ít và ảnh hưởng không đáng kể đến kết quả phân tích dữ liệu.

Một phần của tài liệu ĐỀ TÀI TIỀN XỬ LÝ DỮ LIỆU (Trang 51 - 58)

Tải bản đầy đủ (PDF)

(81 trang)