Обучение линейной модели
В этом упражнении вы продолжите работу с предыдущего шага. Свободный член и коэффициент наклона — intercept и slope — уже определены и инициализированы. Кроме того, определена функция loss_function(intercept, slope), которая вычисляет потери на основе данных и переменных модели.
Вам нужно определить операцию оптимизации как opt, а затем обучить одномерную линейную модель, минимизируя потери, чтобы найти оптимальные значения intercept и slope. Обратите внимание, что операция opt приближается к оптимуму с каждым шагом, однако для его достижения требуется много итераций. Поэтому операцию необходимо выполнять многократно.
Это упражнение является частью курса
Введение в TensorFlow на Python
Инструкции к упражнению
- Инициализируйте оптимизатор Adam как
optсо скоростью обучения 0.5. - Примените метод
.minimize()к оптимизатору. - Передайте
loss_function()с необходимыми аргументами в виде лямбда-функции в.minimize(). - Укажите список переменных, которые необходимо обновить, в параметре
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)