Khi làm việc với dữ liệu có hàng trăm cột, bạn sẽ gặp một vấn đề: không thể vẽ đồ thị, không thể phân tích, và máy tính thì chạy chảy nước mồ hôi. PCA chính là kỹ thuật giúp bạn cắt bỏ những thứ thừa, giữ lại phần cốt lõi.
PCA (Principal Component Analysis) La Gi?

PCA (Principal Component Analysis) la mot ky thuat giam chieu du lieu (dimensionality reduction) trong machine learning. Noi cach de hieu: PCA tim ra nhung huong quan trong nhat trong du lieu cua ban, roi bo di nhung huong khong anh huong nhieu.
Giong nhu ban co mot buc anh 3D va muon chuyen no thanh 2D ma van giu duoc dac trung noi bat. PCA se quyet dinh goc chup nao giu lai nhieu thong tin nhat, va goc chup nao nen loai bo.
Tai Sao Can PCA?
Trong thuc te, du lieu thuong co rat nhieu bien (features). Mot dataset ve khach hang co the co tuoi, thu nhap, gioi tinh, dia chi, lich su mua hang, thoi gian online, so lan click… Tong cong co the len den hang nghin cot.
Nhieu cot khong co nghia la nhieu thong tin. Mot so cot co the lien quan chặt che voi nhau, mot so khac gan khong mang lai gia tri gi. PCA giup ban:
- Giam kich thuoc du lieu: Bot tu 1.000 cot xuong con 50 hoac it hon, ma khong mat nhieu thong tin.
- Tang toc do training: It du lieu hon thi model train nhanh hon.
- Tranh overfitting: Bot du lieu nhieu giup model khong hoc “tuong” cua data.
- Truc quan hoa: Giam xuong 2-3 chieu de ve do thi.
PCA Hoat Dong Nhu The Nao?
PCA lam viec qua 4 buoc chinh. Minh se giai thich don gian de ban hieu ban chat chu khong phai cong thuc.
Buoc 1: Chuan hoa Du Lieu (Standardization)
Cac bien co don vi khac nhau (tuoi tinh bang nam, thu nhap tinh bang trieu dong) se lam PCA bi lech. Buoc dau tien la dua tat ca ve cung mot ti le, gia tri trung binh bang 0 va do lech chuan bang 1.
Buoc 2: Tinh Ma Tran Hiep Phuong Sai (Covariance Matrix)
Buoc nay tinh xem cac bien co lien quan voi nhau the nao. Neu hai bien chay cung huong, chung mang thong tin trung lap. PCA se tim cach gop hoac loai bo su trung lap nay.
Buoc 3: Tim Eigenvalues va Eigenvectors
Day la phan toan hoc cua PCA. Eigenvectors chi huong cua cac thanh phan chinh (principal components), con eigenvalues bieu thi kha nang giu thong tin cua moi huong do. Eigenvalue cang lon thi huong do cang quan trong.
Buoc 4: Chon So Luong Thanh Phan Va Chieu Du Lieu
Sau khi sap xep cac eigenvalue tu lon den nho, ban chon bao nhieu thanh phan muon giu lai. Vi du, neu 10 thanh phan dau tien da bieu dien 95% du lieu, ban chi can 10 cot thay vi 1.000 cot ban dau.
Cach Chon So Luong Principal Components
Day la cau hoi ma nhieu nguoi thac meg khi dung PCA. Khong co con so hoan hao cho moi truong hop, nhung co mot quy tac thuc te:
Tinh tong eigenvalue cua tat ca thanh phan, roi chon so luong thanh phan dau tien sao cho tong eigenvalue cua chung chiem it nhat 85-95% tong cong. Con so nay phu thuoc vao muc do chinh xac ban can.
Vi du: Neu dataset co 100 bien, va 12 principal components dau tien da chua 90% thong tin, thi ban chi can 12 cot moi. Da giam duoc 88% kich thuoc ma khong mat qua nhieu.
Vi Du Thuc Te
Gia su ban lam viec voi bo du lieu anh mat nguoi. Moi anh co 10.000 pixel, nghia la 10.000 bien. Ve mat ly thuyet, ban can 10.000 chieu de bieu dien mot khuon mat.
Nhung thuc te, kich thuoc mat nguoi khong thay doi qua nhieu giua cac nguoi. Phan lon thong tin nam o mot vai chieu chinh: huong mat, khoang cach giua hai mat, hinh dang mui… PCA co the tim ra khoang 50-100 chieu la du de bieu dien het dac trung quan trong.
Mot vi du khac: phan tich hanh vi khach hang tren website. Ban co 200 bien (thoi gian online, so trang xem, loai san pham, gio truy cap…). PCA co the giam xuong 15-20 thanh phan, moi thanh phan dai dien mot “nhom hanh vi” (nguoi mua lac, nguoi xem nhieu, nguoi thoat nhanh).
Uu Va Nhuoc Diem Cua PCA
Uu Diem
- Nhanh va hieu qua: PCA la mot trong nhieu ky thuat giam chieu toc do nhat.
- Khong can nhan: PCA la unsupervised learning, khong can du lieu nhan (label).
- Giam noise: Bo di cac thanh phan nho giup loai bo nhieu trong du lieu.
Nhuoc Diem
- Mat kha nang giai thich: Principal components khong co y nghia truc quan. Component 1 khong ten la “tuoi” hay “thu nhap”, no la mot to hop cua tat ca.
- Chi bat dong tuyen: PCA chi tim duoc quan he tuyen tinh. Neu du lieu co quan he phi tuyen, PCA se bo sot.
- Nhay cam voi scale: Neu khong chuan hoa du lieu dung cach, ket qua se bi lech.
PCA Khac Gi Voi Cac Ky Thuat Khac?
Nhieu nguoi nham PCA voi t-SNE hay UMAP. Su khac biet lon nhat:
- PCA la ky thuat tuyen tinh, nhanh, phu hop de giam chieu de train model.
- t-SNE/UMAP la ky thuat phi tuyen, cham hon, nhung giu tot cau truc cuc bo. Phu hop de truc quan hoa, khong phu hop de train model.
Trong thuc te, nhieu nguoi dung PCA truoc, roi dung t-SNE/UMAP sau de ve do thi.
Khi Nao Nen Dung PCA?
Khong phai luc nao cung nen dung PCA. Day la nhung truong hop PCA phat huy hieu qua:
- Du lieu co qua nhieu bien (hundreds hoac thousands)
- Cac bien co tinh lien quan cao voi nhau (multicollinearity)
- Model train cham hoac bi overfitting
- Can truc quan hoa du lieu nhieu chieu
Nguoc lai, neu dataset chi co 10-20 bien va moi bien deu co y nghia ro rang, PCA co the lam mat thong tin quan trọng hon la giup ich.
Loi Ket
PCA la mot trong nhung ky thuat co ban nhat nhung cung huu ich nhat trong machine learning. No khong phu hop cho moi bai toan, nhung khi lam viec voi du lieu nhieu chieu, no la cong cu dau tien ban nen nghi toi.
Neu ban moi bat dau voi ML, hay thu PCA voi dataset Iris hoac MNIST. Cai dat sklearn, goi PCA(n_components=2), fit va transform. Chi bang vai dong code, ban da nhin thay du lieu nhieu chieu duoi dang do thi 2D de hieu.