数据科学个人笔记:偏最小二乘回归+主成分分析+典型相关分析
偏最小二乘回归是PCA、CCA和传统最小二乘模型的结合。
一、PCA主成分分析:
1.我们希望对数据进行有损压缩,即将属于R^n的x投影为属于R^l的c,有编码函数f(x)=c,使得损失的信息尽量少。同时有对应的解码函数g(c)约等于x。
2.PCA由我们确定的解码函数而定,为了简化解码器,我们让g(c)=Dc,其中设D为一个属于R^(n*l)的矩阵,D可以有多个解,但我们假设D中的列向量都有单位范数,并限制D的列向量彼此正交(由于垂直的基更容易表示向量)。
3.假设我们现在已经找到了这个D,如何在给定x的情况下找到最优的编码c呢?方法是:选取使x-g(c)的二范数最小的c。x-g(c)的二范数可以进行如下变换。
(1)使得x-g(c)的二范数--等价于--使得二范数的平方最小(二范数非负)
(2)x-g(c)二范数的平方=(x-g(c))^T*(x-g(c)),根据矩阵运算的分配律和向量的xTy=yTx,矩阵的(AB)T=BTAT。上式最终变换为xTx-2xTg(c)+g(c)Tg(c)。第一项与c无关,去掉。
(3).将g(c)=Dc代入,上式=-2(x’)Dc+c’D’Dc=-2(x’)Dc+c’c (因为设D有正交性和单位范数)。
(4)上式的对c求最小化,令上式的对c的偏导为0,推出c=D’x。由此我们知道了当D被确定后如何给定x求c。
4.现在挑选最优的D。考虑降到1维的情况,则选取的矩阵D为R^n的向量d,选取令sum(xi-dd’xi)的二范数的平方))最小(并满足d’d=1)的d,该最优化问题的矩阵形式为X-Xdd’的二范数的平方最小化,则
X-Xdd’的二范数=Tr[(X-Xdd’)’(X-Xdd’)],
5.以上最优化问题变化为(简化过程使用Tr迹运算的定理,(1)Tr(A)=Tr(A^T) (2)Tr(ABC)=Tr(CAB)=Tr(BCA) (3)Tr(实数)=实数)求使得Tr(d’X’Xd)最大并满足d’d=1的向量d。
6.优化问题的最终形式使用特征分解来求解。最优的d是X‘X最大特征值对应的特征向量。以上为l=1时,选取特征值最大的向量,进行推广,则选取前l个最大的特征值对应的特征向量。以列为样本、行为属性的情况下,若零均值化,协方差矩阵即为(1/(m-1))* X‘X。对其求前l个最大特征值对应的特征向量,并进行单位化,将他们一行行排起来,用数据矩阵左乘它就能得到降维后的数据矩阵(即C=D’X)。
7.使用:以行为样本为例,将原数据矩阵每个值减去该列的均值(零均值化),再计算数据集的协方差阵(1/m)* XX’,求出特征值和特征向量,将特征向量单位化,选取前k个最大的特征值对应的特征向量(k为需要的维度量,或按照k的选取选择1-前k个特征值总和占特征值总和的比例<=阈值(比如0.01)),按列排列,原零均值矩阵右乘该矩阵。
8.矩阵的对角化:将一个变换左乘一组向量的逆,右乘一组向量,就能将这个变换表示成以那组向量为基视角下的变换矩阵。如果这组向量选的是特征向量(当然前提是特征向量能张成空间),那么就将那个变换变成对角矩阵了。所以矩阵能对角化的条件是有n个线性无关的特征向量,这样才有足够多的方向能用了选择作为对角化的视角。对于实特征阵,特征向量PCP‘=对角阵。
9.协方差阵的对角化,即P*(1/(m-1))* XX’*P’=(1/(m-1))*PX*(PX)’,即为根据特征向量进行变换后的矩阵的协方差阵,其中各方差由大到小排列(因为特征向量如此排列)在对角线上,协方差都为零(满足各特征独立/正交)。故成功将原数据转化。
10.其他降维方法总结:
(1)PCA。需要注意的是,新的主成分并不是由实际系统产生的,因此在进行PCA变换后会丧失数据的解释性。
(2)缺失值比例大于一个阈值的列去除。
(3)低方差滤波:方差小于一个阈值的列去除。
(4)高相关滤波:对归一化后的各列两两计算相关系数,大于一定阈值的删除其中一列。
(5)随机森林判别法:在随机森林中常被选作最佳分类标准的属性评分更高。
二、CCA典型相关分析:
1.典型相关性分析研究假如有一堆样本点,每个点的x是多维的,y也是多维的,如何研究x与y间的相关关系。CCA是这样做的,将x用a1权重向量变换为一维,y用b1权重向量变换,选取a1、b1的标准是使得变换后的一维特征x和y的相关系数最大化。
2.根据以上的思想,该问题可以转化为优化问题
使得a1’*变换前x的方差矩阵*a1=1,b1’*变换前y的方差矩阵*b1=1,
使得a1’*变换前协方差矩阵*b1最大
设lambda和v为拉格朗日乘数,使用拉格朗日乘数法推导该问题,结合上面的多维求导公式,得结论
(Lamda=v=变换后的相关系数(2)方1^-1*协方*方2^-1 *协方*a1=lambda^2*a1)
解式二的特征值问题,特征向量为a1。
3.CCA主要在多视图学习的特征融合方面有着广泛的应用,比如两张图片,一张正脸,一张侧脸,我们需要做一个人脸识别系统,就需要对其进行双视图学习,我想如果我们把这两张图结合在一起识别率一定会提高的,我们就需要用到CCA。
三、PLSR偏最小二乘回归
步骤:
1.先对多维的x和y进行标准化,设权重向量w1和v1,将原来的x和y变换为一维特征t1和u1,权重选取的目标是使得变换后两个特征自身方差极大化且互相之间相关系数极大化。该问题可转化为问题:使得w1’X‘Yv1最大并使得w1、v1二范数平方=1。求解该问题,非常类似上面的CCA求解,最后解特征向量求得t1、u1。
2.建立回归模型X0=t1alfa1+X1,X1为残差矩阵(Y也建立相同模型,自变量为t1)。Alfa1是参数向量。根据最小二乘估计解得alfa1=t1‘X0/t1二范数的平方,beta1将X0换Y0.
3.估计出权重后计算残差的范数,未小于阈值则将残差矩阵看作X和Y重复以上步骤。
4.最后的预测模型将所有式子一起代入,可求出通过多维X算出多维Y的式子。
阅读更多- 数据科学个人笔记:线性回归变种之弹性网络回归+局部散点平滑估计
- 数据科学个人笔记:逻辑回归+Softmax回归+广义线性模型
- 超越“大数据”:运用商业分析和数据科学为企业实现商业价值 (培训笔记)
- 数据科学个人笔记:支持向量机
- 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归
- R语言学习笔记:典型相关分析和对应分析
- 数据科学个人笔记:神经网络(网络结构+反向传播)
- 【数据挖掘知识点七】相关与回归分析
- 一点一点重学统计学(五)——回归与相关分析(小谈大数据)
- SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等几大类
- 数据科学个人笔记:神经网络(矩阵化+正则化)
- python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据
- SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等几大类
- 数据科学个人笔记:K近邻算法+感知机算法
- 数据科学个人笔记:贝叶斯分类器
- 数据科学个人笔记:决策树算法(ID3、C4.5、CART)
- 数据分析的统计学基础--相关及回归分析
- 数据分析学习体验——特征变量相关系数和主成分分析
- python 数据科学 - 【回归分析】 ☞ 线性回归(2)