線形モデルを学習する
この演習では、前の演習の続きから始めます。切片と傾きである intercept と slope はすでに定義・初期化されています。さらに、データとモデル変数を使って損失を計算する関数 loss_function(intercept, slope) も定義済みです。
ここから、最適化操作を opt として定義します。続いて、損失を最小化して intercept と slope の最適値を求め、単回帰の線形モデルを学習します。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)