ทำไมเราต้องใช้ Machine Learning

Athiwat
Machines School
Published in
2 min readSep 15, 2019

ในบทความ “Machine Learning คืออะไร” เราได้อธิบายถึงความหมายของคำว่า Machine Learning กันไปแล้ว สำหรับบทความนี้ เราจะมาดูกันว่าทำไมเราต้องใช้ Machine Learning และ Machine Learning เหมาะกับงานหรือปัญหาแบบไหน

เพื่อให้ง่ายต่อการทำความเข้าใจใน Machine Learning ผมจะยกตัวอย่างโปรแกรมคัดกรองสแปมเมล โดยปัญหาของผมก็คือต้องการพัฒนาระบบที่สามารถคัดกรองสแปมเมล (Spam mail) หรือไม่ใช่สแปมเมล (Ham mail) โดยใช้วิธีการเขียนโปรแกรมแบบดั้งเดิม (Traditional Programming) เราจะต้องทำอย่างไรบ้าง

เริ่มแรกเราก็มาดูกันก่อนว่าอีเมลแบบไหนที่เป็นสแปมเมล โดยอาจจะดูจากเนื้อหาในอีเมลหรือหัวข้ออีเมลที่ส่งมา เช่น

  • รายได้ดี!! ทำงานวันละ 3–4 ชั่วโมง
  • คุณคือผู้โชคดีได้รับไอโฟน 10
  • รับเจ้าหน้าที่โปรโมทสื่อข่าวสารออนไลน์
  • นาทีทอง!! แจกจริง 10 ท่านเท่านั้น
  • ทำงานผ่านอินเตอร์เน็ต 100%

จากนั้นเราก็เขียนอัลกอริทึมในการตรวจสอบหัวข้อและเนื้อหาภายในอีเมลหากเจอคำเหล่านี้ในอีเมลเป็นจำนวนมากก็ระบุไปเลยว่าอีเมลฉบับนี้เป็นสแปม

จากนั้นเราก็จะทำการทดสอบและทำซ้ำแบบนี้ไปเรื่อยๆ จนกว่าโปรแกรมของเราจะสามารถทำงานได้เป็นอย่างดี

แต่เมื่ออีเมลมีข้อความที่แปลกไปจากเดิมหรือมีการใช้ลักษณะคำที่หลีกเลี่ยงการดักจับสแปมเมล ปัญหาของเราก็จะมีความซับซ้อนมากยิ่งขึ้น เราก็จะเพิ่มกฎ เพิ่มขั้นตอนเข้าไปในอัลกอริทึมของเรามากขึ้นเป็นเงาตามตัว ทำให้โปรแกรมของเรามีความซับซ้อนและยากต่อการดูแลรักษา

Rule-based solution

Machine Learning Techniques

หากเรานำ Machine Learning หรือ การเรียนรู้ของเครื่อง เข้ามาช่วยในการหารูปแบบของคำหรือประโยคที่ปรากฎบ่อยๆในสแปมเมลโดยเทียบกับอีเมลที่ไม่ใช่สแปม

Machine Learning solution

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

Automatically adapting to change
Traditional programming vs Machine Learning

แน่นอนครับว่า Machine Learning ไม่ได้เป็นวิธีที่ใช้สำหรับแก้ปัญหาในทุกปัญหา ดังนั้นจึงพอสรุปได้ว่า Machine Learning เหมาะกับ

  1. ปัญหาที่ไม่สามารถเขียนเป็นกฎหรือเงื่อนไขได้ หรือผลลัพธ์ของวิธีการนั้นขึ้นอยู่กับปัจจัยต่างๆจำนวนมาก การที่เราจะระบุกฎหรือเงื่อนไขให้ครบและได้ผลลัพธ์ที่ถูกต้องจึงเป็นสิ่งที่ยากและซับซ้อนจนเราไม่สามารถใช้วิธีการเขียนโปรแกรมแบบดั่งเดิมได้ การนำ Machine Learning เข้ามาจะสามารถแก้ปัญหาได้อย่างมีประสิทธิภาพ
  2. ปัญหาที่มีข้อมูลปริมาณมหาศาล (Big data) หากจะคัดกรองว่าอีเมลไหนเป็นสแปมหรือไม่เป็นสแปมแค่ร้อยสองร้อยฉบับก็ยังพอทำไหว แต่หากต้องให้มานั่งทำเป็นแสนเป็นล้านฉบับคงไม่ใช่เรื่องสนุกแน่นอน ดังนั้นการใช้ Machine Learning จึงสามารถที่จะช่วยเราทำงานที่ซ้ำซากได้อย่างอัตโนมัติ
  3. ปัญหาที่ต้องค้นหารูปแบบและความสัมพันธ์ที่ซ่อนอยู่ในชุดข้อมูลขนาดมหาศาล หรือที่เรียกว่า “Data Minig” ตัวอย่างเช่น การใช้เพื่อเป็นตัวช่วยในการตัดสินใจทางธุรกิจ การใช้คาดการณ์แนวโน้มของพฤติกรรมการใช้บัตรเครดิต เป็นต้น ในปัญหาลักษณะนี้ Machine Learning ช่วยให้มนุษย์เรียนรู้

--

--

Athiwat
Machines School

Founder of Humaan.ai—Building the integration of humans and AI