【一起啃书】《机器学习》第十章 降维与度量学习

这篇具有很好参考价值的文章主要介绍了【一起啃书】《机器学习》第十章 降维与度量学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第十章 降维与度量学习

10.1 k k k近邻学习

   k k k近邻学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的 k k k个训练样本,然后基于这 k k k个“邻居”的信息来进行预测。

  通常,在分类任务中可使用“投票法”,即选择这 k k k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这 k k k个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。

【一起啃书】《机器学习》第十章 降维与度量学习

   k k k近邻学习涉及到三个主要因素: k k k的大小,距离或相似度的度量,以及特征归一化。 k k k的大小决定了近邻范围和投票权重,距离或相似度的度量决定了如何判断两个实例之间的接近程度,特征归一化决定了各个特征对距离或相似度计算的影响。这些因素都需要根据具体问题和数据集来选择合适的方法和参数。

10.2 低维嵌入

   k k k近邻学习是基于“密采样”假设——任意测试样本 x x x附近任意小的 δ \delta δ距离范围内总能找到一个训练样本,即训练样本的采样密度足够大。然而,这个假设在现实中很难满足,假设 δ = 0.001 \delta=0.001 δ=0.001,就意味着至少要有1000个样本点平均分布在归一化后的属性取值范围内,才能保证任意测试样本在其附近的0.001距离范围内总能找到一个训练样本,而这只是属性维数为1的情况,如果属性维数更大不仅需要的样本数会变多,同时高维空间会给距离计算带来很大的困难。所以有时我们需要通过降维来缓解维数灾难,也就是通过某种数学变换将原始高维属性空间转变为一个低维“子空间”,在这个子空间中样本密度大幅提高,而距离计算也变得更为容易。

【一起啃书】《机器学习》第十章 降维与度量学习

  下面介绍一种多维缩放方法,Multiple Dimensional Scaling(MDS),多维缩放的原理是:给定样本两两间距离/不相似度,如何获得样本的表示,使得样本间距离/不相似度和给定的一致。从降维角度,就是低维空间的样本间距离/不相似度要和高维空间样本间距离/不相似度基本一致。

  具体来说,多维缩放的过程可以分为以下几个步骤:

  1. 计算高维空间中样本之间的距离矩阵 D D D ,其中 D i j D_{ij} Dij 表示第 i i i个样本和第 j j j 个样本之间的距离,通常为欧氏距离。这一步是为了获得样本之间的相似度或不相似度的信息,作为降维的依据。
  2. 对距离矩阵 D D D 进行中心化处理,得到内积矩阵 B B B ,其中 B i j B_{ij} Bij 表示第 i i i 个样本和第 j j j 个样本之间的内积。中心化处理的公式为 B = − 1 2 H D H B = -\frac {1} {2}HDH B=21HDH ,其中 H 是中心化矩阵 H = I − 1 n 1 1 T H = I - \frac {1} {n}11^T H=In111T I I I 是单位矩阵, 1 1 1 是全 1 1 1 向量。这一步是为了消除样本的均值影响,使得样本在低维空间中也是零均值的,方便后续的特征值分解。
  3. 对内积矩阵 B B B 进行特征值分解,得到 B = V Λ V T B = V\Lambda V^T B=VΛVT ,其中 Λ \Lambda Λ 是对角矩阵,对角线上是特征值; V V V 是特征向量矩阵,每一列是一个特征向量。这一步是为了找到样本在低维空间中的最优表示,即最大化样本间的方差。
  4. 取前 d d d 个最大的特征值以及对应的特征向量,构成 Λ d \Lambda_d Λd V d V_d Vd ,其中 Λ d \Lambda_d Λd d d d 阶对角矩阵, V d V_d Vd n ∗ d n*d nd 矩阵。这一步是为了选择合适的降维目标维度 d d d ,并保留最重要的特征向量。
  5. 计算降维后的数据矩阵 Z = V d Λ d 1 / 2 Z = V_d \Lambda_d^{1/2} Z=VdΛd1/2 ,其中 Z Z Z n ∗ d n*d nd 矩阵,每一行是一个样本在低维空间中的坐标。这一步是为了得到样本在低维空间中的具体坐标,使得样本间距离或相似度不变。

  降维效果的评估方法可以分为两类:

  • 一类是通过降至二维和三维,然后将数据进行可视化分析,这是一种定性的评价标准,比较主观,可以直观地看出降维后的数据是否保持了原始数据的结构和相似度。
  • 另一类是通过比较降维前后学习器的性能进行评价,这是一种定量的评价标准,比较客观,可以用一些指标来衡量,如准确率、召回率、F1值等。这种方法可以反映出降维是否提高了学习器的效果和效率。

10.3 主成分分析

10.3.1 定义与步骤

  主成分分析(PCA)是一种使用最广泛的数据降维算法,它的主要思想是将 n n n维特征映射到 k k k维上,这 k k k维是全新的正交特征,也被称为主成分,是在原有 n n n维特征的基础上重新构造出来的 k k k维特征。

  PCA的数学定义是:一个正交化线性变换,把数据变换到一个新的坐标系统中,使得这一数据的任何投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。

  PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到 n n n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面 k k k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面 k k k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。

  为了得到这些包含最大差异性的主成分方向,我们需要对数据进行一些预处理和计算。具体步骤如下:

  • 组织数据集:假设有 m m m n n n维数据样本组成一个 m × n m×n m×n矩阵 X X X
  • 计算均值:对每一个特征求平均值,并将所有样本减去各自特征的平均值。
  • 计算协方差矩阵:协方差矩阵是一个对称矩阵,它描述了不同特征之间的相关性。协方差矩阵可以通过样本矩阵乘以其转置除以样本数减一得到,即 1 m − 1 W W T \frac{1}{{m - 1}}{\bf{W}}{{\bf{W}}^T} m11WWT
  • 求协方差矩阵的特征值和特征向量:协方差矩阵是一个实对称矩阵,它可以被正交对角化为 Q Σ Q − 1 QΣQ^{-1} QΣQ1 的形式,其中 Q Q Q是由特征向量组成的正交矩阵, Σ Σ Σ是由特征值组成的对角矩阵。
  • 选择主成分:根据特征值从大到小排序,选择前 k k k个最大的特征值所对应的特征向量组成一个矩阵 P P P
  • 得到降维后的数据:将原始数据矩阵 X X X乘以 P P P得到降维后的数据矩阵 Y Y Y
10.3.2 最近重构性与最大可分性

  主成分分析的目的是找到一个低维的超平面,使得原始数据在这个超平面上的投影能够尽可能地保留原始数据的信息。这个信息可以从两个方面来衡量:最近重构性和最大可分性。

  • 最近重构性:重构后的样本映射回原空间,与原样本的距离都足够的近。也就是说,PCA要求投影后的数据能够用最小的误差来近似原始数据。这个误差可以用样本点到投影超平面的距离来表示,因此,最近重构性可以转化为一个最小化距离平方和的优化问题。

  • 最大可分性:样本在这个超平面上的投影尽可能分开。也就是说,PCA要求投影后的数据能够有最大的方差,以反映原始数据的差异性。这个方差可以用投影后数据的协方差矩阵来表示,因此,最大可分性可以转化为一个最大化协方差矩阵迹的优化问题。

  假定数据样本进行了中心化,即 ∑ x i = 0 \sum {{x_i}} = 0 xi=0,再假定投影变换后得到的新坐标系为 { w 1 , w 2 , . . . , w d } \{ {w_1},{w_2},...,{w_d}\} {w1,w2,...,wd},若丢弃新坐标系中的部分坐标,即将维度降低到 d ′ < d d' < d d<d,则样本点 x i x_i xi在低维坐标系中的投影是 z i = ( z i 1 ; z i 2 ; . . . ; z i d ′ ) {z_i} = ({z_{i1}};{z_{i2}};...;{z_{id'}}) zi=(zi1;zi2;...;zid),其中 z i j = w j T x i {z_{ij}} = w_j^T{x_i} zij=wjTxi x i x_i xi在低维坐标系下第 j j j维的坐标,如果基于 z i z_i zi来重构 x i x_i xi,则会得到 x ‾ i = ∑ j = 1 d ′ z i j w j {\overline x _i} = \sum\limits_{j = 1}^{d'} {{z_{ij}}{w_j}} xi=j=1dzijwj

  考虑整个训练集,原样本点 x i x_i xi与基于投影重构的样本点 x ‾ i {\overline x _i} xi之间的距离为
∑ i = 1 m ∥ ∑ j = 1 d ′ z i j w j − x i ∥ 2 2 = ∑ i = 1 m z i T z i − 2 ∑ i = 1 m z i T W T x i + c o n s t ∝ − t r ( W T ( ∑ i = 1 m x i x i T ) W ) \sum\limits_{i = 1}^m {\left\| {\sum\limits_{j = 1}^{d'} {{z_{ij}}{w_j} - {x_i}} } \right\|_2^2} = \sum\limits_{i = 1}^m {{z_i}^T{z_i} - 2\sum\limits_{i = 1}^m {{z_i}^T{{\bf{W}}^T}{x_i} + const} } \propto - tr({{\bf{W}}^T}(\sum\limits_{i = 1}^m {{x_i}{x_i}^T} ){\bf{W}}) i=1m j=1dzijwjxi 22=i=1mziTzi2i=1mziTWTxi+consttr(WT(i=1mxixiT)W)
  根据最近重构性,上述式子需要最小化,则得到了如下的结果,也是主成分分析的优化目标。
min ⁡ W − t r ( W T X X T W ) s . t . W T W = I \begin{aligned} \min\limits_{\bf{W}} &- tr({{\bf{W}}^T}{\bf{X}}{{\bf{X}}^T}{\bf{W}}) \\ s.t.&{{\bf{W}}^T}{\bf{W}} = {\bf{I}} \\ \end{aligned} Wmins.t.tr(WTXXTW)WTW=I
  根据最大可分性,若所有样本点的投影尽可能分开,则应该使投影后样本点的方差最大化,如下图所示。于是可以对协方差矩阵 X X T {\bf{X}}{{\bf{X}}^T} XXT进行特征值分解,将求得的特征值排序: λ 1 ⩾ λ 2 ⩾ . . . ⩾ λ d {\lambda _1} \geqslant {\lambda _2} \geqslant ... \geqslant {\lambda _d} λ1λ2...λd,再取前 d ′ d' d个特征值对应的特征向量构成 W ∗ = ( w 1 , w 2 , . . . , w d ′ ) {{\bf{W}}^*} = ({w_1},{w_2},...,{w_{d'}}) W=(w1,w2,...,wd),这就是主成分分析的解。

【一起啃书】《机器学习》第十章 降维与度量学习

10.4 核化线性降维

  现实任务中可能需要非线性映射来找到恰当的低维嵌入,如下图所示,样本点从二维空间中的矩形区域采样后以S形曲面嵌入到三维空间,若直接使用线性降维方法对三维空间观察到的样本点进行降维,则将失去原本的低维结构。为了对“原本采样的”低维空间与降维后的低维空间加以区别,我们称前者为“本真”低维空间,而非线性降维的一种常用方法,是基于核技巧对线性降维方法进行“核化”。

【一起啃书】《机器学习》第十章 降维与度量学习

10.5 流形学习

  流形学习(manifold learning)是一种非线性降维技术,它基于这样一个假设:高维空间中的数据实际上是由一个低维流形映射到高维空间上的。流形是高维空间中的几何结构,可以看作是低维空间中曲线或曲面在高维空间中的推广。流形学习的目的是找到一个合适的映射函数,将高维空间中的数据投影到低维流形上,从而保留数据的内在结构和特征。流形学习有很多应用,例如数据可视化,数据压缩,数据生成,特征提取等。流形学习的典型算法有局部线性嵌入(LLE),拉普拉斯特征映射(LE),局部保持投影(LPP),等距映射(ISOMAP)等。

10.6 度量学习

  度量学习是一种从数据中学习一种度量数据对象间距离的方法,它的目的是使得在学得的距离度量下,相似对象间的距离小,不相似对象间的距离大。度量学习可以用于数据分类,聚类,检索,可视化等任务。

  深度度量学习是一种结合了深度学习和度量学习的方法,它可以从原始数据中自动地学习高质量的特征表示,并利用激活函数来捕捉数据的非线性特征。深度度量学习主要由三个方面组成:样本挖掘,模型结构和损失函数。样本挖掘是指从数据集中选择合适的样本对或三元组来训练模型,使得模型能够从难分辨的样本中学习更多的信息。模型结构是指使用深度神经网络来提取数据的特征向量,常见的模型结构有孪生网络和三元组网络²。损失函数是指定义模型优化的目标函数,常见的损失函数有对比损失,三元组损失,N-pair损失等。文章来源地址https://www.toymoban.com/news/detail-496679.html

到了这里,关于【一起啃书】《机器学习》第十章 降维与度量学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HNU-数据挖掘-实验2-数据降维与可视化

    计科210X 甘晴void 202108010XXX 数据降维是指将高维数据映射到低维空间的过程。在现实生活中,很多数据集都是高维的,每个样本包含着大量特征。然而,高维数据不仅对计算资源要求较高,而且容易造成“维数灾难”,即在高维空间中,数据样本的稀疏性和分布规律难以理解

    2024年01月22日
    浏览(57)
  • 机器学习-PCA降维【手撕】

    降维算法中的”降维“,指的是降低特征矩阵中特征的数量,其目的是为了让算法运算更快,效果更好,同时可以方便数据可视化。过高的维度特征维度的特征矩阵无法通过可视化,数据的性质也就比较难理解。其中主要用到的降维方法为PCA和SVD 在降维中,我们会减少特征的

    2024年01月24日
    浏览(48)
  • 机器学习 | 降维问题

    目录 一、主成分分析 二、奇异值分解 2.1 奇异值分解原理 2.2 奇异值分解实践 三、特征值与特征向量 主成分有如下特征: 每个主成分是原变量的线性组合; 各个主成分之间互不相关; 主成分按照方差贡献率从大到小依次排列; 所有主成分的方差贡献率求和为1; 提取后的

    2024年02月08日
    浏览(81)
  • 机器学习-降维简介

        机器学习:  正如本文所讨论的,机器学习不过是一个研究领域,它允许计算机像人类一样“学习”而无需显式编程。  什么是预测建模:  预测建模是一个概率过程,允许我们根据一些预测变量来预测结果。这些预测变量基本上是在决定最终结果(即模型的结果)时发

    2023年04月09日
    浏览(33)
  • 【机器学习笔记】13 降维

    维数灾难(Curse of Dimensionality):通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。在很多机器学习问题中,训练集中的每条数据经常伴随着上千、甚至上万个特征。要处理这所有的特征的话,不仅会让训练非常缓慢,还会极大增加搜寻

    2024年02月20日
    浏览(39)
  • 机器学习-无监督算法之降维

    降维:将训练数据中的样本从高维空间转换到低维空间,降维是对原始数据线性变换实现的。 为什么要降维?高维计算难,泛化能力差,防止维数灾难 优点:减少冗余特征,方便数据可视化,减少内存。 缺点:可能丢失数据,需要确定保留多少主成分 把一个矩阵拆成三个,

    2024年02月07日
    浏览(37)
  • 机器学习:什么是分类/回归/聚类/降维/决策

    目录 学习模式分为三大类:监督,无监督,强化学习 监督学习基本问题 分类问题 回归问题 无监督学习基本问题 聚类问题 降维问题 强化学习基本问题 决策问题 如何选择合适的算法 我们将涵盖目前「五大」最常见机器学习任务: 回归 分类 聚类 降维 决策 分类是监督学习

    2024年02月12日
    浏览(46)
  • 【机器学习】特征降维 - 方差选择法VarianceThreshold

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 提取的特征当中,有一些相关(相似)的 「冗余特征」 ,这种特征是没有必

    2024年02月13日
    浏览(34)
  • 机器学习基础之《特征工程(4)—特征降维》

    一、什么是特征降维 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 1、降维 降低维度 ndarry     维数:嵌套的层数     0维:标量,具体的数0 1 2 3...     1维:向量     2维:矩阵     3维:多个二维数组嵌套     n维:继续嵌套

    2024年02月13日
    浏览(41)
  • 【机器学习】分类器性能度量——混淆矩阵及sklearn实现

    记录一下混淆矩阵的学习心得,不写下来老是容易搞混.. 机器学习中,考量二分类问题的分类器性能时,可以将样本的实际类别与分类器预测类别,划分为如下 TN, FP, FN, TP 四种结果,组合起来就是大名鼎鼎的 confusion matrix 混淆矩阵。其中: True,False 表示预测结果与实际分类

    2024年02月10日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包