Тензорный поток с градиентным приличным результатом приводит к неправильным коэффициентам - PullRequest
0 голосов
/ 12 марта 2019

В настоящее время я пытаюсь построить линейную регрессию, которая использует коэффициент рождаемости (x) в качестве предиктора для прогнозирования ожидаемой продолжительности жизни (y). у = ш * х + б Набор данных можно найти здесь: Набор данных

Вот онлайн-ссылка для моего кода: Код

Идея проста: я запускаю 300 эпох, внутри каждой эпохи, я подаю попарно сэмплированную единицу (значение x, значение y) в оптимизатор с градиентом приличия, чтобы минимизировать функцию потерь.

Однако результат, который я получил, совершенно неверен. Изображение моего результата: мой результат

Вместо того, чтобы иметь отрицательный наклон, он всегда приводит к положительному наклону, в то время как образец ответа, предоставленный здесь , дает лучшую модель с отрицательным наклоном.

Что было не так в моем кодировании?

1 Ответ

1 голос
/ 12 марта 2019

Проблема в расположении линии

sess.run(tf.global_variables_initializer())

Поскольку он находится внутри цикла while, w и b повторно инициализируются на каждой итерации до 0. Поэтому вы видите результат одной итерации цикла while (обучения) (последней). Вы должны переместить линию до цикла while.

...