Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alpha = 0.001;
- num_iters = 10;
- xrange =(-10:0.1:10); % data lenght
- ydata = 5*(xrange)+30; % data with gradient 2, intercept 5
- % plot(xrange,ydata); grid on;
- noise = (2*randn(1,length(xrange))); % generating noise
- target = ydata + noise; % adding noise to data
- f1 = figure
- subplot(2,2,1);
- scatter(xrange,target); grid on; hold on; % plot a scttaer
- title('Linear Regression')
- xlabel('xrange')
- ylabel('ydata')
- tita0 = randn(1,1); %intercept (randomised)
- tita1 = randn(1,1); %gradient (randomised)
- % Initialize Objective Function History
- J_history = zeros(num_iters, 1);
- % Number of training examples
- m = (length(xrange));
- % STEP1 : we shuffle the data
- data = [ xrange, ydata];
- data = data(randperm(size(data,1)),:);
- y = data(:,1);
- X = data(:,2:end);
- for iter = 1:num_iters
- for i = 1:m
- x = X(:,i); % STEP2 Select one example
- h = tita0 + tita1.*x; % building the estimated %Changed to xrange in BGD
- %c = (1/(2*length(xrange)))*sum((h-target).^2)
- temp0 = tita0 - alpha*((1/m)*sum((h-target)));
- temp1 = tita1 - alpha*((1/m)*sum((h-target).*x)); %Changed to xrange in BGD
- tita0 = temp0;
- tita1 = temp1;
- fprintf("heren %d; %d", i, x)
- end
- J_history(iter) = (1/(2*m))*sum((h-target).^2); % Calculating cost from data to estimate
- fprintf('Iteration #%d - Cost = %d... rn',iter, J_history(iter));
- end
- f = round(1+rand(1,1)*201); %generating random indexes
- x = xrange(f); % STEP2 Select one example
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement