西瓜书第10章 降维与度量空间

目录

 

1. k近邻学习(kNN)

2. 降维(维数约简)

3.流行学习(manifold learning)

4.度量学习

5.总结


1. k近邻学习(kNN)


kNN在训练集中通过某种距离度量找到靠近测试样本的k个训练样本,再根据投票法或是平均法输出预测结果
kNN是懒惰学习(还有懒惰决策树)的著名代表,训练时间为0,即不需要训练。
kNN虽然简单,但泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

现实情况:高维情形下出现的数据样本稀疏、距离计算困难等问题,称为维数灾难。

缓解途径2种:1)降维;2)特征选择。

降维,就是通过某种数学变换将原始高维属性空间转变为一个低维子空间,在这个子空间中样本密度大幅提高,距离计算也变的更为容易。

降维原因,低维嵌入(观测或收集到的数据样本虽是高维的,但与学习任务密切相关的可能只是某个低维分布,即高维空间中的一个低维嵌入。)

2. 降维(维数约简)


属性越多,维度越高,很多情况下高维度带来了维数灾难,这将带来数据样本稀疏、距离计算困难等问题,因此,我们需要通过降维来缓解维数灾难。

降维方法:

1)线性降维方法

假设从高维空间到低维空间的函数映射是线性的。

(1)多维缩放方法MDS。

(2)主成分分析PCA:最常用的降维方法。

2)非线性降维方法

(1)核化线性降维:

基于核技巧对线性降维方法进行核化。

核主成分分析KPCA。为获得投影后的坐标,需对所有样本求和,计算开销略大。

主成分分析(PCA)无监督的线性降维方法
PCA通过简单的向量减法和矩阵-向量乘法将新样本投影到低维空间中。
PCA将最小的几个特征值的特征向量舍弃了,这是降维导致的结果,但是舍弃这些信息能使样本的采样密度增大,这也正是降维的重要动机,另一方面最小的特征值所对应的特征向量往往与噪声有关,舍弃它们也在一定程度上起到去噪的效果。
优势:实现快速简单,变种有KPCA和稀疏PCA等
缺点:新特征列不易解释
 

线性判别分析(LDA)监督线性降维方法
优势:LDA受到监督,可以(但不总是)提高提取特征的预测性能。 此外,LDA提供变化(即二次LDA)来解决特定的障碍。
缺点:与PCA一样,新特征列不易解释,您仍必须手动设置或调整要保留的组件数量。 LDA还需要标记数据,这使其更具情境性。

核化线性降维(非线性降维)
核主成分分析(KPCA)
引入了核函数。
需对所有样本求和,计算开销大。

3.流行学习(manifold learning)


优势:1)假设流形的存在,部分解决了高维数据分布的问题。
缺点:1)假设流形的存在,不能总是适合数据特点。

等度量映射(Isomap)
流形在局部上与欧式空间同胚,对每个点基于欧式距离找出近邻点,然后就能建立一个近邻连接图
k近邻图:指定近邻点个数,例如欧式距离最近的k个点作为近邻点,从而得到一个k近邻图
e近邻图:指定距离阈值e,距离小于e的点被认为是近邻点,从而得到一个k近邻图

局部线性嵌入(LLE)
与Isomap试图保持近邻样本之间的距离不同,LLE试图保持邻域内样本之间的线性关系。

(全局)度量学习(metric learning)
度量学习的目标:学习出一个合适的距离度量
不同的度量学习方法针对不同目标获得“好”的半正定对称距离度量矩阵M
关于一个欧几里德空间V的一个基,我们把内积函数在基向量上的值写成的一个矩阵称为关于该基的度量矩阵。
最终就可以将原始空间通过度量矩阵M降维。
 

4.度量学习

在机器学习中,对高维数据进行降维的主要目的是希望找到一个合适的低维空间,在此空间中进行学习能比原始空间性能更好。事实上,每个空间对应了在样本属性上定义的一个距离度量,而寻找合适的空间,实质上就是在寻找一个合适的距离度量。因此我们可以尝试直接学习出一个合适的距离度量。也就是度量学习。 按照降维后的方式来进行距离的计算,这便是度量学习的初衷。
 

5.总结

降维是将原高维空间嵌入到一个合适的低维子空间中,接着在低维空间中进行学习任务;

度量学习则是试图去学习出一个距离度量来等效降维的效果;

两者都是为了解决维数灾难带来的诸多问题。正是因为在降维算法中,低维子空间的维数d’通常都由人为指定,因此我们需要使用一些低开销的学习器来选取合适的d’,kNN属于懒惰学习,在训练阶段开销为零,测试阶段也只是遍历计算了距离,因此拿kNN来进行交叉验证就十分有优势了~同时降维后样本密度增大同时距离计算变易。
 

猜你喜欢

转载自blog.csdn.net/yanyiting666/article/details/95528129
今日推荐