Что плохого в функции спуска градиента регрессии гребня?
Я кодирую функцию python, но прогноз не соответствует действительности. Предсказываемая цена отрицательна. Однако я не могу найти, где это неправильно. Это правильно или нет, когда я вычисляю производную [i] и вес [i]? пожалуйста помоги.ниже приводится функция, которую использует функция в изображении:
def feature_derivative_ridge(errors, feature, weight, l2_penalty, feature_is_constant):
# If feature_is_constant is True, derivative is twice the dot product of errors and feature
if feature_is_constant == True:
derivative = 2*np.dot(errors, feature)
# Otherwise, derivative is twice the dot product plus 2*l2_penalty*weight
else:
derivative = (2*np.dot(errors, feature) + 2*l2_penalty*weight)
return derivative
1 ответ
О, я нашел ответ.
Первое: ошибки = вывод - прогнозы должны быть: ошибки = прогнозы
тогда: weights[i] = (1-.... должно быть: weights[i] = weights[i] - step_size* производная [i] (напомним формулу)
наконец, вывод правильный