Categories
AI & Machine Learning

PCA, Kernel PCA, ICA – Học biểu diễn – Giảm số chiều

  • Số chiều cao = Nhiều tính năng

Các tính năng trên mỗi tài liệu = hàng nghìn từ/unigram hàng triệu bigram, thông tin theo ngữ cảnh

HÌNH 22.1. Dữ liệu lớn & dữ liệu có chiều cao.

480189 người dùng x 17770 phim

HÌNH 22.1. Dữ liệu lớn & dữ liệu có chiều cao.

  • Dữ liệu có chiều cao = Nhiều tính năng

120 vị trí x 500 điểm thời gian x 20 đối tượng

HÌNH 22.2. Dữ liệu lớn và có chiều cao.

HÌNH 22.2. Dữ liệu lớn và có chiều cao.

PCA, Kernel PCA, ICA: Các kỹ thuật học tập không giám sát mạnh mẽ để trích xuất cấu trúc ẩn (có khả năng là chiều thấp hơn) từ bộ dữ liệu chiều cao.

Hữu ích cho:

  • Trực quan hóa
  • Sử dụng tài nguyên hiệu quả hơn (ví dụ: thời gian, bộ nhớ, giao tiếp)
  • Thống kê: ít thứ nguyên hơn → tổng quát hóa tốt hơn
  • Loại bỏ nhiễu (cải thiện chất lượng dữ liệu)
  • Xử lý thêm bằng thuật toán học máy

PCA là gì: Kỹ thuật giải nén không giám sát cấu trúc phương sai từ bộ dữ liệu chiều cao.

HÌNH 22.3. Phân tích thành phần chính (PCA).

  • PCA là một phép chiếu trực giao hoặc chuyển đổi dữ liệu thành một không gian con (có thể là chiều thấp hơn) sao cho phương sai của dữ liệu được chiếu là tối đa.

Về bản chất, chiều thấp hơn chiều của không gian xung quanh.

HÌNH 22.4. Phân tích thành phần chính (PCA).

Chỉ một tính năng có liên quan

Nếu chúng ta xoay dữ liệu, một lần nữa chỉ có một tọa độ là quan trọng hơn.

HÌNH 22.4. Phân tích thành phần chính (PCA).

Cả hai tính năng đều có liên quan

Câu hỏi: Chúng ta có thể chuyển đổi các tính năng để chỉ cần giữ lại một tính năng tiềm ẩn không?

HÌNH 22.5. Phân tích thành phần chính (PCA).

Trong trường hợp dữ liệu nằm trên hoặc gần tuyến tính d-chiều thấp không gian con, các trục của không gian con này là một biểu diễn hiệu quả của dữ liệu.

Việc xác định các trục được gọi là Phân tích thành phần chính và có thể thu được bằng cách sử dụng các công cụ tính toán ma trận cổ điển (Phân tích giá trị riêng hoặc số ít).

  • PC đầu tiên – hướng dữ liệu thay đổi nhiều nhất.
  • Phép chiếu các điểm dữ liệu dọc theo PC đầu tiên phân biệt dữ liệu nhiều nhất dọc theo bất kỳ hướng nào (điểm trải rộng nhất khi chúng ta chiếu dữ liệu theo hướng đó so với bất kỳ hướng nào khác).

HÌNH 22.6. Phân tích thành phần chính (PCA).

Nhắc nhanh:

||v||=1, Điểm xi (Vectơ chiều D)

Hình chiếu của xi lên vv ⋅ xi

HÌNH 22.6. Phân tích thành phần chính (PCA).

HÌNH 22.7. Phân tích thành phần chính (PCA).

HÌNH 22.7. Phân tích thành phần chính (PCA).

  • PC thứ nhất – hướng dữ liệu thay đổi nhiều nhất.
  • PC thứ 2 – Hướng trực giao tiếp theo (không tương quan) có độ biến thiên lớn nhất (loại bỏ tất cả độ biến thiên theo hướng đầu tiên, sau đó tìm hướng tiếp theo có độ biến thiên lớn nhất)
  • Và cứ tiếp tục như vậy …

Đặt v1, v2, …, vd biểu thị d thành phần chính.

vi ⋅ vj = 0, i ≠ j và vi ⋅ vi = 1, i = j

Giả sử dữ liệu được căn giữa (chúng ta đã trích xuất giá trị trung bình của mẫu).

HÌNH 22.8. Phân tích thành phần chính (PCA).

Đặt X = [x1, x2, … , xn] (các cột là các điểm dữ liệu)

Tìm vectơ tối đa hóa phương sai mẫu của dữ liệu dự kiến

HÌNH 22.8. Phân tích thành phần chính (PCA).

HÌNH 22.8. Phân tích thành phần chính (PCA).

HÌNH 22.8. Phân tích thành phần chính (PCA).

HÌNH 22.8. Phân tích thành phần chính (PCA).

HÌNH 22.8. Phân tích thành phần chính (PCA).

HÌNH 22.8. Phân tích thành phần chính (PCA).

(X XT) v = λv , vì vậy v (PC đầu tiên) là vectơ riêng của ma trận tương quan/hiệp phương sai mẫu 𝑋 𝑋𝑇

Phương sai mẫu của phép chiếu v𝑇𝑋 𝑋𝑇v = 𝜆v𝑇v = 𝜆

Do đó, giá trị riêng 𝜆 biểu thị lượng biến thiên bị bắt dọc theo chiều đó (còn gọi là lượng năng lượng dọc theo chiều đó).

HÌNH 22.9. Phân tích thành phần chính (PCA).

Giá trị riêng 𝜆1 ≥ 𝜆2 ≥ 𝜆3 ≥ ⋯

  • PC thứ nhất 𝑣1 là vector riêng của ma trận hiệp phương sai mẫu 𝑋 𝑋𝑇 liên kết với giá trị riêng lớn nhất
  • PC thứ 2 𝑣2 là vectơ riêng của ma trận hiệp phương sai mẫu 𝑋 𝑋𝑇 gắn với giá trị riêng lớn thứ hai
  • Và cứ thế …
  • Như vậy, các trục mới là vector riêng của ma trận tương quan mẫu 𝑋 𝑋𝑇 của dữ liệu.
  • Các đặc trưng được biến đổi không tương quan với nhau.

HÌNH 22.10. Phân tích thành phần chính (PCA).

  • Về mặt hình học: định tâm theo sau là xoay.

– Biến đổi tuyến tính

Tính toán chính: phân tích riêng của 𝑋𝑋𝑇 (liên quan chặt chẽ đến SVD của 𝑋).

Cho đến nay: Không gian con phương sai cực đại. PCA tìm các vectơ v sao cho các phép chiếu trên các vectơ thu được phương sai tối đa trong dữ liệu

HÌNH 22.11. Hai cách giải thích.

Quan điểm thay thế: Lỗi tái tạo tối thiểu. PCA tìm các vectơ v sao cho phép chiếu lên các vectơ mang lại khả năng tái tạo MSE tối thiểu

HÌNH 22.11. Hai cách giải thích.

HÌNH 22.11. Hai cách giải thích.

Ví dụ: đối với thành phần đầu tiên.

Hướng phương sai tối đa: PC thứ nhất một vectơ v sao cho phép chiếu lên vectơ này thu được phương sai tối đa trong dữ liệu (trong số tất cả các phép chiếu một chiều có thể có)

HÌNH 22.12. Hai cách diễn giải.

Lỗi tái tạo tối thiểu: PC thứ nhất một vectơ v sao cho phép chiếu lên vectơ này mang lại MSE tối thiểu xây dựng lại

HÌNH 22.12. Hai cách diễn giải.

HÌNH 22.12. Hai cách diễn giải.

Ví dụ: đối với thành phần đầu tiên.

Hướng phương sai tối đa: PC thứ nhất một vectơ v sao cho phép chiếu lên vectơ này thu được phương sai cực đại dữ liệu (trong số tất cả các phép chiếu một chiều có thể)

HÌNH 22.13. Tại sao? Định lý Pythagore.

HÌNH 22.13. Tại sao? Định lý Pythagore.

Lỗi tái tạo tối thiểu: PC thứ nhất một véc tơ v sao cho phép chiếu lên véc tơ này mang lại khả năng tái tạo MSE tối thiểu

HÌNH 22.13. Tại sao? Định lý Pythagore.

blue2 + green2 = black2

black2 là cố định (chỉ là dữ liệu)

Vì vậy, tối đa hóa blue2 tương đương với giảm thiểu green2

Giá trị riêng 𝜆 biểu thị lượng biến thiên thu được dọc theo kích thước đó (hay còn gọi là lượng năng lượng dọc theo kích thước đó).

Giá trị riêng bằng 0 cho thấy không có sự thay đổi dọc theo các hướng đó => dữ liệu nằm chính xác trên một không gian con tuyến tính

Chỉ giữ các phép chiếu dữ liệu lên các thành phần chính có giá trị riêng khác 0, chẳng hạn như v1, … , vk, trong đó k=rank(𝑋 𝑋𝑇)

HÌNH 22.14. Giảm số chiều bằng cách sử dụng PCA.

Điểm dữ liệu 𝑥𝑖 = (𝑥𝑖1, … , 𝑥𝑖𝐷)

Vectơ D chiều

phép chiếu (𝑣1 ⋅ 𝑥𝑖 , … , 𝑣𝑑 ⋅ 𝑥𝑖)

Vector d chiều

HÌNH 22.14. Giảm số chiều bằng cách sử dụng PCA.

Trong các bài toán nhiều chiều, dữ liệu đôi khi nằm gần một không gian con tuyến tính, vì nhiễu gây ra biến thiên nhỏ

Chỉ giữ phép chiếu dữ liệu lên các thành phần chính có giá trị riêng lớn

Có thể bỏ qua các thành phần có ý nghĩa nhỏ hơn.

HÌNH 22.15. Giảm số chiều bằng cách sử dụng PCA.

Có thể mất một số thông tin, nhưng nếu giá trị riêng nhỏ, đừng mất nhiều

HÌNH 22.16. Example: faces.

Có thể biểu diễn cho một hình ảnh khuôn mặt chỉ bằng 15 số!

  • PCA đã được chứng minh là hữu ích trước khi thực hiện phân cụm k-means và cũng hữu ích về mặt kinh nghiệm. Ví dụ,

HÌNH 22.17. Example: faces.

Điểm mạnh

Phương pháp vectơ riêng

Không điều chỉnh các tham số

Không tối ưu cục bộ

Điểm yếu

Giới hạn đối với thống kê bậc hai

Giới hạn đối với các phép chiếu tuyến tính

Hữu ích khi dữ liệu nằm trên hoặc gần một không gian con tuyến tính d- chiều thấp của không gian 𝜙 được liên kết với nhân

HÌNH 22.18. Tính chất của PCA.

  • Cho tập 𝑛 quan sát có tâm 𝑥𝑖 ∈ 𝑅𝐷, PC thứ nhất là hướng làm cực đại phương sai
  • Ma trận hiệp phương sai 𝐶 = 1𝑛 𝑋𝑋
  • 𝑣1 có thể được tìm thấy bằng cách giải bài toán giá trị riêng:

𝐶𝑣1 = 𝜆𝑣1(tối đa 𝜆)

HÌNH 22.19. Các tính chất của PCA.

  • Cho một tập 𝑛 quan sát có tâm 𝑥𝑖 ∈ 𝑅𝐷, PC thứ nhất là hướng mà tối đa hóa phương sai
  • Ma trận hiệp phương sai 𝐶 = 1𝑛 𝑋𝑋 là một ma trận DxD . Mục nhập (i,j) của 𝑋𝑋 là tương quan của tọa độ thứ i của các mẫu với tọa độ thứ j của các mẫu
  • Để sử dụng hàm nhân, cần sử dụng ma trận tích trong 𝑋𝑇𝑋.
  • Thành phần chính nằm trong dải dữ liệu

Tại sao? PC thứ nhất là hướng có phương sai lớn nhất và đối với bất kỳ hướng nào nằm ngoài khoảng dữ liệu, chỉ nhận được nhiều phương sai hơn nếu chúng ta chiếu hướng đó vào khoảng dữ liệu.

  • Thế lại ta có
  • Bây giờ, nhân trái LHS và RHS với 𝑋𝑇.

HÌNH 22.20. Biểu thức thay thế cho PCA.

  • Ý tưởng chính: Thay thế ma trận tích trong bằng ma trận nhân
    • PCA: 1𝑛 𝑋𝑋𝑋𝑋𝛼 = 𝜆𝑋𝑋𝛼
    • Đặt 𝐾 = [𝐾( 𝑥𝑖 , 𝑥𝑗 )]𝑖𝑗 là ma trận của tất cả các tích vô hướng trong không gian 𝜙
    • Hàm nhân PCA: thay thế “𝑋𝑇𝑋” bằng 𝐾.

1𝑛 𝐾𝐾𝛼 = 𝜆𝐾𝛼, hoặc tương đương, 1𝑛 𝐾𝛼 = 𝜆 𝛼

  • Tính toán then chốt: tạo ma trận nhân 𝑛 theo 𝑛 𝐾, sau đó thực hiện phân tách riêng trên 𝐾.
  • Gaussian RBF kernel exp( − ||𝑥−𝑥′|| 22𝜎2 ) trên không gian 2 chiều
  • Vectơ riêng được đánh giá tại một điểm kiểm tra 𝑥 là một hàm

𝑤𝜙(𝑥) = ∑𝑖 𝛼𝑖 < 𝜙(𝑥𝑖) , 𝜙(𝑥) > = ∑𝑖 𝛼𝑖𝑘(𝑥𝑖 , 𝑥)

HÌNH 22.21. Ví dụ Kernel PCA.

Những điều bạn nên biết

  • Phân tích thành phần chính (PCA)
    • PCA là gì, có ích gì.
    • Cả không gian con phương sai cực đại và quan điểm sai số tái tạo cực tiểu.
  • Kernel PCA

Tài liệu bổ sung về tính toán các thành phần chính và ICA

Cho ma trận 𝑋 ∈ 𝑅𝐷×𝑛, tính toán vectơ riêng trên cùng của 𝑋 𝑋𝑇

Khởi tạo với 𝑣^ ∈ 𝑅𝐷 ngẫu nhiên

Lặp lại

Yêu cầu

Với bất kỳ 𝜖 > 0, whp trên lựa chọn của vectơ ban đầu, sau 𝑂( 1𝜖 log 𝑑𝜖) lặp lại, ta có 𝑣^ 𝑇𝑋𝑋𝑇𝑣^ ≥ (1 − 𝜖) 𝜆1.

Sau đó có thể trừ đi thành phần 𝑣^ của mỗi mẫu và lặp lại để lấy phần tiếp theo.

Bất kỳ ma trận đối xứng nào 𝐴 = 𝑋𝑋𝑇 đều được đảm bảo có phân tích riêng với các giá trị riêng thực: 𝐴 = 𝑉 Λ 𝑉𝑇 .

HÌNH 22.22. Phân tích riêng.

Ma trận Λ chéo với các giá trị riêng 𝜆1 ≥ 𝜆2 ≥ ⋯ trên đường chéo. Ma trận V có các vectơ riêng là các cột.

Eigendecomp của 𝑋𝑋𝑇 có liên quan chặt chẽ với SVD của 𝑋.

Cho một ma trận 𝑋 ∈ 𝑅𝐷×𝑛, SVD là một phân tích: 𝑋𝑇 = 𝑈𝑆𝑉𝑇

HÌNH 22.23. Phân tích giá trị kỳ dị (SVD).

  • 𝑆 là ma trận đường chéo với các giá trị kỳ dị 𝜎1, … , 𝜎𝑑 của 𝑋.
  • Các cột của 𝑈, 𝑉 trực giao, đơn vị độ dài.
  • Vậy, 𝑋𝑋𝑇 = 𝑉𝑆𝑈𝑇𝑈𝑆𝑉𝑇 = 𝑉𝑆2𝑉𝑇 = phân tích riêng của 𝑋𝑋𝑇.

Vì vậy, 𝜆𝑖 = 𝜎𝑖 2 và có thể đọc đáp án từ SVD.

Eigendecomp của 𝑋𝑋𝑇 có liên quan chặt chẽ với SVD của 𝑋.

Cho một ma trận 𝑋 ∈ 𝑅𝐷×𝑛, SVD là một phân tích: 𝑋𝑇 = 𝑈𝑆𝑉𝑇

HÌNH 22.24. Phân tách giá trị số ít (SVD).

  • Thực tế, có thể xem các hàng của 𝑈𝑆 là tọa độ của từng mẫu dọc theo các trục được cho bởi 𝑑 vectơ riêng.

Vì vậy, 𝜆𝑖 = 𝜎𝑖 2 và có thể đọc được nghiệm từ SVD.

Tìm phép biến đổi tuyến tính

mà các hệ số 𝒔 = (𝑠1, 𝑠2, … , 𝑠𝐷) 𝑇độc lập thống kê

Về mặt thuật toán, chúng ta cần xác định ma trận V và các hệ số s, s.t. với điều kiện 𝒙 = 𝑉𝑇 ∙ 𝒔 thông tin lẫn nhau giữa 𝑠1, 𝑠2, … , 𝑠𝐷 là cực tiểu:

HÌNH 22.25. Phân tích thành phần độc lập (ICA).

PCA tìm hướng biến thiên lớn nhất,

ICA sẽ tìm hướng “phù hợp” nhất với dữ liệu.

Leave a Reply

Your email address will not be published. Required fields are marked *