Category: Machine Learning


  • เข้าใจการทำงานพื้นฐานของ Neurons ใน Neural Networks

    เข้าใจการทำงานของ Neurons และ Artificial Neural Networks พร้อม Code ตัวอย่างใน R


  • อธิบาย K-Fold Cross Validation พร้อมโค้ดตัวอย่างใน R

    เทคนิคที่เรียกว่าเป็น Golden Standard สำหรับการสร้างและทดสอบ Machine Learning Model คือ “K-Fold Cross Validation” หรือเรียกสั้นๆว่า k-fold cv เป็นหนึ่งในเทคนิคการทำ Resampling ไอเดียของ k-fold cv คือการแบ่งข้อมูลเป็น k ส่วนเท่าๆกันเพื่อสร้างและทดสอบโมเดล (train + validate) คำนวณค่าเฉลี่ย accuracy หรือ error (i.e. model performance) ก่อนที่จะนำโมเดลไปใช้ทำนายข้อมูล test set รูปด้านล่างแสดงการแบ่งข้อมูลเป็น 5 folds เท่าๆกัน โดยการแบ่งข้อมูลต้องเป็นไปอย่าง random ทำไมต้อง random? เพราะ randomness จะช่วยให้ข้อมูลในแต่ละ fold มีการกระจายตัวใกล้เคียงกัน ช่วยลด bias เวลาที่เราสร้างและทดสอบโมเดล จำนวน k ที่นิยมใช้กันในทางปฏิบัติมีสองค่าคือ k=5 […]


  • ไกลแค่ไหนคือใกล้กับการวัดระยะแบบ Euclidean Distance

    บทความนี้มาเรียนวิธีการคำนวนระยะทาง i.e. distance ง่ายๆระหว่างสอง data points โดยตัวที่เราจะสอนวันนี้ชื่อว่า Euclidean distance สูตรการวัดระยะยอดนิยมในงาน data science – Enough talk! Let’s do it. Euclidean Distance สมมติเรามี data points 2 จุด (20, 75) และ (30, 50) จงหาระยะห่างของสองจุดนี้ ถ้ายังจำได้สมัยประถม (แอดค่อนข้างมั่นใจว่าเรียนกันตั้งแต่ ป.6 555+) วิธีการหาระยะห่างในรูปด้านล่างใช้หลักพีทาโกรัส (Pythagorean theorem): a2 + b2 = c2 Euclidean distance (d) หรือ c ในรูปขวาด้านบนสามารถคำนวณได้ง่ายๆตามหลัก Pythagoras สาเหตุที่เราต้องถอดราก (square root) เพราะตอนแรกพีทาโกรัสไปยกกำลังสองด้าน a […]


  • รู้จักกับ caret – ML Lib ที่ทรงพลังที่สุดของภาษา R

    บทความนี้แอดเขียนอธิบาย interface การสร้าง machine learning โมเดลใน R ด้วย package caret (ย่อมาจาก Classification And REgression Training) ส่วนตัวแอดใช้ caret เป็นประจำใน workflow สร้างโมเดลได้มากกว่า 200+ โมเดลแบบ supervised learning ทรงพลัง มีฟังชั่นในการเตรียมข้อมูล, resampling, metrics ครบครัน และเหตุผลสำคัญที่สุดคือ caret มันเขียนง่ายมากจริงๆ (เทียบกับ framework อื่นๆ) เปิด RStudio ขึ้นมาแล้วติดตั้ง package ด้วยโค้ดด้านล่าง เราใช้ library mlbench ด้วยเพื่อโหลด example dataset สำหรับบทความนี้ dataset ที่เราจะใช้ในบทความนี้ชื่อว่า PimaIndiansDiabetes โดย target ที่เราต้องการทำนายคือคอลัมน์ diabetes (pos/ […]


  • อธิบาย Logistic Regression พร้อมโค้ดตัวอย่างใน R

    Tutorial วันนี้เรามาอธิบาย concept ของ Logistic Regression เบื้องต้น พร้อมโค้ดตัวอย่างใน R สำหรับสร้างและทดสอบโมเดล – Case Study ทำนายการเกิดมะเร็งเต้านม (Breast Cancer Dataset) When to use? เรานิยมใช้ Logistic Regression กับปัญหา Binary Classification i.e. ทำนาย target variable ที่มีสอง classes และใช้ค่า % accuracy สำหรับวัดผลโมเดลเบื้องต้น ด้านล่างเป็นตัวอย่าง use cases ในชีวิตจริง Churn prediction – ทำนายว่าลูกค้าจะเลิกใช้บริการหรือเปล่า (yes/ no) Repeated purchase prediction – ทำนายว่าลูกค้าจะกลับมาซื้อสินค้าหรือเปล่า (yes/ no) Disease detection […]


  • ทำนายราคาบ้าน Boston ด้วย Linear Regression

    บทความที่แล้วเราเขียนอธิบายขั้นตอนการสร้าง ML model ใน 4 ขั้นตอน และสอนเขียนโค้ด R สำหรับแก้ปัญหา Binary Classification (Titanic) วันนี้เราจะมาลองเขียน ML แก้ปัญหา Regression กันบ้าง Regression Problem แอดดาวน์โหลด dataset มาจาก Kaggle ชื่อว่า Boston (Housing Values in Suburbs of Boston) มีตัวแปรทั้งหมด 14 ตัว โดย target ที่เราต้องการทำนายคือ medv หรือราคาบ้านเฉลี่ยหน่วยเป็น $1000 ML เรียกปัญหานี้ว่า Regression เพราะ target ที่เราต้องการทำนายเป็นตัวเลขแบบ numeric/ continuous และ algorithm ที่เราจะสอนวันนี้คือ Linear Regression (อ่านบทความอธิบายเรื่อง LR […]