PLSR(偏最小二乘回归浅析)
2017-04-15 11:31
627 查看
问题描述
算法步骤
分别提取两变量组的第一对线性组合组成的向量
建立回归
迭代
最后
英文原文:Partial Least Squares (PLS) Regression.
相关博客:偏最小二乘回归
X0=⎡⎣⎢⎢⎢x11x21...xn1x12x22...xn2............x1mx2m...xnm⎤⎦⎥⎥⎥,Y0=⎡⎣⎢⎢⎢⎢y11y21...yn1y12y22...yn2............y1py2p...ynp⎤⎦⎥⎥⎥⎥
其中,样本数量为n个,X为m维数据,Y为p维标签
偏最小二乘回归分析建模的具体步骤如下:
t1=x1w11+...+xmw1n=Xw1,X=(x1,...,xm)
u1=y1v11+...+ypv1p=Yv1,Y=(y1,...,yp)
t1是m个n维的数据向量(列向量)的线性组合(每一个向量长度为样本数量), u1是p个n维的标签列向量的线性组合,其中w1,v1为单位向量,各自尽可能多地体现其组成成分的信息。
另 t1 和u1 的相关程度达到最大
问题化为求单位向量w1,v1,,使 θ=wT1XTYv1达到最大。
{max:wT1w1<t1,u1>=<Xw1,Yv1>=wT1XTYv1=∥w1∥2=1,vT1v1=∥v1∥2=1
根据PCA原理XTY的主成分,就是计算XTY的协方差矩阵M=XTYYTX的特征值和特征向量,源矩阵和转置矩阵的特征值相同(这里求M=YTXXTY是一样的,特征值相同,只是特征向量差了乘YTX的线性变换)
M的最大特征值为θ2,相应的单位特征向量就是所求的w1,v1可以通过w1计算 v1=1θ1YTXw1
{X0Y0=t1α1+X1=t1β1+Y1
由于 和 相关性上已经达到最大化(t1≈u1),这里使用t1替换u1对Y进行回归,从而之后间接用X的成分对Y进行回归。其中α1=(α11,...,α1m),β1=(β11,...,β1p)分别是多对一的回归模型中的参数向量,X1和Y!是残差阵。回归系数向量α,β的最小二乘估计为
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪α1β1=tT1X0∥t1∥2=tT1Y0∥t1∥2
w2=(w21,...,w2m),v2=(v21,...,v2p)分别为第二对单位向量。
t2=Xw2,u2=Yv2第二对成分的线性组合。
β2=tT2Y1∥t2∥2,β2=tT2Y1∥t2∥2分别为 X ,Y 的回归模型中第二对成分的参数向量,这时可以得到:
{X0Y0=t1α1+t2α2+X2=t1β1+t2β2+Y2
误差矩阵的范数满足一定条件则可以停止,最多可以存在r个成分X(数据阵)的秩
{X0Y0=t1α1+t2α2+...+trαr+Xr=t1β1+t2β2+...+trβr+Yr
这里与PCA中表达式不一样的是这里成分向量之间没有正交的要求。
tk=Xwk=x1wk1+...+xmwkn,k=(1,2,...,r)
带入到
Y0=t1β1+t2β2+...+trβr
当中。即可得到p个标签的偏最小二乘回归方程。
Y0=Xw1β1+Xw2β2+...+Xwrβr+Yr=Xp1+Xp2+...+Xpr
pk=wkβk,k=(1,...r)
算法步骤
分别提取两变量组的第一对线性组合组成的向量
建立回归
迭代
最后
英文原文:Partial Least Squares (PLS) Regression.
相关博客:偏最小二乘回归
问题描述:
在实际问题中,经常会有多维回归预测问题,最小二乘法求解θ=(XTX)−1XTY: 对于样本数m比样本的维度n要少的情况时, XTX为奇异矩阵,方程将有无穷多解,此时无法求解出实际的正确解。此时可以根据数据之间的相关性进行降维,主成分分析(PCA)是一种普遍利用的方法,不过在有标签并且要做回归的情况下,PLS更加适合此类问题。算法步骤
首先定义数据 ,假设已经获得了归一化之后的数据以及对应的标签X0=⎡⎣⎢⎢⎢x11x21...xn1x12x22...xn2............x1mx2m...xnm⎤⎦⎥⎥⎥,Y0=⎡⎣⎢⎢⎢⎢y11y21...yn1y12y22...yn2............y1py2p...ynp⎤⎦⎥⎥⎥⎥
其中,样本数量为n个,X为m维数据,Y为p维标签
偏最小二乘回归分析建模的具体步骤如下:
分别提取两变量组的第一对线性组合组成的向量:
这里不用得分向量那种大部分文献常用的方法,来说一种比较简洁的计算方法,直接在数据矩阵当中提取主成分,t1=x1w11+...+xmw1n=Xw1,X=(x1,...,xm)
u1=y1v11+...+ypv1p=Yv1,Y=(y1,...,yp)
t1是m个n维的数据向量(列向量)的线性组合(每一个向量长度为样本数量), u1是p个n维的标签列向量的线性组合,其中w1,v1为单位向量,各自尽可能多地体现其组成成分的信息。
另 t1 和u1 的相关程度达到最大
问题化为求单位向量w1,v1,,使 θ=wT1XTYv1达到最大。
{max:wT1w1<t1,u1>=<Xw1,Yv1>=wT1XTYv1=∥w1∥2=1,vT1v1=∥v1∥2=1
根据PCA原理XTY的主成分,就是计算XTY的协方差矩阵M=XTYYTX的特征值和特征向量,源矩阵和转置矩阵的特征值相同(这里求M=YTXXTY是一样的,特征值相同,只是特征向量差了乘YTX的线性变换)
M的最大特征值为θ2,相应的单位特征向量就是所求的w1,v1可以通过w1计算 v1=1θ1YTXw1
建立回归
建立Y=(y1,...,yp)对t1的回归及X=(x1,...,xm)对t1的回归模型:{X0Y0=t1α1+X1=t1β1+Y1
由于 和 相关性上已经达到最大化(t1≈u1),这里使用t1替换u1对Y进行回归,从而之后间接用X的成分对Y进行回归。其中α1=(α11,...,α1m),β1=(β11,...,β1p)分别是多对一的回归模型中的参数向量,X1和Y!是残差阵。回归系数向量α,β的最小二乘估计为
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪α1β1=tT1X0∥t1∥2=tT1Y0∥t1∥2
迭代
如果残差范数不满足要求的阈值,则用残差阵X1和Y!代替X0和Y0重复以上步骤。w2=(w21,...,w2m),v2=(v21,...,v2p)分别为第二对单位向量。
t2=Xw2,u2=Yv2第二对成分的线性组合。
β2=tT2Y1∥t2∥2,β2=tT2Y1∥t2∥2分别为 X ,Y 的回归模型中第二对成分的参数向量,这时可以得到:
{X0Y0=t1α1+t2α2+X2=t1β1+t2β2+Y2
误差矩阵的范数满足一定条件则可以停止,最多可以存在r个成分X(数据阵)的秩
{X0Y0=t1α1+t2α2+...+trαr+Xr=t1β1+t2β2+...+trβr+Yr
这里与PCA中表达式不一样的是这里成分向量之间没有正交的要求。
最后
将tk=Xwk=x1wk1+...+xmwkn,k=(1,2,...,r)
带入到
Y0=t1β1+t2β2+...+trβr
当中。即可得到p个标签的偏最小二乘回归方程。
Y0=Xw1β1+Xw2β2+...+Xwrβr+Yr=Xp1+Xp2+...+Xpr
pk=wkβk,k=(1,...r)
相关文章推荐
- 偏最小二乘回归(PLSR)算法原理
- 应用偏最小二乘回归(PLSR)对NIR光谱与样本中RON含量进行定量分析
- Python偏最小二乘回归(PLSR)测试
- 偏最小二乘回归(PLSR)- 2 标准算法(NIPALS)
- 偏最小二乘回归(PLSR)算法原理
- 偏最小二乘回归(PLSR)- 2 标准算法(NIPALS)
- 偏最小二乘回归(PLSR)- 1 概览
- 线性回归 最小二乘 梯度下降 随机梯度下降
- 使用fminunc找逻辑回归(logistic)代价函数的最小值
- 曲线回归最小二乘多项式
- 机器学习笔记_回归_4: 最小二乘的改进(1)
- 回归——线性回归,Logistic回归,范数,最大似然,梯度,最小二乘……
- 最小二乘回归
- 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3
- 4000 Python 回归 普通最小二乘法(Ordinary Least Squares)
- 演示如何使用偏最小二乘回归方法
- Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法
- 回归--非线性最小二乘-高斯牛顿法
- 机器学习概念总结笔记(一)——机器学习算法分类、最小二乘回归、岭回归、LASSO回归
- 概率统计与机器学习:独立同分布,极大似然估计,线性最小二乘回归