TPA จับมือยกระดับค้าปลีกไทย สู่ยุคดิจิทัล ภายในงาน Go Tech Talk 2025
สมาคมโปรแกรมเมอร์ไทย ได้เข้าร่วมงาน Go Tech Talk: Retai […]
เมื่อวานนี้ 20 /2/2016 มีโอกาสได้มาเรียน Machine Learning กับ ดร.กานต์ ที่ Geeky Base เป็นเวลาครึ่งวัน เนื่องจากไม่ได้ลงทะเบียนไว้ พอดีผ่านมาทำธุระแถวเกษตรพอดี เลยขอท่านอาจารย์มาขอความรู้ด้านนี้ไว้เนื่องจากกำลังสนใจอย่างมาก และถ้าได้รับคำชี้แนะจากคนที่มีประสบการณ์ก็จะได้ไม่หลงทาง สิ่งที่ได้รับจากการเรียนครึ่งวัน ขอสรุปคร่าวๆ ดังนี้
Machine Learning คืออะไร ?
การนำประสบการณ์ หรือข้อมูล (E=>Experience) มาสอนให้ Machine เรียนรู้ในรูปแบบฟังก์ชั่นของ โมเดลในการวัดผลต่างๆ (T => Task) และทำตรวจสอบผลลัพธ์ Measurement (P) สรุปก็คือ จุดประสงค์ที่เราสอนคอมพิวเตอร์ให้ตัดสินใจแทนเรา ซึ่งก็ต้องป้อนข้อมูล E => โมเดลในการวัดผล T => ตรวจสอบผลลัพธ์ P
ทำไมต้องใช้ Machine Learning
มนุษย์เรามีความสามารถในการตัดสินใจได้ไม่แน่นอนเหมือนเครื่องจักร อารมณ์มีผลต่อการตัดสินใจมากกว่าเหตุผล ดังนั้นในงานที่ต้องทำซ้ำๆเป็นประจำ หรือการตัดสินใจในสถานการณ์ต่างๆ การนำเครื่องมืออย่างคอมพิวเตอร์มาข่วยตัดสินใจก็จะช่วยให้ลด ความผิดพลาดของคนทำงาน (Human Error) ได้
Machine Learning กับ Statistics กับ Data Mining
หลายคนที่คิดว่า 3 อย่างนี้เหมือนกัน อาจจะมีส่วนจริงและไม่จริง แต่ถ้าหากมองที่จุดประสงค์ของทั้งสามอย่างนี้ ไม่ได้มีจุดประสงค์เหมือนกันซะทีเดียว แต่ละตัวมีจุดประสงค์ ดังนี้
แต่ว่ามีความเป็นไปได้ว่าทั้งสามเรื่องมีความสัมพันธ์กัน จากรูปที่เข้าใจน่าจะแสดงความสัมพันธ์ได้ประมาณนี้
[img class=”aligncenter” src=”/wp-content/uploads/2016/02/ml.png”]
จุดเริ่มต้นของทุกอย่างก็คือต้องมีข้อมูล Data ก่อน การทำ Data Mining จำเป็นต้องมีข้อมูล ส่วนการนำเสนอผลลัพธ์ในเชิงสถิติอาจจะใช้ข้อมูลจาก
ส่วน Machine Learning จะนำข้อมูลดิบ หรือข้อมูลที่มีการแปรผลแล้วไปใช้ในการต้ดสินใจเพื่อดำเนินการบางอย่างต่อไป
Programming กับ Machine Learning
การเขียนโปรแกรมเป็นการเขียนฟังก์ชั่นให้ทำงานได้ตาม Requirement ที่ได้รับมา ต่างจาก Machine Learning คือ
Machine Learning จะเป็นการเอาข้อมูลมาใส่ในฟังก์ชั่นหรือโมเดลเพื่อหาคำตอบ
Machine Learning นำไปประยุกต์ใช้ในงานอะไรบ้าง
เครื่องมือในการช่วยวิเคราะห์และจำแนกข้อมูลแบบต่างๆ
การเขียนโปรแกรมจำแนกรูปว่าอันไหนคือหมาอันไหนคือแมว เป็นเรื่องยากมากที่โปรแกรมเมอร์จะเขียนได้ทุกคน หรือหากต้องเขียนเองก็คงต้องใช้เวลามาก ปัจจุบันมีเครื่องมือที่นำมาช่วยในงาน Machine Learning สำหรับจำแนกข้อมูประเภทต่างๆดังนี้
โมเดลในการนำมาหาคำตอบของข้อมูลมีอะไรบ้าง
สำหรับโมเดลที่ใช้ใน Machine Learning มีมากมายหลายตัว ที่พอจับใจความได้ ก็จะมี (ท่านอาจารย์สอนสูตรคณิตศาสตร์กันเลยทำผมนี่หลุดไป ตกคณิตครับ)
All models are wrong, but some are useful -> George E.P. Box
ในระหว่างที่เรียนเนื่องจากผมเขียนโปรแกรมด้วย NodeJS เป็นหลัก ก็เลย Search npm ดูก็เจอหลายตัว อย่างเช่น https://www.npmjs.com/package/machine_learning ซึ่งโมเดลที่ได้รับความนิยมทั่วไปก็น่าจะมีหมด
สำหรับโมเดลใหม่ที่แก้ไขปัญหาการวิเคราะห์ให้วัดผลข้อมูลได้ถูกต้องมากขึ้นที่ได้ยินวันอบรมก็คือ Deep Learning
Deep learning เป็นชื่อเรียกของการ learning อีกแบบนำวิเคราะห์ข้อมูลหลายๆ ลำดับขั้น
[img class=”aligncenter” src=”/wp-content/uploads/2016/02/maxresdefault.jpg”]