การใช้งาน Machine Learing แบบ Regression และ Classification

 

ต่อเนื่องจาก บทความ Introduction to Machine Learning ที่เขียนไปแล้ว หวังว่าน่าให้ความเข้าใจคร่าวๆ แล้วว่า Machine Learning คือ อะไร มีกี่ประเภท วันนี้จะกลับมาต่อให้ละเอียดลงไปอีกหน่อย ถึงปัญหาหลักๆ ที่ใช้ Machine Learning 2 แบบ ด้วยกัน  คือ

         1. Regression

         2. Classification

หวังว่าคงจะยังไม่ลืมกันนะคะ ว่าประเภทของ Machine Learning ที่แบ่งตามการเรียนรู้มีอยู่ด้วยกัน 2 แบบ คือ  แบบมีผู้สอน (Supervised Learning)  กับ  แบบไม่มีผู้สอน (Unsupervised Learning)

Screen Shot 2016-05-26 at 01.56.41

  • Supervised Learning หรือ ปัญหาแบบมีผู้สอน ง่ายๆ ก็คือ ในการแก้ปัญหานี้ ต้องมีข้อมูลที่ใช้ในการสอน ML model ก่อนจะใช้งาน เช่น ถ้าอยากให้รู้จำแยกแยะระหว่างเพศหญิง และ ชาย ก็จะต้องสอนก่อนว่า เพศหญิง มีลักษณะอย่างไร เพศชายมีลักษณะอย่างไร
  • Unsupervised Learning  หรือ ปัญหาแบบไม่มีผู้สอน ในปัญหาแบบนี้ พูดให้เข้าใจง่ายๆ ก็คือ ไม่มีการใช้ข้อมูลสอนอะไรล่วงหน้าทั้งนั้น โยนข้อมูลให้ ML ทั้งก้อน แล้วบอกให้ ทำการแบ่งออกเป็นกี่กลุ่ม

วันนี้ ขอเริ่มที่รายละเอียดของฝั่งของ Supervised Learing ก่อนนะคะ … ปัญหา “การจัดกลุ่ม” นี้ จริงๆ แล้ว สามารถแบ่งย่อยได้อีกเป็น ปัญหาของ Regression และ Classification ดังนี้

Screen Shot 2016-05-26 at 02.13.24

  •  Regression : ปัญหาในกลุ่มนี้ จะเป็นปัญหาที่มีคำตอบเป็น Continuous values  (ค่าต่อเนื่อง) พูดให้เข้าใจง่ายๆ ก็คือ คำตอบที่ได้จากโมเดลประเภทนี้ จะต้องออกมาเป็น “ค่าตัวเลข” ที่ต้องการทำนาย
  • Classification : ปัญหาในกลุ่มนี้ คำตอบจะมีลักษณะเป็น Discrete value (ค่าเชิงเส้น) พูดง่ายๆ ก็คือ คำตอบของปัญหานี้จะเป็นค่าที่บอก “กลุ่มของข้อมูล” ซึ่งเราจะสามารถกำหนดไว้ล่วงหน้าได้

 

ยกตัวอย่าง ความสัมพันธ์ระหว่างราคาบ้าน กับขนาดของบ้านมาให้ดู เผื่อเปรียบเทียบ ดังนี้

ปัญหา “Regression”

Screen Shot 2016-05-26 at 02.24.43จากรูป สมมุติว่าเรามีข้อมูลสอนที่เป็น ขนาดของของบ้านและราคา ของบ้าน 11  หลัง ซึ่งแทนด้วยเครื่องหมาย “กากบาท” สีแดง (แกน x คือขนาดของบ้าน และ แกน y คือ ราคาของบ้านหลังนั้นๆ) … ข้อมูลเหล่านี้เป็นข้อมูลที่มีอยุ่ก่อนแล้ว ซึ่งเราจะถือว่าเป็น ข้อมูลสอนนั่นเอง งานที่  Regression จะต้องทำคือ ถ้ามีบ้านหลังที่  12  เพิ่มเข้ามา ขนาด 1600 ตารางฟุต (แสดงด้วยจุดสีฟ้า) เราจะหาได้อย่างไรว่า ราคาที่เหมาะสมของบ้านหลังนี้ ควรจะเป็นเท่าไหร่?

ปัญหา “Classification” 

ลองมาดูข้อมูลเดียวกัน แต่ถ้าเราอยากจะแก้ปัญหานี้ด้วย classification model  บ้างล่ะ จะเป็นอย่างไร

Screen Shot 2016-05-26 at 02.36.30

จากรูป จากข้อมูลเดิมคือ ขนาดของของบ้าง ที่สัมพันธ์กับราคาจำนวน 11  หลัง ซึ่งแทนด้วยเครื่องหมาย “กากบาท” สีแดง … ข้อมูลเหล่านี้เป็นข้อมูลที่มีอยุ่ก่อนแล้ว ซึ่งเราจะถือว่าเป็น ข้อมูลสอนนั่นเอง

งานที่  Classification จะต้องทำคือ ทำการจัดกลุ่มข้อมูล ดังนั้น ก่อนจะทำงานได้ เราต้องมีการจัดกลุ่มข้อมูลสอนก่อน เช่น จัดเป็นกลุ่มของบ้านที่เสียภาษีต่ำ กับ เสียภาษีสูง ดังรูป … ในปัญหาประเภทนี้ เมื่อมีข้อมูลบ้านหลังใหม่เข้ามา (จุดสีฟ้า) ML โมเดลจะต้องทำการ จัดให้ได้ว่า บ้านหลังใหม่นี้ จะต้องเสียภาษีในอัตรา ต่ำ หรือ สูง? พูดง่ายๆ ก็คือ ว่า เราต้องมีกลุ่มอยู่ในใจก่อน แล้วใช้ Classification  Model มาเลือกว่าข้อมูลของเราสมควรจะไปเป็นสมาชิกของกลุ่มไหนนั่นเองค่ะ

การเลือกใช้โมเดล?

การเลือกใช้โมเดล ก็จะขึ้นอยู่กับว่า เราอยากได้คำตอบประเภทไหนนั่นเองค่ะ เช่น อยากจะรู้ว่า ราคาหุ้นตัวนี้ ในวันต่อไปจะมีค่าเท่าไหร่? ก็แน่นอนค่ะ ส่ิงที่จะต้องทำคือ Regression เนื่องจากเราต้องการรู้ค่าราคาหุ้น ซึ่งจะเป็นเท่าไหร่ก็ได้ … แต่ถ้าเราอยากรู้แค่ว่าหุ้นตัวนี้ราคาจะขึ้น หรือ ลง โมเดลที่จะเลือกก็จะเป็น Classification เนื่องจาก ค่าที่ต้องการทำนาย มีค่า 2 ค่า คือ ไม่ “ขึ้น” ก็ “ลง” เท่านั้น …

หวังว่าคงจะพอเห็นภาพคร่าวๆ กันนะคะ ในบทความหน้าเราจะมาเจาะลึกดูกันอีกว่า เจ้าตัว Regression การทำงานเป็นอย่างไร มันสามารถทำนายค่าต่างๆ เช่น ค่าของราคาหุ้นออกมาได้อย่างไร?

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s