Contact

Follow

  • medium-logo-black-transparent
  • Black Twitter Icon

66 95-460-8830

©2017 by Coraline

Please reload

Recent Posts

%Accuracy ไม่ใช่คำตอบสุดท้ายเสมอไป

January 15, 2019

 

%Accuracy คือ การวัดความแม่นยำของการทำนายผล

 

ก่อนที่จะไปถึงเนื้อหาว่า ทำไม %Accuracy ไม่ใช่คำตอบสุดท้ายเสมอไป มาทำความเข้าใจกันก่อนว่า Machine Learning Model แบ่งออกเป็น ประเภทใหญ่ๆ คือ Supervised กับ Unsupervised Model แตกต่างกันที่ Supervised Model จะมีต้นแบบ หรือ Target ให้เป็นตัวอย่าง ในขณะที่ Unsupervised Model จะไม่มีต้นแบบนั้น

 

ดังนั้น ในการวัดผลประสิทธิภาพของ Model สำหรับ Supervised Model จึงใช้ %Accuracy เป็นหลัก ทั้งนี้ ในส่วนของ Unsupervised Model จะไม่สามารถวัด %Accuracy ได้

 

%Accuracy อาจวัดได้จากความคลาดเคลื่อนของผลการทำนายจากค่าจริงที่เกิดขึ้น ซึ่งไม่มีตำราไหนบอกอย่างชัดเจนว่า %Accuracy ควรเป็นเท่าไหร่

 

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

 

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

 

ในคำ “ประสิทธิภาพ” นั้นวัดผลได้หลากหลายรูปแบบ ไม่ว่าจะเป็น %Accuracy Speed และงบประมาณที่ใช้เพื่อการประมวลผล

 

อย่างไรก็ตาม %Accuracy ดูเหมือนจะเป็นเรื่องที่ Data Scientist ให้ความสำคัญที่สุด เพราะนี่คือ ความท้าทายในเชิงเทคนิค (ในขณะที่เรื่องงบประมาณ อาจจะไม่ใช่ข้อจำกัดที่ Data Scientist ต้องคำนึงถึง)

 

ตามหลักการแล้ว Data Scientist จะเลือก Model ที่มีประสิทธิภาพดีที่สุดมานำเสนอให้ Business รับทราบ และ Business มีหน้าที่ในการสอบถาม หรือ ทำการเลือก Model ที่เหมาะสมในขั้นตอนสุดท้าย

 

ดังนั้น หาก Business ไม่เข้าใจกลไกการทำงานของ Model ก็อาจไม่สามารถตัดสินใจได้

 

ประเด็นสำคัญของบทความนี้ แบ่งออกเป็น 2 ประเด็น

 

1. ในกรณีที่ได้ผลลัพธ์ที่มี %Accuracy สูงๆ อาจต้องมีการพิจารณาปัจจัยอื่นประกอบด้วย เช่น 

- จำนวนข้อมูลที่นำไป Train มากพอหรือไม่ ข้อมูลที่นำไปทดสอบ สามารถเชื่อถือได้หรือไม่ 

- ใช้เวลาในการสร้าง Model นานเท่าไหร่ 

- วิธีการวัด %Accuracy คำนวณอย่างไร 

- ในการนำ Model ไปขึ้นระบบจริง มีขั้นตอนอย่างไร รวมไปถึง แนวทางในการเชื่อมโยงข้อมูลกับระบบอื่นๆ

 

ตัวอย่างเช่น Netflix ได้ประกาศว่า ไม่มีการใช้ Model ที่ชนะการประกวด ซึ่งเป็น Model ที่สามารถเพิ่ม %Accuracy ในการแนะนำหนังให้ลูกค้าได้มากขึ้น 10% เหตุผลคือ การนำ Model นี้ไปขึ้นระบบจริง จะมีผลต่อระบบกลไกภายในอย่างมาก นำพามาซึ่งค่าใช้จ่ายมหาศาล เป็นต้น

 

2. ในกรณีที่ผลลัพธ์มี %Accuracy น้อยกว่าที่คาดการณ์เอาไว้ แม้ว่า Data Scientist จะได้ทำการสร้าง Model หลายๆ แบบ และมีการเปลี่ยนปัจจัยไปแล้วหลายครั้ง อาจเป็นไปได้ว่า ยังมีข้อมูลไม่พอ หรือ ตัวข้อมูลยังไม่มีคุณภาพมากพอ ซึ่งแนวทางการแก้ไข ไม่ใช่การสร้าง Model ที่แสนวิเศษ แต่เป็นการแก้ที่ต้นตอ นั่นคือ ช่องทางการได้มาซึ่งข้อมูล

 

จากประสบการณ์ของทีม Coraline จะได้รับคำถามเกี่ยวกับ %Accuracy บ่อยครั้ง ซึ่งเราขอเสนอกรณีศึกษาเกี่ยวกับการทำนายยอดขายสินค้า 2 กรณีด้วยกันดังนี้

 

1. โครงการแรก เราพบว่า จะมีการสั่งสินค้าจากส่วนกลางไปยังสาขาก็ต่อเมื่อสินค้าหมด หรือ ลูกค้ามาซื้อของแล้วไม่ได้ของ หลายครั้งที่พบว่า มีความต้องการสินค้า แต่ไม่มีการขายสินค้า ทำให้เห็นยอดการขายเป็น 0 บ่อยครั้ง เกิดจากการไม่มีสินค้าสำรองที่หน้าร้าน เมื่อนำข้อมูลมาสร้าง Model ทำให้ %Accuracy จึงไม่สูงมาก (ประมาณ 65%) แต่เจ้าของโครงการมีความเข้าใจในระบบฐานข้อมูลเดิมที่ไม่เรียบร้อย จึงพอใจกับผลการทำนายอย่างมาก

 

2. โครงการที่ 2 เราพบว่า ในส่วนของการทำงานที่หน้าร้าน มีกรณีขายสินค้าไปก่อน โดยที่ยังไม่มีการ Key สินค้าเข้าระบบ ทำให้เห็นจำนวนสินค้าคงคลังเป็นค่าติดลบ อีกทั้ง ยังมีการคืนย้อนหลังของบ่อยครั้ง เกิดจากการยิง Barcode ผิดตำแหน่ง ก่อนที่เราจะนำข้อมูลนี้ไปสร้างเป็น Model เราได้มีการปรึกษาเรื่องความถูกต้องของข้อมูลกับเข้าของโครงการ และได้รับคำตอบมาว่า ไม่สามารถเปลี่ยนแปลง Operation ได้ เนื่องจากยุ่งยากและซับซ้อนเกินไป ทำให้ Transaction รายวันในระบบมีความคลาดเคลื่อนอย่างมาก แม้จะมีการ Clean ข้อมูลเบื้องต้น แต่เป็นการ Clean ภายใต้ข้อจำกัด ทำให้ผลลัพธ์ในการทำนาย มี %Accuracy อยู่ที่ 75% อย่างไรก็ตาม ทางเราได้รับ Feedback กลับมาว่า %Accuracy นี้ น้อยเกินไป

 

กรณีตัวอย่าง ทั้ง 2 กรณี กำลังบ่งบอกถึงความเข้าใจในการใช้ Data จากเจ้าของโครงการทั้ง 2 โครงการ

 

หลายคนคิดว่า Big Data คือ ยาสารพัดโรค และ Data Scientist คือ ผู้วิเศษ (ในความเป็นจริง ถ้า Data Scientist เป็นผู้วิเศษขนาดนั้น ก็คงสร้าง Model ทำนายเศรษฐกิจ หรือเล่นหุ้นอยู่ที่บ้านแสนสบายกันไปทุกคนแล้ว)

 

ทุกอย่างมีหลายด้าน (มากกว่า 2 ด้าน) ไม่ว่าจะเป็นกรณีที่ %Accuracy สูงมากๆ หรือ %Accuracy น้อยมากๆ ก็ตาม เพราะ Model เกิดจากการนำ Data มาต่อยอด และพื้นฐานการสร้าง Model คือ การลองผิดลองถูก ถ้าเรามีต้นแบบที่ถูกต้อง ก็จะสามารถเลียนแบบความถูกต้องนั้นได้ แต่ถ้าต้นแบบผิดเพี้ยน จะหวังให้ได้ผลลัพธ์ที่มีคุณภาพก็คงจะยาก ในขณะเดียวกัน %Accuracy อาจมีความเกี่ยวข้องโดยตรงต่อระบบการประมวลผล เพราะยิ่งคิดเยอะเท่าไหร่ ก็ยิ่งได้ผลลัพธ์ที่ลึกมากเท่านั้น นั่นอาจหมายถึง ค่าใช้จ่าย และความซับซ้อนของระบบที่มากเกินไป

 

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

 

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

 

 

 

#BigData

#DataScience

#Optimization

#ProductivityImprovement

#DigitalTransformation

 

#Coraline ให้คำปรึกษาการทำ Big Data Project และ Digital Transformation เพื่อเพิ่มศักยภาพของธุรกิจ

 

Share on Facebook
Share on Twitter
Please reload

Please reload