Dimensionality Reduction
Giảm chiều ánh xạ dữ liệu có nhiều đặc trưng sang không gian có ít chiều hơn đáng kể trong khi vẫn giữ cấu trúc, bằng các phương pháp như PCA, t-SNE, UMAP và autoencoder.
Giảm chiều chuyển đổi dữ liệu được mô tả bằng nhiều feature thành biểu diễn có ít feature hơn đáng kể nhưng vẫn giữ lại thông tin quan trọng, chẳng hạn phương sai của dữ liệu, khoảng cách giữa các điểm hoặc điểm nào là láng giềng của nhau. Ảnh màu 640x640 có hơn 1.2 triệu giá trị pixel, hồ sơ biểu hiện gene có thể có 20.000 phép đo, còn embedding hình ảnh thường có hàng trăm chiều. Giảm số chiều giúp tăng tốc các model machine learning, giảm nguy cơ overfitting, tiết kiệm dung lượng lưu trữ và cho phép biểu diễn dữ liệu trên biểu đồ hai hoặc ba chiều để trực quan hóa dữ liệu.
Vì sao giảm số chiều có ích#
Richard Bellman đặt ra cụm từ “lời nguyền số chiều” trong nghiên cứu về quy hoạch động để mô tả mức độ khó tăng lên của các bài toán khi bổ sung chiều. Không gian tăng theo hàm mũ với mỗi feature mới, khiến một lượng dữ liệu huấn luyện cố định ngày càng thưa thớt; ở không gian có số chiều rất cao, khoảng cách giữa các điểm ngẫu nhiên gần như bằng nhau, làm suy yếu các phương pháp dựa trên khoảng cách như k láng giềng gần nhất và phân cụm k-means.
Dữ liệu thực tế hiếm khi lấp đầy toàn bộ không gian. Hình ảnh chữ số viết tay chủ yếu khác nhau về độ dày nét, độ nghiêng và một vài yếu tố khác, nên chúng nằm gần một bề mặt có số chiều thấp hơn nhiều, hay manifold, bên trong không gian pixel. Giảm chiều tìm ra tọa độ trên bề mặt đó; vì không cần nhãn, phần lớn phương pháp thuộc dạng học không giám sát.
Phương pháp tuyến tính và phi tuyến#
Phân tích thành phần chính (PCA), do Karl Pearson giới thiệu năm 1901, xoay dữ liệu theo các hướng trực giao được sắp xếp theo lượng phương sai mà chúng giải thích, rồi giữ lại một số hướng đầu tiên. Tỷ lệ phương sai giải thích cho biết tập dữ liệu cần bao nhiêu thành phần. Phân tích phân biệt tuyến tính, do Ronald Fisher đề xuất năm 1936, sử dụng nhãn class để tìm các hướng phân tách class tốt nhất. Chiếu ngẫu nhiên nhân dữ liệu với một ma trận ngẫu nhiên; bổ đề Johnson-Lindenstrauss bảo đảm khoảng cách giữa n điểm được duy trì trong phạm vi sai số đã chọn với số chiều chỉ tăng theo logarit của n.
Các phương pháp phi tuyến đi theo manifold cong. Isomap và embedding tuyến tính cục bộ, cả hai đều được công bố trên Science năm 2000, duy trì khoảng cách dọc theo manifold và các lân cận tuyến tính cục bộ. t-SNE và UMAP đặt các điểm tương tự gần nhau trên bản đồ 2D, khiến chúng trở thành công cụ tiêu chuẩn để quan sát các cụm embedding, dù khoảng cách giữa các cụm xa nhau trên bản đồ ít có ý nghĩa. Autoencoder học một encoder ánh xạ mỗi đầu vào thành mã trong không gian tiềm ẩn có kích thước nhỏ và một decoder tái tạo đầu vào; năm 2006, Geoffrey Hinton và Ruslan Salakhutdinov cho thấy autoencoder sâu tạo ra mã tốt hơn PCA cho hình ảnh và tài liệu.
Ví dụ này nén ảnh chữ số 8x8 từ 64 đặc trưng pixel xuống số thành phần chính ít nhất vẫn giữ được 90% phương sai, sau đó phân loại chữ số bằng k-nearest neighbors trước và sau khi nén:
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
X, y = load_digits(return_X_y=True) # 1,797 images of 8x8 pixels = 64 features
# Keep the fewest principal components that explain 90% of the variance
pca = PCA(n_components=0.90).fit(X)
print(f"Features: {X.shape[1]} -> {pca.n_components_}")
# Classify with k-nearest neighbors on the raw pixels and on the reduced features
raw = cross_val_score(KNeighborsClassifier(), X, y).mean()
reduced = cross_val_score(make_pipeline(PCA(n_components=0.90), KNeighborsClassifier()), X, y).mean()
print(f"Accuracy: {raw:.3f} with 64 features, {reduced:.3f} with {pca.n_components_}")Hai mươi mốt thành phần giữ được 90% phương sai, còn độ chính xác qua kiểm định chéo chỉ giảm từ 0.963 xuống 0.959 dù chỉ dùng một phần ba số đặc trưng. Đưa PCA vào pipeline giúp phép chiếu được học chỉ từ từng fold huấn luyện, nhờ đó không rò rỉ thông tin từ các fold kiểm tra.
Lựa chọn đặc trưng và trích xuất đặc trưng#
Lựa chọn đặc trưng giữ lại một tập con các cột ban đầu, chẳng hạn loại bỏ các kênh cảm biến dư thừa, nhờ đó các đặc trưng còn lại vẫn giữ nguyên ý nghĩa. Theo nghĩa hẹp hơn, giảm chiều là trích xuất đặc trưng: phương pháp này tạo các đặc trưng mới bằng cách kết hợp những đặc trưng cũ, thường nén hiệu quả hơn nhưng khó diễn giải hơn. Cả hai đều là các bước trong tiền xử lý dữ liệu và kỹ thuật đặc trưng. Mạng sâu thực hiện trích xuất trong quá trình huấn luyện, nén pixel thành embedding, còn học biểu diễn Matryoshka huấn luyện embedding sao cho các chiều đầu tiên có thể hoạt động độc lập, nhờ đó cơ sở dữ liệu vector có thể lưu trữ các vector ngắn hơn.
Ứng dụng trong thị giác máy tính#
Thị giác máy tính dựa vào các biểu diễn đã giảm chiều ở nhiều giai đoạn. Chiếu embedding ảnh xuống 2D bằng t-SNE hoặc UMAP cho thấy các lớp có tách biệt hay không và các điểm ngoại lệ nằm ở đâu; PCA hoặc lượng tử hóa vector thu nhỏ embedding dùng cho tìm kiếm vector, giúp hàng triệu ảnh vừa trong bộ nhớ. Các model phân đoạn đối tượng YOLO26 tích hợp ý tưởng này vào đầu ra: head tính 32 mask nguyên mẫu cho mỗi ảnh ở độ phân giải bằng một phần tư đầu vào và chỉ dự đoán 32 hệ số cho mỗi đối tượng; mask của mỗi đối tượng là tổng có trọng số của các nguyên mẫu. Nhờ đó, mask 160x160 cho đầu vào 640 pixel, gồm 25,600 giá trị, được mã hóa bằng 32 số.










