美文网首页机器学习算法工程师
多变量线性回归~疑问版

多变量线性回归~疑问版

作者: 由简单到简单 | 来源:发表于2017-04-05 18:04 被阅读40次

    %% ================ Part 1: Feature Normalization ================

    %% Clear and Close Figures

    clear ; close all; clc

    fprintf('Loading data ...\n');

    data = load('ex1data2.txt');

    X = data(:, 1:2);

    y = data(:, 3);

    m = length(y);

    plot(X, y, 'rx', 'MarkerSize', 10);

    pause;

    [X, mu, sigma] = featureNormalize(X);

    % Add intercept term to X

    X = [ones(m, 1) X];

    %% ================ Part 2: Gradient Descent ================

    fprintf('Running gradient descent ...\n');

    % Choose some alpha value

    alpha = 0.01;

    num_iters = 400;

    % Init Theta and Run Gradient Descent

    theta = zeros(3, 1);

    [theta, J_history] = gradientDescentMulti(X, y, theta, alpha, num_iters);

    % Plot the convergence graph

    figure;

    plot(1:numel(J_history), J_history, '-b', 'LineWidth', 2);

    xlabel('Number of iterations');

    ylabel('Cost J');

    % Display gradient descent's result

    fprintf('Theta computed from gradient descent: \n');

    fprintf(' %f \n', theta);

    fprintf('\n');

    % Estimate the price of a 1650 sq-ft, 3 br house

    % ====================== YOUR CODE HERE ======================

    % Recall that the first column of X is all-ones. Thus, it does

    % not need to be normalized.

    te = [1650 3];

    te = te - mu;

    te = te ./ sigma;

    price = [1 te]*theta;% You should change this

    这里我算出来是0?!!!

    % ============================================================

    fprintf(['Predicted price of a 1650 sq-ft, 3 br house ' ... '(using gradient descent):\n $%f\n'], price);

    fprintf('Program paused. Press enter to continue.\n');

    pause;

    %% ================ Part 3: Normal Equations ================

    fprintf('Solving with normal equations...\n');

    % ====================== YOUR CODE HERE ======================

    % Instructions: The following code computes the closed form

    %               solution for linear regression using the normal

    %               equations. You should complete the code in

    %               normalEqn.m

    %

    %               After doing so, you should complete this code

    %               to predict the price of a 1650 sq-ft, 3 br house.

    %

    %% Load Data

    data = csvread('ex1data2.txt');

    X = data(:, 1:2);

    y = data(:, 3);

    m = length(y);

    % Add intercept term to X

    X = [ones(m, 1) X];

    % Calculate the parameters from the normal equation

    theta = normalEqn(X, y);

    % Display normal equation's result

    fprintf('Theta computed from the normal equations: \n');

    fprintf(' %f \n', theta);

    fprintf('\n');

    % Estimate the price of a 1650 sq-ft, 3 br house

    % ====================== YOUR CODE HERE ======================

    price = 0; % You should change this

    % ============================================================

    fprintf(['Predicted price of a 1650 sq-ft, 3 br house ' ...

    '(using normal equations):\n $%f\n'], price);

    正规化方法?(上图)

    相关文章

      网友评论

        本文标题:多变量线性回归~疑问版

        本文链接:https://www.haomeiwen.com/subject/ptjxattx.html