ระบบ Machine Learning แนวคิดพื้นฐานการทำ Website ให้คิดเองได้

แนวคิดการพัฒนาระบบ-machine-learning
แนวคิดการพัฒนาระบบ-machine-learning

ระบบ Machine Learning แนวคิดพื้นฐานการทำ Website ให้คิดเองได้

ระบบ Machine Learning แนวคิดพื้นฐานการทำ Website ให้คิดเองได้

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

Machine Learning หรือกลไกการเรียนรู้ด้วยตัวเองของชุดคำสั่งหรืออัลกอริทึม เป็นสาขาหนึ่งของการพัฒนาปัญญาประดิษฐ์ (Artificial Intelligence) หรือ เอไอ (AI) ปัจจุบันมีการนำระบบ machine learning มาใช้กับการพัฒนาซอฟต์แวร์ทั้ง website และ mobile application อย่างแพร่หลาย


ระบบ Machine Learning ใกล้ตัวเราที่พอจะนึกออก

  • Machines can see. มองเห็นเอง ตัวอย่างเช่น รถยนต์ไร้คนขับ ของ Tesla Motors
  • Machines can read.
 อ่านได้ ตัวอย่างเช่น รู้ว่าเรารีวิวหรือคอมเม้นสินค้าในทางที่ดีหรือไม่ดี
  • Machines can listen.
 ฟังได้ ตัวอย่างเช่น Siri, Cortana หรือ Google Now
  • Machines can talk. 
พูดหรือแนะนำได้ เช่น Siri, Google map navigator
  • Machines can write. เขียนได้ ปัจจุบันมีเว็บไซต์ที่ให้เราอัพโหลดรูปวาดขึ้นไประบบจะระบายสีให้อัตโนมัติ


เว็บขายสินค้าออนไลน์กับ Machine learning

(ข้อมูลด้านล่างเป็นการตั้งสมมุติฐานและยกตัวอย่างขึ้นมาเท่านั้น ไม่มีเว็บไซต์หรือสถิติข้อมูลที่เป็นจริง)


ตัวอย่างข้อมูลเว็บไซต์

  • เว็บไซต์ jipatashop.com (จิปาถะช๊อป.com) มีสมาชิกทั้งหมด 50,000 คน
  • มีปริมาณการเข้าชมเฉลี่ยต่อวัน 1,000 คน
  • มีสินค้าจำหน่ายออนไลน์มากกว่า 1,500 รายการ

โจทย์ในการพัฒนาระบบ Machine Learning

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

โจทย์ในการพัฒนาระบบ

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

ตัวอย่างการคิดอัลกอริทึม

  • 1. หาสินค้าที่สมาชิกเข้าชมบ่อยที่สุดหรือสินค้าที่เคยซื้อ ในช่วง 1-2 สัปดาห์ที่ผ่าน
  • 2. นำข้อมูลสินค้าจากข้อ 1 ไปค้นหาสมาชิกคนอื่น ที่เคยเข้าดูสินค้าหรือเคยซื้อ เหมือนกับสมาชิกในข้อ 1 จำนวน 10 คน มีเพศเดียวกัน อายุเฉลี่ยห่างกันไม่เกิน 5 ปี ตัวอย่างเช่น สมาชิกคนที่ 1 อายุ 25 สมาชิกที่อยู่ในเกณฑ์ต้องมีอายุ 20 – 30 ปี และเป็นเพศเดียวกัน
  • 3. นำสมาชิกทั้ง 10 คนจากข้อ 2 ไปค้นหาว่า สินค้าอื่น ๆ ที่สมาชิกทั้ง 10 คนเคยเข้าชมหรือเคยซื้อ 10 อันดับแรกคือสินค้าอะไรบ้าง
  • 4. จากข้อ 3 เราจะได้สินค้าทั้งหมดคือ 10×10 = 100 ชิ้น นำสินค้าทั้ง 100 มาคิดคะแนนลำดับ สินค้าชิ้นไหนซ้ำกันมากที่สุด หรือมีการเข้าชมมากที่สุด ให้มีคะแนนแนะนำสูงที่สุด เมื่อประมวลผลแล้วอาจจะมีสินค้าแนะนำ และมีแนวโน้มที่สมาชิกในข้อ 1 จะซื้อเหลืออยู่ไม่ถึง 100 ชิ้น
  • 5. จากข้อ 1 – 4 แน่นอนว่าเมื่อเว็บไซต์มีสมาชิกมากขึ้น มีการซื้อสินค้ามากขึ้น มี attribute ใหม่ ๆ ที่สามารถนำมาคำนวณได้มากขึ้น ความแม่นยำก็จะมากขึ้นตามไปด้วย

ตัวอย่างข้อมูลที่จำเป็นสำหรับระบบ

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

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