ยินดีต้อนรับสู่โลกของ Machine Learning!
ยินดีต้อนรับเข้าสู่เนื้อหาส่วนที่น่าตื่นเต้น (และทันสมัยที่สุด) ส่วนหนึ่งของหลักสูตร CFA Level II! แม้ชื่อ "Machine Learning" (ML) อาจฟังดูเหมือนหลุดมาจากหนังไซไฟ แต่มันก็เป็นเพียงเครื่องมือทางสถิติที่ทรงพลังและเป็นการต่อยอดจากสิ่งที่คุณได้เรียนมาแล้วเท่านั้น ในบทนี้ เราจะมาเรียนรู้ว่าคอมพิวเตอร์สามารถ "เรียนรู้" จากข้อมูลเพื่อทำนายผลลัพธ์และค้นหาแพทเทิร์นได้โดยที่เราไม่ต้องไปป้อนกฎเกณฑ์ให้มันเป๊ะๆ ได้อย่างไร ไม่ต้องกังวลหากคุณไม่ใช่โปรแกรมเมอร์ เราจะค่อยๆ ย่อยเรื่องนี้ให้เข้าใจง่ายและนำไปใช้ได้จริงครับ
1. Machine Learning คืออะไรกันแน่?
โดยหัวใจสำคัญแล้ว Machine Learning คือแขนงหนึ่งของปัญญาประดิษฐ์ (AI) ที่ใช้อัลกอริทึมในการฝึกฝนเพื่อหาแพทเทิร์นในชุดข้อมูลขนาดใหญ่ แทนที่มนุษย์จะต้องมานั่งเขียนกฎตายตัว (เช่น "ถ้า P/E < 15 ให้ซื้อ") ตัวคอมพิวเตอร์จะทำหน้าที่ดูข้อมูลและคิดค้นกฎเหล่านั้นขึ้นมาเองครับ
การเรียนรู้แบบมีผู้สอน (Supervised) กับ แบบไม่มีผู้สอน (Unsupervised)
หลักสูตรได้แบ่ง ML ออกเป็น 2 ประเภทใหญ่ๆ ตามลักษณะของข้อมูลว่ามี "เฉลย" หรือไม่:
A. Supervised Learning (การเรียนรู้แบบมีผู้สอน): ให้คิดเสียว่าเหมือนนักเรียนที่มีครูคอยสอน ชุดข้อมูลจะมีทั้ง ข้อมูลนำเข้า (Inputs/Features) และ คำตอบที่ถูกต้อง (Target Variables) เป้าหมายคือให้คอมพิวเตอร์เรียนรู้กฎที่เชื่อมโยงข้อมูลนำเข้าเข้ากับผลลัพธ์ที่ถูกต้อง
ตัวอย่าง: การใช้ข้อมูลในอดีตอย่าง "อัตราส่วนทางการเงินของบริษัท" (Inputs) เพื่อทำนาย "ผลตอบแทนของหุ้น" (Target) ในอนาคต
B. Unsupervised Learning (การเรียนรู้แบบไม่มีผู้สอน): นี่เหมือนกับการปล่อยให้นักเรียนไปค้นคว้าในห้องสมุดด้วยตัวเอง ข้อมูลจะ ไม่มีเฉลย และ ไม่มีตัวแปรเป้าหมาย (Target) คอมพิวเตอร์จะทำหน้าที่ค้นหาโครงสร้างหรือการจัดกลุ่มที่ซ่อนอยู่ในข้อมูลนั้นๆ เอง
ตัวอย่าง: การป้อนข้อมูลหุ้น 500 ตัวให้คอมพิวเตอร์ แล้วให้มันจัดกลุ่มหุ้นที่ "คล้ายกัน" ตามพฤติกรรม โดยที่เราไม่ได้บอกมันว่ากลุ่มควรจะเป็นอย่างไร
C. Reinforcement Learning (การเรียนรู้แบบเสริมกำลัง): แบบนี้จะต่างออกไปเล็กน้อย โดยจะมี "ตัวแทน" (Agent) ที่เรียนรู้ผ่านการลองผิดลองถูกเพื่อเพิ่ม รางวัล (Reward) ให้ได้สูงสุด เปรียบเสมือนการฝึกสุนัขด้วยขนม: ทำดีก็ได้รางวัล ทำผิดก็ไม่ได้ครับ
สรุปสั้นๆ ให้จำแม่น:
Supervised: เรารู้คำตอบ (Target) ที่เรากำลังมองหาอยู่แล้ว
Unsupervised: เราแค่กำลังหาแพทเทิร์นที่ซ่อนอยู่หรือทางลัดในข้อมูลเท่านั้น
2. Supervised Learning: การถดถอย (Regression) และการจำแนกประเภท (Classification)
Supervised learning แบ่งออกเป็น 2 ประเภทตามสิ่งที่เราต้องการทำนาย:
1. Regression: ใช้เมื่อตัวแปรเป้าหมายเป็น ข้อมูลแบบต่อเนื่อง (Continuous) (เป็นตัวเลข)
ตัวอย่าง: การทำนายราคาบ้านที่แน่นอน หรือทำนายผลตอบแทนของหุ้นกู้
2. Classification: ใช้เมื่อตัวแปรเป้าหมายเป็น ข้อมูลแบบหมวดหมู่ (Categorical) (เป็นฉลาก/ประเภท)
ตัวอย่าง: การทำนายว่าบริษัทจะ "ผิดนัดชำระหนี้" (Default) หรือ "ไม่ผิดนัดชำระหนี้"
อัลกอริทึมสำคัญที่ต้องรู้จัก:
Penalized Regression (LASSO): ในการทำ Regression ปกติ การมีตัวแปรมากเกินไปอาจทำให้เกิดปัญหาได้ LASSO (Least Absolute Shrinkage and Selection Operator) จะเพิ่ม "บทลงโทษ" สำหรับการมีฟีเจอร์เยอะเกินไป โดยมันสามารถลดค่าสัมประสิทธิ์ของตัวแปรที่ไม่สำคัญให้กลายเป็น ศูนย์ ได้ ซึ่งเท่ากับว่ามันช่วย "เลือกตัวแปรที่สำคัญ" ให้เราโดยอัตโนมัติ!
Support Vector Machines (SVM): ลองนึกภาพการลาก "เส้นแบ่งเขต" ที่กว้างที่สุด (Hyperplane) ระหว่างสองกลุ่ม (เช่น "สำเร็จ" กับ "ล้มเหลว") มันพยายามทำให้ Margin (ระยะห่าง) ระหว่างกลุ่มเหล่านั้นกว้างที่สุดเท่าที่จะทำได้
Classification and Regression Trees (CART): เปรียบเสมือนแผนผังการตัดสินใจ (Flowchart) เช่น "อัตราส่วนหนี้สินต่อทุน > 1 หรือไม่? ถ้าใช่ ให้ไปทางซ้าย ถ้าไม่ใช่ ให้ไปทางขวา" ข้อดีคือเป็นสิ่งที่มนุษย์เข้าใจได้ง่ายมาก
Random Forests: นี่คือ Ensemble Method (วิธีการแบบกลุ่ม) แทนที่จะเชื่อต้นไม้ตัดสินใจเพียงต้นเดียว (ซึ่งอาจจะผิดพลาดได้) เราจะสร้างต้นไม้ขึ้นมาหลายร้อยต้นแล้วให้พวกมัน "โหวต" ผลลัพธ์กัน นี่คือแนวคิดแบบ "ภูมิปัญญาจากฝูงชน" นั่นเอง
3. Unsupervised Learning: การหาโครงสร้างที่ซ่อนอยู่
เนื่องจากเราไม่มี "คำตอบ" ใน Unsupervised learning เราจึงใช้มันสำหรับ 2 งานหลัก:
การลดมิติข้อมูล (Dimension Reduction - PCA)
บางครั้งเรามีตัวแปรเป็นร้อยตัว แต่หลายตัวก็ให้ข้อมูลที่ซ้ำซ้อนกัน Principal Component Analysis (PCA) จะช่วยสรุปข้อมูลจากหลายตัวแปรให้เหลือเพียงไม่กี่ "องค์ประกอบหลัก" (Principal Components)
เปรียบเทียบ: แทนที่จะบรรยายรูปร่างคนด้วยความสูง ความยาวแขน ความยาวขา และความยาวช่วงตัว (4 ตัวแปร) คุณอาจสรุปสั้นๆ ว่าเขาคือ "คนรูปร่างใหญ่" (เหลือ 1 ตัวแปร)
การจัดกลุ่มข้อมูล (Clustering - K-Means)
K-Means Clustering คือการแบ่งข้อมูลออกเป็น "K" กลุ่ม มันจะเริ่มจากการสุ่มจุดศูนย์กลางแล้วค่อยๆ ปรับกลุ่มไปเรื่อยๆ จนกระทั่งไอเทมในแต่ละกลุ่มมีความคล้ายคลึงกันมากที่สุด
เปรียบเทียบ: เหมือนการแยกกองผ้ากองโตให้เป็นกองเสื้อ กางเกง และถุงเท้า โดยที่คุณไม่ได้ถูกบอกมาก่อนว่าอะไรคือ "เสื้อ"
สรุปประเด็นสำคัญ:
PCA ทำให้ข้อมูล น้อยลง (ลดจำนวนคอลัมน์)
Clustering ทำให้ข้อมูล เป็นระเบียบ (จัดกลุ่มแถวข้อมูล)
4. Neural Networks และ Deep Learning
Neural Networks (NNs) ได้รับแรงบันดาลใจมาจากสมองของมนุษย์ ประกอบด้วย ชั้นนำเข้า (Input Layer), ชั้นที่ซ่อนอยู่ (Hidden Layers) และ ชั้นผลลัพธ์ (Output Layer) เมื่อเครือข่ายมีชั้นที่ซ่อนอยู่จำนวนมาก เราจะเรียกว่า Deep Learning
โครงข่ายนี้ทรงพลังมากสำหรับความสัมพันธ์ที่ไม่เป็นเส้นตรง (แพทเทิร์นที่ซับซ้อน) แต่มักถูกเรียกว่าเป็น "กล่องดำ" (Black Box) เพราะยากที่มนุษย์จะอธิบายได้ว่า ทำไม คอมพิวเตอร์ถึงตัดสินใจออกมาแบบนั้น
5. กระบวนการทำงานของ Machine Learning
การสร้างโมเดลไม่ใช่แค่การกดปุ่ม แต่มันมีขั้นตอนที่ชัดเจน:
1. Data Collection: รวบรวมข้อมูลดิบ
2. Data Cleaning: จัดการกับค่าที่หายไปและข้อมูลที่ผิดปกติ (Outliers)
3. Feature Engineering: สร้างตัวแปรใหม่ (เช่น การแปลงวันที่ให้กลายเป็น "วันในสัปดาห์")
4. Training/Validation/Testing: นี่คือจุดที่นักเรียนมักจะสับสน! มาเจาะลึกกัน
ชุดข้อมูลทั้ง 3 ประเภท
เพื่อป้องกันการ "โกง" เราต้องแบ่งข้อมูลออกเป็น 3 ส่วน:
1. Training Set: ข้อมูลที่โมเดล "เห็น" และเรียนรู้จริง
2. Validation Set: ใช้สำหรับปรับจูนโมเดล (เหมือนการหมุน "ปุ่มปรับแต่ง" เพื่อหาค่าที่ดีที่สุด)
3. Test Set: คือ "การสอบปลายภาค" โมเดลจะเห็นข้อมูลนี้แค่ครั้งเดียวตอนท้ายสุด เพื่อทดสอบว่ามันทำงานในโลกแห่งความเป็นจริงได้ดีแค่ไหน
6. Overfitting และความสมดุลระหว่าง Bias กับ Variance
นี่อาจเป็น หัวข้อที่สำคัญที่สุด ในการสอบเลยครับ!
Overfitting (การเรียนรู้เกินไป): เกิดขึ้นเมื่อโมเดลเรียนรู้ข้อมูล ดีจนเกินไป รวมถึงเรียนรู้ Noise (สัญญาณรบกวน) และข้อผิดพลาดเล็กน้อยในข้อมูลด้วย มันจะทำคะแนนได้ดีเยี่ยมในชุด Training แต่ล้มเหลวไม่เป็นท่าเมื่อเจอกับข้อมูลใหม่ที่ไม่เคยเห็น
เปรียบเทียบ: การท่องจำคำตอบข้อสอบเก่าแทนที่จะทำความเข้าใจเนื้อหา คุณจะได้คะแนนเต็มตอนฝึกทำ แต่จะสอบตกข้อสอบจริง
Underfitting (การเรียนรู้ไม่เพียงพอ): โมเดลง่ายเกินไปจนมองไม่เห็นแพทเทิร์น
เปรียบเทียบ: การพยายามอธิบายเส้นโค้งที่ซับซ้อนด้วยเส้นตรงเส้นเดียว
ความสมดุล (Trade-off)
\( \text{Total Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error} \)
High Bias = Underfitting: โมเดล "ดื้อ" หรือเรียบง่ายเกินไป
High Variance = Overfitting: โมเดล "ยืดหยุ่น" หรือซับซ้อนเกินไป
เคล็ดลับการจำ:
Variance = Very complex (Overfitting - ซับซ้อนมาก)
Bias = Basic (Underfitting - เรียบง่ายเกินไป)
7. การประเมินประสิทธิภาพของโมเดล
เราจะรู้ได้อย่างไรว่าโมเดลดีจริง? สำหรับงาน Classification เราจะใช้ Confusion Matrix (ตารางเมทริกซ์ความสับสน)
ตัวชี้วัดสำคัญ:
- Precision (ความแม่นยำ): จากการทำนายว่า "Default" ทั้งหมด โมเดลทายถูกกี่เปอร์เซ็นต์? (เน้นคุณภาพมากกว่าปริมาณ)
- Recall (ความสามารถในการตรวจจับ): จากเหตุการณ์ Default ที่เกิดขึ้นจริง โมเดลตรวจพบกี่เปอร์เซ็นต์? (เน้นความครอบคลุม)
- Accuracy (ความถูกต้อง): การทำนายที่ถูกต้องทั้งหมด หารด้วยจำนวนครั้งที่ทำนายทั้งหมด
- F1 Score: ค่าเฉลี่ยกลางระหว่าง Precision และ Recall
ข้อผิดพลาดที่พบบ่อย: อย่าคิดว่า Accuracy คือตัวชี้วัดที่ดีที่สุดเสมอไป หากมีบริษัทเพียง 1% ที่ Default แล้วโมเดลทายว่า "ไม่มีวัน Default เลย" โมเดลจะมีค่า Accuracy ถึง 99% แต่ไร้ประโยชน์สิ้นดีในการหาบริษัทที่เสี่ยงจะ Default จริงๆ!
เช็กลิสต์สรุปเพื่อความสำเร็จ
ก่อนไปต่อ ลองเช็กดูว่าคุณตอบคำถามเหล่านี้ได้หรือไม่:
1. อธิบายความแตกต่างระหว่าง Supervised และ Unsupervised ได้หรือไม่?
2. ทราบหรือไม่ว่า LASSO ช่วยในการเลือกฟีเจอร์โดยการปรับค่าสัมประสิทธิ์ให้เป็นศูนย์?
3. เข้าใจหรือไม่ว่า Overfitting นำไปสู่ Variance ที่สูงและผลการทดสอบที่แย่ในข้อมูลใหม่?
4. แยกแยะได้หรือไม่ว่า PCA ใช้สำหรับลดจำนวนตัวแปร (Dimension Reduction)?
5. จำได้หรือไม่ว่า Test Set จะถูกใช้ก็ต่อเมื่อโมเดลถูกฝึกและปรับจูนจนสมบูรณ์แล้วเท่านั้น?
ไม่ต้องกังวลหากรู้สึกว่าคำศัพท์ใหม่เยอะไปหน่อย ให้โฟกัสที่ "เป้าหมาย" ของแต่ละวิธีมากกว่าคณิตศาสตร์เบื้องหลังมันครับ การสอบ CFA Level II เน้นที่ความสามารถในการเลือก "เครื่องมือที่ใช่ให้เหมาะกับงานที่เหมาะสม" ครับ!