- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 上圖的曲線為 fminsearch 指令產生的迴歸曲線。 fminsearch 指令是一個使用 Simplex 下坡式搜尋法(Downhill Simplex Search)的最佳化方法,用來找出 errorMeasure1 的極小值,並傳回 theta 的最佳值。 非線性迴歸:使用fminsearch 計算時間 = 0.03 誤差平方和 = 5.337871e-001 上述方法把所有參數全部視為非線性參數。 混成法將上述方法進一步改良,也就是將線性與非線性參數分開,各用不同的方法來處理。 以上例而言,數學模型為: 、 線性參數:最小平方法,即「左除」或「\」 λ1、λ2 非線性參數: Simplex 下坡式搜尋(即 fminsearch) 混成法的好處是 最小平方法能夠在非線性參數固定的情況下,一次找到最好的線性參數的值,因為搜尋空間的維度由 4降為 2最佳化會更有效率。 非線性迴歸:使用混成法 使用上述混成(Hybrid)的方法,函式 errorMeasure1 須改寫成 errorMeasure2 範例10-10: errorMeasure2.m lambda 是非線性參數向量, data 仍是觀察到的資料點,a 是利用最小平方法算出的最佳線性參數向量,傳回的 squareError 仍是總平方誤差 非線性迴歸:使用混成法 function squaredError = errorMeasure2(lambda, data) x = data(:,1); y = data(:,2); A = [exp(lambda(1)*x) exp(lambda(2)*x)]; a = A\y; y2 = a(1)*exp(lambda(1)*x)+a(2)*exp(lambda(2)*x); squaredError = sum((y-y2).^2); 欲用此混成法求出誤差平方和的最小值 範例10-11: nonlinearFit02.m 非線性迴歸:使用混成法 load data.txt lambda0 = [0 0]; tic lambda = fminsearch(@errorMeasure2, lambda0, [], data); fprintf(計算時間 = %g\n, toc); x = data(:, 1); y = data(:, 2); A = [exp(lambda(1)*x) exp(lambda(2)*x)]; a = A\y; y2 = a(1)*exp(lambda(1)*x)+a(2)*exp(lambda(2)*x); plot(x, y, ro, x, y2, b-); legend(Sample data, Regression curve); fprintf(誤差平方和 = %d\n, sum((y-y2).^2)); 此種混成法可以產生較低的誤差平方和,同時所需的計算時間也比較短。 非線性迴歸:使用混成法 計算時間 = 0.02 誤差平方和 = 1.477226e-001 亦可利用變形法(Transformation),將一數學模型轉換成只包含線性參數的模型。 假設一模型為: 取自然對數,可得: ln a及ln b變成線性參數,我們可用“最小平方法”找出其值 範例10-12: transformFit01.m 非線性迴歸:使用變形法 load data2.txt x = data2(:, 1); % 已知資料點的 x 座標 y = data2(:, 2); % 已知資料點的 y 座標 A = [ones(size(x)) x]; a = 4.3282 b =-1.8235 誤差平方和 = 8.744185e-001 非線性迴歸:使用變形法 theta = A\log(y); subplot(2,1,1) plot(x, log(y), o, x, A*theta); xlabel(x); ylabel(ln(y)); title(ln(y) vs. x); legend(Actual value, Predicted value); a = exp(theta(1)) % 辨識得到之參數 b = theta(2) % 辨識得到之參數 y2 = a*exp(b*x); subplot(2,1,2); plot(x, y, o, x, y2); xlabel(x); ylabel(y); legend(Actual value, Predicted value); title(y vs. x);
您可能关注的文档
最近下载
- 13D101-1~4 110KV及以下电力电缆终端和接头.docx VIP
- 2025年高考化学(黑吉辽蒙卷) 真题详细解读及评析.docx
- 干式系统的工作原理.ppt VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 英国文学史17th--Century-English---Literature4.ppt VIP
- 子宫颈癌筛查规范(2025年)解读课件PPT.pptx
- word模板:简约企业新闻报刊报纸排版设计word模板.docx VIP
- 露天矿开采(共117张课件).pptx VIP
- 人教版高中英语必修第一册Unit 2 教学课件 Reading and Thinking and Thinking.ppt VIP
- 2023心房颤动诊断和治疗中国指南(第二部分).docx VIP
文档评论(0)