当数据集维数较高时,往往会出现样本稀疏以及距离难以计算等问题,而某个学习任务可能仅与数据的某个低维分布有关,因此可以采用降维技术来变换数据空间坐标系,主要有:
LDA线性判别分析 PCA主成分分析 ICA独立成分分析 FA因子分析 SVD奇异值分解
维数灾难:数据集在高维情况下出现数据集稀疏以及距离难以计算等问题
数据降维:降维可以增加采样密度;降维可以减少数据样本的噪声,一般来说噪声与特征值最小的特征有关。
1.多维缩放MDS
假设m个样本的原始空间(d维)的距离矩阵D, distij表示xi到xj的距离
将原始空间数据进行变换到d`空间(d`<<d),样本点矩阵变换为Z,在Z空间的距离||xi-xj||应该与原始空间distij相等,即:
令B=ZTZ降维后的内积矩阵,bij=ziTzj
假设降维后样本Z中心化:
矩阵B的迹:
令:
可以通过矩阵D求B,对B做特征值分解:
其中
特征值构成的对角矩阵
取非零特征值
这些非零特征值对应的特征向量矩阵
则有:
如果允许原始空间距离与变换空间距离不一定严格相等,可以只取部分最大的特征值:
线性降维:
d维空间样本X={x1,x2....xm} xi为dx1维向量,进行线性变换:
Z为变换后矩阵 d`xm b变换矩阵W为d`个d维基向量,
为样本xi与这d`个属性基向量做内积得到的d`维属性向量
2.主成分分析PCA
正交属性空间中样点,利用线性超平面来进行区分表示:
最近重构性:样本点到这个平面的距离足够近
最大可分性:样本点在这个平面上的投影尽可能分得开
假设样本进行了中心化:
投影变换后的新坐标为:
其中wi为标准正交基向量,
当i!=j
舍弃一部分坐标维度 变为d`<d,样本点xi在新坐标系中投影为:
zij是样本xi在低位坐标系下第j维坐标。
基于zij来重构xi:
对于整个训练集 重构点与采样点的距离之和:
wj标准正交基 协方差矩阵
有:
拉格朗日乘数法:
即对XTX进行特征值分解,将特征值排序,取最大的前几个特征值对应的特征向量来构成变换矩阵W
降维后的低维空间维数可以预先设定,也可以通过不同维数来测试交叉验证来选取最优的维数。
3.核化线性降维
线性变换不能恰当的使数据低维嵌入,可以通过非线性映射来实现低位嵌入。
高维空间数据X投影到超平面W,最优化目标是:
zi为样本点xi在原始空间的像。
其中
zi有样本点xi经过映射而来:
引入核函数:
K为核矩阵,
对K进行特征值分解 取最大的d`个特征值对应的特征向量即为W
新样本点的第j维坐标: