Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

%in this exercise, you will investigate linear regression using gradient descent % and the normal equations %This is a training set of housing prices in

%in this exercise, you will investigate linear regression using gradient descent % and the normal equations %This is a training set of housing prices in Portland, Oregon, where %y are the prices and the inputs $x are the living area and the number of bedrooms. %we will use only living area in this assigment % initialize samples of x and y training dataset % x2 = load('ex3x.dat'); y = load('ex3y.dat'); %house cost x=x2(:,1); %only living area m = length(y); % store the number of training examples x = [ones(m, 1), x]; % Add a column of ones to x %the area values from your training data are actually in the second column of x #Gradient descent xorg=x(:,2); #normilze the data sigma = std(x); mu = mean(x); x(:,2) = (x(:,2) - mu(2))./ sigma(2); mse = zeros(100, 100); % initialize mse to 100x100 matrix of 0's w0 = linspace(100000,500000,100); w1 = linspace(1000,300000,100); for i = 1:length(w0) for j = 1:length(w1) t = [w0(i); w1(j)]; mse(i,j) =1/m* (y-x*t)'*(y-x*t); end end % Plot the surface plot % Because of the way meshgrids work in the surf command, we need to % transpose mse before calling surf, or else the axes will be flipped mse = mse'; figure; surf(w0, w1, mse); xlabel('\w0'); ylabel('\w1'); w = zeros(2, 1); iterations = 100 alpha = 0.07 cost=zeros(iterations,1); for iter = 1:iterations %insert your code here % cost(iter)=... % this is the code to calculate weights % w=w - your code * alpha; %end of your code wdraw0(iter)=w(1); wdraw1(iter)=w(2); end disp("w0g w1g"),disp(w); % now plot Cost % technically, the first cost at the zero-eth iteration % but Matlab/Octave doesn't have a zero index figure; plot(0:iterations-1, cost(1:iterations), '-') xlabel('Number of iterations') ylabel('Cost - mean square error ') #normilize 1650sf %caling 1650sf your code here: %newxs= your code newxs= disp("house prediction for 1650s, gradient descent:"),disp([1,newxs]*w); #plot data and regression line figure % open a new figure window # plot your training set (and label the axes): plot(xorg,y,'o'); ylabel('house cost') xlabel('house sf') hold yp=x*w; plot(xorg,yp,'-');
Please help using octave(mathlab) for programming modify the code to calculate linear estimator using gradient descent, and then use the parameters to calculate price of the house with 1650sf, Please help explain step to step to understand, And provide a finished code with modify

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learn To Program Databases With Visual Basic 6

Authors: John Smiley

1st Edition

1902745035, 978-1902745039

More Books

Students also viewed these Databases questions