본문 바로가기
IT/머신러닝

[section_3] Gradient descent algorithm

by 빨강자몽 2018. 6. 1.

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이다.








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위 부터 수식 1, 2위 부터 수식 3, 4위 부터 수식 5, 6, 7