吴恩达机器学习训练1:线性回归(多变量)
本小节为练习1中选做题,为多变量(多特征参数)的线性回归计算。
还是预测房价的例子,假设已经两个特征参数,分别是房子的尺寸和卧室的数量,在数据的第一列和第二列,数据的第三列为已经的房价。
1、导入数据:
data = load(‘ex1data2.txt’);
X = data(:, 1:2);
y = data(:, 3);
m = length(y);
2、对输入特征参数进行预处理:
由于输入两个参数的数量级区别较大,此时需要进行预处理。预处理的目的是将数据映射到相同数量级,其方法是分别对个特征参数减去其平均值,再除以其标准差。
其编程算法如下:
function [X_norm, mu, sigma] = featureNormalize(X)
X_norm = X;
mu = zeros(1, size(X, 2));%size(X,2)返回矩阵X的列数
sigma = zeros(1, size(X, 2));
mu = mean(X);
sigma = std(X);
for i = 1:size(X,2)
X_norm(:,i) = (X(:,i) - mu(i))/sigma(i);
end
end
3、补充完整computeCostMulti函数和gradientDescentMulti函数
可以采用A^2 = A’A公式来计算损失值。
function J = computeCostMulti(X,