Machine Learning Ep.1: บทนำ
เคยสงสัยมั้ยครับว่าทำไม Netflix แนะนำหนังที่ตรงกับความชอบของเราได้หรือ เจ้าสมาร์ทโฟนของเราเนี้ยรู้ได้ยังไงว่าเป็นเจ้าของมือถือคือผู้ปลดล็อคหน้าจอ เบื้องหลังของเทคโนโลยีในปัจจุบันรอบตัวเราล้วนแล้วแต่มี Machine Learning เข้ามาเกี่ยวข้องทั้งนั้น บทความนี้ผมก็จะมาเล่าให้ฟังคร่าวๆว่า คำว่า Machine Learning คืออะไรพร้อมกับสาธิตตัวอย่างเบื้องต้นให้ดูกันครับ
Machine Learning คืออะไร?
Machine Learning คือเบื้องหลังการทำงานของพวกปัญญาประดิษฐ์หรือที่เราเคยได้ยินกันอย่างคุ้นหูว่า AI(Artificial Intelligence) นั่นเอง โดยอ้างอิงข้อมูลจากที่เรามีอยู่ในมือไปสอนตัว Machine
Machine Learning ใช้ทำอะไร?
หลังจากที่เราป้อนข้อมูลให้ Machine ของเราแล้วหน้าที่หลักๆของเครื่องเลยก็จะเป็นเรื่องการทำนายครับ ไม่ว่าจะเป็นเรื่อง ชอบ/ไม่ชอบ , เป็นโรค/ไม่เป็นโรค , ปริมาณสินค้าที่ควรผลิตในเดือนถัดไป
Machine Learning มีอยู่ 2 ประเภทนั่นคือ
- Supervised Learning : การเรียนรู้ประเภทนี้คือเราจะต้องสอนระบบว่า ถ้าป้อน 1 เข้าไปจะต้องตอบ 2 นะเช่น ตอนที่เราสอนระบบให้รู้จักหน้าคนโดยใส่รูปหน้าเข้าไป เราสามารถเช็คคำตอบจากระบบได้ว่ามันทำนายถูกหรือผิดจากข้อมูลที่เราให้มันเรียนรู้ ยกตัวอย่างเช่น เราสามารถตรวจสอบได้ว่าหนังที่ Netflix แนะนำเรามานั้นตรงกับความชอบของเราหรือไม่, เราสามารถเช็คกับ Siri ได้ว่าคำพูดที่เครื่องตรวจจับได้ตรงกับคำพูดที่เราพูดออกไปจริงๆหรือเปล่า
- Unsupervised Learning : การเรียนรู้ประเภทนี้คือเราจะให้ระบบจำแนกประเภทของข้อมูลด้วยตัวของมันเองด้วยเกณฑ์บางอย่าง ยกตัวอย่างเช่น
ระบบแบ่งจุดในข้อมูลต่างๆออกเป็น 3 สีเพื่อใช้ในการทำนายว่า จุดต่อไปที่เพิ่มมานั้นจัดอยู่ในสีไหนนั่นเอง
เรามาลองดูตัวอย่างง่ายๆกันเลยดีกว่านะครับ
สมมติเราสำรวจคน 15 คนว่าปริมาณน้ำที่ดื่มในแต่ละวันกับความเร็วเฉลี่ยในระยะการวิ่ง 100 เมตรเราจะเห็นว่ามันสอดคล้องกันไปในทางเดียวกันใช่มั้ยครับ
ทีนี้เราจะแบ่งส่วนนึง ไว้สอนระบบของเรา ข้อมูลที่เราใช้สอนระบบจะเรียกว่า Training Data (สีเขียว) ส่วนข้อมูลที่เราจะนำมาทดสอบจะเรียกว่า Testing Data (สีดำ) โดยจะยังไม่พูดถึงวิธีการแบ่งนะครับว่าควรเอาข้อมูลไหนมาสอนระบบ
หลังจากที่นำข้อมูลที่อยากทดสอบออกจากระบบก็จะเหลือแค่ Training Data
ทีนี้เราจะสร้างเส้นตรงขึ้นมาเพื่อทำนายแนวโน้มของข้อมูลโดยใช้ Linear Regression ยกตัวอย่างเช่น ถ้าจำนวนน้ำที่ดื่มเท่ากับ 5 ลิตรต่อวัน เราจะทำนายว่าความเร็วเฉลี่ยในการวิ่ง 100 เมตร จะประมาณ 4.72 เมตรต่อวินาที
เพิ่มเติม: ทำไมเราไม่ใช้เส้นที่มัน fit กับ Training Data(จุดสีฟ้า) 100 % เลยหละ? คำตอบคือเพราะเวลาทดสอบจริงๆแล้วโมเดลพวกนี้มั่กจะทำนายได้ไม่ดีสังเกตได้จาก Testing Data(จุดสีเขียว) ในรูปด้านบน
จากรูปจะเห็นได้ว่าเส้นของเรายังทำนายได้ไม่ดีเท่าไหร่ใน Testing Data เนื่องจากว่าผมไม่ได้เลือกชุดข้อมูลที่ดีสุดสำหรับการสอนระบบนั่นเอง ซึ่งในบทความต่อไปนั้นเราก็จะมาอธิบายให้ฟังกันครับว่า แล้วเราควรแบ่งจุดไหนเอาไว้เทรนกับทดสอบระบบ
สรุป
- Machine Learning คือส่วนการเรียนรู้ของปัญญาประดิษฐ์
- Machine Learning มีไว้สำหรับทำนายกับแยกแยะข้อมูล
- Machine Learning แบ่งได้เป็น 2 ประเภทคือ Supervised กับ Unsupervised
ก็จบกันไปเป็นที่เรียบร้อยนะครับสำหรับบทความแรกที่ผมเขียน หากถูกใจเพื่อนๆก็สามารถกด Clap เพื่อเป็นกำลังใจหรืออยากแนะนำเพิ่มเติมตรงไหนก็ Response กันมาได้เลยครับ