Что плохого в функции спуска градиента регрессии гребня?

Я кодирую функцию 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] (напомним формулу)

наконец, вывод правильный

Другие вопросы по тегам