- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据建模与分析线性回归小论文
上海住房面积和房价的线性回归分析
王明黔
(上海大学,上海200444)线性回归分析
。
图1 城市人口数目与饮品连锁店利润的样本集
Fig 1 Urban population and beverage chain profits of sample set
针对样本集,我们可以假设一个线性模型:
(1)
式中——假设的线性模型
——样本
——参数
其中,为模型参数,因此问题就可以转换为,求出的值。
为了得到较为准确的回归线,满足一个前提即各样本点尽可能分布在所建立的线性模型周围,因此我们建立:
(2
式中——向量中的第个元素
——向量中的第个元素
——模型假设
——训练集的数量
因此,我们只要求得使上述函数的值最小时的的值。
1.2 目标函数的求解
我们首先从一组开始,利用最速下降法不断改变的值来减小,直到达到我们希望得到的最小值[3]。
对于最速下降法,可利用以下公式而来求解:
(3)
式中——学习速率
——下降方向。
其中α为修正学习速率,即搜索的步长,当α过小,会延长搜索的时间,当α过大,可能会错过极值点,导致不收敛。还有要注意最速下降法会收敛到局部最小值的情况,这种情况即便修正学习速率也不会改变结果,并且接近局部最小值时,因为斜率的减小最速下降法会自动减少每步的补偿[4]。因此,我们要现注意目标函数的极小值情况,如果有局部最小值可通过调节α参数的大小来跳过局部最小值情况,否则,就不需跳过,最终通过多次迭代可以得到最终的理想结果。
Matlab求解确保同时更新,具体循环如下:
function J = computeCost(X, y, theta)
m = length(y);
J = 0;
predictions=X*theta;
J=1/(2*m)*(predictions-y)*(predictions-y);
end
2.3 gradientDescent函数的定义
GradientDescent函数就是最速下降法的迭代与循环过程[5],具体如下:
function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters)
m = length(y);
J_history = zeros(num_iters, 1);
for iter = 1:num_iters
temp1 = theta(1) - (alpha / m) * sum((X * theta - y).* X(:,1));
temp2 = theta(2) - (alpha / m) * sum((X * theta - y).* X(:,2));
theta(1) = temp1;
theta(2) = temp2;
J_history(iter) = computeCost(X, y, theta);
end
end
散点图的绘制
function plotData(x, y)
figure;
data = load(ex1data1.txt);
X = data( : , 1 );Y = data( : , 2);
X = [ones(size(X,1),1),X];
plot(X,Y,rx,MarkerSize, 4);
axis([4 24 -5 25]);
xlabel(x);
ylabel(y);
end
运行程序后得到散点图如图2所示:
图2 散点图
Fig.2 scatter diagram
2.5 回归线的绘制
通过机器统计学习后得到线性回归线,如图3所示:
图3 回归线
fig.3 The regression line
运行主程序中的语句计算出和J的最小值,程序如下:
[theta,J_history] = gradientDescent(X, y, theta, alpha, num_iters);
Matlab程序运行后结果报告如图4所示:
图4 报告窗口
fig.4 The report window
其中ans结果为Matlab运行的最后一步结果,下面为模型参数值。
假设模型参数值: ,
2.6 等高线及三维图的绘制
将和J的值绘制在三维图上,将的值以J为高度绘制绘制成等高线图,并将中心点即优化的参数用红色点标记,如下图5所示:
图等高线图
Fig Graphic model and contour map
等高线图中点红点代表了目标函数最小是对应的模型参数值,该参数值下的直线到每一个统计数据点的距离最短
文档评论(0)