Machine Learning คืออะไรใน 10 นาที
สั้น ๆ แต่ได้ใจความสำหรับ Machine Learning
— — — — — — — — — — — — — — —
สารบัญเนื้อหาทั้งหมด (My Contents)
— — — — — — — — — — — — — — —
เชื่อว่ามีหลายคนเคยได้ยินคำว่า Machine Learning มาบ้าง อาจจะโฆษณาพวก smartphone อะไรทำนองนี้ แต่ไม่รู้จริง ๆ ว่ามันคืออะไร
สำหรับบทความนี้ผมจะมาอธิบายโดยสรุปให้ครับ ไม่จำเป็นต้องมี background ด้านคอมพิวเตอร์หรือไอทีก็น่าจะพอเข้าใจได้(มั้ง)ว่า…
- Machine Learning คืออะไร? (ในเบื้องต้น)
- เมื่อไหร่ที่ควรใช้ Machine Learning?
Machine Learning คืออะไร?
Machine Learning คือ การเขียนโปรแกรมให้คอมพิวเตอร์เรียนรู้ที่จะทำอะไรสักอย่างด้วยตัวมันเองโดยที่เราไม่ต้องไปตั้งเงื่อนไขให้มันเหมือนการเขียนโปรแกรมแบบทั่วไป จบครับ ฮ่า ๆ
โอเค เดี๋ยวผมขยายความให้เห็นภาพละกัน…โดยเริ่มแรกให้เรามองว่า Machine Learning คือ new programming paradigm ครับ หรือแปลเป็นไทยได้ว่ามันเป็นอีกหนึ่งวิธีในการเขียนโปรแกรม
และก่อนจะอธิบายต่อไป ผมขอสมมุติเหตุการณ์ขึ้นมาก่อนว่าเรากำลังจะเขียน software ใน smart watch เพื่อบอกว่าตอนนี้ผู้สวมใส่มี activity อะไรอยู่ละกัน
Traditional Programming
ปกติในการเขียนโปรแกรมทั่ว ๆ ไป (Traditional Programming) เราจะกำหนด rules (เงื่อนไข) ขึ้นมาก่อน จากนั้นจะนำ data ของเรา input เข้าไปเพื่อให้ได้ answers ที่ต้องการ เช่นเงื่อนไขคือ
ถ้า ความเร็ว อยู่ระหว่าง 0–3 หน่วย แปลว่า เดิน
ถ้า ความเร็ว อยู่ระหว่าง 4–12 หน่วย แปลว่า วิ่ง
ถ้า ความเร็ว ตั้งแต่ 12 หน่วยขึ้นไป แปลว่า ขี่จักรยาน
โดยที่
- Data คือ ความเร็ว
- Rules คือ เงื่อนไขด้านบน
- Answers คือ เดิน, วิ่ง หรือ ขี่จักรยาน
แล้วถ้า speed อยู่นอกเหนือจาก rules ที่เรากำหนดไว้หละ? ก็แค่เพิ่ม rule ใหม่ ๆ เข้าไปใช่ไหมครับ? ก็น่าจะได้หนิ ฮ่า ๆ
Machine Learning
สำหรับ Machine Learning นั้นต่างออกไป เพราะเราจะนำ data และ answer จำนวนมาก input เข้าไป(เรียกว่า train หรือสอนมันนั่นแหละ) เพื่อให้ได้ rules ออกมา(หรือก็คือ model)
นี่คือตัวอย่าง data ที่เราจะใช้ train ให้มัน และต้องมีจำนวนมากพอด้วย ตัวอย่างนี้เป็นการ Classification (จำแนกประเภท) ด้วย Supervised Learning ครับ
speed, activity
3, เดิน
4, เดิน
6, วิ่ง
11, วิ่ง
15, ขี่จักรยาน
…
…
จากนั้นเราจะได้ model นำไปใช้ในการ predict หา answer ของเรา คล้าย ๆ ว่าเราได้สมการ, ฟังก์ชั่น หรือพูดง่าย ๆ ว่าสูตรคำนวณอะไรสักอย่างมา ซึ่งเมื่อ input ด้วย data ชุดใหม่เข้าไปในสูตรนั้น เราก็จะได้ answer ออกมานั่นเองครับ
เมื่อไหร่ควรใช้ Machine Learning ?
จากรูปนี้จะเห็นว่า หากผู้สวมใส่กำลังตีกอล์ฟอยู่หละ? เล่นฟุตบอล? ตีเทนนิส?
การเขียนโปรแกรมแบบเดิมแทบจะเป็นไปได้ไม่ได้เลยที่จะหาคำตอบให้เรา เนื่องจากมีหลาย parameter นอกเหนือจาก speed เช่น ระยะจากแขนถึงพื้น, มุมของแขน ฯลฯ
คุณจะต้องมี rules มากมายมหาศาลแค่ไหนให้ครอบคลุมทุกความเป็นไปได้ของแต่ละ activity? ดังนั้น Machine Learning จึงเป็นคำตอบของเราครับ
อ้างอิงเนื้อหาบางส่วนจาก:
https://www.coursera.org/learn/introduction-tensorflow