top of page

Optimization ต่างกับ Machine learning อย่างไร



เป็นคำถามที่โดนถามบ่อยมากคำถามหนึ่ง โดยเฉพาะเหล่า Data Scientist หรือ Machine Learning Lover ที่เข้าใจว่า Optimization เป็นส่วนหนึ่งของการทำ Machine Learning

.

ซึ่งไม่ผิดค่ะ ต้องบอกว่า การทำ Optimization เป็นการหาจุดสมดุล (สูงสุด หรือต่ำสุด) ภายใต้ Condition ต่างๆ

.

ดังนั้น การหาจุดที่เหมาะสมที่สุดที่จะเลือก Parameter Setup ให้ Machine Learning ก็ถือว่าเป็น Optimization เหมือนกัน เพียงแต่การแก้ปัญหาอาจจะแค่เขียน Objective ให้หา Max Value ของ ค่าใดค่าหนึ่งเมื่อมี Parameter เปลี่ยนแปลงไป แท้จริงแล้ว ศาสตร์แห่งการทำ Optimization นั้นกว้าง และซับซ้อนมากกว่าแค่การเขียน Function Max หรือ Min

.

หากจะถามว่า แล้ว Optimization ต่างกัน Machine Learning อย่างไร ให้ดูที่คำนิยามของมัน

  • Machine Learning คือ การสร้างให้โปรแกรมเรียนรู้จากข้อมูล

  • Optimization คือ การหาจุดสมดุลภายใต้ Condition (มิใช่ภายใต้ข้อมูลเพียงอย่างเดียว แต่รวมไปถึงสมการที่มีความซับซ้อนสูงได้)

 

วิธีการทำโจทย์ทั้งสองแบบก็แตกต่างกัน เมื่อการทำ Machine Learning คือนำ Data เข้าไปให้ Machine แก้ปัญหา แต่การทำ Optimization คือการเขียนสมการ แล้วให้โปรแกรมต่างๆ แก้สมการให้เรา ดังนั้น Input จึงแตกต่างกัน

.

ในการใช้งาน Machine Learning จะเน้นทำ Predictive Model หรือการทำ Recommendation

. ส่วนของ Optimization จะเน้นการทำ Decision Analysis มากกว่า

.

สิ่งที่ทั้งสองมีคล้ายกันคือ การจะเป็น Expert ได้นั้น ต้องมีพื้นฐานจากคณิตศาสตร์เป็นหลัก ไม่ว่าจะเป็น Calculus, Differential Equation, Statistics and Probability รวมไปถึง Linear Algebra แต่เส้นทางในการเป็น Expert ของสองด้านนี้ต่างกัน

สาย Optimization จะเรียน

  • Linear Programming

  • Convex Programming

  • Stochastic Process

  • Dynamic Programming

  • Integer Programming

เป็นต้น

ในขณะที่สาย Machine Learning จะเรียนวิชาพื้นฐานเป็น

  • Statistical Modeling

  • Design of Experiment

  • Response Surface Methodology

  • Data Mining

  • Supervised and Unsupervised Algorithm

  • การเขียนโปรแกรมด้วยภาษาต่างๆ เช่น R หรือ Python

เป็นต้น



หากถามว่า ควรเรียนอะไรนั้น ก็อยู่ที่ว่า คุณชอบอะไรมากกว่ากัน ระหว่าง การออกแบบสมการภายใต้จุดสมดุล หรือการออกแบบ Code เพื่อสร้างความสัมพันธ์ของข้อมูล

สำหรับ Coraline นั้น เรามีทั้ง Optimization Expert และ Machine Learning Expert อยู่ในองค์กร ดังนั้น ไม่ว่างานสายไหน เราก็พร้อมจะช่วยท่านแก้ปัญหาต่างๆ ได้

 

< Previous
Next >
bottom of page