Giảm chiều dữ liệu với PCA và Autoencoder

Giảm chiều dữ liệu trong machine learning là quá trình giảm thiểu số lượng đặc trưng biểu diễn dữ liệu. Việc này có thể được thực hiện theo hướng lựa chọn các đặc trưng quan trọng hoặc trích xuất các đặc trưng mới từ các đặc trưng đã có. Giảm chiều dữ liệu hữu ích trong các trường hợp như trực quan hóa, lưu trữ và năng lực tính toán hạn chế. Trong bài này hãy cùng tìm hiểu hai phương pháp giảm chiều dữ liệu nổi tiếng là PCAAutoencoder.

Phân tích thành phần chính (PCA)

PCA là viết tắt của Principal Component Analysis, có nghĩa là phân tích thành phần chính. Ý tưởng của PCA là tạo ra các đặc trưng mới độc lập là kết hợp tuyến tính của các đặc trưng cũ. Các đặc trưng mới định nghĩa một hình chiếu của dữ liệu lên một không gian con sao cho khoảng cách giữa hình chiếu và dữ liệu gốc là nhỏ nhất. Nói một cách khác, PCA tìm kiếm một không gian tuyến tính tốt nhất để xấp xỉ dữ liệu thông qua hình chiếu của nó.

PCA tìm kiếm không gian tuyến tính tốt nhất để tạo hình chiếu của dữ liệu.

Autoencoder

Bộ tự mã hóa Autoencoder là cách chúng ta sử dụng mạng nơ ron để giảm chiều dữ liệu. Ý tưởng chung của mô hình này là sử dụng một bộ mã hóa (encoder) và bộ giải mã (decoder) để học ra cách biểu diễn dữ liệu tốt nhất. Điều đặc biệt trong kiến trúc của autoencoder là nó tạo ra một nút thắt cổ chai giữa encoderdecoder. Dữ liệu khi đi qua nút thắt cổ chai được mô hình cố gắng khôi phục lại giống với dữ liệu gốc, từ đó các thông tin tại nút thắt là những thông tin đặc trưng tốt nhất cho dữ liệu.

Kiến trúc của autoencoder và hàm loss của nó.

Mục tiêu của AutoencoderPCA đều là giảm chiều dữ liệu nhưng giữa hai phương pháp có những khác biệt nhất định:

  • PCA hoạt động tốt trên không gian tuyến tính còn Autoencoder có thể hoạt động trên các hàm phi tuyến phức tạp
  • PCA chỉ đơn thuần là việc lấy hình chiếu trực giao do đó các đặc trưng không có nhiều quan hệ. Autoencoder, mặt khác, có các thuộc tính quan hệ với nhau để khôi phục thông tin gốc.
  • Chi phí tính toán của PCA thấp hơn Autoencoder nhiều lần
  • Autoencoder với câu hình phức tạp có thể bị overfitting

Dưới đây là minh họa về PCAAutoencoder khi khôi phục một số hàm

Autoencoder hoạt động tốt với các hàm phức tạp

Hi vọng thông qua bài viết này, các bạn đã hiểu về hai phương pháp phổ biến trong giảm chiều dữ liêu là PCAAutoencoder. Nếu bạn thấy bài viết hữu ích, hãy chia sẻ với những người quan tâm. Hãy thường xuyên truy cập website và đăng ký (dưới chân trang) để nhận được những kiến thức cập nhật nhất về lĩnh vực.