วันอาทิตย์ที่ 20 ตุลาคม พ.ศ. 2562

Learning Rate

สวัสดีครับ หลังจากบทความที่แล้วได้แชร์เรื่อง Machine learning ในการทำ Simple Linear regression กันไปแล้ว และเห็นว่าจะเจอศัพท์คำนึงที่ชื่อว่า Learning rate วันนี้เลยจะมาทำความเข้าใจคำว่า Learning Rate กันครับ


"Learning Rae คืออะไร ?"

    Learning Rate คือค่าหนึ่งไว้สำหรับกำหนดอัตราการเรียนรู้ของ Machine Learning ซึ่งยิ่งค่า Learning Rate ยิ่งมีค่ามาก Machine learning ก็เรียนรู้ได้ไวดังรูป


ค่า Learning Rate สูง

ค่า Learning Rate ต่ำ



"แสดงว่าเราควรตั้งค่า Learning Rate ยิ่งสูงยิ่งดี 
เนื่องจากจะทำให้ Machin Learning เรียนรู้ไวใช่ใหม ?"

    ในการกำหนดค่า Learning Rate นั้นควรกำหนดให้เหมาะสม มากไปก็ไม่ดี ค่าน้อยไปก็ทำให้ Machine Learning เรียนรู้ได้ช้าและใช้เวลานาน


"แล้วทำไมค่า Learning Rate สูงไปไม่ดี ?"

    ลองจินตนาการว่า Learning Rate คือการปรับว่า จะให้ Model ที่ปรับใหม่มีการเปลี่ยนแปลงมากหรือน้อย ซึ่งถ้าเป็น Model ของ Simple Linear Regression ก็จะหมายถึงการให้ปรับเส้น Linear มีการเปลี่ยนแปลงแต่ละครั้งมากหรือน้อยดังรูป

ค่า Learning Rate สูง ทำให้เปลี่ยนแปลงเส้นแต่ละครั้งสูง

ค่า Learning Rate ต่ำ ทำให้เส้นที่ปรับใหม่เปลี่ยนแปลงแต่ละครั้งน้อย


    ดังนั้นถ้าสังเกตุดีๆ ถ้าเรากำหนดค่า Learning Rate มากไปก็อาจจะทำให้ เส้น Linear ที่ปรับได้ไม่เข้าใกล้ค่าความเป็นจริง เนื่องจากปรับ Linear แล้วค่าข้ามเกินความเป็นจริงไปดังรูป

สมมุติค่า Learning Rate = 0.1 ( ค่า learning rate สูงไป)


สมมุติค่า Learning Rate = 0.01 (ค่า Learning Rate เหมาะสม)

สมมุติค่า Learning Rate = 0.00001 (ค่า Learning Rate ต่ำไป)




จากรูปจะเห็นว่า Learning Rate เป็น 0.1 จะทำให้ค่าที่ได้ไม่เข้าใกล้ความเป็นจริงเนื่องจาก มีการปรับ Learning Rate สูงไปจึงทำให้การปรับเส้นตรงแต่ละครั้ง เลยค่าความเป็นจริงนั่นเอง


สุดท้ายนี้หวังว่าโพสน์นี้จะมีประโยชน์นะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น