@author:Andrew.Du 声明:本文为原创,转载请注明出处:http://www.cnblogs.com/duye/p/9031511.html,谢谢. 一.前言 1.目的: 我写这篇文章的目的,是想用最简洁的语言阐述清楚何为偏最小二乘分析,以及到底应该如何应用这个在数学建模应用中备受青睐的模型.在此之前,你应该已经学过线性代数.高等数学等基础课程,并了解过诸如主成分分析(PCA).多元线性回归等简单的数学模型,如果线性代数高等数学的知识已经还给老师,那么建议你重温一下.在正式讲解偏最…
1. 概览 偏最小二乘算法,因其仅仅利用数据X和Y中部分信息(partial information)来建模,所以得此名字.其总体处理框架体现在下面两图中. 建议先看第2部分,对pls算法有初步了解后再看此框架,会有更全面深入的体会. 得到                                                     …
1 NIPALS 算法 Step1:对原始数据X和Y进行中心化,得到X0和Y0.从Y0中选择一列作为u1,一般选择方差最大的那一列. 注:这是为了后面计算方便,如计算协方差时,对于标准化后的数据,其样本协方差为cov(X,Y)=XTY/(n-1). Step2:迭代求解X与Y的变换权重(w1,c1).因子(u1,t1),直到收敛 step 2.1:利用Y的信息U1,求X的变换权重w1(w1实现有X0到因子t1的变换,t1=X0*w1)及因子t1.从而将X0的信息用t1来近似表达.        …
PLSR的基本原理与推导,我在这篇博客中有讲过. 0.偏最小二乘回归集成了多元线性回归.主成分分析和典型相关分析的优点,在建模中是一个更好的选择,并且MATLAB提供了完整的实现,应用时主要的问题是: 注意检验,各种检验参数:有关回归的检验以及有关多元分析的检验 系数众多,容易混淆 要清楚原理才能写好论文 注意matlab函数plsregress的众多返回值 例如累计贡献度,建模时最好列出表格 1. 问题: 自变量组 X = [x1,x2…xn]  (n组自变量) 因变量组 Y = [y1,y2…
转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少.该系列视频共20个,每看完一个视频,我都要记录一些笔记,包括公式的推导,讲解时候的例子等.按照Ng的说法,公式要自己推理一遍才能理解的通透,我觉得自己能够总结出来,发到博客上,也能达到这个效果,希望有兴趣的同学要循序渐进,理解完一个算法再开始学另外一个算法,每个算法总结一遍,虽然看起来很慢,但却真…
灰色预测的主要特点是只需要4个数据,就能解决历史数据少,序列的完整性以及可靠性低的问题,能将无规律的原始数据进行生成得到规律性较强的生成序列,易于检验 但缺点是只适合中短期的预测,且只适合指数级增长的预测. 在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据预处理后的数据序列称为生成列.对原始数据进行预处理,不是寻找它的统计规律和概率分布,而是将杂乱无章的原始数据列通过一定的方法处理,变成有规律的时间序列数据,即以数找数的规律,再建立动态模型. 灰色预测通过鉴别系统因素之间发展趋势…
# Author Qian Chenglong from numpy import * from numpy.ma import arange def loadDataSet(): dataMat = [] labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(li…
用C结构体来实现面向对象编程,ti xDAIS标准算法就这么搞的. 测试代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Alg_Obj{ struct Alg_Fxn* fxns; }Alg_Obj; typedef Alg_Obj *Alg_Handle; typedef struct Alg_Fxn{ void (*process)(Alg_Handle …
问题分析 依题意,所需程序不用过多考虑效率且暗示使用库,自然想到用高级语言实现(个人选择C++).可用顺序容器暂存数据,用标准算法解决排序问题. 代码实现 #include <iostream> #include <algorithm> #include <fstream> #include <vector> #include <string> using namespace std; int main() { /* * 获取数据文件名并打开文件…
前言 最近有关于3DMM的内容,博主也只是看了个大概,并没有深入了解算法的实现原理和过程.昨天实习生问关于黄金标准算法的推导,博主也就参考一些资料熟悉了这个算法的实现过程.不太了解使用这个算法的前因后果的可参考here,另外,过程中发现一本书关于计算机视觉中的多视图几何(Multiple View Geometry in Computer Vision)的. 算法目标 前因请参考here,这里该算法是为了估计二维和三维坐标点之间的对应关系,通过这个仿射变换关系可以分解推导出缩放因子.旋转矩阵和平…