Problem with Gradient descent

9 views (last 30 days)
Ryan AICHOUCH
Ryan AICHOUCH on 14 Sep 2019
Commented: Walter Roberson on 25 Apr 2021
Hello,
I am currently following the programm of Machine Learning and I have a problem with the first assignment since 2 months.
When I try to plot the gradient descent: Matlab send me this error:
gradientDescent
Not enough input arguments.
Error in gradientDescent (line 7)
m = length(y); % number of training examples
This is my code :
function [theta, J_history,theta_history] = gradientDescent(X, y, theta, alpha, num_iters)
%GRADIENTDESCENT Performs gradient descent to learn theta
% theta = GRADIENTDESCENT(X, y, theta, alpha, num_iters) updates theta by
% taking num_iters gradient steps with learning rate alpha
% Initialize some useful values
m = length(y); % number of training examples
J_history = zeros(num_iters, 1);
for iter = 1:num_iters
% ====================== YOUR CODE HERE ======================
% Instructions: Perform a single gradient step on the parameter vector
% theta.
%
% Hint: While debugging, it can be useful to print out the values
% of the cost function (computeCost) and gradient here.
%
error=(X.*theta-y)
temp0=theta(1)+(alpha/m)*sum(error.*X(:,1));
temp1=theta(2)+(alpha/m)*sum(error.*X(:,2));
theta=[temp0,temp1]
% ============================================================
% Save the cost J in every iteration
J_history(iter) = computeCost(X, y, theta);
end
end
Thanks in advance for your help
  8 Comments
Kevin Chan
Kevin Chan on 25 Apr 2021
X,y, etc variables have not been defined.
Walter Roberson
Walter Roberson on 25 Apr 2021
X, y are supposed to be passed into the function.
We have no information as to how m is defined.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!