Skip to content

Machine learning #1 | Machine learning คืออะไร?

ก่อนจะเริ่มเรียนรู้อะไรเราก็ต้องรู้ก่อน ว่าสิ่งที่เราเรียนรู้คืออะไร งั้นผมขอเริ่มด้วยคำถามว่า “Machine learning คืออะไร?” ก่อนก็แล้วกัน

Machine หรือ เครื่อง ในที่นี้คือคอมพิวเตอร์ ซึ่งคอมพิวเตอร์ก็เป็นเครื่องคำนวณอย่างหนึ่งถ้าจะให้มันทำงานก็ต้องเขียน logic (code) ให้มันทำงานตามซึ่งก็คือ “โปรแกรม”  ความจริงแล้วคอมพิวเตอร์ไม่ได้ฉลาดเลยครับ ความฉลาดเกิดจากคนที่โปรแกรมให้มัน คอมพิวเตอร์แค่คำนวณได้เร็วกว่ามนุษย์มากๆ เท่านั้นเอง มันไม่ได้เข้าใจข้อมูลอะไรเลยถ้าเราไม่สร้างองค์ความรู้ให้มันซะก่อน

สมมุติเรามีเด็กอยู่คนนึง (เปรียบเสมือน machine) เราต้องการให้เขาแยกผลไม้เป็นกลุ่มๆ ซึ่งเราอาจจะกำหนดว่าให้แยกตามสี (เปรียบเสมือน feature) สมมุติว่าเด็กคนนั้นไม่รู้เรื่องสีมาก่อนเลยก็ต้องสอนเขาก่อนว่านี่คือสีอะไร (เปรียบเสมือนการ train) เมื่อเด็กรู้จักสีแล้วต่อมาเมื่อเราเอาผลไม้ที่เขาอาจจะไม่รู้จักมาก่อนแต่เขารู้แล้วว่าผลไม้นั้นสีอะไร เราก็คาดหวังว่าเขาก็ควรจะแยกกลุ่มผลไม้ได้เองอย่างถูกต้อง เป็นต้น

เอาให้ใกล้เคียงคอมพิวเตอร์ขึ้นมาหน่อยละกัน ยกตัวอย่างที่โคตรคลาสสิก พบเจอในชีวิตจริงและใกล้ตัวเรา เช่น การคัดแยกอีเมลสแปม ผู้ให้บริการอีเมลจะมีฟีเจอร์แยกอีเมลที่ “คาดว่า” จะเป็นสแปมให้ไปอยู่ในกล่อง Spam โดยอัตโนมัติ โดยที่เราไม่ต้องเสียเวลากดย้ายไปเอง แล้วคอมพิวเตอร์รู้ได้ยังไงว่าอีเมลนี้เป็นอีเมลสแปม? ถ้าให้คนมาคัดกรองอีเมลเป็นล้านล้านฉบับจะไหวเหรอ? จริงๆ ก็อาจจะได้แหละแต่ลองคิดดูว่าถ้าต้องจ้างคนมาอ่านอีเมลจะใช้ค่าใช้จ่ายขนาดไหน ไหนจะเรื่องความเป็นส่วนตัวอีกล่ะ?

เมื่อเรามีคอมพิวเตอร์ทำงานแทนแล้ว จะดีกว่าไหมถ้ามีระบบอัตโนมัติมาทำแทน แต่คอมพิวเตอร์จะรู้ได้ยังไงว่าอีเมลไหนเป็นอีเมลสแปม อีเมลไหนไม่ใช่ เราก็ต้องสอนมันก่อนครับ แต่เนื่องจากคอมพิวเตอร์เป็นเครื่องคำนวณอย่างหนึ่งดังนั้นถ้าจะให้มันเข้าใจข้อมูลต้องสอนมันด้วยสิ่งที่เราตั้งคำถามกับมันเสมอมาว่าเรียนไปทำไมนั่นก็คือ … คือ … วิชาที่เราเกลียดๆ กันอย่างคณิตศาสตร์นั่นแหละ logic ความน่าจะเป็น แคลคูลัส แล้วแต่อัลกอริทึม และโดยทั่วไปเวลาเรา represent ข้อมูลก็ใช้ vector, matrix ด้วย จะเห็นว่าวิชาที่เราบ่นว่าเรียนไปไม่ได้ใช้เนี่ยมันถูกเอามาใช้ในนี้เยอะเลย

Machine learning เป็นวิชาประยุกต์ไม่ใช่ pure-science, pure-mathematics ต้องใช้ความรู้หลายด้านทั้งคอมพิวเตอร์ คณิตศาสตร์และสถิติเพื่อให้เครื่องเรียนรู้จากข้อมูลได้ เราเอาความรู้พวกนี้แหละมาต่อยอดเหมือนเอา jigsaw เล็กๆ แต่ละชิ้นมาต่อกันเป็นภาพใหญ่

สรุป machine learning ก็คือการสอนให้เครื่องมีความสามารถที่จะเรียนรู้โดยที่เราไม่จำเป็นต้องไปกำหนด logic หรือโปรแกรมมันอีก ครั้งหน้าเมื่อมี input เข้ามาเครื่องจะสามารถตัดสินใจได้เองว่า output ควรเป็นอะไรด้วยความรู้จากข้อมูลที่เราสอนให้

คราวหน้ามาดูกันว่า machine learning มีกี่ประเภท อะไรบ้าง ต่างกันยังไง

Be First to Comment

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.