모두를 위한 딥러닝 강의 시즌1을 듣고 복습한 내용입니다.
공부 시간에 따른 시험 성적 예측
- 가정 : H(x) = Wx + b
x (hours) | y (score) |
10 | 90 |
9 | 80 |
3 | 50 |
2 | 30 |
Cost function (Loss function)
학습의 목표 : cost값을 가장 작게 하는 W와 b를 찾는 것!
참고) 차이에 제곱하는 이유?
- 절댓값의 코드 상의 구현에서는 if 문이 필히 들어가게 되는데 매번 if문에 걸려서 체크를 하게되는 것보다 제곱을 하는 편이 빠르다.
- 제곱을 하게되면 차이가 클수록 cost 값이 매우 커져서 w, b 텐서에 대한 변화가 많이 줄 수 있다.
- 제곱값이 1보다 작으면 그 값이 더 작아지게 되는데 이를 통해서 gradient 값이 작아져서 정확도가 높아질 수록 점점 세밀하게 변화시킬수 있다.
텐서플로우 코드 (버전 2.0이상)
import tensorflow as tf
import numpy as np
x_train = [1, 2, 3, 4]
y_train = [0, -1, -2, -3]
tf.model = tf.keras.Sequential()
tf.model.add(tf.keras.layers.Dense(units=1, input_dim=1))
sgd = tf.keras.optimizers.SGD(lr=0.1)
tf.model.compile(loss='mse', optimizer=sgd)
tf.model.fit(x_train, y_train, epochs=200)
y_predict = tf.model.predict(np.array([5, 4]))
print(y_predict)
'딥러닝, 머신러닝 > 모두를 위한 딥러닝 강의 복습' 카테고리의 다른 글
Logistic Classification, Logistic Regression의 cost 함수 (0) | 2022.01.05 |
---|---|
TensorFlow로 파일에서 데이터 읽어오기 (0) | 2022.01.04 |
Multi-variable linear regression (0) | 2022.01.04 |
Linear Regression의 cost 최소화 알고리즘의 원리 (0) | 2022.01.04 |
기본적인 Machine Learning 의 용어와 개념 설명 (0) | 2022.01.04 |