Related to: Machine Learning
선형회귀의 목적식
입력 데이터 X=[x1,x2,..,xn]과 가중치 B=[b1,...,bn] 그리고 출력 데이터 Y=[y1,...,yn]가 있을 때, yt≃xt∗bt가 되도록 행렬 B를 최적화해보자.
예측값 rt=xtbt일 때, 실제 값과의 차이는 아래와 같다.
L=n1∑t=1n∣∣yt−rt∣∣2
L(B)=L(b1,b2,...,bn)=n1∑t=1n∣∣yt−xtbt∣∣2
L=(n1((y1−r1)2+...+(yn−rn)2))0.5
L(loss)를 기준으로 얼마나 가중치모델 B를 통해 도출한 예측 값 R이 실제 값 Y에 근접하는지의 척도를 알 수 있다.
L은 R에 대한 함수이므로 위 함수에 B를 대입하면 함수 L에 대한 결과 값도 변화한다.
따라서 L 대하여 편미분 예측 값 R로 편미분을 해서 나온 기울기를 통해 L값이 낮아지는 방향으로 B를 업데이트 할 수 있다.
우선 R로 L을 편미분 해보자.
δRδL=21(n1((y1−r1)2+...+(yn−rn)2))′(n1((y1−r1)2+...+(yn−rn)2))−0.5=21(n1((y1−r1)2+...+(yn−rn)2))(n1((y1−r1)2+...+(yn−rn)2))′=2L1(n1((y1−r1)2+...+(yn−rn)2))′=2nL1(−2(y1−r1)+...+−2(yn−rn))=−nL1((y1−r1)+...+(yn−rn))
R로 먼저 편미분을 한 이유는 B는 R의 함수이고 R은 L의 함수이기 때문이다.
δbtδrt=xt
δbtδlt=δrtδltδbtδrt
δBδL=δRδLδBδR=−nL1((y1−r1)x1+...+(yn−rn)xn)
참조
Week 1