PCA có được coi là thuật toán học máy không


10

Tôi đã hiểu rằng phân tích thành phần chính là một kỹ thuật giảm kích thước, tức là có 10 tính năng đầu vào, nó sẽ tạo ra một số lượng nhỏ hơn các tính năng độc lập là chuyển đổi trực giao và tuyến tính của các tính năng gốc.

Được PCAcoi là một thuật toán học tập hay nó là một bước xử lý trước dữ liệu.

Câu trả lời:


9

Không có gì lạ khi ai đó gắn nhãn nó là một kỹ thuật không được giám sát. Bạn có thể thực hiện một số phân tích trên các hàm riêng và điều đó giúp giải thích hành vi của dữ liệu. Đương nhiên nếu chuyển đổi của bạn vẫn có nhiều tính năng, thì quá trình này có thể khá khó khăn. Tuy nhiên, nó có thể do đó tôi coi nó là máy học.

Biên tập:

Vì câu trả lời của tôi đã được chọn (không biết tại sao), tôi đoán rằng tôi sẽ thêm nhiều câu trả lời.

PCA thực hiện hai điều tương đương. Đầu tiên, và những gì thường được đề cập, nó tối đa hóa các phương sai. Thứ hai, nó giảm thiểu lỗi tái cấu trúc bằng cách nhìn vào khoảng cách cặp đôi.

Bằng cách xem xét các hàm riêng và giá trị riêng, việc suy ra các biến và tính năng nào đóng góp vào phương sai cũng như cách các biến khác nhau kết hợp với các biến khác trở nên khá đơn giản.

Cuối cùng, nó thực sự phụ thuộc vào cách bạn định nghĩa "học tập". PCA học một không gian tính năng mới nắm bắt các đặc điểm của không gian ban đầu. Tôi có xu hướng nghĩ rằng có thể có ý nghĩa.

Nó có phức tạp không? Không, không thực sự, nhưng điều đó làm giảm nó như một thuật toán? Không, tôi không nghĩ vậy.


3
Tôi cảm thấy câu trả lời này hoàn toàn là ý kiến ​​và không đưa ra một lập luận. Có thể xây dựng, bao gồm và thừa nhận điểm được thực hiện bởi những người khác.
Hobbes

15

PCA thực sự chỉ là một vòng quay. Nghiêm túc mà nói, đó là tất cả: đó là một cách thông minh để xoay dữ liệu xung quanh lên một cơ sở mới. Cơ sở này có các thuộc tính làm cho nó hữu ích như một bước tiền xử lý cho một số thủ tục.

  1. Cơ sở là trực giao . Điều này cực kỳ hữu ích nếu các tính năng của bạn thể hiện tính đa tuyến (hai hoặc nhiều tính năng phụ thuộc tuyến tính): áp dụng PCA được đảm bảo để cung cấp cho bạn một cơ sở khi điều này không còn là vấn đề nữa. Thủ tục này được gọi là hồi quy thành phần chính

  2. Các vectơ cơ sở có ý nghĩa đối với sự lan truyền của dữ liệu: chúng là các hàm riêng của ma trận hiệp phương sai . Thuộc tính thứ hai này làm phát sinh tiện ích nổi tiếng của PCA như là một kỹ thuật giảm kích thước: sau khi xoay dữ liệu, chiếu dữ liệu lên một tập hợp con của các vectơ cơ sở được liên kết với một phần đáng kể của tổng phương sai mang lại biểu diễn chiều thấp hơn (thường) giữ lại (thường) ( hầu hết) các thuộc tính cấu trúc (thú vị) của dữ liệu.


Vì vậy: nó là một thuật toán học tập? Đây là một loại câu hỏi triết học. Điều gì làm cho một cái gì đó một thuật toán học tập? Chắc chắn PCA không phải là thuật toán học "có giám sát" vì chúng ta có thể thực hiện nó có hoặc không có biến mục tiêu và chúng ta thường liên kết các kỹ thuật "không giám sát" với phân cụm.

Có, PCA là một thủ tục tiền xử lý. Nhưng trước khi bạn viết nó hoàn toàn không phải là "học" một cái gì đó, tôi muốn bạn xem xét những điều sau: PCA có thể được tính bằng cách lấy các hàm riêng của ma trận hiệp phương sai, nhưng đây không phải là cách nó thường được thực hiện trong thực tế. Một thủ tục tương đương về số và hiệu quả hơn về mặt tính toán là chỉ cần lấy SVD của dữ liệu. Do đó, PCA chỉ là một ứng dụng cụ thể của SVD, vì vậy, hỏi PCA có phải là thuật toán học hay không thực sự là hỏi liệu SVD có phải là thuật toán học không.

Bây giờ, mặc dù bạn có thể cảm thấy thoải mái khi viết PCA không phải là một thuật toán học tập, đây là lý do tại sao bạn nên bớt thoải mái khi làm điều tương tự với SVD: đó là một phương pháp mạnh mẽ đáng ngạc nhiên để mô hình hóa chủ đềlọc cộng tác . Các thuộc tính của SVD làm cho nó hữu ích cho các ứng dụng này là chính xác các thuộc tính tương tự làm cho nó hữu ích cho việc giảm kích thước (ví dụ PCA).

SVD là một khái quát của quá trình eigendecro, và điều đó cũng cực kỳ mạnh mẽ ngay cả khi là một phiên bản bị hạn chế của SVD. Bạn có thể thực hiện phát hiện cộng đồng trên biểu đồ bằng cách xem xét các hàm riêng của ma trận kề, hoặc xác định xác suất trạng thái ổn định của mô hình markov bằng cách xem xét các hàm riêng của ma trận chuyển tiếp, về cơ bản cũng là cách tính toán của PageRank .

Dưới mui xe, PCA đang thực hiện một hoạt động đại số tuyến tính đơn giản. Nhưng, đây chính xác là hoạt động tương tự làm nền tảng cho rất nhiều ứng dụng mà hầu hết mọi người sẽ không đặt câu hỏi khi áp dụng nhãn "machine learning". Lớp thuật toán này được gọi là Matrix Factorization , và thậm chí mở rộng sang các kỹ thuật phức tạp như word2vec : thực sự, bạn thực sự có thể nhận được kết quả giống như word2vec bằng cách chỉ cần áp dụng PCA vào ma trận đồng phát từ . Tổng quát hóa một lần nữa, một từ khác cho kết quả của PCA là nhúng . Word2vec có lẽ là ví dụ nổi tiếng nhất về nhúng, nhưng xây dựng các nhúng (như các trung gian) cũng là một thành phần quan trọng của kiến ​​trúc bộ giải mã-mã hóa được sử dụng trong RNNsGAN , vốn là điểm mấu chốt của nghiên cứu ML ngay bây giờ.


Vì vậy, trở lại câu hỏi của bạn: PCA có phải là "thuật toán học máy không?" Chà, nếu không, bạn cũng nên chuẩn bị để nói như vậy về lọc cộng tác, mô hình chủ đề, phát hiện cộng đồng, trung tâm mạng và mô hình nhúng.

Chỉ vì nó là đại số tuyến tính đơn giản không có nghĩa là nó cũng không phải là phép thuật.


6

Tuyệt đối, nó không phải là một thuật toán học tập, vì bạn không học được gì trong PCA. Tuy nhiên, nó có thể được sử dụng trong các thuật toán học tập khác nhau để đạt được hiệu suất tốt hơn trong thực tế, thích hầu hết các phương pháp giảm kích thước khác.


4

PCA được sử dụng để loại bỏ các tính năng dư thừa. Nó tìm thấy hướng mà dữ liệu được phân phối cao. Nó không quan tâm đến nhãn của dữ liệu, bởi vì đó là một phép chiếu đại diện cho dữ liệu theo nghĩa bình phương nhỏ nhất. Phân tích nhiều phân biệt đối xử, MDAcố gắng tìm các phép chiếu phân tách dữ liệu tốt nhất . Cái sau xem xét nhãn và tìm hướng rằng dữ liệu có thể được phân tách tốt nhất, mặc dù nó có một số chi tiết về loại quyết định tìm thấy. Để kết thúc, PCAkhông phải là một thuật toán học tập. Nó chỉ cố gắng tìm hướng mà dữ liệu được phân phối cao để loại bỏ các tính năng tương quan. Các cách tiếp cận tương tự như MDAcố gắng tìm hướng để phân loại dữ liệu. Mặc dù MDArất giốngPCA, nhưng cái trước được sử dụng để phân loại, nó xem xét các nhãn, nhưng cái sau không được sử dụng trực tiếp để phân loại.

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.