ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명
Simplified hypothesis
What cost(W) looks like?
W=2 , cost(W) = ?
((2*1-1)2 + (2*2-2)2 + (2*3-3)**2) / 3 = 4.67
How to minimize cost?
Gradient descent algorithm
경사를 따라 내려가는 알고리즘이다
- Minimize cost function
- Gradient descent is used many minimization problems
- For agiven cost function, cost(W, b), it will find W, b to minimize cost
- It can be applied to more general function: cost(w1, w2, ...)
How it works?
미분을 할때 적용할 때 쉽게하기 위해서 m분의1을 2m분의 1로 바꿈
미분한다 == 어떤 하나의 점에서 그 점의 기울기를 구한다라고 생각하자.
미분을 하는 절차
미분을 계산해 주는 사이트 : Derivative Calculator
Convex function
ML lab 03 - Linear Regression 의 cost 최소화의 TensorFlow 구현 (new)
cost라는 함수가 어떤모양을 하고 있는지 시각화 해보자
구현에 필요한 matplotlib 설치하기
python -m pip install -U matplotlib
실행결과
Gradient descent
Optional: compute_gradient and apply_gradient
중간에 gvs = optimizer.compute_gradients(cost)로 하면 뒤에 print (step, sess.run([gradient, W, gvs]))에서 오류가 나서 확인해 보니
gvs = optimizer.compute_gradients(cost, [W])로 변경해주어야 오류없이 잘 출력이 된다.