Tensorflow를 이용해 Minimized Cost를 구하는 Algorithm실습 강좌를 정리한다.
Matplotlib 을 이용한 차팅
Python을 통해 그래프를 그리기 위해 matplotlib을 가이드에따라 설치한다.
$ python -mpip install -U matplotlib
다음으로 ~/.matplotlib 밑에 matplotlibrc 파일을 생성하고 다음 내역을 작성한다. (참조)
backend: TkAgg
다음 코드를 작성하고 실행한다.
W = 1 이 최소화를 위한 값이라는 것을 알 수 있다.
"W := W - 미분값" 이해
- 미분값은 경사도를 의미하고 좌에서 우로 내려가면 - 값, 좌에서 우로 올라가면 + 값이다.
- 마이너스 값이 되면 W + 미분값이 되어 W가 큰값으로 옮겨가고, W - 미분값은 W가 작은 값으로 수렴한다.
+ a 알파값: learning-rate 상수값
+ = 은 assign펑션을 이용해 descent를 update에 할당한다.
+ update operation를 run하면 graph를 통해 일련의 동작이 일어난다.
Graph를 실행하는 단계
- Session생성
- 글로벌 값 초기화
- session.run 으로 Node (operation)수행
직접 미분을 구현하지 않고 위처럼 GradientDescentOptimizer를 사용할 수 있다. 만일 gradient값을 수정하고 싶을 때는 compute_gradient(cost)로 얻은 값을 직접 수정하여 적용할 수 있다.
gvs = optimizer.compute_gradient(cost)
// gvs를 customizing한다.
apply_gradients = optimizer.apply_gradients(gvs)
....
sess.run(apply_gradients)
참조
'Deep Learning > NN by Sung Kim' 카테고리의 다른 글
[Logistic classification] 개념 (0) | 2018.07.04 |
---|---|
[Linear Regression] Multi Variable 개념 및 실습 (0) | 2018.07.04 |
[Linear Regression] Minimize Cost (0) | 2018.07.03 |
[Linear Regression] Tensorflow 실습 (0) | 2018.07.03 |
[Linear Regression] 개념 (0) | 2018.07.03 |