Phân tích biệt thức tuyến tính (LDA) trong thực tế: Giảm chiều dữ liệu với bộ dữ liệu bất động sản
Phân tích biệt thức tuyến tính (LDA) là kỹ thuật học có giám sát quan trọng giúp giảm chiều dữ liệu và tăng cường khả năng phân tách giữa các lớp trong bài toán phân loại. Bài viết này giải thích chi tiết toán học nền tảng, các giả định cần thiết và ứng dụng thực tế của LDA trên bộ dữ liệu bất động sản, giúp người đọc hiểu rõ cách kỹ thuật này hoạt động và so sánh với PCA.

Phân tích biệt thức tuyến tính (LDA): Kỹ thuật giảm chiều dữ liệu hiệu quả trong bài toán phân loại
Phân tích biệt thức tuyến tính (Linear Discriminant Analysis - LDA) là một kỹ thuật thống kê có giám sát, thường được sử dụng trong giai đoạn tiền xử lý dữ liệu của các bài toán phân loại trong Machine Learning. Kỹ thuật này giúp giảm số chiều (dimension) của tập dữ liệu bằng cách tìm ra các thành phần — hay còn gọi là các "biệt thức tuyến tính" — mã hóa tốt nhất các đặc điểm phân biệt giữa các lớp khác nhau. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách LDA hoạt động thông qua một ví dụ thực tế với bộ dữ liệu bất động sản, từ đó thấy được sức mạnh của nó trong việc trực quan hóa và xác định ranh giới phân tách giữa các nhóm dữ liệu.
Minh họa phân tích LDA trên dữ liệu
LDA là gì?
Linear Discriminant Analysis là một kỹ thuật thống kê thường được áp dụng trong bước chuẩn bị dữ liệu của các bài toán phân loại trong Machine Learning. Kỹ thuật này được sử dụng để giảm số chiều (dimensionality reduction) của một tập dữ liệu, đồng thời làm nổi bật các đặc điểm giúp tách biệt rõ ràng nhất giữa các lớp dữ liệu khác nhau.
Một ứng dụng lớn của LDA, ví dụ như trong bài toán phân loại ảnh (image classification). Các tập dữ liệu ảnh thường có hàng nghìn đặc trưng (features) và LDA giúp giảm số lượng đặc trưng cần thiết để phân biệt giữa các lớp một cách chính xác, sau đó các thuật toán phân loại có thể chạy trên một không gian đặc trưng nhỏ hơn nhiều.
Ý tưởng và mục tiêu của LDA
Ý tưởng đằng sau LDA là lấy một tập dữ liệu có số chiều lớn (hàng trăm hoặc hàng nghìn đặc trưng) và biểu diễn tập dữ liệu đó với một số lượng đặc trưng nhỏ hơn, gọi là các biệt thức tuyến tính (linear discriminants). Các biệt thức này vẫn mã hóa các đặc điểm cốt lõi của dữ liệu gốc
Một điểm quan trọng đó là: sau khi áp dụng LDA, các đặc trưng gốc ban đầu được thay bằng các biệt thức tuyến tính — vẫn lưu giữ các đặc trưng cơ bản của dữ liệu, nhưng nó được mã hóa trong một không gian có số chiều nhỏ hơn nhiều.
Mục tiêu thứ hai của LDA là tối đa hóa khả năng phân tách giữa các lớp, đảm bảo các điểm dữ liệu trong từng lớp có thể được tách biệt nhất có thể.
Các giả định quan trọng của LDA
Trước khi tìm hiểu công thức toán học, cần nắm rõ các giả định chính mà LDA dựa vào:
- Dữ liệu có thể phân tách tuyến tính (linearly separable): Đây là giả định mạnh. Nếu áp dụng LDA vào dữ liệu không thể phân tách tuyến tính (ranh giới là đường cong), kết quả có thể không phải là cách mã hóa tốt nhất đặc trưng dữ liệu.
- Dữ liệu tuân theo phân phối Gaussian (phân phối chuẩn): Giả định dữ liệu của mỗi lớp được rút ra từ phân phối chuẩn
- Ma trận hiệp phương sai (Covariance matrix) dùng chung cho tất cả các lớp: LDA cần kiểm tra phương sai trong dữ liệu. Tuy nhiên, vì làm việc với dữ liệu nhiều chiều (ma trận), biến thể sử dụng là ma trận hiệp phương sai. Giả định là có một ma trận hiệp phương sai dùng chung (pooled) cho tất cả các lớp.
Công thức Bayes và phân phối Gaussian
Cơ sở toán học của LDA
Về mặt toán học, LDA xác định tổ hợp tuyến tính của các đặc trưng giúp phân biệt giữa các lớp tốt nhất. Phương pháp này xấp xỉ với Bộ phân loại Bayes (Bayes Classifier), vốn gán một quan sát cho lớp có xác suất hậu nghiệm (posterior probability) lớn nhất.
LDA sử dụng các ước lượng cho:
- Xác suất tiên nghiệm (Prior probability)
- Giá trị trung bình của từng lớp
- Ma trận hiệp phương sai dùng chung
Sau khi đơn giản hóa và sử dụng phân phối chuẩn đa biến (Multivariate Gaussian Distribution), hàm biệt thức tuyến tính cho mỗi điểm dữ liệu và mỗi lớp được hình thành. Thuật toán chỉ gán một điểm dữ liệu vào lớp có giá trị hàm biệt thức là lớn nhất.
Lưu ý rằng số biệt thức tuyến tính tối đa có thể tính được là K-1, với K là số lớp. Điều này khác biệt với PCA khi PCA có thể tạo ra nhiều thành phần hơn.
Lý do nên sử dụng LDA trong thực tế
Mặc dù được phát triển từ những năm 1930, LDA vẫn có nhiều ứng dụng quan trọng hiện nay:
Giảm độ phức tạp tính toán
Việc chạy các thuật toán Machine Learning trên dữ liệu hàng nghìn đặc trưng có thể tốn kém, đòi hỏi phần cứng như GPU hoặc TPU. Giảm kích thước ma trận tính toán giúp giảm chi phí và thời gian xử lý trong khi vẫn bảo toàn các đặc trưng dữ liệu.
So sánh PCA và LDA
Loại bỏ đặc trưng dư thừa
Vì mục tiêu tối thiểu hóa phương sai trong lớp và tối đa hóa phương sai giữa các lớp, LDA sẽ tự động giảm trọng số cho các đặc trưng không giúp ích cho việc phân tách và loại bỏ các đặc trưng trùng lặp thông tin.
Giảm overfitting (hiện tượng quá khớp)
Khi số đặc trưng quá lớn, bộ phân loại có thể bắt nhầm tín hiệu nhiễu (noise). LDA giữ lại các thành phần mã hóa tốt nhất và loại bỏ đặc trưng dư thừa, từ đó giúp giảm overfitting.
Hỗ trợ trực quan hóa và giải thích
Các kỹ thuật tuyến tính như LDA có xu hướng bảo toàn khả năng diễn giải dữ liệu vì chúng chiếu dữ liệu lên các biệt thức tuyến tính là tổ hợp tuyến tính của các đặc trưng gốc. Nhờ giảm xuống còn 2 hoặc 3 chiều, việc vẽ biểu đồ phân tách giữa các lớp trở nên dễ dàng.
Những hạn chế cần biết
Giống như mọi kỹ thuật khác, LDA cũng có những hạn chế xuất phát từ các giả định của nó:
- Giả định tuyến tính mạnh: Không phù hợp cho dữ liệu nhiễu, thưa thớt hoặc có ranh giới quyết định phi tuyến, phân phối không phải Gaussian.
- Ước lượng ma trận hiệp phương sai: Khi số đặc trưng quá lớn so với số quan sát, ma trận hiệp phương sai có thể có phương sai ước lượng cao và gây ra vấn đề về hiệu suất.
LDA so với PCA
Một kỹ thuật giảm chiều phổ biến khác là Principal Component Analysis (PCA), nhưng có sự khác biệt cốt lõi:
| Tiêu chí | LDA | PCA |
|---|---|---|
| Phương pháp | Có giám sát (dùng nhãn lớp) | Không giám sát |
| Mục tiêu | Tối đa phân tách giữa các lớp | Tối đa phương sai dữ liệu |
| Số thành phần tối đa | K-1 (với K là số lớp) | Không giới hạn |
Ví dụ thực tế: Phân tích dữ liệu bất động sản
Giả sử người bạn Maggie là một nhà môi giới bất động sản và muốn phân tích điều gì thực sự phân biệt các loại bất động sản mà cô đã bán (chung cư cao cấp - condo, căn hộ - apartment, và nhà riêng - single_family_house).
Biểu đồ phân tách các lớp bất động sản bằng LDA
Trực quan hóa với LDA
Bộ dữ liệu ban đầu có tới 17 đặc trưng như diện tích, số phòng ngủ, số phòng tắm, khoảng cách đến trường học... rất khó để hình dung sự phân bố. Bằng cách sử dụng thư viện Scikit-learn với tham số n_components=2, các điểm dữ liệu được chiếu xuống 2 biệt thức tuyến tính:
clf = LinearDiscriminantAnalysis(solver='eigen', n_components=2)
X_lda = clf.fit(X, y).transform(X)
Kết quả hiển thị độ chính xác (accuracy) trên tập huấn luyện đạt khoảng 98%.
Đường ranh giới quyết định gần đúng
Sau khi chiếu xuống 2 chiều, ta vẽ thêm các đường ranh giới quyết định gần đúng. Các đường này được vẽ dựa trên dữ liệu trong không gian LDA thay vì không gian gốc, do đó chúng là "gần đúng" nhưng vẫn rất hữu ích để trực quan hóa sự phân tách giữa các lớp.
Đặc trưng đóng góp vào biệt thức
Đặc trưng nào phân biệt các loại bất động sản?
Thông qua thuộc tính scalings_ của mô hình LDA, ta có thể xác định đặc trưng nào đóng góp lớn nhất vào từng biệt thức tuyến tính. Sau khi chuẩn hóa, các đặc trưng như bedrooms, garage, laundry_hookups nổi lên là yếu tố quan trọng nhất.
Ngoài ra, thuộc tính explained_variance_ratio_ cho biết biệt thức thứ nhất giải thích khoảng 90% phương sai phân tách giữa các lớp. Kết hợp với các biểu đồ phân bố, ta có thể kết luận các loại bất động sản khác nhau chủ yếu khác nhau ở các đặc trưng như số phòng ngủ, gara và tiện nghi giặt giũ.
Kết luận
LDA là một kỹ thuật thống kê mạnh mẽ và vẫn rất hữu dụng trong thời đại dữ liệu lớn, đặc biệt cho các bài toán phân loại. Việc giảm chiều không chỉ giúp tiết kiệm tài nguyên tính toán và giảm overfitting mà còn mang lại khả năng trực quan hóa và diễn giải dữ liệu tốt hơn — điều vô cùng quý giá khi cần trình bày thông tin cho những người không chuyên như nhà môi giới Maggie. Hy vọng qua ví dụ thực tế trên, bạn đã hiểu thêm về sức mạnh và cách ứng dụng của LDA trong công việc của một nhà khoa học dữ liệu.
"LDA cho phép chúng ta 'nhìn thấy' cách các lớp dữ liệu tách biệt — một bước quan trọng trước khi xây dựng bất kỳ mô hình phân loại nào."


