북극곰의 개발일기

모두를 위한 딥러닝 lecture 3 - How to minimize cost (이론)





posted by purplebeen on Wed Jan 16 2019 12:08:27 GMT+0900 (KST) in AI


Lecture 3 How to minimize cost

Hypothesis and Cost

Linear regression의 목표 : cost를 최소로 하는 W, b를 구하는 것

What cost(W) looks like?

  • W = 1, cost(W) = 0
    1/3((1x1 - 1)^2 + (1 x 2 - 2) + (1 x 3 - 3)^2) = 0
  • W = 0, cost(W) = 4.2
    1/3 ((0 * 1 - 1)^2 + (0 * 2 - 2)^2 + (0 * 3 - 3)^2)
    = 1/3 (1 + 4 + 9) = 14 / 3 = 4.67
  • W = 2, cost(W) = 4.2
    1/3 ((2 * 1 - 1) ^ 2 + (2 * 2 - 2) ^ 2 + (2 * 3 - 3)^2)
    = 1/3 (1 + 4 + 9) = 14 / 3 = 4.67

우리의 목적 : cost를 최소화하는 값을 찾는 것

Gradient descent algorithm

gradient : 경사, descent : 내려감 : 경사에 따라 내려가는 알고리즘

  • cost function을 최소화 하는데 사용됨
  • Gradient descent는 많은 최소화 문제를 해결하는데 사용된다
  • 주어진 cost function에서, cost(W,b), Gradient descent 알고리즘은 cost를 최소화하는 W와 b의 값을 찾는다.
  • 더 일반적인 함수에도 적용 할 수 있음 : cost(W1, W2, W3, ...)

How it works?

  • 초기 추측으로 시작
    • 0,0 에서 시작 (아니면 다른 값으로)
    • cost (W,b)의 감소를 위해서 W와 b의 값을 조금씩 바꿔나감
  • 파라미터를 바꿀 때 마다, cost(W,b)를 감소시킬 수 있는 경사를 선택한다.
  • 반복한다.
  • 최소값을 반환할때까지 계속하라.
  • 흥미로운 부분
    • 어디에서 시작하든 끝날 때에는 최소화 시킬 수 있다

Formal function

미분을 통해 구할 수 있다.