Я пытаюсь реализовать простую линейную регрессию с нуля в Python.Я хочу создать программу, которая поможет визуализировать процедуру обучения и функцию стоимости, а также то, как оптимизируется значение функции стоимости в процессе обучения.
Я использую API анимации matplotlib для анимации «подгонки»линия регрессии »и использование ее API-интерфейса для построения функции стоимости.
Но я сталкиваюсь с проблемой:
Когда я строю свою функцию стоимости, я не нахожу ее выпуклой, а вот эту: Screehot of Cost График функции
Также я нахожу, что изменение в y-пересечении очень очень меньше по сравнению с изменением наклона линии наилучшего соответствия, в течение всего обученияпроцесс.Я использую скорость обучения = 0,0001
Моя функция стоимости:
def CostFunction(m, c, X_train, y_train) :
summation = 0
for x,y in zip(X_train, y_train) :
summation += (y - (m*x + c))**2
return summation/float(len(X_train))
m и c - наклон и y-перехват в y = mx + c