Data Science Essential week 2 : Machine learning (สรุปเนื้อหาส่วนทฤษฎี)

Krirk Arunoprayote
Aug 19 · 3 min read

บทความนี้เป็นการสรุปเนื้อหาส่วนทฤษฎี จากคลาส DSE by BotNoi week 2 เรื่อง Machine learning ครับ

Machine Learning คืออะไร?

อาจกล่าวอย่างง่ายๆ ว่า Machine Learning คือการใช้ algorithm บางอย่าง เพื่อให้ computer สามารถทำความเข้าใจข้อมูลที่เราป้อนเข้าไป ได้ผลลัพธ์ออกมาเป็นความรู้บางอย่างให้มนุษย์เรานำไปใช้ประโยชน์ต่อไปได้ โดย algorithm บางตัว ก็มีนำกระบวนการเรียนรู้ของมนุษย์มาเป็นแรงบันดาลใจ เช่น neural network ที่มีการต่อกันของ node ต่างๆ คล้ายกับเครือข่ายเซลล์ประสาทในสมองมนุษย์

ในที่นี่จะยกตัวอย่างกระบวนการเรียนรู้ของมนุษย์ 2 แบบ ที่ machine learning ได้นำแนวความคิดไปปรับใช้

1. Supervised Learning

หมายถึง กระบวนการเรียนรู้ที่มีผู้สอนคอยบอกคำตอบที่ถูกต้อง ตัวอย่างที่ชัดเจนคือ การเรียนรู้ของเด็กทารก ที่เริ่มจดจำคำศัพท์ต่างๆ ผ่าน flash card โดยผู้สอนจะโชว์ flash card แล้วบอกเด็กว่า ภาพนี้คือคำว่าอะไร เมื่อทำกระบวนการนี้ซ้ำๆ เด็กก็จะเริ่มจดจำได้ว่า ภาพนี้ คือ คำนี้ เช่น เห็นรูปแมว ก็บอกได้ว่าเป็น cat และเมื่อเด็กเห็นแมวของจริง ก็สามารถบอกได้ว่าสัตว์ตัวนี้ก็คือ cat

ซึ่ง machine learning ก็ได้นำกระบวนการเรียนรู้นี้ไปประยุกต์ใช้อย่างแพร่หลาย ตัวอย่างเช่น การทำ neural network เพื่อให้ machine สามารถจำแนกตัวเลข 0–9 ที่เขียนด้วยลายมือได้ ก็เริ่มทำโดยการป้อนข้อมูลภาพตัวเลขที่เขียนด้วยลายมือจำนวนหนึ่ง พร้อมกับ label บอกว่าแต่ละภาพหมายถึงตัวเลขอะไร ให้กับ neural network

ตัว neural network ก็จะพยายามเรียนรู้จากข้อมูลจนสามารถจำแนกภาพได้ โดยถ้าเป็นภาพเลข 7 ที่เขียนด้วยลายมือ algorithm ก็ควรจำแนกเป็นเลข 7 ให้ได้ โดยในช่วงแรกๆ algorithm อาจจะยังให้คำตอบที่ผิด แต่เมื่อฝึก train ด้วยข้อมูลจำนวนมากขึ้น และอาจจะทำซ้ำหลายๆ รอบ algorithm ก็จะค่อยๆ ปรับทิศทางจนให้คำตอบออกมาถูกต้องมากขึ้น มีความแม่นยำขึ้น และนำไปใช้งานได้จริงในที่สุด

2. Reinforcement Learning

หมายถึงกระบวนการเรียนรู้ที่ตั้งเป้าหมายไว้อย่างหนึ่ง แต่ไม่ได้บอกคำตอบกับผู้เรียนว่าต้องทำอย่างไร หากผู้เรียนเลือกทำวิธีที่ถูกต้อง ผู้สอนก็จะให้รางวัล แต่ถ้าเลือกทำวิธีที่ผิด ก็จะไม่ให้รางวัล หรืออาจมีบทลงโทษ ผู้เรียนก็จะค่อยๆ เรียนรู้ว่า ทำวิธีการใดถึงจะได้รางวัล และเรียนรู้วิธีที่ถูกต้องในที่สุด

machine learning ก็ได้นำหลักการนี้ไปใช้อย่างแพร่หลายเช่นกัน ยกตัวอย่างเช่น OpenAI ที่สร้าง bot ขึ้นมา 2 ทีมแล้วแข่งกันเล่นซ่อนหา ซึ่งผู้สร้าง AI ก็ไม่ได้บอกวิธีว่าต้องทำอย่างไรถึงจะชนะ ทำให้ bot ของแต่ละทีมก็ต้องลองผิดลองถูกหลายๆ ครั้ง กว่าจะได้กลยุทธ์ที่สามารถชนะอีกทีมได้ และเมื่ออีกทีมหนึ่งเปลี่ยนกลยุทธ์จนกลับมาเป็นฝ่ายชนะ ฝ่ายที่แพ้ก็จะพยายามลองผิดลองถูกเพื่อกลยุทธ์ใหม่ๆ ที่จะทำให้ฝ่ายตนเองชนะได้ ในบางครั้ง AI ก็ลองผิดลองถูกจนได้กลยุทธ์ที่ผู้สร้าง AI เองคาดไม่ถึงได้อีกด้วย

การประยุกต์ใช้กับงานด้าน Computer Vision

ปัจจุบันก็ได้มีการนำหลักการ machine learning ไปประยุกต์ใช้ในหลายๆ ทาง เช่น การทำระบบ object recognition ที่สามารถระบุได้ว่า วัตถุที่กล้องเห็น เป็นวัตถุอะไรบ้าง ,ระบบ Emotion recognition ที่สามารถทำนายได้ว่า คนในภาพกำลังมีความรู้สึกอย่างไร , ระบบ Document segmentation ที่ช่วยจำแนกว่าเอกสารนี้เป็นเอกสารประเภทไหน , หรือระบบ Optical Character recognition ที่ช่วยอ่านข้อมูลจากเอกสาร hard copy ได้

การประยุกต์ใช้กับงานด้าน Natural Language Processing

Chat bot ก็มีการนำหลักการ machine learning ไปใช้เช่นกัน เช่น สามารถทำนายสิ่งที่ผู้ใช้พิมพ์มาได้ว่ามี intent แบบไหน แล้วเลือกคำตอบที่ถูกต้องมาตอบได้อย่างเหมาะสม

การประยุกต์ใช้กับงานด้าน Data Science

Image for post
Image for post
ตัวอย่างการนำ machine learning ไปใช้ในงาน data science

งานด้าน Data Science ก็นำ machine learning มาใช้อย่างหลากหลาย เช่น

ความสัมพันธ์ระหว่าง machine learning กับ AI

Image for post
Image for post

จากแผนภาพ ก็จะเห็นว่า Machine Learning ก็คือสาขาย่อยสาขาหนึ่งของ AI นั่นเอง ถ้าเราทำความเข้าใจ algorithm ต่างๆ ของ machine learning ได้ก็จะเป็นรากฐานที่ดีในการเรียนรู้งานด้าน AI ในสาขาต่างๆ ได้อย่างดี

Machine Learning Pipeline

Image for post
Image for post
Pipeline ในการทำ machine learning

กระบวนการทำ machine learning จะเป็นกระบวนการที่ต้องทำซ้ำหลายๆ ครั้ง เพราะคำตอบหรือโมเดลที่เราคิดมาในครั้งแรกมักจะไม่ใช่คำตอบที่ดีที่สุด โดย Pipeline จะมีดังนี้

  1. เก็บรวมรวมข้อมูล
  2. ค้นหา/สกัด feature ที่น่าจะมีผลต่อการทำนายออกมา
  3. นำข้อมูลเข้าไป train ใน model
  4. นำข้อมูลอีกส่วนหนึ่งมาทดสอบดูว่า model ทำงานได้ดีแค่ไหน ถ้ายังไม่ดีก็อาจปรับปรุง model หรืออาจเปลี่ยนไปใช้ model อื่น แล้วย้อนกลับไปทำข้อ 2 อีกครั้ง
  5. เมื่อได้ model ที่มี performance ที่น่าพอใจแล้วจึงนำไปใช้งานจริง

Model มีการเรียนรู้อย่างไร?

Image for post
Image for post
การเรียนรู้ของ model

จากภาพเป็นตัวอย่างการทำ Linear Regression โดยมี data set ที่มีการกระจายตัวในแนวเส้นตรง เราจึงอยากได้เส้นตรงที่สามารถเป็นตัวแทนของข้อมูลทั้งหมดได้ดีที่สุด เพื่อจะนำไปใช้ในการทำนายผลลัพธ์เมื่อได้รับข้อมูลใหม่เข้ามา

เริ่มแรก model ก็จะสุ่มหาเส้นตรงมาเส้นหนึ่งเป็นตัวแทนของข้อมูลทั้งหมด แล้ว model ก็จะคำนวณหา error ว่า ค่าของเส้นนี้ แตกต่างจากค่าของข้อมูลจริงมากเท่าไหร่ จากนั้นก็จะมีการขยับเส้นไปในทิศทางที่จะทำให้ค่า error ทั้งหมดลดลง

เมื่อทำกระบวนขยับเส้นซ้ำๆ ไปหลายๆ ครั้ง สุดท้าย model ก็จะได้เส้นตรงที่สามารถเป็นตัวแทนของข้อมูลทั้งหมดที่ดีที่สุด ที่ทำให้ค่า error ของ เส้นกับข้อมูลทั้งหมด มีค่าน้อยที่สุด และก็จะเลือกใช้เส้นตรงเส้นนี้ในการทำนายเมื่อได้รับข้อมูลใหม่เข้ามาได้ดีที่สุด

เป็นอันจบเนื้อหาส่วนทฤษฎีในสัปดาห์นี้ครับ ถ้ามีโอกาสผมก็จะเขียนสรุปส่วน coding ที่ทำตัวอย่าง pipeline ให้ดูด้วยครับ ถ้ามีตรงไหนผิดพลาดก็สามารถท้วงติงแนะนำกันมาได้ครับ ขอบคุณครับ

botnoi-classroom

This publication consists of articles related to Data…

Krirk Arunoprayote

Written by

botnoi-classroom

This publication consists of articles related to Data science and AI written from Botnoi’s data scientists and students.

Krirk Arunoprayote

Written by

botnoi-classroom

This publication consists of articles related to Data science and AI written from Botnoi’s data scientists and students.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store