2.4.1
PCA
สรุป
- PCA หมุนระบบแกนเพื่อหา “องค์ประกอบหลัก” ที่อธิบายความแปรปรวนของข้อมูลได้มากที่สุด
- ช่วยลดมิติ, ลด noise, และเตรียมข้อมูลให้โมเดลอื่น โดยไม่ต้องใช้ฉลากข้อมูล
- ใช้ได้กับเมทริกซ์ co-variance หรือแก้ผ่าน SVD
- มิติใหม่สามารถตีความได้จาก loading matrix
สัญชาตญาณ #
Principal Component Analysis (PCA) ควรเข้าใจผ่านสมมติฐาน กลไกการปรับปรุงโมเดล และรูปแบบความผิดพลาดบนข้อมูลจริง เพื่อให้เลือกโมเดลและปรับพารามิเตอร์ได้อย่างเหมาะสม.
คำอธิบายโดยละเอียด #
สูตรสำคัญ #
ให้ข้อมูลศูนย์กลาง \(X\) ขนาด \(n \times d\) คำนวณเมทริกซ์ \(\Sigma = \frac{1}{n} X^\top X\) แล้วแก้ปัญหา eigen
$$ \Sigma v_i = \lambda_i v_i, $$โดย \(v_i\) คือองค์ประกอบหลักและ \(\lambda_i\) คือความแปรปรวนที่อธิบายได้
ตัวอย่าง Python #
| |
เคล็ดลับ #
- ทำมาตรฐานข้อมูลก่อน (Mean=0, Var=1) เพื่อไม่ให้ฟีเจอร์ขนาดใหญ่ครอบงำ
- ใช้ Scree plot หรือ cumulative variance เพื่อตัดสินใจจำนวนองค์ประกอบ
- หากจำนวนฟีเจอร์มากกว่าจำนวนจุด ให้ใช้ SVD เพื่อประหยัดการคำนวณ
เอกสารอ้างอิง #
- Jolliffe, I. T. (2002). Principal Component Analysis. Springer.
- scikit-learn developers. (2024). PCA. https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html