《机器学习》(西瓜书)第10章 降维与度量学习理解记录

10.1 k近邻学习

简称为:kNN。kNN学习是一种常用的监督学习方法。

步骤:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本。然后基于k个邻居的信息来进行预测。通常采用投票法,选择这k个样本中出现最多的类别标记作为预测结果。而在回归任务中采用平均法,即将k个样本的实值输出标记的平均值作为预测结果。还可以基于距离远近进行加权平均或加权投票,距离接近的样本权重越大。

K近邻没有显式的训练过程。实际上它是一种懒惰学习代表。此类学习只是将样本保存起来,训练时间开销为零。待收到测试样本之后再进行处理。

相对应的,之前几个章节对应的训练模型过程在训练阶段就对样本进行处理,被称为急切学习。

当k为1时,称为最近邻学习。

给定测试样本x,若其最近邻样本之为z,那么最近邻分类器出错的概率就是x于z类别标记不同的概率。

假设样本独立同分布,那么在样本x周围的e邻域至少有一个训练样本。

那么就可以得到贝叶斯最优分类器的结果,有:

P(error) = 1 – 求和 P(x | x) * P(c | z);

《= 2 * (1 – P(c* | x))

从上式中可以看出最近邻分类器虽然很简单,但是对样本的泛化能力很高,泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

10.2 低纬嵌入

上述的最近邻模型的前提是样本的采样密度足够大。

但是由于现实中的应用不会有一维度的数据样本并且满足上述的样本的密采样。那么,如果维数更高的话,将会带来大量的数据。(因为如果需要满足密采样的话)。同时,很多学习方法涉及到了距离的计算,那么高纬度空间会给距离计算带来很大的麻烦。

实际上在高纬度下出现的数据样本稀疏,距离计算困难等问题被称为维数灾难。

解决上述维数灾难的重要方法是:维数简约。即通过某种变换,将原本的高纬度数据转换为较低纬度的空间中,同时采样密度很大。

MDS多维缩放为了保持在低纬度空间中的样本点之间的距离和高纬度空间中的一样。

MDS的简单介绍:

假定m个样本在高纬度空间中的距离矩阵为D,且将样本映射到低纬度空间中但是保持样本之间的距离不变。

令B  = ZT * Z;此处的B是降维后的样本的内积矩阵。为了方便讨论,这里将降维后的样本Z被中心化,然后,得到矩阵的迹等式子。

而后对B做特征值分解,得到了lamda矩阵,该矩阵为特征值构成的对角矩阵.

在现实生活中往往仅需降维后的距离与空间中的距离尽可能的接近,不需要严格的相等。那么这里就可以得到维数少于原来的维数个的最大特征值构成对角矩阵.令V~ 表示相应的特征向量矩阵.

那么降维之后的矩阵:Z = lamda ~ ^ (1/2) * V~ ^ T 属于一个低于原来的维度的空间中.

一般来说,将高维度空间中的样本变换到低纬度空间中使用转换矩阵即可,

Z = W^T * X;

这里的Z就是变换之后的矩阵;这里的W就是变换矩阵.

这种方法称为线性降维方法.

10.3 主成分分析

PCA是一种常用的降维方法.

考虑使用一个超平面将所有的样本可以满足最好的表达,也就是说:

  1. 最近重构性:样本点到这个超平面的距离都是足够近.
  2. 最大可分性:样本点在这个超平面上的投影尽可能分开.

  1. 基于最近重构行的来推导.数据样本先进行了中心化,然后投影变换后得到的新坐标为:{w1,w2,w3,…,wn},其中wi是标准的正交基向量.然后得到zi是样本xi在低纬坐标基下的投影.然后得到整个数据集中原样本点xi和基于投影重构的样本点xi ^ 之间的距离.

最后得到一个优化式子.其中的W  = {w1,w2,…,wn};根据最近重构性,式应该被最小化,考虑到wj是标准正交基,求和xi * xiT是协方差矩阵.那么得到主成分分析的目标是:

Min  -tr (W^ T * X * X^T * W);

s.t W^T * W = 1;

  1. 最大可分性得到PCA的优化目标.

由于需要使得所有的样本点xi在投影平面上的间隔最大化,那么需要有最大的方差,这里给出了此种情况下的主成分分析的优化目标:

Max tr(W^T * X * X ^ T * W)

s.t W^T * W = 1;

对上述的两个优化目标式使用拉格朗日乘子法获得了:

X * X^T wi = lamda i * wi;

那么只需要对协方差矩阵X * X ^ T,进行特征值分解.然后将获得的特征值进行排序,然后取前d’个特征值对应的特征向量W* = (w1,w2,…,wd’);

这就是主成分分析的解.

降维后的低纬空间的维数d’是由用户事先指定的.或通过在d’值不同的低维空间中对k近邻分类器进行交叉验证.

对于PCA来说还可以选择从重构的角度设置一个重构阈值.

即:令下式成立:

求和(原来维) lamda i / 求和(降低维之后的维数) lamda I > = t;

使用PCA进行降维的目的:

  1. 可以实现将一部分的特征向量进行舍弃.
  2. 可以达到去噪的效果(因为当数据受到影响的时候,最小特征值对应的特征向量往往会和噪声有关系,那么去掉之后可以实现去噪的效果.

10.4 核化线性降维

主要是对样本进行非线性降维的方法.

KPCA核主成分分析方法:

  1. 有超平面W = {w1,w2,…,wi};那么对于W中的wj来说有:(求和m zi * zi ^ T) * wj  = lamda j * wj;其中的zj是样本点xi在高纬特征空间中的像.
  2. 假设zi是由xi通过映射fai()产生的,那么如果fai()能被显式的表达的话,通过它可以将样本映射到高纬特征空间中.然后再在其中进行PCA即可.
  3. 由于不清楚fai函数的具体形式,所以使用核函数(k(xi,xj) = fai(xi) ^ T * fai(xj)).然后使用核函数的解答过程即可.(获得K核矩阵,然后对K进行特征值分解,取K最大的d’个特征值对应的特征向量即可.

由于KPCA需要对所有的样本进行求和,所以计算开销较大.

10.5 流形学习

是一种借鉴了拓扑流形概念的降维方法.

流形在局部具有欧式空间的性质,可以使用欧氏距离进行计算.

10.5.1 等度量映射

简称Isomap,基本出发点是:认为低纬流形嵌入到高纬空间中之后,直接在高维空间中计算直线距离具有误导性.因为在高纬空间中的直线距离在低维嵌入流形上是不可达的.

因为:低纬空间中的距离是测地线的距离,而在高纬空间中直接计算两点之间的距离是不恰当的.

解决方法(如何计算测地线距离):

由于流形在局部具有欧式空间中的性质,所以可以在局部使用欧氏距离计算两点之间的距离,然后在近邻点之间进行连接之后,所以测地线的距离就转换为了计算近邻连接图之间的最短路径的问题.然后就是用比较常用的最短路径求解方法,进行求解.

重点(如何将训练样本的高纬空间坐标映射到低纬空间坐标?):

训练一个回归学习器来对新样本的低维空间坐标进行预测.

对近邻图的构建:

  1. 指定近邻点个数,欧式距离的最近的k个点称为近邻点.
  2. 指定距离阈值e,小于e的点被认为是近邻点,这样得到的是e近邻图.

10.5.2 局部线性嵌入

LLE试图保持邻域内样本之间的线性关系.

如果样本点xi的坐标可以被其临近的点xj和xz表示,那么LLE希望该关系在低纬空间中也可以保持.

算法步骤:

  1. LLE先对样本xi找到其近邻下标集合Qi,然后计算出基于Qi中的样本点对xi进行线性重构的系数wi.
  2. LLE在低纬空间中保持上述的系数wi不变.
  3. 令Z = (z1,z2,…,zi),然后得到的是M = (I – W) ^ T * (I - W);那么,有:min tr(ZMZ^T),s.t Z * Z ^T = I;
  4. 然后对于上式来说可以使用特征值求解,得到M最小的d’个特征值对应的特征向量组成的矩阵即为:Z^ T;

10.6 度量学习

实际上对于上述的各种方法来说,本质问题是:找到一个距离度量,而寻找合适的空间,实质上就是在寻找一个合适的距离度量.

度量学习就是直接学习一个合适的距离度量.这就是度量学习的基本动机.

将得到的两点之间的欧式距离公式加上权重之后,再将其中的W权值矩阵从原来的对角线都不是0换为一个普通的半正定矩阵之后,上述得到的欧式距离表达式就转换为了马氏距离.

其中,M也成为度量矩阵.而度量学习也就是对M进行学习.

NCA近邻成分分析为例进行对将M嵌入到近邻分类器的评价指标中去做一个分析:近邻分类器在进行判别的时候通常使用的是多数投票法.

得到近邻分类器的优化目标几点说明:

1.其中的M = P * P^T;

2.而后先得到pij = exp(-||xi - xj||^2 M) / 求和exp(-||xi - xl||^2 M;表示近邻分类器的投票的正确率.

3.而后得到pi = 求和pij,最后得到所有样本集中的:求和pi;

4.然后考虑到上述的M和pi公式组合之后得到了NCA的最优化目标:

5.得到的NCA的优化目标之后,即可得到最大化近邻分类器LOO正确率的距离度量矩阵M.

也可以考虑样本之间的类似与否,定于必连约束集合M与勿连约束集合C.分别表示xi和xj相似和不相似.

然后度量学习也可以求解下述的凸优化问题:

Min 求和 ||xi - xj|| ^ 2 M;s.t 求和 ||xi - xj||M >= 1:

其中约束M表示M必须是半正定的;上述的条件中需要使得不相似样本间距离不小于1的前提下,使相似样本间的距离尽可能小.

懒惰学习的方法有:k近邻学习器,懒惰决策树.其中,朴素贝叶斯分类器不仅可以懒惰学习方法使用,也可以使用急切学习的方法使用.

PCA是一种无监督的线性降维方法.监督线性降维方法最著名的是:LDA线性判别分析.

常见的流形学习方法是:拉普拉斯特征映射LE,局部切空间对齐LTSA,局部保持投影LPP是基于LE的线性降维方法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wyypersist

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值