Asymmetric

by ilog.ai

Asymmetric cost function

Asymmetric คือ ความไม่สมมาตร หากเราจะแปลตามพจนานุกรม หรือแปลว่า การรู้ไม่ข้อมูลไม่เท่ากันระหว่างคนขายและคนซื้อ (Asymmetric information) ในทางเศรษฐศาสตร์ และต่อไปนี้เราจะแสดงให้เห็นถึงความไม่สมมาตรในทางของคณิตศาสตร์ (ในทางคณิตศาสตร์ เราเรียกว่า Asymmetric cost function)

ก่อนอื่น เราจำเป็นจะต้องมีความรู้เรื่องการประมาณการตัวแปรก่อน ไปดูกันเลยค่ะ

ในการที่เราจะประมาณการตัวแปรใดๆนั้น มีวิธีการประมาณการมากมายให้เราเลือกใช้ ในที่นี้จะยกตัวอย่างการประมาณการอย่างง่าย นั้นคือการประมาณการแบบ Simple Linear Regression ที่เราได้กล่าวไปในบทความก่อนหน้านี้ (เรื่อง Linear Regression for Machine Learning EP.1) ซึ่งในบทความนี้เราจะพูดถึงการประมาณราคาบ้าน(Y)ต่อขนาดLiving Room (X)

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

linear regression

สมการประมาณราคาบ้านที่แม่นยำต่อชุดข้อมูลของเรา (Training set) คือสมการที่สามารถลากผ่านจุด Yจริง มากที่สุด หรืออีกความหมายหนึ่งก็คือการที่ error น้อยที่สุดนั่นเอง (error คือระยะห่างระหว่าง Yจริง กับ Yp) 

คำถามคือ แล้วเราจะทำอย่างไรให้ Error มันน้อยที่สุด

คำตอบคือ ขั้นแรกเราต้องเอา error ทั้งหมดมารวมกันให้หมดเราเรียกผลรวมของ error นี้ว่า Cost function เราก็จะได้สมการดังนี้

cost function คือ

ซึ่ง Cost Function ที่เราใช้ในที่นี้คือแบบ Residual sum of squares(RSS) เป็นผลรวมของ Error ทั้งหมดที่มีโดยให้น้ำหนักเท่ากัน ซึ่งมันไม่สนใจว่าระยะห่างระหว่างค่า Yจริง กับ Yp นั้นจะมีค่าเป็น (+) หรือ (-) (มันจึงได้ยกกำลังสอง ) การทำแบบนี้ เมื่อเราทำการ Minimize residual sum of squares จะทำให้เราสามารถลด error ของข้อมูลทั้งหมดอย่างเป็นกลาง 

คำถามต่อมาคือ แล้ว Cost Function มีแค่รูปแบบ Residual sum of squares (RSS) หรือ?

คำตอบคือ ไม่ใช่มันมีรูปแบบอื่นๆด้วย

ก่อนอื่นเราจำเป็นที่จะต้องมาทำความเข้าใจเกี่ยวกับ Cost Function ก่อน จริงๆแล้ว cost function นั้นไม่ได้มีรูปแบบเดียว มันมีหลายรูปแบบส่วนใหญ่แบ่งออกเป็น 2 ประเภทหลัก นั่นคือ Symmetric cost function และ Asymmetric Cost Function

จากรูป Cost Function แบ่งออกเป็น 2 ประเภทหลัก คือ Symmetric cost function และ Asymmetric Cost Function ซึ่ง residual sum of squares(RSS) เป็น cost function รูปแบบหนึ่งในประเภท Symmetric โดยส่วนใหญ่แล้วเราจะใช้ Symmetric คือ เราให้น้ำหนักของทั้ง error ที่อยู่ด้านบนและด้านล่างเส้นประมาณการเท่ากันเมื่อระยะทางเท่ากัน ส่วน Asymmetric คือ เราให้น้ำหนักของ error ที่อยู่ด้านบนและด้านล่างเส้นประมาณการไม่เท่ากันเมื่อระยะทางเท่ากัน (อยู่ที่เราจะกำนดเอง)

คำถามต่อมาคือ ถ้างั้นเราก็ใช้ Symmetric cost function กับทุกสมการได้ไหม มันน่าจะดีกว่าป่ะ เพราะมันมีการให้น้ำหนัก error ทุกตัวเท่ากัน มันมีความเป็นกลางมากกว่าอีกแบบ

คำตอบคือ มันใช้ไม่ได้กับทุกสมการ บางการประมาณการใช้ Asymmetric Cost Function จะให้การประมาณที่ดีกว่า 

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

  • Case 1 : ถ้ามันสูงเกินราคาตลาด >>>>>>> ไม่มีคนมาซื้อเลย
  • Case 2 : ถ้ามันถูกกว่าราคาตลาด >>>>>>> อาจจะมีคนมาซื้อบ้าง (กรณีถูกมาก จนไม่น่าเชื่อถือ)

ถ้าเราเป็นคนขาย เราอยากให้เกิด Case ไหนมากกว่ากัน? >>> แน่นอนว่าเราคงไม่อยากให้เกิดทั้งสอง case แต่ถ้าจำเป็นต้องเลือกเราก็คงจะเลือก Case 2 มีคนมาซื้อ ดีกว่าไม่มีคนมาซื้อเลย

ดังนั้นหากเราต้องการประมาณราคาบ้าน ในรอบแรกเราประมาณการโดยใช้ cost function แบบ Symmetric cost function แต่ราคาที่ประมาณออกมาได้ดันสูงกว่าราคาตลาด เราก็อาจจะต้องใช้ สมการ Asymmetric cost function ซึ่งมันเป็นสมการที่เราสามารถออกแบบเองได้ ว่าจะให้น้ำหนักกับ error ที่อยู่ด้านบนสมการประมาณการมากกว่า น้ำหนักของ error ที่อยู่ด้านล่างของสมการประมาณการ “เมื่อระยะทางเท่ากัน” หรือสลับกัน ในที่นี้เราอยากให้เกิด Case 2 เราก็จะให้น้ำหนัก error ด้านบนมากกว่า ดังนั้นเมื่อเรา minimize asymmetric cost function สมการประมาณก็จะ Shift ลง ทำให้ราคาบ้านที่เราประมาณการออกมา ต่ำกว่าราคาที่เราประมาณการได้ในตอนแรก (นั่นเป็นเพราะว่าเราออกแบบสมการให้ด้านบนมี error มาก และหลักการ minimize cost function คือการที่เราต้องการทำให้ค่า error น้อยที่สุด เพื่อที่จะทำให้เราได้สมการประมาณการที่แม่นยำที่สุด ดังนั้นเส้นสมการประมาณการก็จะเคลื่อนเข้าไปหาค่า Yจริงที่อยู่ด้านล่างมากเพื่อให้ค่าerror ออกมาน้อยที่สุด)

สุดท้าย หากถามว่าในการประมาณการตัวแปรใดๆ เราควรเลือกที่จะใช้สมการ cost function แบบไหน อันนี้ก็คงขึ้นอยู่กับข้อมูลของเราและบริบทที่เราต้องการให้ออกมา ดังตัวอย่างด้านบน การใช้ Asymmetric cost function อาจจะดีก็ได้ หากว่าราคาบ้านที่เราประมาณการออกมา โดยใช้ สมการ Symmetric cost function แล้วราคามันสูงเกินจะขายได้

ทั้งหมดที่กล่าวมานี้เป็นแค่ส่วนหนึ่งที่ต้องพิจารณาในการที่จะประมาณการตัวแปรใดๆ มันยังมีเรื่องอื่นๆอีกมากที่เราต้องพิจารณาและระมัดระวังเมื่อเราการสมการประมาณการที่แม่นยำที่สุด 

ในบทความถัดไปเราจะดูถึงเครื่องมือที่เราจะใช้ในการประมาณการที่เรียกว่า Jupyter notebook เป็นเครื่องมือที่รองรับภาษา python และเป็นที่นิยมมากสำหรับ Data science และการทำ Machine learning (Jupyter notebook คือ เครื่องมือสำหรับ Data science)

บทความอื่นๆ 

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