다중 선형 회귀
대부분의 경우, 단변량 선형 회귀만으로는 정확한 예측에 유용한 모델을 만들기 어렵습니다. 이 연습에서는 둘 이상의 특징을 사용하는 다중 회귀를 수행해 보겠습니다.
타깃으로는 price_log를, 특징으로는 size_log와 bedrooms를 사용합니다. 각 텐서는 이미 정의되어 있으며 사용할 수 있어요. 또한 손실 함수는 평균 제곱 오차에서 평균 절대 오차로 바꿉니다: keras.losses.mae(). 마지막으로, 예측값은 다음과 같이 계산합니다: params[0] + feature1*params[1] + feature2*params[2]. 변수 세 개를 따로 쓰는 대신, 매개변수 벡터 params를 변수로 정의해 두었음을 유의하세요. 여기서 params[0]는 절편이고 params[1]과 params[2]는 기울기입니다.
이 연습은 강의의 일부입니다
Python으로 시작하는 TensorFlow
연습 안내
- 예측값을 반환하는 선형 회귀 모델을 정의하세요.
loss_function()이 매개변수 벡터를 입력으로 받도록 설정하세요.- 평균 절대 오차 손실을 사용하세요.
- 최소화 연산을 완성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
return params[0] + feature1*____ + feature2*____
# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
# Set the predicted values
predictions = linear_regression(params, feature1, feature2)
# Use the mean absolute error loss
return keras.losses.____(targets, predictions)
# Define the optimize operation
opt = keras.optimizers.Adam()
# Perform minimization and print trainable variables
for j in range(10):
opt.minimize(lambda: loss_function(____), var_list=[____])
print_results(params)