참고 : https://www.youtube.com/playlist?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm
모두를 위한 딥러닝 강좌 시즌 1
www.youtube.com
저번꺼 복습.
간단하게 하기위해 b는 지웠다
W가 1일때 cost는 0이 되는구나
W가 0일때 cost는 대강 4.67
W가 2일때 cost도 4.67정도..
그러면 이걸 함수로 한번 그려보면
이런 형태가 나오게 된다.
우리의 목표는 cost를 최소화 시키는 W를 찾아내는 거였다.
gradient descent algorithm
경사 내려감 알고리즘
이러한 알고리즘을 다음과 같이 부른다!
제일 낮은 지점을 찾는 방법은?
경사도를 따라서 한칸씩 내려가본다.
w를 조금씩 조금씩 바꾸어가면서 cost 를 줄인다.
->반복!
어떤점에서 이 알고리즘을 시작하든, 항상 최저점에 도착할 수 있다.
그러면 우리는 이제 미분을 이용해 볼거다.
알파를 0.1정도하는 상수라고 생각한다.
W의 점을 움직여서 그 점을 다시 W이라고 하는 이 과정을 반복...
한 점의 기울기를 구하고 점을 움직이겠다라는 소리임.
이런식으로 기울기가 양수면 왼쪽으로 움직이고 (- 방향으로 이동시키고)
기울기가 음수여서 저쪽 건녀편에 있으면 오른쪽으로 움직이겠다는 이야기
최종적으로 마지막 줄이 descent algorithm이 된다.
여러번 실행시키면 W가 변할 거잖아.
그러면 자동으로 cost를 minimize하는 W가 구해질거다.
저 수식을 기계적으로 적용만 시키면 이제 모델을 만들 수 있다는 거다.
cost function을 3차원으로 표현했을 때 이런 모습이라면
시작점을 어디로 할지에 따라 내려오는 곳이 달라질 수 있다 -> 알고리즘이 잘 동작하지 않는다.
다행히 우리의 cost function을 그림으로 그리면
이런 모습이다. 그래서 어디를 시작점으로 하든 도착하는 지점이 정 가운데 이다.
우리의 gradient descent algorithm은 항상 답을 찾는다
그래서 항상 cost function을 설계할때 저런 convex function의 모양을 띠는지 확인해야한다.