ระบบ 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 มากเท่าไหร่ ข้อมูลก็จะยิ่งมีปริมาณที่สูงขึ้นไปตามลำดับ ยิ่งมีปริมาณข้อมูลสูงขึ้นมากเท่าไหร่ ความแม่นยำในการคาดเดาก็จะยิ่งแม่นยำมากขึ้นเท่านั้น