Archive

Random Forest Voting Lab: เมื่อต้นไม้หลายต้นช่วยกันตัดสินใจ

Interactive demo ที่เปิดกลไกของ Random Forest ให้เห็นตั้งแต่การเลือกจุดแบ่ง การสร้างต้นไม้ที่แตกต่างกัน ไปจนถึงการรวมคำตอบด้วย majority vote
หมวด: Machine Learning Education
วันที่โพสต์: 17 August 2026
ที่มา: Facebook post archive
random-forest decision-tree ensemble-learning bagging interactive-learning machine-learning
Rewritten Post
ต้นไม้ที่ต่างกันเล็กน้อย อาจให้คำตอบร่วมที่เสถียรกว่า
ภาพ Random Forest Voting Lab แสดงข้อมูล ต้นไม้ตัดสินใจหลายต้น และผล majority vote
Random Forest Voting Lab — สำรวจข้อมูล ต้นไม้แต่ละต้น และผลโหวตร่วมกัน

Decision tree หนึ่งต้นอธิบายได้ง่าย แต่มีความไม่เสถียร ข้อมูลเปลี่ยนเพียงเล็กน้อยก็อาจทำให้โครงสร้างของต้นไม้และคำตอบเปลี่ยนไป Random Forest จึงไม่ได้พยายามสร้างต้นไม้ที่สมบูรณ์แบบเพียงต้นเดียว แต่สร้างต้นไม้ที่แตกต่างกันหลายต้นแล้วให้ช่วยกันตัดสินใจ

Random Forest Voting Lab ทำให้กลไกนี้มองเห็นได้ ผู้เรียนเลือกข้อมูล จำนวนต้นไม้ และความลึก แล้วเปรียบเทียบ Single Tree, Bagging และ Random Forest ในสถานการณ์เดียวกัน

ต้นไม้หนึ่งต้นเลือกจุดแบ่งอย่างไร

demo แสดง candidate thresholds ของแต่ละ feature และคำนวณ weighted Gini impurity ให้เห็น จุดที่มีค่าต่ำสุดจะถูกเลือกเป็น split เพราะช่วยแยกข้อมูลให้แต่ละกลุ่มมีความบริสุทธิ์มากขึ้น

การเห็นกราฟของ candidate splits ช่วยให้เข้าใจว่า decision boundary ไม่ได้เกิดขึ้นโดยบังเอิญ แต่เป็นผลจากเกณฑ์ที่โมเดลใช้เปรียบเทียบทางเลือกในแต่ละ node

Bagging ทำให้ต้นไม้แตกต่างกันด้วยข้อมูล

ใน Bagging ต้นไม้แต่ละต้นได้รับ bootstrap sample ซึ่งสุ่มแถวจากข้อมูลฝึกแบบคืนตัวอย่าง ทำให้บางแถวถูกเลือกซ้ำ บางแถวไม่ถูกเลือก และต้นไม้แต่ละต้นเห็นข้อมูลคนละชุดเล็กน้อย

ความแตกต่างนี้มีจุดประสงค์ เมื่อข้อผิดพลาดของต้นไม้ไม่เหมือนกัน การรวมคำตอบมีโอกาสลดความแปรปรวนที่เกิดจากต้นไม้เพียงต้นเดียวได้

Random Forest สุ่มทั้งข้อมูลและ feature

Random Forest เพิ่มการสุ่ม feature ที่อนุญาตให้พิจารณาในแต่ละ split เข้าไปอีกชั้น วิธีนี้ลดโอกาสที่ทุกต้นจะเลือก feature เด่นตัวเดียวกันตั้งแต่ต้น แล้วลงเอยด้วยโครงสร้างและข้อผิดพลาดที่คล้ายกันมากเกินไป

เป้าหมายไม่ใช่ทำให้ต้นไม้แต่ละต้นเก่งที่สุด แต่ทำให้ต้นไม้เก่งพอและแตกต่างกันพอ เมื่อรวมกันแล้วจึงให้ผลที่เสถียรกว่า

Majority vote รวมคำตอบ แต่ไม่ได้เปลี่ยนเสียงข้างมากให้เป็นความจริง

สำหรับ classification ต้นไม้แต่ละต้นออกเสียงให้ class ที่ตนทำนาย แล้ว forest เลือก class ที่ได้เสียงมากที่สุด ผู้เรียนสามารถคลิกจุดข้อมูลหรือเพิ่ม test point ใหม่ เพื่อดูว่าต้นไม้แต่ละต้นโหวตอย่างไรและเสียงข้างมากเปลี่ยนตรงบริเวณใด

อย่างไรก็ตาม การโหวตแก้ได้เฉพาะความไม่เสถียรบางส่วน หากข้อมูลมีอคติ feature ไม่เพียงพอ หรือ pattern ที่ต้องการเรียนรู้ไม่อยู่ในข้อมูล ต้นไม้หลายต้นก็อาจลงคะแนนผิดไปในทิศทางเดียวกันได้

ความลึกมากขึ้นไม่ได้แปลว่าดีขึ้นเสมอ

demo เปรียบเทียบ training accuracy กับ leave-one-out accuracy ตาม maximum depth เมื่อความลึกเพิ่ม คะแนนบนข้อมูลฝึกมักสูงขึ้น แต่ความสามารถกับข้อมูลที่ถูกกันออกไว้อาจหยุดดีขึ้นหรือแย่ลง นี่ทำให้ overfitting กลายเป็นสิ่งที่มองเห็นผ่านเส้นโค้ง ไม่ใช่เพียงคำนิยาม

แบบจำลองเล็กเพื่ออ่านกลไก ไม่ใช่ภาพแทนระบบ production

ชุดทดลองใช้ข้อมูลเพียงสอง features และต้นไม้จำนวนน้อยเพื่อให้ตรวจดูทุกขั้นตอนได้ Random Forest ในงานจริงมักมีข้อมูล features และต้นไม้มากกว่านี้มาก ความเรียบง่ายของ demo จึงมีไว้เพื่อการสอนและทำความเข้าใจกลไก ไม่ใช่เพื่อจำลองขนาดของระบบจริง

ทดลองด้วยตัวเอง Random Forest Voting Lab เปรียบเทียบ Single Tree, Bagging และ Random Forest พร้อมดู splits, trees และ votes เปิด Interactive Demo
Original
ลิงก์อ้างอิง:
f
ลิงก์ที่โพสต์ไว้เดิม
punpiti.github.io/machine-learning-demos/random-forest/ · ปัจจุบันมีสำเนาใช้งานบน KU Urban
Original Facebook Post
พันธุ์ปิติ เปี่ยมสง่า 17 สิงหาคม 2569 · แชร์กับ สาธารณะ https://punpiti.github.io/machine-learning-demos/random-forest/
บทความอื่นที่เกี่ยวข้อง