machine Learning

คุณรู้สึกสงสัยไหม?

  • ว่าทำไม Siri มันจดจำเสียง คุยตอบโต้  หรือทำงานตามคำสั่งของเราได้เหมือนกับคนจริงๆ ทั้งๆที่มันไม่ใช่คน
  • หรือการที่คุณ search หาร้านกาแฟแถวบ้านใน google แต่พอวันต่อมากลับมีเพจร้านกาแฟบรรยากาศดีโผล่ขึ้นมาบนหน้า Facebookของคุณ แล้ว Facebookรู้ได้ไงว่าคุณสนใจเรื่องนี้? 

ที่พูดมาทั้งหมดนั้นเป็นผลการทำงานของ Machine Learning (ML) จะเห็นได้ว่า ML เข้ามามีบทบาทในชีวิตประจำวันเรามาก คุณอาจจะยังไม่เข้าใจว่า Machine Learning คือ อะไร แล้วมันมีการทำงานยังทำไมมันถึงได้ฉลาดขนาดนี้ แล้วมันมีประโยชน์กับเรายังไงบ้าง เราจะมาหาคำตอบในบทความนี้กัน

ก่อนอื่นเราต้องมาทำความเข้าใจก่อนว่า Machine Learning คือ อะไร

อัพเดทเรื่อง Machine Learning ได้ก่อนใครที่นี้ !!

Machine Learning (ML)

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

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning 

ซึ่งการเรียนรู้แต่ละแบบก็จะมีการเรียนรู้ในระดับย่อยที่แตกต่างกันออกไป แต่ในบทความนี้เราจะพูดถึงเฉพาะความแตกต่างระหว่าง Supervised Learning และ Unsupervised Learning  ว่ามันมีการเรียนรู้จากข้อมูลที่ได้แตกต่างกันอย่างไร

supervised learning คือ

Supervised Learning คือ อะไร

Supervised Learning คือ การเรียนรู้ที่ต้องมีคนมาสอนก่อน คอมพิวเตอร์จะสามารถหาคำตอบหรือผลลัพธ์ได้ด้วยตัวมันเอง หลังจากที่ได้เรียนรู้จากข้อมูลที่คุณใส่และสอนมันไปก่อนหน้า เมื่อมันรู้เรียนรู้แล้ว ในรอบต่อไปเมื่อคุณใส่ข้อมูลลงไปมันก็จะบอกผลลัพธ์ได้ทันทีตามที่คุณสอนมัน ซึ่งหากข้อมูลที่คุณสอนมันมีจำนวนมาก ในครั้งต่อไปมันก็จะยิ่งให้ผลลัพธ์ที่แม่นยำมากยิ่งขึ้นเช่นกัน การเรียนรู้แบบ Supervised Learning ที่เราได้ยินบ่อยๆ เช่น Classification, Regression เป็นต้น

การเรียนรู้แบบ Classification คือ การที่คุณสอนให้มันแบ่งกลุ่มข้อมูล ยกตัวอย่างเช่น มีคนไข้ที่เป็นเนื้องอกในสมอง คุณอยากรู้ว่าเขาจะเป็นเนื้องอกร้ายหรือเนื้องอกไม่อันตราย คุณจำเป็นต้องใส่ชุดข้อมูลและสอนมันว่า ขนาดเนื้องอกที่อยู่ระหว่าง 1 – 2 mmคือเนื้องอกไม่อันตราย ขนาดเนื้อ 3-5 mmเป็นเนื้องอกร้าย คอมพิวเตอร์ก็จะเรียนรู้การแบ่งกลุ่มตามที่คุณสอนไป เมื่อมีคนไข้ใหม่ที่เป็นเนื้องอกประมาณ 2 mm คอมพิวเตอร์มันก็จะบอกคุณได้เลยว่าเขาเป็นเนื้องอกไม่อันตราย 

classification คือ

แต่!!! ในความเป็นจริงแล้วการที่จะดูว่าเขาเป็นเนื้องอกไม่อันตรายหรือร้ายนั้นไม่ได้ดูกันที่ขนาดอย่างเดียว แต่เราดูความเข้มของสี รูปทรง ความแข็งของเนื้องอก ตำแหน่งที่อยู่ ลักษณะพื้นผิว และปัจจัยอื่นๆอีกมาก ซึ่งปัจจัยพวกนั้นเยอะมากจนมนุษย์ไม่สามารถนำมาวิเคราะห์เองได้ว่าเป็นเนื้องอกดีหรือเนื้องอกร้ายโดยดูจากฟิล์มเอกซเรย์ แต่ ML ทำได้!! โดยที่เราต้องใส่รายละเอียดข้อมูลทั้งหมดลงไปและสอนมันแยกประเภท ต่อไปมันก็จะสามารถบอกได้ว่าเนื้องอกแบบไหนเป็นเนื้องอกดีหรือเนื้องอกร้าย หากมันพัฒนาไปได้ไกล อนาคตอาจจะมีหมอที่ชื่อว่า ML มาช่วยวินิจฉัยโรคให้คนก็เป็นได้

 

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

supervised learning คือ

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

ทีนี้เมื่อคอมพิวเตอร์มันได้เรียนรู้แล้วว่าขนาดบ้านและราคามีความสัมพันธ์กันอย่างไร  เมื่อเราต้องการรู้ราคาบ้านของเราว่าจะขายได้เท่าไร เราก็ใส่ข้อมูลขนาดบ้านของเราลงไป เช่น บ้านขนาด 60 ตารางวา คอมพิวเตอร์ก็จะใช้วิธี Regression นี้ ปะมาณราคาบ้านออกมาให้เรา ในที่นี้ก็ประมาณ 610 บาท (อันนี้สมมตินะคะ ราคาบ้านจริงไม่น่าจะถูกขนาดนี้><)  

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

แต่คุณต้องสอนมันก่อนนะ ไม่งั้นมันก็จะไม่รู้ว่าจะวิเคราะห์ยังไง

ต่อไปเราจะมาดูว่า การเรียนรู้ของ ML แบบ Unsupervised Learning มันเรียนรู้ยังไง และต่างจาก Supervised Learning อย่างไร

Unsupervised learning คือ อะไร

Unsupervised Learning คือ การเรียนรู้ที่ไม่ต้องอาศัยผู้สอน เราจะใส่ข้อมูลลงไปในคอมพิวเตอร์และเราไม่ได้กำหนดผลลัพธ์ว่าจะต้องเป็นแบบไหน เราปล่อยให้คอมพิวเตอร์มันเรียนรู้ที่จะแยกกลุ่มได้ด้วยตัวมันเอง ซึ่งการเรียนรู้แบบ Unsupervised Learning มีการแบ่งเป็น 2 ประเภทหลักๆ คือ clustering และ non-clustering 

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

ีืunsupervised learning คือ

ตัวอย่างหนึ่งของการเรียนรู้แบบ non-clustering คือ Cocktail Party Algorithm เป็นการเรียนรู้ของคอมพิวเตอร์ที่จะสามารถแยกเสียงที่ต้องการได้ ยกตัวอย่าง เมื่อเราเข้าไปในงานเลี้ยง มีคนมากมายพูดคุยกันเสียงดังแถมยังมีเสียงเพลงอีก แล้วเราได้ยินเสียงของคู่สนทนาได้อย่างไร? นั่นเพราะว่าสมองเราสามารถที่จะแยกเสียงที่เราต้องการจะฟังได้ประกอบกับเราใช้วิธีการอ่านปากไปด้วยก็สามารถทำให้เราเข้าใจได้ ซึ่งตัว ML ก็สามารถที่จะเรียนรู้การแบ่งแยกเสียงที่ต้องการคล้ายสมองของเราได้เช่นกัน ซึ่งตอนนี้ทาง google ได้นำหลักการนี้มาพัฒนา google recognize สำหรับ google Assistant

clustering คือ

ปัจจุบันได้มีการนำ ML มาปรับใช้เพื่อให้ตอบสนองความต้องการของคนมากขึ้น ยกตัวอย่างเช่น

  • Spam Detection – คือการที่มันสามารถคัดแยก Email ได้ว่า Email ไหนเป็น Spam อันไหนเป็น Email ที่เราต้องการ
  • Face Detection – เมื่อเราถ่ายรูปกับเพื่อนลง Facebook และมีกรอบสี่เหลี่ยมขึ้นล้อมรอบหน้าเพื่อนของเราเพื่อที่จะให้เรา tag 
  • Self Driving Car – รถมีเซนเซอร์ เชื่อมต่อกับ GPS และทำงานรวมกับ Software อัจฉริยะ ทำให้รถสามารถขับเคลื่อนได้ด้วยตัวมันเอง ไม่จำเป็นต้องมีคนขับ!
  • Google Map – คุณสามารถสั่งให้มันช่วยค้นหาเส้นทางที่รวดเร็วที่สุด ไม่ต้องทนรถติดไปทำงานสาย

จะเห็นได้ว่า Machine Learning มันมีการเรียนรู้ และสามารถวิเคราะห์ได้เหมือนกับคนเลยทีเดียว และมันยังถึกกว่าคนมาก เพราะว่ามันสามารถที่จะประมวณผลข้อมูลเป็น ล้านๆ ข้อมูลได้ในเวลาที่รวดเร็วเมื่อเปรียบเทียบกับคน และตอนนี้ ML ก็เข้ามามีบทบาทในชีวิตของเรามาก ช่วยให้ชีวิตของเราสะดวกสบายขึ้น 

ในอนาคต ML อาจจะพัฒนาไปถึงขั้นวินิจฉัยโรคแทนหมอ ตัดสินคดีแทนทนาย ไม่แน่อาจจะมีชุดไอร่อนแมนออกมาวางขาย คุณก็จะได้เป็นไอร่อนแมนคนที่ 2 ก็เป็นได้!

(อ่านต่อเรื่อง Linear Regression for ML EP.1 เป็นเนื้อหาที่จะพูดต่อไปว่า ML จะใช้ Linear Regressionประเมินราคาบ้านได้อย่างไร

 หากเพื่อนๆสนใจและมองหาคอร์สที่สอน Machine learning สำหรับมือใหม่ที่ไม่ได้มีพื้นฐานมาก่อน ดิฉันได้จัดทำคอร์สสอนวิธีการใช้ MLเบื้องต้น เพื่อนๆสามารถคลิกเข้าไปดูรายละเอียดคอร์สได้ที่นี้เลย

บทความอื่นๆที่เกี่ยวกับ Machine Learning

อัพเดทเรื่อง Machine Learning ได้ก่อนใครที่นี้ !!