Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. alpha = 0.001;
  2. num_iters = 10;
  3.  
  4. xrange =(-10:0.1:10); % data lenght
  5. ydata = 5*(xrange)+30; % data with gradient 2, intercept 5
  6.  
  7. % plot(xrange,ydata); grid on;
  8. noise = (2*randn(1,length(xrange))); % generating noise
  9. target = ydata + noise; % adding noise to data
  10.  
  11. f1 = figure
  12. subplot(2,2,1);
  13. scatter(xrange,target); grid on; hold on; % plot a scttaer
  14. title('Linear Regression')
  15. xlabel('xrange')
  16. ylabel('ydata')
  17.  
  18. tita0 = randn(1,1); %intercept (randomised)
  19. tita1 = randn(1,1); %gradient (randomised)
  20.  
  21. % Initialize Objective Function History
  22. J_history = zeros(num_iters, 1);
  23.  
  24. % Number of training examples
  25. m = (length(xrange));
  26.  
  27. % STEP1 : we shuffle the data
  28. data = [ xrange, ydata];
  29. data = data(randperm(size(data,1)),:);
  30. y = data(:,1);
  31. X = data(:,2:end);
  32.  
  33. for iter = 1:num_iters
  34.  
  35. for i = 1:m
  36.  
  37. x = X(:,i); % STEP2 Select one example
  38.  
  39. h = tita0 + tita1.*x; % building the estimated %Changed to xrange in BGD
  40.  
  41. %c = (1/(2*length(xrange)))*sum((h-target).^2)
  42.  
  43. temp0 = tita0 - alpha*((1/m)*sum((h-target)));
  44. temp1 = tita1 - alpha*((1/m)*sum((h-target).*x)); %Changed to xrange in BGD
  45. tita0 = temp0;
  46. tita1 = temp1;
  47.  
  48. fprintf("heren %d; %d", i, x)
  49.  
  50. end
  51.  
  52. J_history(iter) = (1/(2*m))*sum((h-target).^2); % Calculating cost from data to estimate
  53.  
  54. fprintf('Iteration #%d - Cost = %d... rn',iter, J_history(iter));
  55.  
  56. end
  57.  
  58. f = round(1+rand(1,1)*201); %generating random indexes
  59.  
  60. x = xrange(f); % STEP2 Select one example
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement