เมื่อวานแอดนั่งฟังคอร์ส Top 10 Skills for Machine Learning Professionals บน LinkedIn Learning เลยลองเขียนสรุปมาให้ทุกคนอ่านกัน อ่านจบเหมือนเรียนเอง อีกแล้ว! 🤣
คอร์สนี้สอนโดย Ben Sullins, Data Geek + Tech Consultant เรียนจบได้ภายในหนึ่งชั่วโมง เพื่อนๆที่สนใจ สามารถทดลองเรียนฟรี (free trial) บน LinkedIn Learning ได้ 30 วัน
Recap สั้นๆ Machine Learning (ML
) คืออะไร?
Machine learning is the field of study that gives computers the ability to learn without being explicitly programmed
Arthur Samuel
สามปัจจัยที่ทำให้ ML นี้กำลังเป็นที่ต้องการในตลาดแรงงานคือ
- Limitless amount of data
- Cheaper storage
- More powerful processing
อ้างอิงจากผลสำรวจ Global 500 companies ของ KPGM พบว่าบริษัทส่วนใหญ่เตรียมเพิ่มการลงทุนพัฒนาทักษะของพนักงานด้าน AI/ ML อยู่ระหว่าง 50-100% ในอีกสามปีข้างหน้า

✅ เรียน ML skills เอาไว้ ได้ใช้แน่นอนในอนาคต
Top 10 Skills สำหรับ ML Professionals
Math Skills
เบื้องหลังของ machine learning algorithms คือ math ล้วนๆ
แล้วถ้าอยากทำสายนี้ต้องรู้คณิตศาสตร์หัวข้ออะไรบ้าง? อ. Ben เอาผลสำรวจมาแชร์ ตัวเลขคร่าวๆของแต่ละ topics ประมาณนี้
- Linear algebra 35%
- Probability and statistics 25%
- Multivariate calculus 15%
- Algorithms and optimization 15%
- Other concepts 10%
Basic Algorithms and Data Structures

ถ้าใครทำงานสาย computer/ software programming ยังไงก็หนีเรื่อง algorithms & data structures ไม่พ้น time
& space
เขียนโปรแกรมยังไงให้รันได้เร็ว (fast) ใช้ทรัพยากรน้อยที่สุด (spaces + resources)
📝 แอดว่าเรื่องนี้ยากสุดเลยในสิบทักษะที่ อ. Ben แนะนำในคอร์สนี้ 🤣 555+
Basic ML
ML Engineers ต้องมีความรู้พื้นฐาน ML algorithms จะได้เลือกใช้ให้เหมาะสมกับปัญหา
- Regression
- Classification
- Clustering (Unsupervised Learning)
และรู้จัก performance metrics สำคัญที่เราใช้วัดผลโมเดล เช่น
- R-Squared, MSE, MAE, RMSE
- Accuracy
- Precision
- Recall
- F1 score
Concepts ที่เราต้องเข้าใจถ้าอยากสร้างโมเดลคุณภาพสูง (good fit + generalization) เช่น
- Bias-variance tradeoff
- Overfitting vs. Underfitting
- No free lunch
- Occam’s razor
📝 ในวีดีโอ อ. Ben ไม่ได้พูดเรื่อง resampling, k-fold vs. bootstrap, hyperparameter tuning, model comparison รวมถึงการทำพาร์ท deployment ที่ต้องใช้ความรู้ programming/ software skills หนักเลย
Basic Data Mining
Data mining แปลไทยว่า “เหมืองข้อมูล” เดี๋ยว 555+
คือกระบวนการ extract meaningful insights หาความรู้ใน dataset (ขนาดใหญ่)
แอดว่าสิ่งที่แตกต่างระหว่าง data mining vs. machine learning คือ data mining จะเน้นที่ structured data เป็นหลัก เช่น ข้อมูลที่อยู่ใน Excel, SQL Database แต่ ML จะทำงานได้ดีกับข้อมูลแบบ unstructured data ด้วย

ตัวอย่างโปรเจ็ค data mining ที่เราได้ยินบ่อยๆ เช่น
- Amazon ใช้ข้อมูลลูกค้าเพื่อหาไอเดียทำ TV Shows และได้ซีรี่ย์ชื่อ Alpha House (Seasion 1 – Rating 7.5)
- Netflix วิเคราะห์ข้อมูลและลงทุนในซีรี่ย์ House of Cards ที่ได้รับเสียงตอบรับดีมากๆ
Big Data Knowledge
เวลาเราต้องทำงานกับข้อมูลขนาดใหญ่ วิธีการที่เคยใช้ได้กับ small datasets จะใช้ไม่ได้แล้วถ้าเราไม่ปรับ code อะไรเลย (หรือถ้าฝืนใช้ ก็จะเสียเวลารันโมเดลนานมาก time
& space
ไม่ผ่าน)
Frameworks ที่เราใช้จัดการ Big Data ตัวที่ได้รับความนิยม เช่น
- Hadoop
- Spark
📝 เรื่อง Big Data แอดว่างานจริงจะขึ้นอยู่บริษัทที่เราไปทำงานด้วย ช่วงหลัง cloud computing เข้ามามีบทความสำคัญอย่างมากในการจัดการข้อมูลขนาดใหญ่ และการสร้างโมเดล ML กับข้อมูลหลายร้อยล้าน records ตัวอย่างเช่น BigQuery ML และ Amazon Sagemaker
แล้ว ML จำเป็นต้องใช้ข้อมูลขนาดใหญ่เท่านั้นหรือเปล่า?
Andrew Ng ขึ้นพูดในงาน Data & AI Summit 2022 และแสดงให้ดูว่า small dataset (n<=50) ก็สามารถใช้เทรนโมเดลที่ได้ความแม่นยำสูงๆได้ ตัวอย่างเช่น งานด้าน computer vision ดักจับ defects ในโรงงานที่ทีม Andrew พัฒนาขึ้นมาที่บริษัท Landing AI
Andrew เรียกคลื่นลูกใหม่นี้ว่า “Data Centric AI“
Programming Experience

อ. Ben แนะนำว่าคนที่สนใจงานด้าน ML ควรเขียน Programming Languages เป็นอย่างน้อยหนึ่งภาษา ส่วนจะเขียนเก่งขนาดไหน ขึ้นอยู่กับว่าเราอยากเป็นคนนำโมเดลไปใช้งาน (Users) หรืออยากเป็นคนพัฒนา (ML Researchers/ Engineers)
The level of programming knowledge required to learn machine learning depends on how you want to use ML
Ben Sullins
แล้วจะเรียนภาษาไหนดี? จริงๆจะเริ่มจากภาษาไหนก็ได้ R, Python, JavaScript ส่วนตัวแอดคิดว่าโปรเจ็คเล็กๆทั่วไปใช้ R ได้สบายๆ แต่ถ้าอยากจะใช้ deep learning frameworks ต่างๆ ใน Python จะ support ได้ดีกว่า เช่น tensorflow, keras, pytorch เป็นต้น
📝 ทุกวันนี้เราอาจจะได้ยินพวก low code/ no code platforms กันเยอะขึ้น รวมถึงการใช้ autoML แต่ถ้าเราเข้าใจการเขียนโปรแกรมด้วย ก็จะสามารถ modify code หรือปรับ algorithms ให้ทำงานได้ดียิ่งขึ้น
OOP
OOP
ย่อมาจาก Object Oriented Programming เป็น paradigm การเขียนโปรแกรมและพัฒนา software ที่ได้รับความนิยมอย่างมาก ตัวอย่างภาษา OOP เช่น Java, JavaScript, C++, C#, Python เป็นต้น
- Class
- Object
- Abstraction
- Inheritance
- Polymorphism
- Encapsulation
ส่วนตัวแอดมอง ML models เป็นโปรเจ็คด้าน software development ตั้งแต่การเก็บ business requirements, build software (model training & testing) ไปจนถึงการ deployement เช่น การเขียน web services และ API

ตัวอย่าง code OOP ในภาษา Python
# create new class in Python
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
d1 = Dog("Hong Hong", 5)
print(d1.name)
print(d1.age)
R จริงๆก็เขียนแบบ OOP ได้แต่ตอนเราทำ data analysis ฝั่ง R จะนิยมเขียนแบบ functional programming มากกว่า ใช้ function ในการจัดการ input/ output
# using functions in R
data <- load("data.csv")
output1 <- step1(data)
output2 <- step2(output1)
output3 <- step3(output2)
# pipe operator to create a simple data pipeline
data %>%
step1() %>%
step2() %>%
step3() -> output3
Good Coding Practices
ทักษะสำคัญที่ต่อยอดจากเรื่องการเขียนโปรแกรม (programming experience + OOP) คือ good coding practices & habits เขียนโค้ดยังไงให้อ่านง่ายและ maintain ได้สะดวก

The ratio of time spent reading code vs. writing code is well over 10:1
Robert C. Martin (Clean Code)
อ. Ben แนะนำ best practices จากหนังสือ Clean Code (2008) ของ อ. Robert C. Martin ไว้ประมาณนี้ pay it forward เขียนโค้ดให้ดีตั้งแต่วันนี้ จะได้ลดเวลาในการอ่านโค้ดในอนาคต ทั้งตัวเราเองและทีมเราด้วย
- Keep your code tidy + readable code
- Good naming techniques
- Add clear and concise comments
- Document your code
ถ้าทำได้ตามนี้ code เราจะมีคุณภาพสูงขึ้นทันทีตามชื่อหนังสือ Clean Code!
Communication Skills
Effective communication เป็นอีกทักษะที่สำคัญ ไม่ใช่แค่ในสาย tech แต่กับทุกๆงานในโลกนี้ อ. Ben แนะนำว่าเราต้องเลือกวิธีการสื่อสารให้เหมาะสมกับสถานการณ์ + context
- Face to Face
- Video call
- Telephone call
- Text e.g. Slack, Discord, LINE
วิธีสื่อสารที่ดีที่สุดคือ Face to Face Communication ถ้างานไหนสำคัญ อ. Ben แนะนำว่าเดินไปคุยแบบเห็นหน้ากันเลยดีกว่า ถ้างานไม่ได้สำคัญมาก อาจจะส่ง messages ไปก็ได้
หลายๆบริษัทจะเน้นการเขียนเพื่อแชร์ไอเดียและอัพเดทการทำงาน ตัวอย่างเช่น meeting/ agenda notes ใน Amazon, Netflix ไม่ต้องเสียเวลาทำ PowerPoint slide แต่เขียนโน้ตมาเลยว่าอยากได้อะไร และส่งให้เพื่อนๆอ่านก่อนเข้าประชุม
📝 ใครอยากฝึกการจดโน้ตเพื่อเพิ่ม productivity ลองอ่านบทความสรุปคอร์ส Productive Note Taking สอนโดยพี่อิง ดาริน CEO Hato Hub ในเว็บไซต์เราได้นะครับ

Passion for Learning
ทักษะสุดท้ายของ ML practitioners คือการพัฒนาตัวเองตลอดเวลา รักที่จะเรียนรู้ skills ใหม่ๆ
ไม่ใช่เพราะว่าขยัน แต่เพราะเทคโนโลยีเปลี่ยนเร็วมาก ยั๊ง (แซวววว) 🤣 555+
The day you stop learning is the day you begin decaying
Isaac Asimov
การเรียน skills ใหม่ไม่ได้จำกัดแค่สาย ML/ software development เท่านั้น งานวิจัยของ World Economic Forum คาดการณ์ว่าคนทำงานมากกว่าครึ่งหนึ่งต้องมีการ reskill/ upskill ตัวเองภายในปี 2025 และ data skills เป็นหนึ่งในทักษะที่สำคัญมากๆติดอันดับ top 5
ยิ่งเราเก่งขึ้นเท่าไหร่ โอกาสในชีวิตก็จะมีมากขึ้นเท่านั้น Opportunity
= Skills
+ Luck

⭐ ขอบคุณอาจารย์ Ben Sullins และเนื้อหาดีๆในคอร์ส Top 10 Skills for Machine Learning Professionals อีกครั้งครับ
Leave a Reply