Изменение функции потерь
В предыдущем упражнении вы определили функцию потерь tensorflow и вычислили её значение для набора фактических и предсказанных значений. В этом упражнении вы будете вычислять потери внутри другой функции — loss_function(), которая сначала генерирует предсказанные значения на основе данных и переменных. Цель состоит в том, чтобы построить функцию обучаемых переменных модели, возвращающую значение потерь. Затем вы сможете многократно вычислять её при разных значениях переменных, пока не найдёте минимум. На практике эта функция передаётся оптимизатору в tensorflow. Обратите внимание, что features и targets уже определены и доступны. Также доступны Variable, float32 и keras.
Это упражнение является частью курса
Введение в TensorFlow на Python
Инструкции к упражнению
- Определите переменную
scalarс начальным значением 1.0 и типомfloat32. - Определите функцию
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())