ยินดีต้อนรับสู่เรื่อง Regularized Regression และ K-Nearest Neighbors!
ยินดีต้อนรับครับ! ในบทนี้ เราจะมาเรียนรู้วิธีการทำให้โมเดลเชิงเส้น (linear models) ของเราทำงานได้ดียิ่งขึ้น ที่ผ่านมาคุณคงได้เรียนรู้เกี่ยวกับ Ordinary Least Squares (OLS) regression ซึ่งเป็นวิธีหา "เส้นที่พอดีที่สุด" โดยการลดความคลาดเคลื่อนให้เหลือน้อยที่สุด แต่บางครั้ง OLS ก็กระตือรือร้นมากเกินไปจนเกิดปัญหา Overfitting (การปรับตัวเข้ากับข้อมูลมากเกินไป) ทำให้มันทำนายข้อมูลในอดีตได้แม่นยำมาก แต่กลับทำนายอนาคตได้แย่มากครับ
เราจะมาสำรวจวิธีแก้ไขหลักๆ 2 วิธีคือ: Regularization (การเพิ่ม "ค่าปรับ" ให้กับโมเดลเพื่อให้โมเดลเรียบง่ายขึ้น) และ K-Nearest Neighbors (อีกแนวทางหนึ่งที่เน้นพิจารณาจากข้อมูลที่ "คล้ายคลึงกัน") เครื่องมือเหล่านี้สำคัญมากสำหรับการสร้างแบบจำลองความเสี่ยง เพราะช่วยให้เราสร้างโมเดลที่เสถียรและเชื่อถือได้ ถ้ารู้สึกยากในตอนแรก ไม่ต้องกังวลนะ เราจะค่อยๆ เจาะลึกไปทีละขั้นตอนครับ!
ส่วนที่ 1: วิธีการหดตัว (Regularized Regression)
ในการถดถอยมาตรฐาน เราต้องการลดค่า Residual Sum of Squares (RSS) แต่เมื่อเรามีตัวแปรต้น (predictors) จำนวนมาก โมเดลอาจมีความซับซ้อนเกินไป วิธีการหดตัว (Shrinkage methods) หรือที่เรียกว่า Regularization จะทำการ "หด" ค่าประมาณของสัมประสิทธิ์ (\(\beta\)) ให้เข้าใกล้ศูนย์ ซึ่งช่วยลดความแปรปรวน (variance) ของโมเดลโดยแลกกับการเพิ่มอคติ (bias) เล็กน้อยครับ
1. Ridge Regression
Ridge regression ทำงานโดยการเพิ่ม ค่าปรับ (penalty term) เข้าไปใน RSS โดยมีเป้าหมายเพื่อลดค่า:
\(RSS + \lambda \sum_{j=1}^{p} \beta_j^2\)
โดยที่:
- \(\lambda\) (Lambda): คือค่าพารามิเตอร์ที่ใช้ปรับจูน (tuning parameter) ทำหน้าที่ควบคุมว่าเราจะปรับค่าสัมประสิทธิ์ให้ลดลงมากน้อยเพียงใด
- \(\sum \beta_j^2\): นี่คือ L2 penalty ซึ่งเป็นการนำค่าสัมประสิทธิ์มายกกำลังสองครับ
สิ่งที่ควรรู้เกี่ยวกับ Ridge:
- เมื่อ \(\lambda = 0\) ค่า Ridge regression จะมีค่าเท่ากับ OLS
- เมื่อ \(\lambda \to \infty\) สัมประสิทธิ์จะหดตัวเข้าใกล้ศูนย์ (แต่จะไม่มีทางเป็นศูนย์จริงๆ!)
- ข้อควรจำ: Ridge regression ไม่ ทำการคัดเลือกตัวแปร (variable selection) ตัวแปรทุกตัวจะยังคงอยู่ในโมเดล เพียงแต่มีค่าสัมประสิทธิ์ที่เล็กลงเท่านั้นครับ
2. Lasso Regression
Lasso (Least Absolute Shrinkage and Selection Operator) คล้ายกับ Ridge มาก แต่ใช้ค่าปรับที่ต่างออกไปครับ:
\(RSS + \lambda \sum_{j=1}^{p} |\beta_j|\)
โดยที่:
- \(\sum |\beta_j|\): นี่คือ L1 penalty ซึ่งเป็นการนำค่าสัมประสิทธิ์มาหาค่าสัมบูรณ์ครับ
สิ่งที่ควรรู้เกี่ยวกับ Lasso:
- ต่างจาก Ridge ตรงที่ Lasso สามารถบีบให้สัมประสิทธิ์บางตัวมีค่าเป็น ศูนย์พอดี ได้ หากค่า \(\lambda\) มากพอ
- นั่นหมายความว่า Lasso ทำหน้าที่ คัดเลือกตัวแปร (variable selection) ให้เรา ทำให้ได้โมเดลที่เรียบง่ายและตีความได้ง่ายขึ้น
- เทคนิคช่วยจำ: "Lasso" เหมือนกับการเหวี่ยงบ่วงคล้องตัวแปรที่ไม่สำคัญแล้วเตะออกไปจากคอก!
สรุปสั้นๆ: Ridge vs. Lasso
- Ridge: เหมาะเมื่อตัวแปรต้นส่วนใหญ่มีประโยชน์ มันจะเก็บทุกตัวไว้แต่ลดขนาดลง
- Lasso: เหมาะเมื่อตัวแปรต้นส่วนใหญ่ไม่สำคัญ มันจะช่วยกำจัดตัวแปรที่เป็น "สัญญาณรบกวน" (noise) ออกไปครับ
สรุปเรื่อง Regularization:
Regularization ช่วยเราจัดการกับ Bias-Variance Trade-off โดยการเพิ่มอคติเล็กน้อย (จากการหดสัมประสิทธิ์) เราจะสามารถลดความแปรปรวนลงได้อย่างมาก ทำให้การทำนายของเรามีความเสถียรมากขึ้นเมื่อเจอกับข้อมูลชุดใหม่ครับ
ส่วนที่ 2: การเลือกค่าพารามิเตอร์ (\(\lambda\))
เราจะรู้ได้อย่างไรว่าควรใช้ \(\lambda\) เท่าไหร่ดี? คำตอบคือเราใช้ Cross-Validation ครับ โดยปกติเราจะทดสอบ \(\lambda\) หลายๆ ค่าแล้วเลือกค่าที่ให้ค่า Cross-Validation Error ต่ำที่สุด
ข้อผิดพลาดที่ควรหลีกเลี่ยง:
นักศึกษามักเข้าใจผิดว่าค่า \(\lambda\) ที่ยิ่งมากยิ่งดีเพราะทำให้โมเดลดูเรียบง่ายขึ้น อย่าลืมนะครับ: ถ้า \(\lambda\) มากเกินไป โมเดลจะเรียบง่ายเกินไป (High bias) จนพลาดรูปแบบความสัมพันธ์จริงๆ ในข้อมูลไป (เกิด Underfitting)
ส่วนที่ 3: K-Nearest Neighbors (KNN)
คราวนี้มาดูแนวทางที่ต่างออกไปอย่างสิ้นเชิงครับ ในขณะที่ Regression เป็นแบบ Parametric (มีการกำหนดรูปแบบฟังก์ชันที่แน่นอน เช่น เส้นตรง) แต่ K-Nearest Neighbors (KNN) เป็นแบบ Non-parametric ซึ่งไม่มีการสมมติรูปร่างของข้อมูลเลยครับ
KNN ทำงานอย่างไร:
ลองจินตนาการว่าคุณต้องการทำนายราคาบ้าน แทนที่จะใช้สูตรคณิตศาสตร์ คุณแค่ดูบ้าน K หลังที่คล้ายกับบ้านหลังนั้นที่สุด ("เพื่อนบ้าน") แล้วนำราคามาหาค่าเฉลี่ยครับ
1. สำหรับการ Regression: หาจุดที่ใกล้ที่สุด K จุดแล้วคำนวณ ค่าเฉลี่ย ของผลลัพธ์
2. สำหรับการ Classification: หาจุดที่ใกล้ที่สุด K จุดแล้วใช้ เสียงข้างมาก (Majority Vote) เพื่อตัดสินกลุ่ม
บทบาทของ K:
การเลือกค่า K นั้นสำคัญมาก:
- K น้อย (เช่น K=1): โมเดลจะยืดหยุ่นมาก (มีรอยหยักเยอะ) มี Bias ต่ำ แต่ Variance สูง (เกิด Overfitting)
- K มาก (เช่น K=100): โมเดลจะราบเรียบ มี Variance ต่ำ แต่ Bias สูง (เกิด Underfitting)
รู้หรือไม่?
เมื่อ \(K\) เพิ่มขึ้น ความยืดหยุ่น (Flexibility) ของโมเดล KNN จะลดลง ซึ่งจะตรงข้ามกับวิธีคิดเรื่องตัวเลขทั่วไป ดังนั้นจำจุดนี้ไว้ดีๆ สำหรับสอบนะครับ!
คำสาปแห่งมิติ (Curse of Dimensionality):
KNN ฟังดูดี แต่มีจุดอ่อนสำคัญที่เรียกว่า Curse of Dimensionality ในพื้นที่ที่มีมิติสูงๆ (มีตัวแปรต้นเยอะๆ) เพื่อนบ้านที่ "ใกล้ที่สุด" อาจจะอยู่ไกลกันมากในเชิงระยะทางจริงๆ สิ่งนี้ทำให้ KNN ทำงานได้แย่กว่า Linear Regression มากเมื่อจำนวนตัวแปร \(p\) มีจำนวนมากเมื่อเทียบกับจำนวนข้อมูล \(n\)
การเปรียบเทียบ: Linear Regression vs. KNN
ทำไมต้องเลือกใช้อย่างใดอย่างหนึ่ง?
เลือก Linear Regression (หรือ Ridge/Lasso) ถ้า:
- ความสัมพันธ์ระหว่างตัวแปรต้นกับผลลัพธ์เป็นเส้นตรง
- คุณมีข้อมูลต่อหนึ่งตัวแปรไม่มากนัก
- คุณต้องการอธิบายให้คนอื่นฟังง่ายๆ ว่าแต่ละตัวแปรส่งผลต่อผลลัพธ์อย่างไร
เลือก KNN ถ้า:
- ความสัมพันธ์มีความซับซ้อน ไม่เป็นเส้นตรง หรือ "แปลกประหลาด"
- คุณมีข้อมูลจำนวนมหาศาล แต่มีตัวแปรต้นไม่กี่ตัว
- ความแม่นยำในการทำนายสำคัญกว่าการเข้าใจเหตุผลเบื้องหลัง
ประเด็นสำคัญสำหรับการสอบ SRM
1. Regularization (Ridge/Lasso):
- ใช้เพื่อป้องกัน Overfitting และรับมือกับตัวแปรจำนวนมาก
- Ridge ใช้ \(\beta^2\) และไม่ตัดสัมประสิทธิ์ให้เป็นศูนย์
- Lasso ใช้ \(|\beta|\) และ สามารถ ตัดสัมประสิทธิ์ให้เป็นศูนย์ได้ (เป็นการคัดเลือกตัวแปร)
2. ค่าพารามิเตอร์ (\(\lambda\)):
- ใช้ควบคุม Trade-off เราจะหาค่า \(\lambda\) ที่ดีที่สุดด้วย Cross-validation
3. K-Nearest Neighbors (KNN):
- วิธีการแบบ Non-parametric ที่อาศัยความคล้ายคลึง
- K น้อย = ยืดหยุ่นสูง / Variance สูง
- K มาก = ยืดหยุ่นต่ำ / Bias สูง
- ประสบปัญหา Curse of Dimensionality
คำให้กำลังใจ: คุณทำได้แน่นอน! Regularization และ KNN ก็แค่วิธีการที่แตกต่างกันในการหา "จุดที่พอดี" ระหว่างโมเดลที่ง่ายเกินไปกับโมเดลที่ซับซ้อนเกินไป ฝึกฝนการวิเคราะห์ว่าวิธีไหนเหมาะกับสถานการณ์ใด แล้วคุณจะพร้อมสำหรับทุกคำถามในการสอบ SRM แน่นอนครับ!