Cost(w)의 값이 최소가되는 w를 구하는 방법!
- "h(x) = wx+b"이지만, 간략하게 "h(x) = wx"로 가정한다.
- 이전 시간의 x, y가 각 각 1,2,3 일때 w변화에 따라 cost(w) 값을 표시해 보면 다음 과 같은 형태의 그래프가 그려진다.
- 이때 가장 작은 cost를 가지는 점은 w가 1인 지점이된다.
- 또한 w가 1인 지점은 그래프의 기울기가 0인 지점이다.
-> 기울기가 가장 작은 지점이 가장 작은 cost를 가진다.
따라서 "기울기가 가장 작은 지점을 찾아서 cost가 가장 작은 지점을
찾자!"의 개념이 바로 Gradient descent algorithm이다.
따라서 "기울기가 가장 작은 지점을 찾아서 cost가 가장 작은 지점을
찾자!"의 개념이 바로 Gradient descent algorithm이다.
Gradient descent algorithm
- 가장 작은 Cost를 가지는 점을 찾기 위한 알고리즘이다. -> 결론적으로는 그 점에서의 w, b를 알아낸다.
- 동작 순서
- 시작지점(w, b)을 정한다.(0,0 또는 어느 점이여도 상관없다.)
- w, b를 바꾸고 cost의 값이 줄어드는 값을 선택한다.
- 반복한다.
- 최소의 값을 가지는 점에 도달할 때까지 반복한다.
수식 정리
- 미분을 통해서 기울기가 최소가 되는점(w)을 구하기 위해서 수식을 정리한다.
- 첫 번째로 1/m을 1/2m으로 바꾸는 것은 이 후 미분 결과 식을 깔끔하게 하기 위함이다. -> 수식 1~3
- w를 정의하면 현재의 w에서 현재의 기울기를 빼준다.(기울기가 양수면 빼주고, 음수면 더해준다.) -> 수식 4
- w를 더 깔끔하게 정의하면 "수식7"이 된다.
위 부터 수식 1, 2 | 위 부터 수식 3, 4 | 위 부터 수식 5, 6, 7 |
'IT > 머신러닝' 카테고리의 다른 글
[section_4_lab1] Multivariable linear regression using Matrix (0) | 2018.06.01 |
---|---|
[section_4] Multivariable linear regression using Matrix (0) | 2018.06.01 |
[section_2_lab] 머신러닝 Linear Regression 실습 (0) | 2018.06.01 |
[section_2] 머신러닝 Linear Regression (0) | 2018.06.01 |
[section_1] Tensorflow 기본예제(Hello world! 및 간단한 연산), 상수 & placeholder (0) | 2018.06.01 |