Cinecus CC
Published on

รีวิวหลังอ่าน!! หนังสือ AI ไม่ยาก เข้าใจได้ด้วยเลขม. ปลาย

Overview

วันนี้จะมารีวิวหนังสือ AI ไม่ยาก เข้าใจด้วยเลขม. ปลาย ครับ ตัวผมเห็นว่าหนังสือนี้เปิดให้ทดลองอ่านฟรีในแอปพลิเคชัน meb ที่เป็นแหล่งรวมอีบุ๊กภาษาไทย

Introduction

เมื่อประมาณ 2อาทิตย์ก่อน ผมได้ลองอ่าน หนังสือ AI ไม่ยาก เข้าใจด้วยเลขม. ปลาย จากแอปพลิเคชัน meb ที่ตอนนั้นเปิดให้ลองอ่านได้ฟรี first impression กับหนังสือนี้คือหน้าปกน่าจะ เหมาะกับหนังสือเด็กประถมมากกว่าม.ปลาย ด้วยซ้ำ แต่พอได้ลองอ่านจริง ๆ ก็เริ่มรู้สึกว่า เห้ยย!! นี่มันเป็นหนึ่งในหนังสือเริ่มต้นในสาย Data Science ที่ค่อนข้างอธิบายได้เข้าใจง่ายและเห็นภาพมาก ๆ แต่ทั้งนี้ผู้อ่านควรจะ รู้เกี่ยวกับคณิตศาสตร์ ม.ปลาย บางเรื่องมาบ้างแล้วกันครับ เพื่อที่จะสนุกและเข้าใจไปกับหนังสือเริ่มนี้ด้วยครับ

รูปตัวอย่างหนังสือ หนังสือ AI ไม่ยาก เข้าใจด้วยเลขม. ปลาย จาก meb

เนื้อหา

ถ้าจะให้สรุปเนื้อหาคร่าว ๆ ผมว่าทุกคนควรลองไปอ่านเองจะดีกว่า แต่ผมจะสรุปเป็นสาระสำคัญที่ผมเก็บได้จากหนังสือแทน โดยตัวหนังสือจะอธิบายความหมายกว้าง ๆของ AI (ที่ไม่ใช้ โปรแกรมของ Adobe นะครัฟ) ซึ่ง AI จะมี subset ย่อย นั่น คือ machine learning และ deep learning ที่เป็น subset ย่อยของ machine learning อีกที ส่วนใหญ่แล้วหนังสือเริ่มนี้อธิบาย machine learning เป็นหลักนะครับ หนังสือจะมีเนื้อหาทั้งหมด 7 บท (เล่ม 1 แต่ เล่ม 2 เค้าบอกว่าจะมีหัวข้อเกี่ยวกับ deep learning) ผมจะสรุปสาระ สำคัญที่ผมเก็บได้ในแต่ละบทแทน

ai

บทที่ 1

บทนี้หลักๆ เป็นการเกริ่นนำว่า AI ทำอะไรได้บ้าง และ ทำอะไรไม่ได้บ้าง ปัจจุบันเราใช้ AI ทำงานอะไร รวมถึงพื้นฐานที่ต้องมีก่อนที่จะศึกษาศาสตร์นี้ครับ

บทที่ 2

บทนี้ผมอ่านผ่าน ๆ ไป เพราะว่า ผมเป็นติวเตอร์ สอนเลขม.ปลายอยู่แล้วเป็นทุนเดิม เลยยังจำเนื้อหาเลขม.ปลายได้พอสมควร แต่เลขม.ปลายที่ควรรู้ก็ไม่ได้ต้องรู้ทั้งหมดนะครับ บทที่เค้ายกมาก็ตามสารบัญของหนังสือ

  • ลำดับ อนุกรม
  • ความสัมพันธ์และฟังก์ชัน
  • สมการเชิงเส้น
  • สมการที่ไม่ใช้เชิงเส้น
  • สมการหลายตัวแปร
  • สมการพหุนาม
  • เมทริกซ์
  • ความน่าจะเป็น
  • สถิติ
  • ระยะทางระหว่างจุด (เรขาคณิตวิเคราะห์)
  • อนุพันธ์ (แคลคูลัส)
  • ตรรกศาสตร์

สูตรทั้งหมดที่เค้าอธิบายในหนังสือก็จะยกมาจากเนื้อหาม.ปลายมาอธิบายทั้งนั้นเลยครับ

บทที่ 3

  • บทนี้จะอธิบายว่า machine learning คืออะไร
  • แยกประเภทได้กี่ประเภท (1. Supervised Learning 2. Unsupervised Learning 3. Reinforcement Learning)
  • การแบ่ง Dataset (1. Training dataset 2. Test dataset 3. Validation dataset )
  • การสกัดฟีเจอร์ - ทำข้อมูลให้ไร้โครงสร้าง เช่น วิดิโอ เสียง รูปภาพ ข้อความ ฯลฯ ให้กลายเป็นฟีเจอร์
  • การเตรียมข้อมูล

บทที่ 4

ถ้าทุกคนเรียนสายวิทย์น่าจะพอรู้จัก linear regression มาบ้าง จากการทำแลปหรือพลอคกราฟเส้นตรงใน excel ก็ใช้หลักการนี้นี่แหละ เราจะจุด ๆ คู่อันดับ (x,y) ไปบนกราฟแล้วลากเส้นตรงตัดผ่าน เราจะได้ฟังก์ชั่นเส้นตรงเพื่อทำนายผลลัพธ์ ถ้ามีการ input ค่า x เราก็จะได้ output จากฟังก์ชันเป็นค่า y นั่นเอง

  • ความหมายของ model เรียนรู้ - เป็นเสมือน function ที่เรามีการ input ตัวแปรต้น แล้วเราจะได้ output ซึ่งเป็นผลลัพธ์
  • จะมีการอธิบาย Cost Function เป็นตัววัดว่า model เราฉลาดหรือยัง
  • Gradient Descent ที่จะทำการปรับ parameter เรื่อย ๆ จนกระทั่ง Cost function ต่ำลง ๆ
  • การทดสอบ model

บทที่ 5

จากบทที่ 4 ที่ตัวแปรต้นมีแค่ตัวเดียว แต่โลกความจริง model เราอาจจะมีตัวแปรต้นหลายตัวก็ได้ input จากเดิมมีแค่ x เดียว และ parameter ก็มีแค่ w0,w1 ซึ่งถ้ามีตัวแปรต้นหลายตัว input ก็จะมี x1,x2,x3,... และ parameter ก็จะมี w0,w1,w2,w3,... นั่นเอง หรือ บางครั้ง ความสัมพันธ์ของค่า x และ y มันไม่ได้เป็นความสัมพันธ์เชิงเส้น แต่อาจจะเป็นความสัมพันธ์แบบสมการพหุนาม ก็จะคิดเสมือนว่าตัวแปรต้นเพิ่มขึ้นเช่นกัน

อีกทั้งยังกล่าวถึงปัญหา Underfitting และ Overfitting ด้วย กรณีที่เรา train model ให้ cost function ไม่ต่ำพอ หรือ เลือกใช้สมการผิดจริง ๆ x กับ y ไม่ได้เป็นความสัมพันธ์เชิงเส้น แต่ เราใช้โมเดลที่เป็นเชิงเส้น ก็จะทำให้เกิดปัญหา Underfitting ให้นึกถึงการใส่เสื้อที่หลวมไป แต่กลับกัน ถ้าเรา train model ให้ cost function ต่ำเกินไปมากๆ พอมีข้อมูลที่หลุด ไปจาก model เล็กน้อยมันก็ไม่ค่อยตอบโจทย์นัก ปัญหานี้เรียกว่า Overfitting ให้นึกถึงคนที่ใส่เสื้อผ้าคับเกินไป นั่นเอง

บทที่ 6

บทนี้จะเป็นปัญหาการ Classification การที่เราแยกประเภทข้อมูลเป็น category หลักการ คือ เราจะพยายามสร้าง model ที่บอกว่าข้อมูลถ้ามีค่า x มาเป็นแบบนี้ มันควรเป็นอะไรดี เช่น แยก เสือ กับ แมว เป็นต้น ก็อาจจะกำหนดตัวแปรต้นแบบให้คะแนน เช่น เป็นตัวใหญ่หรือไม่? คะแนนจะมีค่าในช่วง 0-1 ถ้าใหญ่ ก็เป็น 1 ถ้าเล็กก็เป็น 0 จากนั้นก็นำไป train ผ่านสมการ sigmoid (อ่านแรก ๆ ก็อิหยังวะเหมือนกัน) ซึ่งไอสมการ sigmoid นี้ก็จะขึ้นกับ parameter เช่นเดียวกัน เราก็จะใช้หลักการปรับค่าพารามิเตอร์คล้ายๆ บท 4 และ บท 5 ได้เลย การวิเคราะห์คำตอบก็จะดูจากค่าที่ได้จาก model สมการ sigmoid โดย model จะมีแบบดูว่าเป็นเสือ หรือ เป็นแมว ครับ

บทที่ 7

บทนี้จะเนื้อหาจะอธิบายเกี่ยวกับหลักการ Neural Network คือ โครงข่ายประสาทเทียม ที่ลอกเลียนแบบการทำงานของระบบประสาทในร่างกายมนุษย์ โดยมี layer การทำงานของ Neural Network นี้ก็จะมีได้หลายๆ layer เช่นกัน

สรุป

ส่วนตัวไม่ได้ทำงานทางสาย Data Science พออ่านหนังสือเริ่มนี้ก็ทำให้เห็นภาพและเข้าใจการทำงานของ Machine Learing มากขึ้น ถ้าคนที่กำลังจะเริ่มศึกษา Machine Learning หนังสือเริ่มนี้ก็อธิบายไว้ได้เห็นภาพพอสมควรครับ เนื้อหาบางอย่างก็มีหลุดไปจากม.ปลายบ้าง ซึ่งถ้าสนใจก็ไปค้นคว้าเพิ่มเติมต่อได้