-
[모두를 위한 딥러닝 시즌2][Lab 3] Liner Regression and How to minimize cost모두를 위한 딥러닝 시즌2 2021. 10. 24. 14:21
지난 Lab2에서 Hypothesis와 Cost에 대해 알아보았다.
학습은 Cost(비용)을 가장 작게 만드는 것이 목표라고 했다.
이번 시간에는 어떻게 Cost를 최소화하는지 Gradient descent(경사 하강) 알고리즘에 대해 알아볼 것 이다.
컴퓨터가 Cost의 최저점을 찾는 방법으로 잘 알려진 것 중 하나가 Gradient descent(경사 하강) 알고리즘이다.
Gradient descent 알고리즘 작동 방식을 알아보자.
일단 W=0 또는 W=random value에서 시작한다.
지속적으로 특정한 W에서의 기울기 값을 구해서 Cost값이 줄어드는 방향으로 가도록 W와 b값을 조금씩 바꾼다.
이것을 '최소점에 도달했다'라고 판단될때까지 반복한다.
여기서 기울기 값은 cost(W)함수 그래프의 한 점에서 만나는 접선의 기울기이다.
이 기울기 값을 구하려면 cost(W)함수를 미분해야한다.
미분하기에 앞서 미분하기 편하도록 cost(W)함수를 cost(W)함수에 1/2를 곱한것으로 바꾼다.
이제 기울기 값을 이용해서 W값을 조금씩 바꿔보자.
원래의 W값에서 cost(W)함수를 W에 대해 편미분해서 상수α를 곱한 값을 빼준다.
그리고 이것을 새로운 W값으로 업데이트한다.
여기서 상수α값을 learning rate(학습률)이라고 한다. 이 값은 정하기 나름인데 α값이 클수록 W가 변화하는 폭이 크다.
그런데 local minimum이 여러개 존재한다면 어디에서 시작하느냐에 따라 Cost함수의 최저점을 찾지 못할 수도 있다.
이런 그래프에서 만약 W값이 노란점에서 시작된다면 Gradient descent 알고리즘으로
최저점을 찾지 못한다.
Cost의 최저점을 찾는 것은 local minimum과 global minimum이 일치하는 convex함수에서만 보장된다.
출처
[모두를 위한 딥러닝 시즌2] - 유튜브 링크
☞ https://www.youtube.com/watch?v=qPMeuL2LIqY&list=PLQ28Nx3M4Jrguyuwg4xe9d9t2XE639e5C&index=2
'모두를 위한 딥러닝 시즌2' 카테고리의 다른 글
[모두를 위한 딥러닝 시즌2][Lab 6] Softmax Regression (0) 2021.10.27 [모두를 위한 딥러닝 시즌2][Lab 5] Logistic Regression (0) 2021.10.25 [모두를 위한 딥러닝 시즌2][Lab 4] Multi variable linear regression (0) 2021.10.24 [모두를 위한 딥러닝 시즌2][Lab2] Simple Liner Regression (0) 2021.10.09 [모두를 위한 딥러닝 시즌2][Lab1] 기본적인 Machine Learning 의 용어와 개념 설명 (0) 2021.10.01