[모두의 딥러닝] lab 02. Linear Regression
Hypothesis & cost function
- W, b가 달라질수록 cost(W,b)는 커질수도, 작아질수도 있음.
- 학습을 한다
= W, b를 조정하여 cost(W,b)를 minimize하는 것
TensofFlow Mechanic
1) Graph build
2) Session run
3) Update, return graph
1) Build graph using TF operations
- W, b의 정의를 Variable()을 통해 할 수 있음
: Tensorflow가 사용하는 variable
= 텐서플로우가 사용하는 변수 = trainable variable (탠서플로우를 학습시키는 과정에서 사용하는 variable)
- 일단 W,b의 값을 모르니까 random하게 주게 됨
: tf.random_normal, rank가 1인 shape 정의
- reduce_mean(): 평균을 내어주는 함수
- Cost를 minimize해주는 tensorflow의 함수
- Optimizer를 정의
- 그 후 optimizer.minimize(최소화할 대상)을 줌.
==> 여기까지 Graph 구현
2) Run/update graph & get results
• Variable(W, b)을 실행시키기 전에는 반드시 global_variables_initializer() 실행시켜야 함.
• Minimize 작업하는 train 노드를 실행시켜야 cost를 minimize
--> 그래야 W, b와 연결이 된다.
- Step을 20번에 한번 출력
- sess.run()으로 값 출력
- train을 실행시킨다 = 그래프를 따라 들어가서 w, b에 값을 저장시킨다
--> 학습이 일어남
Placeholders
: 값을 직접 주지 않고 placeholder로 설정시켜둔 후 필요할 때마다 값을 던져준다.
- session을 리스트에 넣어서 한꺼번에 실행시킬 수 있다.
- 사용 이유: 만들어져 있는 모델에 대해 값을 따로 넘겨줄 수 있음.
Linear Regression 만든 후 값을 학습!
shape을 같이 줄 수 있음
- None: 아무 값이나 들어올 수 있다.
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] lab 03. Minimizing Cost (0) | 2019.04.03 |
---|---|
[모두의 딥러닝] lec 03. Linear Regression의 cost 최소화 알고리즘의 원리 설명 (0) | 2019.04.03 |
[모두의 딥러닝] lec 02. Linear Regression의 Hypothesis와 cost 설명 (0) | 2019.04.03 |
[모두의 딥러닝] lab 01. TensorFlow basic (0) | 2019.04.03 |
[모두의 딥러닝] lec 01. 기본적인 ML 용어와 개념 설명 (0) | 2019.04.01 |
댓글