始める無料で始める

重回帰(Multiple linear regression)

多くの場合、単回帰では高い精度の予測に役立つモデルにはなりません。この演習では、複数の特徴量を使う重回帰を行います。

ターゲットには price_log、特徴量には size_logbedrooms を使用します。これらのテンソルはすでに定義済みで利用できます。また、損失関数は平均二乗誤差から平均絶対誤差(keras.losses.mae())に切り替えます。最後に、予測値は params[0] + feature1*params[1] + feature2*params[2] のように計算します。ここでは 3 つの変数を使う代わりに、パラメータのベクトル params を変数として定義している点に注意してください。params[0] が切片、params[1]params[2] が傾きです。

この演習はコースの一部です

Introduction to TensorFlow in Python

コースを見る

演習の手順

  • 予測値を返す線形回帰モデルを定義してください。
  • 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)
コードを編集して実行