가설 = 모델 = 예측 = Hypothesis
Cost 함수
예측과 실제 값(y)의 차이 = 에러
cost 함수는 에러 제곱의 평균값으로 정의한다.
머신러닝의 러닝은 cost가 최소화되는 W와 b 값을 구하는 것이다.
<Build hypothesis and cost>
x_data = input
y_data = output
여기에선 입력과 출력이 동일하다.
W = 1, b = 0임을 유추할 수 있다
W와 b를 텐서플로우의 Variable을 이용해 랜덤 값을 지정해서 초기값으로 설정한다.
가설 함수와 비용 함수를 구현한다.
hypothesis - y_data: error를 뜻한다.
<Gradient descent> - 경사 하강 알고리즘
경사를 내려가면서 cost가 minimize되는 W와 b를 찾는 알고리즘
변수에 대한 정보를 tape에 기록한다.
이후 tape.gradient(cost, [W, b]) 함수를 통해 개별적으로W_grad, b_grad에 각각의 미분값, 즉 기울기 값을 순서대로 반환한다.
A.assign_sub(B)
A = A - B
A -= B
learning_rate: gradient 값을 얼만큼을 반영할 지 결정하는 함수이다.
매우 작은 값을 사용한다.
for문 안의 코드를 여러 차례 update하게 된다.
왼쪽 그림에서 빨간 그래프는 실제 데이터인 파란 점 값들과는 다소 거리가 있어 보이고, Training을 통해 오른쪽 그림과 가깝게 도출하게 된다.
다음 장에서는 어떻게 비용을 최소화하는지에 대해 알아보고자 한다.
출처: https://youtu.be/TvNd1vNEARw
모든 이미지 출처: http://bit.ly/2LQMKvk
'모두를 위한 딥러닝 시즌2 - TensorFlow' 카테고리의 다른 글
Lec-04 Multi variable linear regression (0) | 2021.10.27 |
---|---|
Lab-03 Liner Regression and How to minimize cost LAB (0) | 2021.10.27 |
Lec-03 Liner Regression and How to minimize cost (0) | 2021.10.27 |
Lec 02 - Simple Liner Regression (0) | 2021.10.27 |
Lec 01 - Machine Learning의 용어와 개념 (0) | 2021.10.27 |