En realidad, hace 2 meses que estoy luchando contra esto. ¿Qué es lo que los hace diferentes?Implementación de Gradient Descent en octava
hypotheses= X * theta
temp=(hypotheses-y)'
temp=X(:,1) * temp
temp=temp * (1/m)
temp=temp * alpha
theta(1)=theta(1)-temp
hypotheses= X * theta
temp=(hypotheses-y)'
temp=temp * (1/m)
temp=temp * alpha
theta(2)=theta(2)-temp
theta(1) = theta(1) - alpha * (1/m) * ((X * theta) - y)' * X(:, 1);
theta(2) = theta(2) - alpha * (1/m) * ((X * theta) - y)' * X(:, 2);
Esto último funciona. No estoy seguro por qué ... Me cuesta entender la necesidad de la matriz inversa.
no creo que se trata de una aplicación adecuada de descenso de gradiente. Debes actualizar Tanto sus thetas al mismo tiempo para ser precisos. 'tmpTheta1 = theta (1) - alpha * (1/m) * ((X * theta) - y) '* X (:, 1); tmpTheta2 = theta (2) - alpha * (1/m) * ((X * theta) - y) '* X (:, 2); ' ' theta (1) = tmpTheta1; ' ' theta (2) = tmpTheta2; ' –