[PR & ML 2] [Introduction] Example: Polynomial Curve Fitting
啊啊啊,竟然不支持latex,竟然HTML代码不能包含javascript,代码编辑器也不支持Matlab!!!我要吐槽博客的编辑器。。。T_T只能贴图凑合看了,代码不是图,但这次为了省脑细胞,写的不简洁,凑合看吧。。。




numPoints = ;
lnlambda = [-Inf - ];
M = ; % [, , , ];
x = linspace(,);
% gt data for plotting
t = sin(*pi*x);
ttest = t + normrnd(,0.2, size(x)); % generate observed data
if exist('C0_Curve_Fitting_data.mat', 'file')
load('C0_Curve_Fitting_data.mat');
else
xob = :/(numPoints-):;
tob = sin(*pi*xob) + normrnd(,0.2, size(xob));
save('C0_Curve_Fitting_data.mat', 'xob', 'tob');
end ERMStest = zeros(size(M));
ERMStrain = zeros(size(M));
figCount = ;
% for i = :length(M)
i = ;
for l = :length(lnlambda)
Aob = [];
A = [];
for j = :M(i)
Aob = [Aob (xob.^j)']; %#ok<AGROW>
A = [A (x.^j)']; %#ok<AGROW>
end w = (Aob'*Aob+eye(M(i)+1)*exp(lnlambda(l)))\(Aob'*tob');
tpred = A*w; ERMStest(i) = sqrt(2*0.5*sum((tpred' - ttest).^)/length(x));
ERMStrain(i) = sqrt(*0.5*sum((Aob*w - tob').^2)/length(x));
figure(3);
if M(i)==0 || M(i)==1 || M(i)==3 || M(i)==9
disp('w=')
disp(w);
figCount = figCount + 1;
subplot(1, 3, figCount);
plot(xob,tob,'or');
hold on;
plot(x,t,'b');
plot(x,tpred, 'g')
hold off;
text(0.6,1,['M = ' num2str(M(i))],'FontSize',14);
text(0.6,1.3,['ln\lambda = ' num2str(lnlambda(l))], 'FontSize',14);
xlabel('x');
ylabel('t');
set(gca,'FontSize',14)
end
end % figure(2)
% h1 = plot(M,ERMStest,'go-', 'LineWidth', 2);
% hold on;
% h2 = plot(M,ERMStrain,'bo-', 'LineWidth', 2);
% hold off;
% legend([h1, h2], 'Test', 'Training')
% set(gca,'FontSize',14)
[PR & ML 2] [Introduction] Example: Polynomial Curve Fitting的更多相关文章
- 一起啃PRML - 1.1 Example: Polynomial Curve Fitting 多项式曲线拟合
一起啃PRML - 1.1 Example: Polynomial Curve Fitting @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ 前言: ...
- 数据拟合:多项式拟合polynomial curve fitting
http://blog.csdn.net/pipisorry/article/details/49804441 常见的曲线拟合方法 1.使偏差绝对值之和最小 2.使偏差绝对值最大的最小 3 ...
- [PR & ML 1] [Introduction] Informal Basic Concepts
最近还没更完OpenCV又开了新坑,谁教machine learning处在紧急又重要的地位呢.更新的内容总结自Pattern Recognition and Machine Learning by ...
- 【PRML读书笔记-Chapter1-Introduction】1.1 Example:Polynomial Curve Fitting
书中给出了一个典型的曲线拟合的例子,给定一定量的x以及对应的t值,要你判断新的x对应的t值多少. 任务就是要我们去发现潜在的曲线方程:sin(2πx) 这时就需要概率论的帮忙,对于这种不确定给t赋何值 ...
- [PR & ML 6] [Introduction] Information Theory
- [PR & ML 5] [Introduction] Decision Theory
- [PR & ML 4] [Introduction] Model Selection & The Curse of Dimension
这两部分内容比较少,都是直觉上的例子和非正式的定义,当然这本书中绝大多数定义都是非正式的,但方便理解.后面深入之后会对这两个章节有详细的阐述.
- [PR & ML 3] [Introduction] Probability Theory
虽然学过Machine Learning和Probability今天看着一part的时候还是感觉挺有趣,听惊呆的,尤其是Bayesian Approach.奇怪发中文的笔记就很多人看,英文就没有了,其 ...
- [matlab工具箱] 曲线拟合Curve Fitting
——转载网络 我的matlab版本是 2016a 首先,工具箱如何打开呢? 在 apps 这个菜单项中,可以找到很多很多的应用,点击就可以打开具体的工具窗口 本文介绍的工具有以下这些: curve F ...
随机推荐
- sql STUFF用法
sql STUFF用法 1.作用 删除指定长度的字符,并在指定的起点处插入另一组字符. 2.语法 STUFF ( character_expression , start , length ,char ...
- NSThead
每个iOS应用程序都有个专门用来更新显示UI界面.处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验.一般的解决方案就是将 ...
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的.比如是用户点击了右上角的“关闭”按钮,还是调用了WinForm.Close()方法.最典型的是要知道点击右上角的“关闭”按钮发出的 ...
- 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- 别名的应用(New-Alias)
New-Alias -name appcmd -value $env:windir\system32\inetsrv\appcmd.exe 这样就可以在当前PS环境下直接使用appcmd了
- oracle查询前10条记录
select * from table_name where rownum<11;
- 使用百度地图结合GPS进行定位
本文在上文基础上加入GPS定位功能,实现实时定位,代码如下: Activity: package com.home; import android.app.Activity; import andro ...
- 使用air进行移动app开发常见功能和问题(二)
1. Air如何判断android.ios 平台网络连接状态? Android,使用as3原生api: if(NetworkInfo.isSupported)//只有android支持 Networ ...
- C语言register关键字—最快的关键字
register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.注意是尽可能,不是绝对.你想想,一个CPU 的寄存器也就那么几个或几十个,你要是 ...
- 如何在mac上創建txt文档
文件編輯(Mac下的記事本),shift + command + T 進入純文字編輯模式!