0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Thực hiện Phân tích Thành phần Chính (PCA) trong R

Đăng vào 4 giờ trước

• 8 phút đọc

Thực hiện Phân tích Thành phần Chính (PCA) trong R

“Cho tôi sáu giờ để chặt một cái cây và tôi sẽ dành bốn giờ đầu tiên để mài rìu.” – Abraham Lincoln

Câu nói bất hủ này áp dụng rất tốt cho học máy và khoa học dữ liệu. Sự thành công của bất kỳ mô hình dự đoán nào thường phụ thuộc ít hơn vào sự lựa chọn thuật toán và nhiều hơn vào công sức bỏ ra để tiền xử lý dữ liệu, làm sạch và kỹ thuật đặc trưng. Một phần quan trọng trong việc kỹ thuật đặc trưng là quyết định những đặc trưng nào thực sự mang lại giá trị. Đây là lúc việc giảm chiều dữ liệu trở nên cần thiết, và trong số các kỹ thuật có sẵn, Phân tích Thành phần Chính (PCA) nổi bật như một trong những phương pháp được sử dụng nhiều nhất.

Trong bài viết này, chúng ta sẽ khám phá PCA từng bước - bắt đầu từ lời nguyền của chiều dữ liệu đến các nền tảng lý thuyết, và cuối cùng là ứng dụng của nó trong R bằng cách sử dụng tập dữ liệu nổi tiếng Iris.

Mục lục

  1. Giải quyết Lời nguyền với PCA
  2. Lời nguyền của Chiều dữ liệu
  3. Những hiểu biết từ bài báo PCA của Shlens
  4. Nền tảng lý thuyết của PCA
  5. Thực hiện Bước từng bước trong R
  6. Giải thích Kết quả PCA
  7. Lợi ích và Hạn chế của PCA
  8. Tóm tắt

1. Giải quyết Lời nguyền với PCA

Một huyền thoại phổ biến trong phân tích là nhiều đặc trưng luôn dẫn đến những mô hình tốt hơn. Bề ngoài, điều này có vẻ hợp lý: nhiều thông tin nên cải thiện độ chính xác. Nhưng trong thực tế, nhiều đặc trưng đôi khi có thể gây hại hơn là giúp đỡ. Khi chúng ta có quá nhiều đặc trưng nhưng lại có tương đối ít điểm dữ liệu, các mô hình trở nên quá phức tạp và gặp khó khăn trong việc tổng quát. Nghịch lý này thường được gọi là lời nguyền của chiều dữ liệu. PCA giúp chúng ta vượt qua lời nguyền này bằng cách giảm số lượng đặc trưng trong khi vẫn giữ lại hầu hết thông tin quan trọng.

2. Lời nguyền của Chiều dữ liệu

Nói một cách đơn giản, lời nguyền của chiều dữ liệu xảy ra khi việc thêm nhiều đặc trưng (chiều) vào tập dữ liệu khiến mô hình kém chính xác hơn. Tại sao điều này lại xảy ra? Mỗi đặc trưng bổ sung làm tăng độ phức tạp của mô hình. Số lượng các kết hợp khả thi tăng theo cấp số nhân, yêu cầu nhiều dữ liệu hơn để duy trì độ chính xác. Trong hầu hết các trường hợp thực tế, việc thu thập thêm dữ liệu là không khả thi. Điều này để lại cho chúng ta tùy chọn thực tiễn hơn: giảm số lượng đặc trưng. Việc giảm này không phải ngẫu nhiên; mà thay vào đó, nó là có hệ thống. PCA là một trong những phương pháp có hệ thống như vậy.

3. Những hiểu biết từ bài báo PCA của Shlens

Một giải thích được trích dẫn rộng rãi về PCA đến từ bài báo của Jonathon Shlens. Ông sử dụng ví dụ về việc ghi lại chuyển động của một con lắc. Một con lắc dao động qua lại theo một hướng duy nhất, nhưng nếu bạn không biết chính xác quỹ đạo của nó, bạn có thể thiết lập ba camera được đặt vuông góc với nhau. Nếu bạn đặt các camera một cách khôn ngoan, ba cái là đủ để ghi lại chuyển động của con lắc. Nếu không, bạn có thể cần nhiều camera hơn và hơn nữa, dẫn đến dữ liệu dư thừa. PCA giải quyết điều này bằng cách biến đổi các quan sát ban đầu (các đặc trưng hoặc “camera”) thành một tập hợp mới các đặc trưng độc lập gọi là các thành phần chính. Những thành phần này nắm bắt biến thiên tối đa trong dữ liệu với số chiều tối thiểu.

4. Nền tảng lý thuyết của PCA

Hãy cùng phân tích PCA một cách lý thuyết:

  • Giả sử một tập dữ liệu có m điểm dữ liệu và n đặc trưng. Điều này có thể được biểu diễn dưới dạng một ma trận.
  • PCA biến đổi tập dữ liệu này thành một ma trận mới với ít đặc trưng hơn (k đặc trưng, nơi k < n).
  • Các đặc trưng mới, được gọi là các thành phần chính, là độc lập và được xếp hạng theo thứ tự quan trọng.
  • Toán học đứng sau sự chuyển đổi này dựa vào:
    • Chuẩn hóa – Đảm bảo các đặc trưng ở cùng một tỷ lệ để không cái nào chiếm ưu thế.
    • Ma trận hiệp phương sai – Nắm bắt mối quan hệ giữa các biến.
    • Giá trị riêng và vector riêng – Xác định các hướng (vector) nơi biến thiên được tối đa hóa.
  • Các vector riêng xác định hướng của các đặc trưng mới.
  • Các giá trị riêng cho biết tầm quan trọng của chúng (biến thiên được giải thích).
    Trong thực tế, thành phần chính đầu tiên thường giải thích phần lớn biến thiên, trong khi các thành phần tiếp theo giải thích ít hơn dần dần.

5. Thực hiện Bước từng bước trong R

Bây giờ mà chúng ta đã đề cập đến khái niệm, hãy xem PCA hoạt động trong thực tế với R. Tập dữ liệu Iris, với 150 hàng và 4 đặc trưng, thường được sử dụng cho các trình diễn PCA. Dưới đây là quy trình làm việc tổng quát (không đi sâu vào mã nguồn):

  1. Tải tập dữ liệu – Chọn chỉ các đặc trưng số.
  2. Tính ma trận hiệp phương sai – Điều này cho thấy cách các biến thay đổi cùng nhau.
  3. Tính toán giá trị riêng và vector riêng – Giá trị riêng đo lường biến thiên; vector riêng cung cấp các hướng.
  4. Chạy PCA bằng các hàm tích hợp sẵn của R – Các hàm như princomp() đơn giản hóa quy trình.
  5. So sánh biến thiên được giải thích – Tỷ lệ biến thiên được giải thích bởi mỗi thành phần chính cho chúng ta biết mức độ thông tin được giữ lại.
    Đối với tập dữ liệu Iris, thành phần chính đầu tiên giải thích hơn 92% biến thiên, trong khi thành phần thứ hai giải thích khoảng 5%. Cùng nhau, hai thành phần đầu tiên giải thích gần 98% - đủ để đại diện cho tập dữ liệu với tổn thất tối thiểu.

6. Giải thích Kết quả PCA

Đầu ra của PCA trong R thường bao gồm:

  • Độ lệch chuẩn của các thành phần – Chỉ ra sự phân tán.
  • Tỷ lệ biến thiên – Cho biết mức độ thông tin mà mỗi thành phần giải thích.
  • Tỷ lệ tích lũy – Hiển thị mức độ biến thiên được giải thích khi kết hợp các thành phần.
    Hình ảnh hóa giúp ở đây:
  • Biplot – Hiển thị các đặc trưng đã biến đổi dọc theo các thành phần chính.
  • Scree plot – Hiện ra “điểm khuỷu” nơi việc thêm nhiều thành phần không làm tăng đáng kể biến thiên được giải thích.
    Đối với dữ liệu Iris, scree plot rõ ràng cho thấy một độ cong sau thành phần thứ hai, xác nhận rằng hai thành phần đầu tiên là đủ.

7. Lợi ích và Hạn chế của PCA

Giống như bất kỳ kỹ thuật nào, PCA đi kèm với những lợi thế và hạn chế.

Lợi ích:

  • Giảm chiều dữ liệu trong khi vẫn duy trì thông tin.
  • Loại bỏ sự dư thừa bằng cách tạo ra các thành phần không tương quan.
  • Cải thiện hiệu quả tính toán.
  • Hữu ích trong các lĩnh vực như nén hình ảnh, nhận dạng giọng nói và gen.

Hạn chế:

  • Khả năng giải thích: Các thành phần chính là sự kết hợp của các đặc trưng gốc, khiến chúng khó giải thích trong các bối cảnh kinh doanh.
  • Nhạy cảm với quy mô: PCA cho các đặc trưng có biến thiên lớn hơn nhiều trọng số hơn trừ khi dữ liệu được chuẩn hóa.
  • Giả định tính tuyến tính: PCA hoạt động tốt nhất với các mối quan hệ tuyến tính; nó có thể không nắm bắt được các cấu trúc phi tuyến.
  • Không luôn có ý nghĩa: Nếu các đặc trưng đã không tương quan, PCA có thể không mang lại giá trị lớn.

8. Tóm tắt

Phân tích Thành phần Chính (PCA) là một kỹ thuật nền tảng trong khoa học dữ liệu để giảm chiều dữ liệu. Nó giúp vượt qua lời nguyền của chiều dữ liệu bằng cách biến đổi các đặc trưng tương quan thành một tập hợp nhỏ hơn các thành phần độc lập, không tương quan.
Trong R, việc thực hiện PCA rất đơn giản thông qua các hàm tích hợp sẵn, nhưng giá trị thực nằm ở việc giải thích. Bằng cách tập trung vào các thành phần giải thích phần lớn biến thiên, các nhà phân tích có thể đơn giản hóa tập dữ liệu của họ mà không mất mát thông tin đáng kể. Trong khi PCA mang lại nhiều lợi thế, điều quan trọng là phải nhớ đến những hạn chế của nó. Nó nên được sử dụng một cách có cân nhắc, đặc biệt là khi khả năng giải thích quan trọng trong một bối cảnh kinh doanh. Tuy nhiên, PCA vẫn là một công cụ thiết yếu trong bộ công cụ của nhà khoa học dữ liệu - cho dù là để tiền xử lý, hình ảnh hóa hay nén các tập dữ liệu lớn.

Biến các thí nghiệm thành kết quả có thể đo lường cần một cách thực hiện có cấu trúc. Đó là nơi tư vấn AI đảm bảo rằng các khoản đầu tư của bạn phát triển với tác động.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào