Простая линейная регрессия с нуля - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь реализовать простую линейную регрессию с нуля в 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

...