본문 바로가기

개발일지

Linear Regression의 cost 최소화 알고리즘의 원리

반응형

안녕하세요~ 오늘은 리니어 레그레이션의 cost 최소화 에 대해서 알아보겠습니다.


왼쪽 그림은 지금까지 봐왔던 hypothesis와 cost 함수에 대한 공식이고, 오른쪽 그림은 기존 공식을 단순화하기 위해 y 상수에 해당하는 b를 없앤 공식이다. b를 없애고, cost 함수에 H(x) 대신 Wx를 직접 입력했습니다.

b를 없앤 이유는 앞으로 상수를 넣기 위해서 행렬을 쓰는대 행렬의 첫번째 행에 b의 값을 넣으면 모든게 해결되기 때문입니다.

실제 데이터인 x, y를 직접 대입해서 cost를 계산해 본다. 오른쪽 그림은 왼쪽에서 계산한 공식이 반복된 경우를 가정한 그래프이다. 그래프의 수평은 W, 수직은 Cost라고 되어 있네요. W의 값에 따라 Cost가 변하는 정도를 그래프로 보여주고 있다는 것을 명심하자. 밥그릇 모양이라고 교수님께서 말씀하셨다. 영어로는 Convex(볼록)하다고 말한다. 그림이 작긴 하지만, W가 0일 때, 1일 때, 2일 때만 보면 왼쪽 그림의 결과와 같음을 알 수 있다.

x와 y의 현재 데이터에서는 W가 1일 때 가장 작은 비용이 든다. W가 1이라는 것은 H(x) = X라는 뜻이고, x에 대한 y 좌표가 정확하게 일치하기 때문에 cost는 0이 됩니다. 다시 말해, 이것보다 작은 비용이 발생할 수는 없으므로, 현재 구한 기울기(W)가 가장 적합하다는 뜻이 된다.

cost 함수에서 중요한 것이 가장 작은 cost 비용을 구하는 것이 목적이기 때문에 해당 부분에서의 기울기를 구해야 합니다. 울퉁불퉁한 곡선이 아닌 위의 사진과 같은 곡선의 기울기를 구하는 것이 바로 미분입니다. 

굳이 미분을 아실 필요는 없습니다.(왜냐하면 프레임워크에서 미분을 해줍니다.. 저도 미분을 계산만 할 줄 알고, 복잡해지면 노답노답..ㅠㅠ)




반응형