线性回归运动(Coursera课程:ex1_multi)

41视图(30天)
你好,
我是机器学习Andrew Ng Coursera阶级。实现梯度下降后第一个锻炼(目标是预测的价格1650平方英尺,3 br的房子),J_history显示我的列表相同的值(2.0433 e + 09年)。所以当策划结果,我给我留下一条直线,单一值的J。
  • 这是我的代码:
函数[θ,J_history] = gradientDescentMulti (X, y,θ,α,num_iters)
m =长度(y);
J_history = 0 (num_iters, 1);
iter = 1: num_iters
δ= 0(大小(X, 2), 1);
i = 1:尺寸(X, 2)
δ(我,1)=总和((θ的* X - y”)。* (X (:, i))) *α/ m;
结束
θ=θ-三角洲;
J_history (iter) = computeCostMulti (X, y,θ);
结束
结束
  • 我在命令窗口中输入:
data =负载(“ex1data2.txt”);
X =数据(:,1:2);
y =数据(:,3);
m =长度(y);
[X,μ、σ]= featureNormalize (X)
X = [(m, 1)的X];
性病(X (:, 2))
α= 0.01;
num_iters = 400;
θ= 0 (3,1);
computeCostMulti (X, y,θ)
[θ,J_history] = gradientDescentMulti (X, y,θ,α,num_iters);
图;
阴谋(1:元素个数(J_history) J_history,“- b”,“线宽”,2);
包含(迭代次数);
ylabel (J成本);
从梯度下降流(“θ计算:\ n”);
流(% f \ n,θ);
流(' \ n ');
我得到以下结果为θ:340412.659574 110631.050279 -6649.474271
价格= 0;
参数= (1650 3);
参数σ= (parameter-mu)。/;
参数=(1、参数);
价格=θ*参数”;
流([的预测价格的1650平方英尺,3 br的房子……(使用梯度下降法):$ % f \ n \ n”),价格);
我得到以下结果的价格:293081.464335美元
  • 这是J_history的结果:
我不确定这个问题是从哪里来的。我附上这篇文章的运动和功能。
谢谢你的帮助!
波林

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!