損失関数を修正する
前の演習では、tensorflow の損失関数を定義し、実測値と予測値のセットに対して一度だけ評価しました。この演習では、まずデータと変数から予測値を生成し、その後に損失を計算する loss_function() という関数の中で損失を求めます。これは、学習可能なモデル変数を入力として損失を返す関数を作ることが目的です。そうすることで、変数の値を変えながら繰り返しこの関数を評価し、最小値を見つけられます。実際には、この関数を tensorflow のオプティマイザに渡して最適化します。なお、features と targets は定義済みで利用できます。また、Variable、float32、keras も利用可能です。
この演習はコースの一部です
Introduction to TensorFlow in Python
演習の手順
- 初期値 1.0、型
float32の変数scalarを定義してください。 loss_function()という関数を定義し、引数はこの順で渡してください:scalar、features、targets。- 平均絶対誤差の損失関数を使用してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize a variable named scalar
scalar = ____(1.0, ____)
# Define the model
def model(scalar, features = features):
return scalar * features
# Define a loss function
def loss_function(____, features = features, targets = targets):
# Compute the predicted values
predictions = model(scalar, features)
# Return the mean absolute error loss
return keras.losses.____(targets, predictions)
# Evaluate the loss function and print the loss
print(loss_function(scalar).numpy())