[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 ...
随机推荐
- 测试JS基本类型以及对象的引用
自己敲的. 1 <script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js&qu ...
- iOS Instruments内存检测使用
Instruments 可以帮我们了解到应用程序使用内存的几个方面: 全局内存使用情况(Overall Memory Use): 从全局的角度监测应用程序的内存使用情况,捕捉非预期的或大幅度的内存增长 ...
- fastjson使用示例
一.fastjson 一款Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser.包括 ...
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。
本文转载:http://blog.csdn.net/playing9c/article/details/7471918 http://blog.csdn.net/beelinkerlidejun/ar ...
- cocos2d-x Action
转自:http://codingnow.cn/cocos2d-x/775.html 从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作. CCFiniteTimeActio ...
- 理解 auto_ptr<T>
1.auto_ptr<T>解决什么问题? 在堆上获取的资源,客户可能会忘记delete,或者由于异常没有执行到delete,导致资源泄漏.在栈上分配的对象,有个特点,不论出现什么情况,超出 ...
- Android 设置横屏或竖屏
方法一:在AndroidManifest.xml中配置 如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上androi ...
- MVC - 学习总目录
MVC - 基础 MVC - HtmlHelper类 MVC - 路由 MVC - 身份验证 MVC - 模型验证 MVC - Ajax MVC - 布局
- error “base class has incomplete type”
error "base class has incomplete type" 如果base.h是你的基类,那么在子类derive中,写成如下形式: class base; clas ...
- SQL Server 中添加用户
在对象资源管理器中点击安全性,选择登录名-新建登录名