Skip to content

Machine Learning #6 | การคำนวณ Entropy และ Information gain

โพสต์ที่แล้วเกี่ยวกับ Machine learning เรารู้จัก Entropy คุณสมบัติของมันไปแล้วและรู้แล้วว่าเอาไปใช้ในการทำ feature selection ได้ คราวนี้มาลองคำนวณ entropy ดูบ้าง และอีกคำที่ควรรู้คือ “Information gain” ซึ่งเป็นการเทียบความ entropy ก่อน-หลังว่ามีการเปลี่ยนแปลงเท่าไหร่

การแปลความหมาย Information gain

Information gain คือผลต่างระหว่าง entropy ในสถานะปัจจุบันกับ entropy ของสถานะก่อนหน้าหาได้จากสมการ

Information gain (IG) = Entropy(before) - Entrolpy(after)

การแปลความหมายของ IG เป็นดังนี้

  • Information gain > 0 คือ information เพิ่มขึ้น (feature ที่ดี)
  • Information gain < 0 คือ information ลดลง (feature ที่แย่)
  • Information gain = 0 คือ information ไม่มีการเปลี่ยนแปลง (feature ไม่มีผลต่อการ classify)

ตัวอย่างการคำนวณ Entropy

ยกตัวอย่างผมมีข้อมูลเป็นวงกลมสีเขียว-สีชมพูคละกัน 10 วงเมื่อทำการแยกเป็น 2 class  (child 1 และ child 2) แล้วสามารถคำนวณได้ตามรูปข้างล่างนี้

หมายเหตุ: เนื่องจากผมขี้เกียจทำรูปประกอบ (ฮา) ขอวาดรูปและเขียนด้วยลายมือไก่เขี่ยนี่แล้วกัน

IMG_20160522_183029ตอนนี้เราคำนวณ entropy ทั้งหมดแล้วขั้นตอนต่อมาคือการหา IG ซึ่งจะได้ตามรูปข้างล่างนี้

IMG_20160522_183057

จากรูปจะเห็นว่าผมเอา entropy ของ child 1 และ child 2 ไปคูณกับจำนวนที่มีของแต่ละคลาสในแต่ละ child ต่อจำนวนทั้งหมด เพราะเราใช้มันเป็น weight เนื่องจากจำนวนแต่ละ child ไม่เท่ากัน

ฉะนั้น IG ที่หาได้คือ 0.256

Real-world examples

ตัวอย่างข้างบนเป็นตัวอย่างง่ายๆ sample space แค่ 10 samples เพื่อให้เห็นภาพรวมก่อน แล้วถ้ากับ dataset แบบอื่นล่ะเราจะคำนวณได้ยังไง?

ลองค้นกูเกิลดูจะพบตัวอย่างการคำนวณ entropy และ IG ทั้ง text, slide, video เช่น video ข้างล่างมีตัวอย่างการคำนวณ IG เพื่อเลือก feature (ในที่นี้คือภูมิอากาศแต่ละแบบ) ว่าสภาพอากาศแบบใดที่ควรใช้สร้าง model เพื่อทำนายว่าในวันนั้นเหมาะสมสำหรับการเล่นกีฬาหรือไม่

ส่วนอันนี้ตัวอย่างเดียวกันแต่เป็นภาษาไทย การคัดเลือก feature (feature selection) ด้วยวิธี Information Gain” 

ส่วนอันนี้เป็นอีกตัวอย่างการเลือก feature เพื่อสร้าง model ทำนายเพศจากชื่อ มีคนอธิบายเรื่อง entropy แล้วยกตัวอย่างประกอบด้วย เข้าไปดูที่ top comment ของกระทู้นี้ได้เลยครับ “What is “entropy and information gain”?

เดี๋ยวถ้าผมคิดตัวอย่างของผมเองออกจะลองคำนวณให้ดูแล้วกันครับ พอดีเห็นจากแหล่งอื่นอธิบายไว้ดีอยู่แล้ว ไม่เขียนซ้ำแล้วกันเนอะ

Be First to Comment

Leave a Reply

Your email address will not be published.