Skip to content

Machine Learning #8 | Linear Regression ตอนที่ 2

โพสต์ที่แล้วเกี่ยวกับ Linear Regression เราพอจะรู้ concept คร่าวๆ แล้วสิ่งที่เราต้องสนใจคือ

  1. สมการ hypothesis h(\theta) = \theta_0 + \theta_1x
  2. การ represent ข้อมูลกับ cost function J(\theta_0, \theta_1) =\frac{1}{2m}\sum^{m}_{i=1} (h_{\theta}(x^{i} ) -  y^{i})^2
  3. และเป้าหมายของเราคือการ minimize cost function

จากสมการ hypothesis ถ้าดูดีๆ เราจะเห็นว่า h นั้นมันก็คือสมการเส้นตรงนี่แหละ โดย \theta_0  คือจุดที่เส้นตรงผ่านและ \theta_1 คือความชัน และความชันเป็นบวกก็หมายความว่าเส้นตรงชันขึ้น

ส่วนสมการ cost function ก็คือ Sum Square Error ดีๆ นี่เอง เป็นเหตุผลว่าทำไม cost function น้อยแล้วเราได้ model ที่ fit กับ trianing set ที่สุด

เพื่อให้เข้าใจ concept  และง่ายต่อการคำนวณตัวอย่างนี้ผมจะกำหนดให้ \theta_0 = 0 ฉะนั้นสมการ h จะเหลือแค่ \theta_1x และให้ \theta_1 เป็น 1, 0.5 และ 0 จะได้กราฟข้างล่างนี้ตามลำดับ

IMG_20160801_232629

สำหรับการคำนวณก็ไม่ยากครับเพราะเป็นการคำนวณ sum square ธรรมดา

J(0) = \frac{1}{2(3)} ((0 - 1)^2 + (0 - 2)^2 + (0 - 3)^2) = 2.3

J(0.5) = \frac{1}{2(3)} ((0.5 - 1)^2 + (1 - 2)^2 + (1.5 - 3 )^2) = 0.58

J(1) = \frac{1}{2(3)} ((1 - 1)^2 + (2 - 2)^2 + (3 - 3)^2) = 0

เมื่อลองแทน \theta_1 ด้วยค่าต่างๆ และนำ cost function J(\theta_1) มาพล็อตกราฟเทียบกับ \theta_1 จะพบว่าเป็นกราฟโค้งหงายเป็นรูปถ้วย (blow shape) ซึ่งค่า J น้อยที่สุดคือ 0 สำหรับ training set นี้คือเมื่อ \theta_1 = 1 (ลากผ่าน training set เป๊ะๆ ทุกจุด)

IMG_20160806_145459

จากตัวอย่างเราจะได้ [\theta_0, \theta_1] = [0, 1] ซึ่งเป็นค่าที่ optimize ที่สุดในการสร้าง model แต่ในความเป็นจริงเราไม่สามารถรู้ว่าค่าที่ optimize ที่สุดคือเท่าไหร่ เลยต้องต้องอาศัยอัลกอริทึมหรือ math เข้ามาช่วย อัลกอริทึมสำหรับการ optimize นั้นมีอยู่หลายวิธี แต่ที่เราจะเรียนรู้ต่อไปเป็น iterative algorithm เรียกว่า “Gradient Descent” ซึ่งถ้าอธิบายตรงนี้น่าจะยาวอยู่

ไว้โพสต์หน้าดีกว่าเนอะ (อู้อีกละ)

One Comment

  1. […] โพสต์ที่แล้ว เรารู้อัลกอริทึมของ Linear Regression ไปแล้วว่ามันทำงานยังไงแต่มีอีก task ที่เราต้องสนใจคือการ optimize ค่า Cost function ให้น้อยที่สุดเพื่อให้ได้ model ที่ fit กับ training set ที่สุด […]

Leave a Reply

Your email address will not be published.