《机器学习》笔记-降维与度量学习(10)

作者:刘才权

编辑:黄俊嘉

前 言

如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》(https://zhuanlan.zhihu.com/p/30980999)),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的理解,包括过程中的疑问,并尽量的和实际的工程应用和现实场景进行结合,使得知识不只是停留在理论层面,而是能够更好的指导实践。记录笔记,一方面,是对自己先前学习过程的总结和补充。 另一方面,相信这个系列学习过程的记录,也能为像我一样入门机器学习和深度学习同学作为学习参考。

  • 章节目录
  • k近邻学习
  • 低纬嵌入
  • 主成分分析
  • 核化线性降维
  • 流形学习
  • 度量学习

1

k近邻学习

k近邻(k-Nearest,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本。然后基于这k个“邻居”的信息进行预测。通常,在分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这k个样本的实际值输出标记的平均值作为预测结果。还可基于距离远近的加权平均或加权投票,距离越近的样本权重越大。

与先前介绍的学习方法相比,k近邻学习有一个明显的不同之处,它似乎没有显示的训练过程。事实上,它是“懒惰学习”(lazy learning)的著名代表,此类学习技术在训练阶段仅仅是将样本存储起来,训练开销为零,待收到测试样本后再进行处理;相应的,那些在训练阶段就对样本进行学习处理的方法,称为“急切学习”(eager learning)。

下图给出了k近邻分类器的一个示意图:

近邻分类器虽简单,但它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

2

低维嵌入

上一节的讨论是基于一个重要假设:任意测试样本x附近任意小的δ距离范围内总能找到一个训练样本,即训练样本的采样密度足够大,或称为“密采样”(dense sample)。然而,这个假设在现实任务中通常很难满足。此外,许多学习方法都涉及距离计算,而高维空间会给距离计算带来很大麻烦,例如当维数很高时,甚至连计算内积都不再容易。

事实上,在高维情形下出现的数据样本稀疏,计算距离困难等问题,是所有机器学习方法共同面临的严重障碍,被称为“维数灾难”(curse of dimensionality)。

缓解维数灾难的一个重要途径是降维(dimension reduction),亦称“维数简约”,即通过某种数学变换将原始高纬度属性空间转变为一个低维“子空间”(subspace),在这个子空间中样本密度大幅提高,计算距离也变得更为容易。为什么能进行降维?这是因为在很多时候,人们人们观测或收集到的数据样本虽是高维的,但与学习任务密切相关的也许仅是某个低维分布,即高维空间的一个底维“嵌入”(embedding)。下图给出了一个直观的例子,原始高维空间中的样本点,在这个低纬嵌入子空间中更容易进行学习。

若要求原始空间中的样本之间距离在低维空间中得以保持,如上图所示,即得到“多维缩放”(Multiple Dimensional Scaling,简称MDS)这样一种经典的降维方法。

对降维效果的评估,通常是比较降维前后学习器的性能,若性能有所提高则认为降维起到了作用。若维数降低到二维或三维,则可通过可视化技术来直观的判断降维效果。

3

主成分分析

主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。

PCA仅需保留W与与样本的均值向量即可通过简单的向量减法和矩阵向量乘法将样本投影到低维空间中。显然,低维空间与原始高维空间必有不同,因为对应于最小的d-d'个特征值的特征向量被舍弃了,这是降维导致的结果。但舍弃这样的信息往往是必要的:

  • 一方面,舍弃这部分信息之后能使样本的采样密度增大,这正是降维的重要动机;
  • 另一方面,当数据受到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到去噪的效果。

4

核化线性降维

线性降维方法假设从高维空间到低维空间的函数映射是线性的,然而,在不少实际任务中,可能需要非线性映射才能找到恰当的低维嵌入。

非线性降维的一种常用方法,是基于核技巧对线性降维方法进行”核化“(kernelized)。

5

流形学习

流形学习(manifold learning)是一类借鉴了拓扑流形概念的降维方法。”流形“是在局部与欧氏空间同胚的空间,换言之,它在局部具有欧氏空间的性质,能用欧氏距离来进行距离计算。这给降维方法带来了很大的启发。若低维流形嵌入到高维空间中,则数据样本在高维空间的分布虽然看上去非常复杂,但在局部上仍具有欧氏空间的性质,因此,可以容易的在局部建立降维映射关系,然后,再设法将局部映射关系推广到全局。当维数被降至二维或三维时,能对数据进行可视化展示,因此流形学习也可被用于可视化。

其中,等量度映射和局部线性嵌入式两种著名的流形学习方法。

6

度量学习

在机器学习中,对高维数据进行降维的主要目的是希望找到一个合适的低维空间,在此空间中进行学习能比原始空间性能更好。事实上,每个空间对应了在样本属性上定义的一个距离度量,而寻找合适的空间,实质上就是在寻找一个合适的距离度量。直接尝试”学习“出一个合适的距离度量,就是度量学习(metric learning)的基本动机。

原文发布于微信公众号 - 机器学习算法工程师(Jeemy110)

原文发表时间:2018-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

BAT面试题3:请问GBDT和XGBoost的区别是什么?

接下来,每天推送一道BAT的面试题,一般问到的这些知识点都是很重要的,所以知道的就再复习一下,不知道的希望这篇可以帮助到你。日积月累,你会在不知不觉中就步入机器...

73320
来自专栏大数据挖掘DT机器学习

【干货】机器算法学习感悟(下)

今天的内容是续接昨天的,请喜欢的亲们一如既往的支持! (…………续) 第二个是KNN。KNN将测试集的数据特征与训练集的数据进行特征比较,然后算法提取样本集中特...

33060
来自专栏重庆的技术分享区

1吴恩达Meachine-Learing之监督学习和非监督学习

13130
来自专栏人工智能LeadAI

监督学习中各算法优缺点及应用场景概览

记录一波监督学习算法的应用场景和优缺点。 高斯朴素贝叶斯 场景:该模型常用于性别分类(https://en.wikipedia.org/wiki/Naive_B...

57360
来自专栏机器之心

入门 | 半监督学习在图像分类上的基本工作方式

496100
来自专栏机器之心

干货 | 物体检测算法全概述:从传统检测方法到深度神经网络框架

机器之心转载 公众号:阅面科技(ID:readsense) 作者:童志军 物体检测一向是比较热门的研究方向,它经历了传统的人工设计特征+浅层分类器的框架,到基于...

46070
来自专栏瓜大三哥

FR+FCN

FR:Face Recovery FCN:facial component deep network 自然条件下,因为角度,光线,occlusions(咬合/张...

24070
来自专栏IT派

一文助你解决数据不平衡的疑惑

导语:这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值。与此同时,越来越多的机器学习算法从学术界走向工业界,而在这个过程中会有很多困难。数据不平...

35880
来自专栏智能算法

长文干货!走近人脸检测:从 VJ 到深度学习(上)

本文分上下两篇,上篇主要介绍人脸检测的基本流程,以及传统的VJ人脸检测器及其改进,下篇介绍基于深度网络的检测器,以及对目前人脸检测技术发展的思考与讨论。为了节省...

37060
来自专栏鸿的学习笔记

精确控制数据模型误差(下)

有各种各样的方法试图衡量候选模型和真实模型之间有多少信息丢失的模型误差。当然,真正的模型(实际用于生成数据)是未知的,但是给定某些假设,我们仍然可以获得它与我们...

7810

扫码关注云+社区

领取腾讯云代金券