How to minimize cost
H(x) = Wx + b
- cost값을 가장 작게 찾을 수 있는 W, b를 우리가 가지고 있는 데이터로 구하는 것이 Linear Regression입니다.
- 설명을 위해서
H(x) = Wx
로 설명하겠습니다.
- W = 2, cost(W) = 4.67입니다.
- 위의 3개의 값을 이용해서 그래프를 그려보면 아래의 그림을 얻을 수 있습니다.
- 목표는 여기서 cost가 최소화 되는 점을 찾는 것입니다.
- 그래프를 보게 되면 눈으로 쉽게 찾을 수 있지만, 기계적으로 찾아야 합니다.
Gradient descent algorithm
gradient descent algorithm
을 이용합니다.
- 경사를 따라 내려가는 알고리즘입니다.
- 주어진 cost function을 minimize하는데 많이 사용합니다.
- 아무 지점에서 시작을 할 수 있습니다.
- W값을 조금 변경하면서 cost를 줄일 수 있습니다.
- 그 경사도를 계속해서 과정을 반복하게 됩니다.
- 어떤 지점에서 시작하던간에(예외도 존재하지만) 최저점에 도달할 수 있습니다.
- 경사도는 수학의 미분을 이용해서 구하게 됩니다.
- 미분을 하기 쉽게 적용하기 위해서 m값에 2를 곱합니다.
- 공식적인 알고리즘은 현재의 W값에 𝛂을 0.1이라고 하면 cost함수를 미분한 것(기울기) 곱해서 빼주면 됩니다.
- 여러 번 실행시키면서 W가 변화되면서, cost를 최소화하는 것을 구할 수 있습니다.
gradient descent algorithm
은 하나의 수식이며, 기계적으로 적용만시키면, 바로 cost function을 최소화하는 w를 구할 수 있으며, 그것이 Linear Regression
의 핵심 학습 과정을 통해서 모델을 만들 수 있습니다.
- Cost Function을 설계하였을 때 모양이 Convex function이 되는지 확인해봐야합니다.
배운 이론을 tensorflow 실습
https://www.youtube.com/watch?v=Y0EF9VqRuEA&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=7