Me corrijam se eu estiver errado. Eu posso interpretar o modelo do gradiente descendente da seguinte forma:
O método do gradiente descendente utiliza a descida do gradiente para minimizar a função de custo.
def gradienteDescendente(theta0, theta1, X, y, alpha):
dtheta0, dtheta1 = derivada(theta0, theta1, X, y)
theta0 = theta0 - (alpha * dtheta0)
theta1 = theta1 - (alpha * dtheta1)
return theta0, theta1
Se o objetivo de nosso problema fosse maximizar a função de custo, usamos a subida do gradiente.
def gradienteDescendente(theta0, theta1, X, y, alpha):
dtheta0, dtheta1 = derivada(theta0, theta1, X, y)
theta0 = theta0 + (alpha * dtheta0)
theta1 = theta1 + (alpha * dtheta1)
return theta0, theta1