始める無料で始める

線形モデルを学習する

この演習では、前の演習の続きから始めます。切片と傾きである interceptslope はすでに定義・初期化されています。さらに、データとモデル変数を使って損失を計算する関数 loss_function(intercept, slope) も定義済みです。

ここから、最適化操作を opt として定義します。続いて、損失を最小化して interceptslope の最適値を求め、単回帰の線形モデルを学習します。opt は各ステップで最適解に近づこうとしますが、到達には多くのステップが必要です。そのため、この操作を繰り返し実行する必要があります。

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

Introduction to TensorFlow in Python

コースを見る

演習の手順

  • 学習率 0.5 で Adam オプティマイザを opt として初期化します。
  • .minimize() メソッドをオプティマイザに適用します。
  • .minimize() には、適切な引数を取る loss_function() をラムダ関数で渡します。
  • 更新が必要な変数のリストを var_list に指定します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize an Adam optimizer
opt = keras.optimizers.____(0.5)

for j in range(100):
	# Apply minimize, pass the loss function, and supply the variables
	opt.____(lambda: ____(____, ____), var_list=[____, ____])

	# Print every 10th value of the loss
	if j % 10 == 0:
		print(loss_function(intercept, slope).numpy())

# Plot data and regression line
plot_results(intercept, slope)
コードを編集して実行