Supervised vs. Unsupervised Learning

Supervised vs. Unsupervised Learning
Photo by Pixabay: https://www.pexels.com/photo/letter-blocks-247819/

ใน Blog นี้ จะพูดถึงประเภทของ ML Algorithms ได้แก่ Supervised Learning, Unsupervised Learning และ Semi-supervised Learning

Photo by Andrea Piacquadio: https://www.pexels.com/photo/woman-in-discussing-a-lesson-plan-3772511/

Supervised Learning

ในทางปฏิบัติมีการใช้งาน Supervised Learning เป็นส่วนใหญ่ คือ การที่เรามี Input Variable (X) และ Output Variable (y) โดยใช้ Learning Algorithms เพื่อ Map จาก Input ไปยัง Output

y = f(X)

เป้าหมาย คือ การประมาณ Mapping Function ที่มีประสิทธิภาพ ซึ่งเมื่อมีข้อมูล Input ใหม่ (X) โดย Model จะสามารถทำนาย Output (y) สำหรับข้อมูลนั้นได้

เรียกว่า Supervised Learning เนื่องจากเป็นกระบวนการที่ Algorithm เรียนรู้จากข้อมูล Training การ Train เปรียบเสมือนมีผู้สอนที่ดูแลการเรียนรู้ เนื่องจากทราบคำตอบที่ถูกต้องอยู่แล้ว ด้วยการ Train ซ้ำแล้ว ซ้ำอีก และ การเรียนรู้จะหยุดลงเมื่อ Algorithm ได้ประสิทธิภาพในระดับที่ยอมรับได้

Supervised Learning แบ่งได้เป็น

1) Classification เมื่อ Output Variable เป็นค่าหมวดหมู่ (Categorical Value) เช่น แดง/เขียว หรือ มีโรค/ไม่มีโรค

2) Regression เมื่อ Output Variable เป็นค่าตัวเลข (Numeric Value) เช่น จำนวนเงิน, น้ำหนัก

Algorithms ที่ได้รับความนิยม
  • Linear Regression สำหรับปัญหา Regression
  • Random Forest สำหรับปัญหา Regression และ Classification
  • Support Vector Machines สำหรับปัญหา Classification
Photo by Sabrina Gelbart: https://www.pexels.com/photo/full-frame-shot-of-abstract-pattern-249798/

Unsupervised Learning

เมื่อมีข้อมูล Input (X) แต่ไม่มีข้อมูล Output (y) ที่สอดคล้องกัน เป้าหมายของ Unsupervised Learning คือ เพื่อหา Hidden Patterns หรือ Insights ที่ซ่อนอยู่ในข้อมูล

เรียกว่า Unsupervised Learning เพราะแตกต่างจาก Supervised คือ ไม่มีคำตอบ (หรือ ไม่มี Label หรือ ไม่มีผู้สอน) ให้กับ Algorithm โดย Algorithm จะค้นหา Patterns ที่น่าสนใจจากข้อมูล

ตัวอย่างปัญหาแบบ Unsupervised เช่น

Clustering คือ ค้นหาการจัดกลุ่มที่เหมาะสมจากข้อมูล เช่น การจัดกลุ่มลูกค้าตามพฤติกรรมการซื้อ

Association คือ ค้นหากฎที่อธิบายได้จากข้อมูลส่วนใหญ่ เช่น คนที่ซื้อ A มักจะซื้อ B ด้วย

ฯลฯ

Algorithms ที่ได้รับความนิยม
  • K-Means สำหรับ ปัญหา Clustering
  • Apriori สำหรับ ปัญหา Association Rule
Photo by cottonbro studio: https://www.pexels.com/photo/man-with-binary-code-projected-on-his-face-5474031/

Semi-supervised Learning

เป็นปัญหา เมื่อเรามีข้อมูล Input (X) เป็นจำนวนมาก และมีเพียงข้อมูล Output (y) บางส่วน เรียกว่า Semi-supervised Learning

เป็นปัญหาที่อยู่ระหว่าง Supervised และ Unsupervised เช่น ข้อมูลรูปภาพจำนวนมาก อาจมีบางส่วนที่ถูก Label เช่น หมา แมว คน แต่ข้อมูลส่วนมากไม่ได้ถูก Label

ในทางปฏิบัติหลายๆ ปัญหาจัดอยู่ในหมวดหมู่นี้ เนื่องจากการ Label ข้อมูลมีค่าใช้จ่ายและจำเป็นต้องใช้เวลา หรือ บางครั้งอาจต้องการผู้เชี่ยวชาญในเรื่องนั้น (Domain Expert)

เราสามารถใช้ Unsupervised Learning เพื่อเรียนรู้ Patterns รวมถึงโครงสร้างของข้อมูล

เราสามารถใช้ Supervised Learning เพื่อทำนายข้อมูลที่ไม่ได้ถูก Label และป้อนกลับมายัง Supervised Learning อีกครั้ง เพื่อทำการ Train Model และ ใช้ในการทำนาย Unseen Data

******

ข้อมูลอ้างอิง - https://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/