La Descente de Gradient dans la mise en œuvre d'octave

En fait, j'ai lutté contre cette pour comme 2 mois maintenant. Qu'est-ce qui rend ces différents?

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);

Les dernières œuvres. Je ne sais pas pourquoi..j'ai du mal à comprendre la nécessité de la matrice inverse .

  • Je ne pense pas que c'est une mise en œuvre correcte de descente de gradient. Vous devez mettre à jour. À la fois votre thetas dans le même temps, pour être précis. 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;
InformationsquelleAutor narthur157 | 2012-05-14