Thuật toán PCA

Một phần của tài liệu TIỂU LUẬN môn PHƯƠNG PHÁP TÍNH đề tài PHÂN TÍCH THÀNH PHẦN CHÍNH và ỨNG DỤNG (Trang 29 - 34)

1 .Định nghĩa

4. Các ứng dụng của PCA

2.4 Thuật toán PCA

Cho ma trận . Các bước của PCA lần lượt như sau:

2.4.1 Tiền xử lí

Dữ liệu ban đầu có thể có giá trị thay đổi bất thường. Ví dụ trên feature 1 (cột 1 của ) giá trị thay đổi trong khoảng (0, 1), trên feature 2 lại biến thiên trong đoạn (-100, 100). Rõ ràng cần phải có một bước tiền xử lí để chuẩn hóa giá trị trên các cột của ma trận X. Có 2 cách tiền xử lí thường được dùng cho PCA là Centered PCA và Normed PCA. Centered PCA mang tất cả các feature (các cột của X) về cùng một gốc tọa độ:

,

, (1a)

.

Trong đó n là số dịng của X, là mean của cột thứ j của X, được tính như trên. Normed PCA mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn hóa về cùng một quãng standard-deviation bằng 1:

,

Trong đó là độ lệch chuẩn (standard deviation) của cột thứ j trong X.

Thông thường Normed PCA hay được dùng. Sau bước tiền xử lí, ma trận sẽ là đầu vào cho bước tiếp theo.

2.4.2 Xây dựng khơng gian mới

Tính ma trận hiệp phương sai (covariance) của các feature trong :

(2)

Do là tích của ma trận với chuyển vị của nó nên là ma trận positive

semidefinite kích thước . Hơn nữa có p trị riêng . Tiếp theo,

PCA tìm trị riêng và vector riêng tương ứng của , sắp xếp theo thứ tự giảm dần của trị riêng. Giả sử p trị riêng của V là

,

và p vector riêng tương ứng là .

Khi đó các trục của khơng gian mới chính là các vector riêng ở trên, đương nhiên các vector riêng hồn tồn độc lập tuyến tính (nghĩa là trực giao đơi một).

Có thể nói trong PCA, trị riêng và vector riêng có vị trí rất đẹp, thỏa mãn tất cả các yêu cầu của PCA. Bản thân ta khi đọc đến phần này cũng thấy bất ngờ vì lời giải cho PCA khơng gì khác lại hồn tồn trọn vẹn trong trị riêng và vector riêng. Tuy nhiên tại thời điềm này, ta sẽ chấp nhận như vậy. Phần cơ sở Tốn học ở cuối bài sẽ giải thích tại sao trị riêng và vector riêng lại xuất hiện (có phần bất ngờ) trong PCA như vậy.

2.4.3 Chuyển dữ liệu từ không gian ban đầu vào không gian mới

Thông thường không gian mới không được xây dựng bằng tất cả p vector riêng trong (4), mà thông thường chỉ từ k vector riêng đầu tiên, với k < p. Tại sao là các vector đầu tiên, và chọn k bao nhiêu thì tốt, ta sẽ bàn trong phần cuối.

2.5 Cơ sở tốn học của PCA:

Mục tiêu của PCA là tìm trục cho khơng gian mới sao cho nó biểu diễn tốt nhất mức độ biến thiên của dữ liệu. Giả sử có ma trận

Trong đó là các điểm trong không gian ban đầu. Nhiệm vụ của PCA là đi tìm khơng gian mới với số chiều nhỏ hơn m, sao cho biểu diễn tốt n điểm trong X.

Hình sau minh họa trọn vẹn ý tưởng của PCA.

Minh họa ý tưởng của PCA

Trong hình trên, gọi là một trục trong khơng gian mới cần tìm. Khi đó tọa độ của trên trục chính là tích vơ hướng (xem thêm ý

nghĩa hình học của tích vơ hướng).

Mục tiêu của PCA là tìm sao cho nó biểu diễn tốt nhất, nghĩa là sao

Nói cách khác, mục tiêu của PCA là cực đại tổng .

Nên mục tiêu của PCA là: (1)

Ta nhận xét rằng tất cả các trị riêng của riêng tương ứng là:

là ma trận đối xứng và positive semidefinite nên

đều không âm: và các vector

Gọi là trị riêng lớn nhất của , khi đó người ta chứng minh được làm cực đại (1) chính là vector riêng tương ứng với . Như vậy chỉ bằng cách

tính ta sẽ tính được các trị riêng và các vector riêng. Các vector riêng còn được gọi là principal axis, do đó phương pháp này mới gọi là principal component analysis. Việc còn lại là chọn k vector riêng ứng với k trị riêng lớn nhất, sau đó thực

hiện phép nhân để tính tọa độ của X trong khơng gian k chiều mới, như đã trình bày trong bài trước.

Như vậy ta đã thực hiện xong PCA trên không gian tạo bởi các cột của X. Bằng cách chuyển vị và thực hiện các phép phân tích như trên, ta cũng được kết quả tương tự cho khơng gian , nhưng khi đó các trị riêng cần tìm là trị riêng của . Một điểm đẹp mắt là các trị riêng của cũng chính là trị riêng của , do đó bằng một phép phân tích trị riêng, ta có thể thực hiện PCA trên cả

2 chiều của X. Trong ML nói chung việc này khơng thú vị lắm, nhưng trong ngành thống kê thì kĩ thuật này rất hay được sử dụng.

Thực chất trong PCA, có thể chứng minh rằng trị riêng của chính là “lượng thơng tin” có thể phân bố được trên các trục (gọi là inertia), theo đó để chọn k thích hợp, ta chọn sao cho

nghĩa là chọn k trị riêng lớn nhất sao cho tổng của chúng lớn hơn 90% tổng của tất cả các trị riêng. Tổng của tất cả các trị riêng chính là tất cả lượng thơng tin ta có thể phân bố, do đó heuristic này muốn chọn k sao cho nó biêảu diễn được ít nhất 90% lượng thơng tin ban đầu.

Một phần của tài liệu TIỂU LUẬN môn PHƯƠNG PHÁP TÍNH đề tài PHÂN TÍCH THÀNH PHẦN CHÍNH và ỨNG DỤNG (Trang 29 - 34)