ICA có yêu cầu chạy PCA trước không?


9

Tôi đã xem xét một bài báo dựa trên ứng dụng nói rằng áp dụng PCA trước khi áp dụng ICA (sử dụng gói fastICA). Câu hỏi của tôi là, ICA (fastICA) có yêu cầu PCA được chạy trước không?

Bài báo này đề cập rằng

... Người ta cũng lập luận rằng PCA áp dụng trước giúp tăng cường hiệu suất ICA bằng cách (1) loại bỏ các giá trị bản địa nhỏ trước khi làm trắng và (2) giảm độ phức tạp tính toán bằng cách giảm thiểu sự phụ thuộc theo cặp. PCA giải mã dữ liệu đầu vào; các phụ thuộc bậc cao còn lại được phân tách bằng ICA.

Ngoài ra các giấy tờ khác đang áp dụng PCA trước ICA, ví dụ, cái này .

Có bất kỳ ưu và nhược điểm nào khác để chạy PCA trước ICA không? Vui lòng cung cấp lý thuyết với tài liệu tham khảo.


Công trình được công bố này tìm thấy những tác động bất lợi của việc giảm kích thước dựa trên PCA đối với ICA.
bonobo

Câu trả lời:


9

Cách tiếp cận fastICA yêu cầu bước làm trắng trước: dữ liệu được chuyển đổi đầu tiên bằng PCA, dẫn đến ma trận hiệp phương sai đường chéo và sau đó mỗi chiều được chuẩn hóa sao cho ma trận hiệp phương sai bằng ma trận nhận dạng (làm trắng).

Có sự biến đổi vô hạn của dữ liệu dẫn đến ma trận hiệp phương sai danh tính và nếu các nguồn của bạn là Gaussian, bạn sẽ dừng ở đó (đối với các phân phối đa biến Gaussian, trung bình và hiệp phương sai là thống kê đầy đủ), với sự có mặt của các nguồn không phải Gaussian, bạn có thể giảm thiểu một số đo lường sự phụ thuộc vào dữ liệu được làm trắng, do đó bạn tìm kiếm một vòng quay của dữ liệu được làm trắng để tối đa hóa tính độc lập. FastICA đạt được điều này bằng cách sử dụng các biện pháp lý thuyết thông tin và sơ đồ lặp lại điểm cố định.

Tôi muốn giới thiệu công việc của Hyvärinen để hiểu sâu hơn về vấn đề:

  • A. Hyvärinen. Các thuật toán điểm cố định nhanh và mạnh mẽ để phân tích thành phần độc lập. Giao dịch của IEEE trên Mạng thần kinh 10 (3): 626-634, 1999.
  • A. Hyvärinen, J. Karhunen, E. Oja, Phân tích thành phần độc lập, Wiley & Sons. 2001

Xin lưu ý rằng thực hiện PCA và thực hiện giảm kích thước không hoàn toàn giống nhau: khi bạn có nhiều quan sát (trên tín hiệu) hơn tín hiệu, bạn có thể thực hiện PCA giữ lại 100% phương sai được giải thích, sau đó tiếp tục lặp lại làm trắng và lặp điểm cố định để có được một ước tính của các thành phần độc lập. Việc bạn có nên thực hiện giảm kích thước hay không phụ thuộc nhiều vào bối cảnh và nó dựa trên các giả định mô hình hóa và phân phối dữ liệu của bạn.


2
Đây là một câu trả lời tốt, nhưng theo tôi biết điểm cuối cùng của bạn có thể được thực hiện mạnh mẽ hơn nhiều: hầu như luôn luôn là một ý tưởng tốt để sử dụng bước PCA để giảm tính chiều (ngoài việc làm trắng dữ liệu). Trên thực tế, nếu kích thước quá cao, thì ICA có thể dễ dàng vượt quá và tạo ra các thành phần vô nghĩa. Tiền xử lý với PCA thường giải quyết vấn đề này (như được nêu trong trích dẫn trong OP).
amip

4

Áp dụng PCA vào dữ liệu của bạn chỉ có tác dụng xoay trục tọa độ ban đầu. Nó là một phép biến đổi tuyến tính, giống hệt như phép biến đổi Fourier. Do đó, nó thực sự không thể làm gì với dữ liệu của bạn.

Tuy nhiên, dữ liệu được thể hiện trong không gian PCA mới có một số thuộc tính thú vị. Sau khi xoay tọa độ với PCA, bạn có thể loại bỏ một số kích thước dựa trên các tiêu chí đã thiết lập, chẳng hạn như tỷ lệ phần trăm của tổng phương sai được giải thích bởi các trục mới. Tùy thuộc vào tín hiệu của bạn, bạn có thể đạt được mức giảm kích thước đáng kể bằng phương pháp này và điều này chắc chắn sẽ làm tăng hiệu suất của ICA sau. Thực hiện ICA mà không loại bỏ bất kỳ thành phần PCA nào sẽ không ảnh hưởng đến kết quả của ICA sau.

Hơn nữa, người ta cũng có thể dễ dàng làm trắng dữ liệu trong không gian PCA do tính trực giao của trục tọa độ. Làm trắng có tác dụng cân bằng phương sai trên tất cả các kích thước. Tôi cho rằng điều này là cần thiết để ICA hoạt động đúng. Mặt khác, chỉ có vài thành phần PCA có phương sai lớn nhất sẽ chi phối kết quả ICA.

Tôi thực sự không thấy bất kỳ nhược điểm nào đối với tiền xử lý dựa trên PCA trước ICA.

Giancarlo trích dẫn đã là tài liệu tham khảo tốt nhất cho ICA ...


Toàn bộ câu trả lời của bạn dựa trên tiền đề rằng việc áp dụng PCA chỉ đơn giản là xoay trục tọa độ, nhưng thực tế bằng cách "áp dụng PCA", mọi người thường có nghĩa là giảm kích thước (nghĩa là chỉ giữ một tập hợp con của PC và bỏ phần còn lại).
amip

PCA giúp bạn tìm ra kích thước nào cần loại bỏ, nếu bạn muốn. Tôi không thấy cách này điều chỉnh câu trả lời của tôi.
bonobo

Trong khi đó, công trình này đã được công bố, họ tuyên bố cho thấy những tác động bất lợi của việc giảm kích thước dựa trên PCA đối với chất lượng của ICA tiếp theo.
bonobo

Cảm ơn các liên kết. Tôi đọc bản tóm tắt và thành thật mà nói tôi hoài nghi. Nhưng tôi không phải là một chuyên gia về ICA và có lẽ tôi sẽ không nghiên cứu chi tiết bài viết này.
amip

2

Việc tạo ra thuật toán fastICA chỉ yêu cầu làm trắng trong một bước duy nhất. Đầu tiên, bạn chọn hướng của bước (như độ dốc giảm dần) và điều này không yêu cầu dữ liệu trắng. Sau đó, chúng ta phải chọn kích thước bước, phụ thuộc vào nghịch đảo của Hessian. Nếu dữ liệu được làm trắng thì Hessian này là đường chéo và không thể đảo ngược.

Vì vậy, nó là cần thiết? Nếu bạn chỉ cố định kích thước bước thành một hằng số (do đó không yêu cầu làm trắng), bạn sẽ có độ dốc gốc tiêu chuẩn. Gradient giảm dần với kích thước bước nhỏ cố định thường sẽ hội tụ, nhưng có thể chậm hơn nhiều so với phương thức ban đầu. Mặt khác, nếu bạn có một ma trận dữ liệu lớn thì việc làm trắng có thể khá tốn kém. Bạn có thể tốt hơn ngay cả với sự hội tụ chậm hơn mà bạn nhận được mà không cần làm trắng.

Tôi đã ngạc nhiên khi không thấy đề cập đến điều này trong bất kỳ tài liệu. Một bài viết thảo luận về vấn đề: Các thuật toán ICA nhanh mới để phân tách nguồn mù mà không cần biết trước bởi Jimin Ye và Ting Huang.

Họ đề nghị một lựa chọn rẻ hơn để làm trắng. Tôi ước họ đã bao gồm sự so sánh rõ ràng về việc chỉ chạy ICA mà không làm trắng làm cơ sở, nhưng họ đã không làm thế. Là một điểm dữ liệu nữa, tôi đã thử chạy fastICA mà không làm trắng các vấn đề về đồ chơi và nó hoạt động tốt.

Cập nhật: một tài liệu tham khảo tốt khác về làm trắng có ở đây: phân tích thành phần độc lập mạnh mẽ, Zaroso và Comon . Họ cung cấp các thuật toán không yêu cầu làm trắng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.