/ Machine Learning

Machine Learning 4 ประเภท

ในบทความนี้ เราจะมาดูภาพกว้างของ Machine Learning ว่ามีกี่ประเภท อะไรบ้าง บางคนอาจเคยเรียนหรืออ่านมา แล้วรู้สึกคุ้นๆ ว่ามี 3 ประเภทไม่ใช่เหรอ ทำไมหัวข้อเขียนว่า 4 ประเภทล่ะ

การแบ่งประเภท

การแบ่งประเภทไม่ได้เป็นเรื่องตายตัว ขึ้นอยู่กับว่าใช้เกณฑ์อะไรในการแบ่ง แต่ละตำราอาจแบ่งไม่เหมือนกัน ผมขอเลือกแบบที่ชอบที่สุด คือตามหนังสือ Deep Learning ของ Françios Chollet ผู้พัฒนา Keras ซึ่งแบ่งออกเป็น 4 ประเภท

1) Supervised Learning

การสร้างโมเดลเพื่อแปลงข้อมูล input เป็น target บางอย่าง ตัวอย่างง่ายที่สุดคือ classification กับ regression

  • Classification คือมี target เป็นชนิดของข้อมูล เช่น เรียนรู้ว่า email เป็น spam หรือไม่เป็น spam
  • Regression คือมี target เป็นตัวเลข เช่น เรียนรู้การประมาณราคาที่ดินจากปัจจัยแวดล้อม

การจะสร้างโมเดลประเภทนี้ขึ้นมา ต้องมีชุดข้อมูลที่มีทั้ง input และ target ซึ่งจัดหามาโดยมนุษย์ เช่น การสร้าง spam filter ต้องรวมรวบข้อมูล email จำนวนมากและให้คนมาดูว่าอันไหนเป็น spam บ้าง แล้วนำมาสร้างโมเดล spam filter จากข้อมูลเหล่านี้

Supervised Learning เป็น Machine Learning ที่ถูกใช้งานมากที่สุด เข้าใจง่ายที่สุด และทุกคนที่เริ่มเรียน Machine Learning ควรเริ่มจาก Supervised Learning

2) Unsupervised Learning

การสร้างโมเดลโดยใช้ข้อมูล input เพียงอย่างเดียว ไม่มี target การใช้งานหลักมี 2 อย่างคือ

  • Dimensionality reduction การลดมิติของข้อมูล เพื่อลดความซับซ้อนก่อนนำไปใช้ต่อ หรือเพื่อแสดงผลในรูปกราฟที่คนอ่านได้
  • Clustering การจัดกลุ่มข้อมูลตามคุณลักษณะ เช่น การจัดกลุ่มลูกค้าตามพฤติกรรมการซื้อของ

การสร้างโมเดลประเภทนี้ขึ้นมา ใช้เพียงข้อมูล input อย่างเดียว ไม่ต้องจัดหา target เช่น โมเดลการจัดกลุ่มลูกค้า เราไม่ต้องรู้มาก่อนว่าจะมีกลุ่มอะไรบ้าง

3) Self-supervised Learning

การสร้างโมเดลด้วยวิธี Supervised Learning แต่ใช้ target แบบที่ไม่ต้องพึ่งคน เช่น

  • Autoencoders ใช้ target เหมือนกับ input
  • การพยากรณ์อากาศในวันถัดไปด้วยข้อมูลในอดีต ใช้ target เป็น input ในอนาคต

ปกติตำราที่แบ่ง Machine Learning เป็น 3 ประเภทจะไม่มีประเภทนี้ ในกรณีนั้นมักจะจัดรวมอยู่ใน Supervised Learning

4) Reinforcement Learning

การสอน agent ในสภาพแวดล้อมบางอย่าง ให้เรียนรู้วิธีการตัดสินใจที่ให้ผลลัพธ์ดีที่สุด ลองนึกถึงคอมพิวเตอร์ในเกมส์อะไรซักอย่างที่พยายามหาทางเอาชนะเรา

ล่าสุด AlphaGo โปรแกรมแข่งโกะ ซึ่งเป็นผลงานอันยิ่งใหญ่ของ Google DeepMind สามารถเอาชนะ Lee Sedol แชมป์โกะระดับโลก ที่คะแนน 4 ต่อ 1 เกมส์ เมื่อเดือนมีนาคม 2016 โดย AlphaGo ถูกสอนให้เล่นโกะด้วยวิธี Reinforcement Learning

ตัวอย่าง Reinforcement Learning

เพื่อให้เห็นภาพชัดเจนขึ้น ลองดูตัวอย่างคลิปวีดีโอที่แสดงให้เห็นพลังของ Reinforcement Learning จากศูนย์วิจัย OpenAI

OpenAI พยายามสร้าง agent ให้เล่นเกมส์ซ่อนหา (hide and seek) โดยกำหนดเพียงว่าให้ hider พยายามซ่อน และ seeker พยายามหา โดยใช้คะแนนเป็นตัวกระตุ้น หลังจากปล่อยให้เล่นกันไปมากกว่าหนึ่งล้านเกมส์ hider และ seeker เรียนรู้ที่จะนำอุปกรณ์ในเกมส์มาสร้างข้อได้เปรียบให้กับตัวเอง เช่น hider เอากล่องสี่เหลี่ยมมาบังทางเดิน หรือ seeker ใช้กล่องสามเหลี่ยมเพื่อปีนข้ามกำแพง

ความฉลาดเหล่านี้เกิดขึ้นเองจากวิธีการเรียนรู้ด้วย Reinforcement Learning ไม่มีใครบอกมันว่าต้องใช้อุปกรณ์เหล่านี้อย่างไร

พอคิดดูแล้วก็สงสัยว่า…จะมี Skynet เกิดขึ้นด้วยวิธีนี้รึเปล่านะ

Machine Learning 4 ประเภท
Share this

Subscribe to Code on the Hill