ตีความโมเดล Machine Learning: ตัวอย่างและการตีความ Shapley value

ตีความโมเดล Machine Learning: ตัวอย่างและการตีความ Shapley value

22 พฤศจิกายน 2566

บทความนี้ถูกคุ้มครองด้วย Creative Commons License

เนื้อหาส่วนมากของบทความนี้ได้รับการแปล สังเคราะห์ และเรียบเรียงจากหนังสือ Interpretable Machine Learning โดย Christoph Molnar

Most content in this article is translated, compiled, and summarized from the Interpretable Machine Learning by Christoph Molnar

ในบทความที่แล้ว เราได้พูดถึงหลักการของการคำนวน Shapley value ซึ่งสามารถใช้วิเคราะห์ผลกระทบจากฟีเจอร์ของโมเดลต่าง ๆ ได้โดยไม่ต้องทราบถึงรายละเอียดภายในของโมเดล สำหรับบทความนี้ เราจะมาพูดถึงตัวอย่างการใช้งาน Shapley ในการตีความโมเดลพร้อมกับ จุดเด่นและข้อด้อยของเทคนิคนี้กันครับ

การตีความ

เราอาจกล่าวได้ว่า Shapley value คือ ขนาดของผลกระทบ ϕj ที่ค่าของฟีเจอร์ตัวที่ j ส่งผลให้การทำนายของจุดข้อมูลที่พิจารณาต่างจากค่าเฉลี่ยของทั้งชุดข้อมูล กล่าวคือ ถ้าสมมติว่าโมเดลที่เราใช้ทำนายเป็นโมเดลเชิงเส้นที่มีสมการในรูป

ค่าผลกระทบของ ϕj ที่ค่าของฟีเจอร์ตัวที่ j จะถูกเขียนได้เป็น

ซึ่งคือผลต่างของส่วนค่าทำนายที่ได้จากฟีเจอร์นั้น (ค่าฟีเจอร์นั้นคูณด้วยน้ำหนัก) กับค่าเฉลี่ยของส่วนค่าทำนายที่ได้จากฟีเจอร์นั้นครับ นอกจากนี้ถ้าหากนำค่าผลกระทบจากทุกฟีเจอร์มารวมกัน จะได้ว่ามีค่าเท่ากับผลต่างของค่าทำนายจุดนั้นกับค่าเฉลี่ยการทำนายของโมเดลพอดี ดังสมการ

ตัวอย่างการใช้งาน

Shapley value สามารถใช้วิเคราะห์ได้ทั้งโจทย์ประเภท classification (ถ้าหากเราพิจารณาโมเดลที่ใช้งาน probability ในการ classify) และโจทย์ประเภท regression

โจทย์ประเภท classification

รูปด้านล่างเป็นตัวอย่างการใช้งาน Shapley value เพื่อวิเคราะห์ผลการทำนาย โรคมะเร็งปากมดลูกจากชุดข้อมูล cervical cancer ด้วยโมเดล random forest 

Shapley value ของข้อมูลจุดหนึ่ง จากชุดข้อมูลมะเร็งปากมดลูก (cervical cancer dataset) สำหรับโมเดล random forest เพื่อทำนายสภาวะการเป็นมะเร็งปากมดลูก

ภาพด้านบนแสดง Shapley value อิงจากค่าฟีเจอร์ของผู้หญิงคนหนึ่ง จากชุดข้อมูลมะเร็งปากมดลูก (cervical cancer dataset) ซึ่งโมเดลทำนายความน่าจะเป็นของการเป็นมะเร็งปากมดลูกอยู่ที่ 0.57 สูงกว่าความน่าจะเป็นเฉลี่ยจากข้อมูลทั้งชุดที่ 0.03 คิดเป็นผลต่างความน่าจะเป็น 0.54 โดยจากการวิเคราะห์พบว่าค่าฟีเจอร์ว่าด้วยการมีโรคติดต่อทางเพศสัมพันธ์ (STDs) ส่งผลต่อการเพิ่มขึ้นของค่าความน่าจะเป็นมากที่สุด จากภาพจะเห็นว่าผลรวมของค่าผลกระทบขตัวอย่างการใช้งานกับโจทย์ประเภท classificationองทุกค่าฟีเจอร์มีค่าเท่ากับผลต่างระหว่างค่าทำนายกับค่าทำนายเฉลี่ยจากข้อมูลทั้งชุด (0.54).

โจทย์ประเภท regression

สำหรับตัวอย่างโจทย์ประเภท regression นี้ เราอาจพิจารณาโมเดล random forest เพื่อทำนายจำนวนของจักรยานที่ถูกเช่าในหนึ่งวัน (ชุดข้อมูล bike rental dataset) ซึ่งพิจารณาข้อมูลอากาศและวันที่ประกอบการทำนาย รูปด้านล่างแสดงคำอธิบายผลกระทบของฟีเจอร์ต่างๆ ของโมเดลที่พัฒนาขึ้น

Shapley value ของข้อมูลวันที่ 285 จากชุดข้อมูลการเช่าจักรยาน (bike rental dataset) สำหรับโมเดล random forest ที่ใช้เพื่อทำนายจำนวนการเช่า

ภาพด้านบนแสดง Shapley value ของวันที่ 285 ซึ่งให้ทำนายว่ารถจักรยาน 2,409 คันจะถูกเช่า คิดเป็นจำนวนน้อยกว่าค่าเฉลี่ย (4,518 คัน) อยู่ 2,108 คัน โดยจะเห็นได้ว่าสภาพอากาศที่มีฝน, หิมะ, พายุ และความชื้นในอากาศ มีผลกระทบในเชิงลบมากที่สุด ในขณะที่อุณหภูมิเป็นผลกระทบเชิงบวกกับจำนวนรถจักรยานที่ถูกเช่า ผลรวมของ Shapley value ของทุกฟีเจอร์จะเท่ากับผลต่างระหว่างค่าทำนายกับค่าเฉลี่ยของการทำนาย (-2,108) เช่นเดียวกรณีอื่นที่ใช้ Shapley value ในการอธิบายโมเดล

หมายเหตุ

ในการนำ Shapley value  ไปใช้นั้น ผู้ใช้จะต้องเข้าใจความหมายและตีความผลลัพธ์ได้อย่างถูกต้อง ข้อสำคัญคือ Shapley value สะท้อนผลกระทบเฉลี่ยของค่าฟีเจอร์หนึ่งผ่านการพิจารณาฟีเจอร์ดังกล่าวในหลายสถานการณ์ (กลุ่มย่อยของค่าฟีเจอร์) ไม่ใช่ความต่างของผลการทำนายที่จะเกิดขึ้นเมื่อนำฟีเจอร์ดังกล่าวออกจากโมเดล        

จุดเด่นของการใช้งาน Shapley value

  • Shapley value (ผลกระทบ) จากแต่ละฟีเจอร์ของข้อมูลจุดหนึ่ง เมื่อนำมารวมกันทั้งหมดแล้วจะได้ผลต่างระหว่างค่าทำนายที่จุดนั้นกับค่าทำนายเฉลี่ยของทั้งชุดข้อมูล  ทำให้สามารถอธิบายผลกระทบของฟีเจอร์ทั้งหมดกับค่าทำนายสุดท้ายได้อย่างครบถ้วนสมบูรณ์
  • วิธีคำนวณ Shapley value นอกจากจะใช้เพื่อประเมินผลกระทบของค่าทำนายกับค่าทำนายเฉลี่ยของทั้งชุดข้อมูล ยังสามารถปรับใช้เพื่อเปรียบเทียบค่าทำนายกับค่าทำนายเฉลี่ยในบางส่วน (subset) ของชุดข้อมูล หรือแม้กระทั่งกับข้อมูลอีกจุดหนึ่งได้
  • Shapley value เป็นวิธีการอธิบายโมเดลที่มีทฤษฎีและสมบัติทางคณิตศาสตร์รองรับ และสามารถอธิบายที่มาของผลการวิเคราะห์ได้อย่างชัดเจน ในขณะที่เทคนิคอื่นเช่นเทคนิค LIME ซึ่งใช้สมมติฐานว่าพฤติกรรมของโมเดลในพื้นที่ขนาดเล็กนั้นมีลักษณะเป็นเส้นตรงนั้นไม่ได้มีพื้นฐานทางทฤษฎีมาช่วยสนับสนุน

ข้อจำกัดของการใช้งาน Shapley value

  • การคำนวณ Shapley value นั้นจำเป็นต้องใช้เวลานาน (เนื่องจาก ถ้าหากมีฟีเจอร์ทั้งหมด k ฟีเจอร์ จะมีกลุ่มฟีเจอร์ที่ต้องพิจารณาถึง 2k กลุ่ม ส่งผลให้ในส่วนมาก ในการใช้งานจริงจึงใช้เพียงค่าประมาณ Shapley value เท่านั้น
  • การคำนวณ Shapley value จำเป็นต้องใช้ทุกฟีเจอร์ จึงไม่เหมาะกับการอธิบายโมเดลด้วยบางฟีเจอร์ของโมเดล ในกรณีที่ต้องการใช้ฟีเจอร์เพียงบางส่วนมาเพื่ออธิบาย เทคนิคเช่น LIME หรือ SHAP (เทคนิคการคำนวณที่ต่อยอดจากการคำนวณ Shapley value) นั้นอาจเป็นทางเลือกที่เหมาะกว่า
  • Shapley value ไม่ใช่โมเดลการทำนาย แต่เป็นตัวเลขที่ถูกใช้เพื่ออธิบายผลกระทบของแต่ละฟีเจอร์ ซึ่งไม่สามารถใช้เพื่อประเมินผลกระทบในกรณีที่ค่าฟีเจอร์เปลี่ยนแปลงไป เช่น หากเราวิเคราะห์โมเดลทำนาย credit score จากหลากหลายปัจจัย เราจะไม่สามารถประเมินได้ว่า ถ้าหากได้เงินเดือนเพิ่ม €300 แล้ว ค่า credit score จะสูงขึ้นเท่าใด
  • การคำนวณ Shapley value ไม่สามารถทำได้จากตัวโมเดลเพียงอย่างเดียว แต่จะต้องสามารถเข้าถึงข้อมูลจริง หรือข้อมูลเสมือนที่มีคุณสมบัติของข้อมูลจริงได้

อย่างไรก็ดี เพื่อให้การคำนวณ Shapley value มีประสิทธิภาพ และสอดคล้องกับการนำมาใช้งานจริง เทคนิค SHAP (SHapley Additive exPlanations) ได้ถูกพัฒนาขึ้นเพื่อให้สามารถทำการคำนวณ Shapley value ได้อย่างรวดเร็วพร้อมทั้งช่วยแก้ไขข้อจำกัดของการคำนวณ Shapley value ในบางส่วน ผู้อ่านที่สนใจสามารถทดลองใช้งานได้ผ่าน ไลบรารีของ Python ได้ นอกจากการคำนวณ Shapley value แล้วนั้น ไลบรารีตัวนี้ยังมีคำสั่งอื่นๆ เพื่อช่วยให้ผู้ใช้สามารถตีความค่า SHAP ได้อย่างสะดวกขึ้นอีกด้วย ทั้งนี้ ในบทความนี้เราจะไม่ได้พูดถึงหลักการทำงานของเทคนิค SHAP เนื่องจากการที่จะเข้าใจการทำงานดังกล่าว ผู้อ่านจำเป็นต้องเข้าใจรายละเอียดเชิงคณิตศาสตร์ของการคำนวณ Shapley value เป็นอย่างดี จึงขอยกไว้พูดอธิบายหากมีโอกาสในอนาคตครับ


ข้อมูลที่เกี่ยวข้องและข้อมูลเพิ่มเติม

แปล สังเคราะห์ และ เรียบเรียง โดยปฏิภาณ ประเสริฐสม
ตรวจทานและปรับปรุงโดย พีรดล สามะศิริ

Data Scientist Expert at Big Data Institute (BDI)

แบ่งปันบทความ

กลุ่มเนื้อหา

แท็กยอดนิยม

แจ้งเรื่องที่อยากอ่าน

คุณสามารถแจ้งเรื่องที่อยากอ่านให้เราทราบได้ !
และเราจะนำไปพัฒนาบทความให้มีเนื้อหาที่น่าสนใจมากขึ้น

ไอคอน PDPA

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ “นโยบายคุ้กกี้” และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ “ตั้งค่า”

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่มีความจำเป็น (Strictly Necessary Cookies)
    เปิดใช้งานตลอด

    คุกกี้ประเภทนี้มีความจำเป็นต่อการให้บริการเว็บไซต์ของ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล เพื่อให้ท่านสามารถเข้าใช้งานในส่วนต่าง ๆ ของเว็บไซต์ได้ รวมถึงช่วยจดจำข้อมูลที่ท่านเคยให้ไว้ผ่านเว็บไซต์ การปิดการใช้งานคุกกี้ประเภทนี้จะส่งผลให้ท่านไม่สามารถใช้บริการในสาระสำคัญของ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล ซึ่งจำเป็นต้องเรียกใช้คุกกี้ได้
    รายละเอียดคุกกี้

  • คุกกี้เพื่อการวิเคราะห์และประเมินผลการใช้งาน (Performance Cookies)

    คุกกี้ประเภทนี้ช่วยให้ BDI ทราบถึงการปฏิสัมพันธ์ของผู้ใช้งานในการใช้บริการเว็บไซต์ของ BDI รวมถึงหน้าเพจหรือพื้นที่ใดของเว็บไซต์ที่ได้รับความนิยม ตลอดจนการวิเคราะห์ข้อมูลด้านอื่น ๆ BDI ยังใช้ข้อมูลนี้เพื่อการปรับปรุงการทำงานของเว็บไซต์ และเพื่อเข้าใจพฤติกรรมของผู้ใช้งานมากขึ้น ถึงแม้ว่า ข้อมูลที่คุกกี้นี้เก็บรวบรวมจะเป็นข้อมูลที่ไม่สามารถระบุตัวตนได้ และนำมาใช้วิเคราะห์ทางสถิติเท่านั้น การปิดการใช้งานคุกกี้ประเภทนี้จะส่งผลให้ BDI ไม่สามารถทราบปริมาณผู้เข้าเยี่ยมชมเว็บไซต์ และไม่สามารถประเมินคุณภาพการให้บริการได้

  • คุกกี้เพื่อการใช้งานเว็บไซต์ (Functional Cookies)

    คุกกี้ประเภทนี้จะช่วยให้เว็บไซต์ของ BDI จดจำตัวเลือกต่าง ๆ ที่ท่านได้ตั้งค่าไว้และช่วยให้เว็บไซต์ส่งมอบคุณสมบัติและเนื้อหาเพิ่มเติมให้ตรงกับการใช้งานของท่านได้ เช่น ช่วยจดจำชื่อบัญชีผู้ใช้งานของท่าน หรือจดจำการเปลี่ยนแปลงการตั้งค่าขนาดฟอนต์หรือการตั้งค่าต่าง ๆ ของหน้าเพจซึ่งท่านสามารถปรับแต่งได้ การปิดการใช้งานคุกกี้ประเภทนี้อาจส่งผลให้เว็บไซต์ไม่สามารถทำงานได้อย่างสมบูรณ์

  • คุกกี้เพื่อการโฆษณาไปยังกลุ่มเป้าหมาย (Targeting Cookies)

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

บันทึกการตั้งค่า
ไซต์นี้ลงทะเบียนกับ wpml.org ในฐานะไซต์พัฒนา สลับไปยังไซต์การผลิตโดยใช้รหัส remove this banner.