[모두의 딥러닝] lab 03. Minimizing Cost
Simplified hypothesis
- Cost함수와 Hypothesis를 간략화한 것을 볼 것
- cost는 W의 함수. W값이 변할수록 cost함수 값도 변함.
- cost를 minimize 하자 = cost함수가 최저가 되는 W의 값을 찾자
matplotlib
- 그래프를 그리기 위한, w, cost 값을 저장하기 위한 W_val, cost_val 리스트를 만듦
- W 값을 Range = -3 ~ 5 사이에서 넘기면서 cost와 W가 어떻게 변하는지
- cost함수가 어떤 모양을 하고 있는지 시각화
- 밥그릇 모양
- 값을 최소화하는 W 값은 1
Gradient descent
- 미분을 쓰는 이유
: 미분 = 한 점에서의 기울기를 나타냄
- 저 분홍 식으로 W의 기울기 값을 조정하여 Gradient descent에 적용한다.
알파: 학습 rate (learning_rate) --> 좀 작은 값으로 둠
- W.assign() 함수를 통하여 값을 assign할 수 있음.
- update를 그래프에서 바로 실행시키면 이런 일련의 동작들이 일어나게 됨.
- 우리가 원하는 W값은 1이 되도록 하는 것.
** 질문) x, y data값들이 들어가서 어떻게 이루어지는 거?
Cost가 복잡하게 주어져서 미분 값을 구하기 어려울 때?
- Optimizer를 통하여 cost를 minimize하라고 하면 자동으로 tensorflow가 미분해줌.
Optimize를 이용하여 더 간단한 cost 최소화 tensorflow 구현
Gradient를 임의로 조정하기
- Optimize에서 바로 minimize를 하라고 하지 않고,
- Cost에 맞는 gradients를 계산하라고 하여 gvs에 넣는다.
- Gvs를 원하는 대로 수정할 수 있다.
- Gvs를 apply_gradient할 수 있다.
- 이 예제는 수정하지 않아서 cost의 기울기와 gvs가 같을 것
- 직접 수식적으로 계산한 gradient와 gvs(compute_gradient를 이용) 비교
Apply_gradients를 하여 각각을 학습
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] lab 04-1. multi-variable linear regression을 TensorFlow에서 구현하기 (0) | 2019.04.05 |
---|---|
[모두의 딥러닝] lec 04. multi-variable linear regression (0) | 2019.04.04 |
[모두의 딥러닝] lec 03. Linear Regression의 cost 최소화 알고리즘의 원리 설명 (0) | 2019.04.03 |
[모두의 딥러닝] lab 02. Linear Regression (0) | 2019.04.03 |
[모두의 딥러닝] lec 02. Linear Regression의 Hypothesis와 cost 설명 (0) | 2019.04.03 |
댓글