สรุปคอร์ส : Machine Learning for Business Professionals จาก Coursera EP.2

Course contents

EP.1 Week1 : What is Machine Learning ?
EP.2 Week2: Employing Machine Learning
EP.3 Week 3 : Discovering ML Uses Cases
EP.4 Week 4 : How to be successful at ML

จากบทความที่แล้ว เขียนอธิบายไปแล้วว่า Machine Learning คือ การใช้ Standard algorithms เพื่อหา Predictive Insights จาก Data จำนวนมาก เพื่อให้สามารถตัดสินใจซ้ำไปซ้ำมาได้

และ Week 2 : Employing ML สอนโดย Lak Lakshmanan สอนโคตรดีย์ !! เราจะมาอธิบายและยกตัวอย่างให้เห็นภาพชัดๆ (แบบคมกริบจนเลือดสาด) ว่าแล้วก็ไปลุยกันเล้ยยย

Lak Lasksmanan by Machine Learning for Business Professionals

Week 2 : Employing Machine Learning

1. How to create labeled data ?

Introduction of labels and features

Train an ML model by Machine Learning for Business Professionals

ยังคงอยู่กับเคสเดิมกันยาวๆ นั่นคือ การสร้างโมเดลเพื่อแยกแยะคุณภาพของชิ้นส่วนที่ถูกผลิตออกมา โดยใช้ Image Classification Network

การ Train โมเดลต้องมีการใช้ข้อมูลตัวอย่าง ที่ประกอบด้วย 1) Labels 2) Features เราลองไปทำความรู้จักกับ 2 terms นี้ไปพร้อมๆ กันครัชช

Label : fractured by Machine Learning for Business Professionals

Labels

คือคำตอบที่ถูกต้องของข้อมูลแต่ละตัว ซึ่งในรูป คือ “fractured” หรือที่แปลว่า “เสียหาย” เป็นตัวกำกับข้อมูลในแต่ละ record ซึ่ง ML โมเดลจะเรียนรู้จากสิ่งนี้โดยการเรียนรู้ทีละ record เพื่ออัพเกรดตัวเองไปเรื่อยๆ จนได้ผลทำนายที่แม่นยำมากขึ้น และ Label สามารถเป็นได้ทั้งแบบ การจัดกลุ่ม (Categorical) และตัวเลข (Numerical)

Label data type comparison by Machine Learning for Business Professionals

จากตัวอย่างจะเห็นว่า Label ที่เป็น Categorical จะใช้กับโจทย์ ML ที่ต้องการทำ Classification เพื่อแยกแยะความแตกต่างระหว่างกลุ่ม ส่วน Label ที่เป็น Numerical จะเหมาะกับโจทย์ที่เป็น Regression ซึ่งเป็นวิธีทางคณิตศาสตร์

Machine learning model can be trained to predict either a number or to predict a categorical value.

Features and Label by Machine Learning for Business Professionals

Features

เป็นข้อมูลอื่นๆ เปรียบเสมือน inputs ที่ถูกส่งเข้าไปใน ML โมเดล อย่างที่เห็นในภาพ มันมักจะเป็นรายละเอียดอื่นๆ ของ products แต่ความหมายจริงๆ ของมันนั่นก็คือ “a distinctive attribute of examples” หรือ คุณลักษณะเฉพาะของข้อมูลตัวอย่างเหมือนเป็นคำอธิบายต่างๆ เพื่อช่วย ML โมเดลในการทำนาย Label ได้อย่างแม่นยำนั่นเองงงงง

Features are descriptions thats allow models to figure out the label.

  • หากข้อมูลตัวอย่างเป็นรูปภาพ (Images) แค่จุด pixel ในรูปนั่นก็ถือว่าเป็น Features ที่เพียงพอ
  • หากข้อมูลตัวอย่างเป็นคำพูด (Speech) แค่ Audio signal ก็ถือว่าเป็น Features ที่เพียงพอ

ตัวอย่าง Label & Feature

Label & Feature

Data vs Metadata

Data and Metadata by Machine Learning for Business Professionals

Data และ Metadata ก็ถือว่าเป็น 2 Terms ที่น่าสนใจไม่แพ้ Label กับ Feature เลยล่ะถ้า Data เป็นตัวที่บอกเราว่าสิ่งนี้ คือรูปภาพ (Image) Metadata ก็จะเป็นตัวอธิบายรูปภาพนั้นๆ ว่าคืออะไร เช่น รูปนี้เป็นรูปภาพของสถานที่นะจ๊ะ ยิ่งข้อมูลอธิบายถึงรายละเอียดของข้อมูลตัวอย่างได้มากเท่าไหร่ ก็ยิ่งทำให้ประสิทธิภาพของ ML โมเดลเพิ่มขึ้นเท่าน้านนนน

Where do you find a Label ?

หลังจากที่เรารู้ความสำคัญของ Label กันมาแล้ว ทีนี้เราจะหา Label ได้จากไหนล่ะ ?? Label เกือบจะทั้งหมด จะอยู่ใน historical data หรือข้อมูลที่เราเก็บมาในอดีต และนี่คือเหตุผลสำคัญว่าเราต้องมี Data warehouse ขอแทรกเรื่อง Data warehouse แบบสั้นๆ เลยครัช

Data warehouse เป็น ฐานข้อมูลที่เก็บข้อมูลจากหลายๆ แหล่ง ขององค์กรนั้นๆ มาอยู่ในที่เดียวกัน โดยข้อมูลแต่ละส่วนต้องสัมพันธ์กัน สามารถเชื่อมโยงกันได้ ด้วย Key ของแต่ละส่วนข้อมูล (แบบ Table A join Table B ด้วย column ID ไรเงี้ยยย)

ตัดสลับมาที่ตัวอย่างใหม่กันบ้าง ถ้าเราจะสร้าง ML โมเดลเพื่อทำนายว่าเครื่องยนต์ของเครื่องบินจะต้องถูกวิศวกรตรวจสอบจริงจังตอนไหน

Jet engine inspection by Machine Learning for Business Professionals
  • Data ของเครื่องยนต์ของเครื่องบิน ถูกเก็บจากเที่ยวบิน (Flights) เป็นส่วนของ Features ซึ่งเก็บอยู่ใน Database ก้อน A
  • Data การตรวจสอบเครื่องยนต์ของวิศวกร จะกลายเป็น Label และควรเก็บอยู่ใน Database ก้อน B

เมื่อถึงเวลาที่เราจะนำข้อมูลมา Train แต่พบว่า Data ทั้ง 2 ก้อนถูกเก็บแยกกันเป็น Silos แล้วเราจะ Train มันยังไงอะเนี่ยยยยย

นั่นเป็นเหตุผลว่าทำไมเราถึงควรมี Data warehouse ! เพราะเราต้อง join data ทั้ง 2 อย่างเข้าด้วยกัน โดยใช้ engine ID กับช่วงเวลาเป็นตัวเชื่อมข้อมูล เพื่อนำ Features และ Label มาอยู่ด้วยกัน จากนั้นจึงสามารถนำไป Train โมเดลต่อได้

Join data by Machine Learning for Business Professionals

แล้วถ้าเราไม่มีการเก็บข้อมูล historical มาก่อนเลยล่ะ จะทำ ML โมเดลได้หรือไม่ ? มีอยู่ 3 วิธีเพื่อที่จะหา Label ให้กับข้อมูล หากไม่ได้เก็บมาก่อน

1) Use a proxy label (ตัวแทน label)

โดยปกติแล้ว Customer Ratting (ความเพิ่งพอใจของลูกค้า) เป็นสิ่งที่จำเป็นต่อการทำ Recommendation Model แต่ถ้าเราไม่มีไอ้ Customer Ratings นี้ล่ะ ก็ต้องลองดู ว่าจะใช้อะไรเป็น Proxy label ซึ่งต้องเป็น Label ตัวอื่นแต่ก็ต้องวัดค่าที่เกี่ยวข้องกับ Label หลักที่เราต้องการได้

Product recommendation from Lazada.com

ตัวอย่างนี้ อาจจะใช้จำนวนที่มีการคืนสินค้า หรือจำนวนสายที่โทรเข้ามาหา Customer Support เป็นตัวแทนของ Customer Ratings ที่เป็น Label หลัก มันอาจจะไม่ได้คำตอบในทันที แต่อย่างน้อยเราก็เริ่มทำอะไรกับมันได้บ้าง

Proxy labels measure something related to the label.

2) Build a labelling system (สร้างระบบ labelling)

Photo by Webaroo on Unsplash

หากเราต้องการจะสร้าง Classification model เพื่อแยกความสำคัญของอีเมลทั้งหมด ว่าอันไหนเป็น Urgent หรือ Not urgent แต่เราไม่เคยมี Label นี้อยู่ใน historical data แล้วเราจะทำยังไงกันดีน้อ ??

เราควรเริ่มทำระบบเพื่อให้คนที่ได้รับอีเมล สามารถระบุประเภทของอีเมลได้ เมื่อเวลาผ่านไปสักระยะหนึ่ง ก็จะมีข้อมูลที่มี Label มากพอที่จะใช้ Train โมเดล เพื่อทำ Classification ต่อไป การสร้าง labelling system ทำได้หลายวิธี ขึ้นอยู่กับความสร้างสรรค์ของแต่ละคน

3) Use a labelling service (ใช้บริการ labelling)

มีบริษัทต่างๆ ที่เชี่ยวชาญการทำ Label documents และ Images ตามเงื่อนไขที่เราระบุไว้ ข้อบกพร่องอย่างนึงก็คือ มันไม่ได้อยู่ใน Flow การทำงานปกติของเรา เพราะต้องส่งข้อมูลออกไปข้างนอกเพื่อให้ทำ Label

มันคงจะดีกว่าถ้าหากเป็นไปได้ที่จะแทรกการใส่ Label ไปใน Flow การทำงานปกติของคน ซึ่งเป็นคนที่สามารถตัดสินใจได้โดยยึดจากโมเดล เพราะในอนาคตหาก โมเดลทำนายผิดพลาด จะสามารถถูกแก้ให้ถูกต้องได้โดยคน และเป็นการทำข้อมูลตัวอย่างไปในตัวด้วย


2. How to train machine learning models ?

  • Choosing input features (input ไม่ถูกเก็บแยกเป็น Silo และมีความสัมพันธ์กัน)
  • Get labels (หา label จากวิธีการต่างๆ ข้างบน)
  • Choose an objective correctly (เลือกปัญหาที่สามารถนำ input features และ label ที่สอดคล้องกันมาใช้งานได้)

สิ่งที่ต้องทำในการทำ Recommendation model คือ การ optimize ML โมเดลให้เหมาะสมกับ objective และผลลัพธ์ที่ได้

ตัวอย่าง ถ้าเรามี website ค้าปลีกออนไลน์ ที่มีสินค้าเยอะมากกก แบบเดียวกับ Shopee, Lazada, JD central และต้องการจะแนะนำสินค้า สิ่งที่ต้องมาคิดกัน คือ เราจะ Train โมเดลยังไงให้รู้ว่า Recommendation แบบไหนดีหรือแย่

Click (จำนวนการคลิก)

ถ้าแนะนำสินค้าโดยดูจากจำนวนที่ users คลิกที่สินค้า ดังนั้น objective ก็คือการทำยังไงให้มียอดคลิกสินค้ามากที่สุด ลองมาดูกันว่าจะเกิดอะไรขึ้น ?

ML โมเดลอาจมีแนวโน้มที่จะแนะนำสินค้าที่แปลกๆ ขึ้นมาได้ ของบางอย่างถูกคลิกเยอะเพราะมันแปลกแหวกแนว แต่เอาจริงๆ แล้วคือไม่มีคนซื้อเลย

Product clicks by Machine Learning for Business Professionals

Purchase Likelihood (ความเป็นไปได้ในการซื้อ)

ถ้าแนะนำแบบนี้ ก็จะได้การแนะนำสินค้าเฉพาะสินค้าที่เป็นที่นิยม ณ ตอนนั้น ซึ่งเป็นสินค้าที่มีคนซื้อเป็นจำนวนมาก ถ้าอย่างช่วง COVID-19 ก็คงจะเป็น หน้ากากอนามัย เจลแอลกฮอล์ อะไรพวกนี้ แต่ยังไงของเหล่านี้ก็มีคนซื้ออยู่แล้ว ถ้างั้นเราควรจะแนะนำมันอีกหรือเปล่า ?

ขอเดาล่วงหน้าว่าสิ่งที่จะขายดีเป็นอันดับต่อไปอาจเป็นเจ้า Clipper หรือที่รู้จักกันดีในชื่อปัตตาเลี่ยน เนื่องจากร้านตัดผมปิด และมีหลายคนในตอนนี้ที่มีสภาพเหมือนทาร์ซาน 5555

Surprise (สิ่งที่ไม่เคยเห็นมาก่อน)

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

Highly rated item (ความพึงพอใจ)

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

Recap

สิ่งที่ยากที่สุดของ Recommendation system ไม่ใช่ algorithm เพราะมันเป็น standard algorithm และไม่ใช่ data เพราะมีข้อมูลการซื้อในแต่ละวันอยู่แล้ว สิ่งที่ยากจริงๆ คือการตั้ง objective ให้ถูกต้อง ในความเป็นจริง ธุรกิจค้าปลีกจะใช้การ weighted หรือให้น้ำหนักกับทุก factors ที่พูดมาด้านบน เช่น

ใน TOP 5 recommendations ที่ส่งไปให้แต่ละ users ต้องมี สินค้าที่แปลกๆ และน่าสนใจอยู่ 1 ชิ้น มีสินค้าที่มียอดซื้อมากที่สุดอยู่ 1 ชิ้น สิ้นค้าที่เป็น high ratings 2 ชิ้น และสินค้าที่ไม่เคยเห็นมาก่อนอีก 1 ชิ้น

ซึ่งแต่ละบริษัทก็จะปรับเปลี่ยนการให้น้ำหนักกับ factors ตามกลยุทธ์ในแต่ละช่วงเวลา เมื่อเราได้ Policy มาแล้ว ก็สามารถนำไปใช้ Train โมเดลต่อได้

Model Training

ML steps by Machine Learning for Business Professionals

ขั้นตอนการ Train โมเดล เป็นขั้นตอนที่ง่ายที่สุดในการทำ Machine Learning การ Train โมเดล เป็นการเปรียบเทียบผลการทำนายจากโมเดลกับ Label และใช้ผลลัพธ์นั้นเพื่ออัพเกรดโมเดลซ้ำ ด้วยการใช้ standard machine learning algorithm

Model training by Machine Learning for Business Professionals

ML โมเดลที่มีประสิทธิภาพที่สุด เกิดจากการ Train ซ้ำไปซ้ำมาอยู่ตลอดเวลา โดยการนำข้อมูลใหม่ๆ มาใช้ กับโมเดลที่ถูก Train มาแล้ว นั่นก็เพราะโลกเรามีการเปลี่ยนแปลงอยู่ตลอด ข้อมูลใหม่ๆ เท่านั้นที่จะทำให้เกิดการเปลี่ยนแปลงที่ใหม่กว่าตามมา

ถ้าเราสร้าง workflow ที่มีมนุษย์ทำหน้าที่ใส่ Label ให้ข้อมูล มันก็เหมือนงานนั้นเสร็จไปแล้วครึ่งนึง ขั้นตอนต่อไปก็แค่นำข้อมูลนั้นเข้าไปใส่ในโมเดล แต่มันไม่ใช่แค่นั้น Lak บอกว่า โมเดลที่ดีควรมีมนุษย์อยู่ใน loop ด้วย ซึ่งหลายคนมองว่าไม่จำเป็น

Lak ยังพูดติดตลกว่า ที่เค้าบอกว่า กระบวนการ Train ML โมเดล เป็นเรื่องง่าย เพราะมันเป็นแค่ standard algortihms แต่จริงๆ แล้วมีการวิจัยเรื่อง ML อีกเยอะมากที่กำลังพัฒนา algorithms เจ๋งๆ สำหรับงานอีกหลายรูปแบบ แต่เค้ามองว่าสำหรับการแก้ปัญหาทางธุรกิจ standard algortithms น่าจะเพียงพอแล้ว ชาว Data scientists คงจะไม่ค่อยเห็นด้วยกับเรื่องนี้เนอะ 5555 และนี่ก็เป็นตัวอย่างของ standard algorithms ที่ Lak พูดถึง

Standard algorithms for ML by Machine Learning for Business Professionals

ส่วนใหญ่ความแม่นยำของโมเดลจะเพิ่มขึ้นจากข้อมูลที่ดีกว่าเดิม มีคนมากมายที่สร้าง algortithms ใหม่ๆ และนำผลลัพธ์มาเปรียบเทียบกับ algortihms ที่มีอยู่แล้ว แต่มักจะมี improvement น้อยถึงน้อยมาก เช่น การใช้ algortithms ที่หลากหลายเพื่อทำ Image classification ผลลัพธ์ออกมาแทบจะไม่ต่างกัน หรือการทำ Text summarization เพื่อทำ Sentiment analysis หรือ Speech Recognition ก็เช่นกัน สามารถใช้ code รูปแบบคล้ายๆ กันได้ ซึ่งหาได้ง่ายแล้วตอนนี้ เพราะมันเป็น Open source

และเดี๋ยวนี้มีบริการ ML as a service ไม่ว่าจะเป็น Google, Amazon, Azure ที่ทุกคนเข้าถึงกันได้ง่ายๆ แถมยัง scalable ด้วย ไม่จำเป็นต้อง load data ทุกอย่างมาไว้ในเครื่องตัวเองแล้ว

ML s a service by Machine Learning for Business Professionals

3. How to evaluate models ?

โดยปกติแล้ว การทำ ML จะแบ่งข้อมูลตัวอย่างออกเป็น 2 ส่วนหลัก คือ Training data และ Test data ในหลายๆ อัตราส่วน 60:40 , 70:30, 80:20 ซึ่งข้อมูลที่เราจะนำมา evaluate โมเดลนั่นก็ครือออ Test data นั่นเอง

Training vs test data by Machine Learning for Business Professionals

เพราะส่วนของ Test data เป็นข้อมูลที่โมเดลยังไม่เคยเห็นมาก่อน ถ้ามีคนถามว่าโมเดลเราเป็นยังไงบ้าง ก็แสดงผลของ Test data ให้ดู ซึ่งเราจะเรียกสิ่งนี้ว่า “Confusion Matrix” (แค่ชื่อก็มีสัญญาณของความงง มาตะหงิดๆ) ลองดูตัวอย่างผลลัพธ์ของ โมเดลทำนายคุณภาพชิ้นส่วนที่เราคุ้นเคยกันมาตั้งกะ Week 1

Confusion matrix (1) by Machine Learning for Business Professionals

เรามาลองปรับ Confusion Matrix (ตารางขวาในภาพด้านบน) เพื่อให้เข้าใจง่ายมากขึ้น โดยเปลี่ยนจาก Good = Positive และ Fractured = Negative และตัวเลขจากตารางคือความถี่ของข้อมูล ในกรณีนี้ก็เป็นจำนวนของชิ้นส่วน

อักษรตำแหน่งที่ 1 (T / F)

อธิบายว่า ความเป็นจริง (Label) และผลการทำนาย (Predict) ตรงกันหรือไม่ แทนคำว่า True และ False

อักษรตำแหน่งที่ 2 (P / N)

อธิบายว่า ผลการทำนาย (Predict) เป็นยังไง แทนคำว่า Positive และ Negative

  • Label เป็น Good | Prediction เป็น Good = สิ่งที่เกิดขึ้นจริง (Label) ตรงกับ Prediction ชิ้นส่วนดี ทำนายว่า ชิ้นส่วนดี เรียกว่า True Positive (TP) มีจำนวน 893 ชิ้น
  • Label เป็น Good | Prediction เป็น Fractured = สิ่งที่เกิดขึ้นจริง (Label) ไม่ตรงกับ Prediction ชิ้นส่วนดี ทำนายว่า ชิ้นส่วนเสีย เรียกว่า False Negative (FN) มีจำนวน 232 ชิ้น
  • Label เป็น Fractured | Prediction เป็น Good = สิ่งที่เกิดขึ้นจริง (Label) ไม่ตรงกับ Prediction ชิ้นส่วนเสีย ทำนายว่า ชิ้นส่วนดี เรียกว่า False Positive (FP) มีจำนวน 42 ชิ้น
  • Label เป็น Fractured | Prediction เป็น Fractured = สิ่งที่เกิดขึ้นจริง (Label) ตรงกับ Prediction ชิ้นส่วนเสีย ทำนายว่า ชิ้นส่วนเสีย เรียกว่า True Negative (TN) มีจำนวน 675 ชิ้น

ซึ่งค่าทั้ง 4 นี้จะสามารถสร้าง Metrics ที่ใช้กันหลักๆ ได้ 5 ค่า

Accuracy

วัดความถูกต้องของผลทำนายจากโมเดลที่ทายถูก(ชิ้นส่วนคุณภาพดี และเสียหาย) เทียบกับสิ่งที่เกิดขึ้นจริง (Label) เอาง่ายๆ คือบอกว่าโมเดลเราทายถูกกี่ % นั่นเอง มีสูตรคำนวน คือ

Accuracy = (TP + TN) / (TP+ TN + FP + FN)

จากในตัวอย่าง = (893 + 675) / (893 + 675 + 46 + 232) = 0.85 ประมาณ 85% ถ้ามองภาพรวมแบบคร่าวๆ โมเดลมีประสิทธิภาพดีประมาณนึงเลย

Error

วัดค่าความผิดพลาดของโมเดล สูตรคำนวนคือ

Error = 1 – Accuracy

นั่นก็คือ 1 – 0.85 = 0.15 หรือ 15% โดยค่า Accuracy + Error จะมีค่าเท่ากับ 1 เสมอ

Precision

วัดความน่าจะเป็นที่โมเดลทำนาย ชิ้นส่วนคุณภาพดี ได้ถูกต้องกับความเป็นจริงจากการทำนายชิ้นส่วนคุณภาพดีทั้งหมด สูตรคำนวนคือ

Precision = TP / (TP + FP)

จากในตัวอย่าง = 893 / (893 + 46) = 0.95 ประมาณ 95%

Recall

วัดความน่าจะเป็นที่โมเดลทำนาย ชิ้นส่วนคุณภาพดี ได้ถูกต้องกับความเป็นจริงของชิ้นส่วนคุณภาพดีทั้งหมด สูตรคำนวนคือ

Recall = TP / (TP + FN)

จากในตัวอย่าง = 893 / (893 + 232) = 0.79 ประมาณ 79%

F1 – Score

เมื่อไม่รู้ว่าจะใช้ Precision หรือ Recall ก็ไม่ต้องเลือก เพราะ F1 – score เป็นการนำทั้ง 2 ค่ามาหาค่าเฉลี่ย ทำให้เราตัดสินใจง่ายขึ้น สูตรคำนวนคือ

F1-score = 2 * ((Precision * Recall) / (Precision + Recall))

จากในตัวอย่าง = 2 * ((0.95 * 0.79) / (0.95 + 0.79)) = 0.86 ประมาณ 86%

โดยทั่วไปการวัดประสิทธิภาพโมเดล จะต้องดูทั้ง 4 ค่าประกอบกัน เราไม่สามารถบอกว่าโมเดลดีหรือไม่ดี โดยดูเพียงแค่ค่า Accuracy ได้


ML Best Practices

1. Model involves experimentation

Model involves experimentation by Machine Learning for Business Professionals

ปกติเราจะไม่สร้างโมเดลแค่ 1 โมเดล เพราะต้องมีการทดลองหลายอย่าง เช่น ถ้าอยากสร้าง ML โมเดลเพื่อทำนายยอดขายของร้านไอศกรีม มีสองโมเดลคือมี Feature สภาพอากาศ กับไม่มี Feature สภาพอากาศ จากนั้นลองดูผล error ของโมเดลทั้ง 2 แบบ

2. Start Simple

Neural network by Research Gate

ถ้าเราสร้างโมเดล Neural network ที่มีตัว Hidden layer เข้ามาเกี่ยวข้อง ยิ่งมีจำนวน Layer มาก จะสร้างโมเดลที่ซับซ้อนได้ ดังนั้นควรจะเริ่มจาก Layer น้อยแล้วค่อยเพิ่มขึ้นไปทีละนิด

3. Don’t use your test data during experimentation

อย่าใช้ข้อมูล Test ในระหว่างการปรับโมเดล เพราะจะทำให้การ evaluate จริงของโมเดลมีการคลาดเคลื่อน

Tools ต่างๆ เช่น BigQuery ML และ Auto ML ที่จัดการให้เราโดยอัตโนมัติ ถ้ากำหนด Train data = 80% Tools จะไม่นำ Train data ไป Train ทั้งหมด แต่จะเก็บส่วนเล็กๆ ไว้เพื่อ Validate โมเดลที่ดีที่สุด ดังนั้นผลที่ออกมาหลังจากการ Train จะขึ้นอยู่กับส่วนที่เป็นอิสระจาก Train data นั่นหมายถึง เราไม่จำเป็นต้องไปยุ่งกับ Test data เลย

4. Do pilot projects with end users

อย่าเพิ่งแฮปปี้ดี้ด้ากับผล evaluation ที่เราได้จากโมเดล เช่น Accuracy, Precision, Recall สิ่งที่สำคัญที่สุดคือ มันส่งผลกระทบยังไงต่อผู้ที่ต้องการใช้มัน การให้ end-users ดูผลของโมเดลและพูดคุยกัน อาจทำให้เราได้บางอย่างที่ไม่น่าเชื่อ


Hands-on Labs

มาอีกแล้ววว Week 2 ก็มี Lab เช่นเคย ซึ่งยกตัวอย่างมา 1 Lab ในคอร์สเต็มๆ จะมี 2 Labs นะครัช

Lab : Understanding Learned Relationships using the embedding projector

นอกจากเราจะวิเคราะห์โมเดลโดยใช้ Confusion Matrix แล้ว ก็ยังมีวิธีอื่นอีก ซึ่ง Lab นี้ จะสอนการใช้ Open tools ที่ชื่อ Embedding projector https://projector.tensorflow.org/ เป็นส่วนหนึ่งของ TensorFlow Software Package

Embedding Projector (1) by Machine Learning for Business Professionals

เจ้า Embedding Projector สามารถมองหาความสัมพันธ์ของคำ ที่วิเคราะห์จากบทความใน wikipedia โดยเรียก metric นี้ว่า Nearest neighbor จะมองความสัมพันธ์เป็นระยะห่างของคำที่เราค้นหา กับคำที่เกี่ยวข้องกับคำนั้น

จากในภาพเราใช้ Dataset : Word2Vec All แล้ว Search คำว่า mouse จะนั้นโมเดลจะแสดงผลคำต่างๆ ที่เกี่ยวข้องกับ mouse โดยในแถบด้านขวา จะเป็นระยะห่างของคำต่างๆ ที่เกี่ยวข้อง​ โดยเรียงจากใกล้ไปไกล ลองมองดีๆ จะเห็นว่า Mouse มีความหมาย 2 อย่าง คือ หนูที่เป็นสัตว์ กับอุปกรณ์คอมพิวเตอร์นั่นเอง

Embedding Projector (2) by Machine Learning for Business Professionals

Course Summary

Photo by Jonathan Chng on Unsplash

จบไปแล้ววว สำหรับ EP.2 ของคอร์ส Machine Learning for Business Professional คิดว่าคงมีประโยชน์ไม่มากก็น้อย จะบอกว่าเนื้อหา Week 2 เยอะมากครัช เช่น

How to deploy ML?, ML Bias พร้อมกับ Lab สอนใช้ Tool ที่ชื่อว่า What-if ใช้ในการ Evaluate โมเดลและตรวจเชค Bias ได้ด้วย เขียนลงไปไม่หมดจริงๆ อยากให้ทุกคนเข้าไปเรียนคอร์สเต็มกัน รับรองความรู้เพียบบบบ

สิ่งที่เรียนรู้จาก Week 2

  • Label & Feature
  • Product Recommendation
  • Model Training
  • Model Evaluation
  • ML Best Practices
  • Embedding projector

พุดคุยติชมได้ที่ https://www.facebook.com/Malonglearn