쉽게 설명하기 위해서 H(x) = Wx로 하였습니다. 그러면 Cost의 식은 아래처럼 된다.
그러면 X,Y의 데이터를 각각 1,2,3씩 주었다. 이때 Cost의 값은 어떻게 될까? 위 식에 대입하면 된다.
W = 1, Cost(W) = 0
W = 0, Cost(W) = 4.67
W = 2, Cost(W) = 4.67
이것을 그래프에 그리면 Cost는 대략 아래 사진처럼 나오게 된다.
우리는 제일 최소화 된 값을 찾는 게 목적이다. 이 값을 기계적으로 찾을 때 많이 쓰는 게 바로 Gradient descent algorithm이다. 주어진 Cost를 minimize를 할 때 사용하는 것이다. 이것을 좀 더 쉽게 설명하면 예를 들어 등산을 갔는데 해가 지기 시작해서 내려와야 할 때 어떻게 해야 될까? 산 밑으로 내려가는 경사가 있는 곳으로 내려갈 것이다. 그러다 어느 시점엔가 다 내려가 있을 것이다. 경사도를 타고 계속 내려가다 경사가 없는 곳으로 가면 그곳에 머무르는 것이다.
어느 점에서 시작하든 항상 최소점에 도달할 수 있다는 것이 이 algorithm이다.(예외는 있다.)
그러면 이 그래프에서 경사도를 어떻게 구할수있을까? 바로 미분이다.
미분하기 편하기위해 m을 2m으로 변경했다.
이것은 미분하는 과정이다. 마지막 식을 여러 번 실행시키면 w값이 변화하며 처음에 Cost를 minimize 하는 값이 구해지는 것이다. 결과적으로 마지막 식이 바로 Gradient descent algorithm이다.
그리고 Cost과 H(x)를 가지고 그림을 그리면 아래 사진의 형태처럼나온다.
이런 경우에는 어떤 값이던 Gradient descent algorithm 항상 답을 찾아준다.
그래서 Cost의 모양이 꼭 Convex가 되는지 확인해야 한다.
공부한 사이트:https://www.youtube.com/watch?v=TxIVr-nk1so&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=6
'머신러닝 > 모두를 위한 딥러닝' 카테고리의 다른 글
multi-variable linear regression (0) | 2019.05.15 |
---|---|
Linear Regression 의 cost 최소화의 TensorFlow 구현 (0) | 2019.05.14 |
TensorFlow로 간단한 linear regression을 구현 (0) | 2019.05.12 |
Linear Regression의 Hypothesis 와 cost (0) | 2019.05.11 |
머신러닝이란? (0) | 2019.05.10 |