机器学习---降维与度量学习

1. 度量学习

现有的大部分算法对图像进行特征提取后化为向量的表达形式,其本质是把每一幅用于训练的图像

通过某种映射到欧氏空间的一个点,并利用欧氏空间的良好性质在其中进行学习器的训练。但定义

图像特征之间的欧氏距离未必能很好反映出样本之间的相似。通过训练样本寻找一种能够合理描述

当前样本相似度的距离度量,能够大大提高学习器的性能。  度量学习是机器学习的一个重要分

支,通过有标记样本或结合未标记样本,寻找一个能够在给定指标下最恰当刻画样本相似度的距离

矩阵或距离函数。

度量学习包括监督度量学习和半监督度量学习。监督度量学习主要是利用标注样本学习一个反映样

本语义关系的度量函数,使语义上相近的样本之间距离较近,反之则较远。 半监督度量学习则是

利用了标注样本,也利用了未标注样本。

1.1 监督度量学习

利用携带标注信息的训练数据进行距离度量学习,能更好的降低“语义鸿沟”的影响。 监督的距离度

量学习的主要思想是,利用标注数据学习一个度量矩阵,对样本进行映射变换,使得在变换后的度

量空间中,同类样本之间的距离变小,异类样本之间的距离变大,或使得相似的样本距离变小,不

相似的样本距离变大。可以通过设定不同的标注信息,使得距离度量结果符合不同的相似度评判标

准,因此度量方式的选择更加自由。

1)基于凸规划的全局距离度量学习方法:该方法学习一个度量矩阵,使非相似样本间距离的平

方和最大,同时使相似样本间距离的平方和小于一定值。

2)近邻成分分析:以概率的方式定义点的软邻域,然后通过最大化训练样本的留一法分类错误

率学习距离度量矩阵。该方法在训练度量矩阵的同时,保持了相邻数据点之间关系,但不一定能全

局最优。

3)区分性成分分析:通过学习一种最优的数据转换使不同“团簇”间的方差和最大,所有“团簇”

内的方差和最小。

4)基于信息论的距离度量学习方法:在满足约束信息的同时,使学习到的度量矩阵M和根据某

种先验知识给出的度量矩阵M0之间的 KL 散度最小。

5)最大边界近邻分类:分类方法是将样本的 K 最近邻保持在同一类别中,同时使异类样本之间

的边界最大。其损失函数的第一项是惩罚输入样本和其最近邻间的距离,第二项是惩罚异类样本间

较小的距离。

1.2 半监督度量学习

监督度量学习只利用了有限的标注数据,且常会遇到训练数据不足的问题,而实际中却有大量未标

注的数据存在。半监督度量学习通过对未标注数据加以利用,以获得更准确的模型。

107年,一种基于核的半监督距离度量学习方法

209年,通过保留类似于 LLE局部线性嵌嵌入的局部关系学习距离度量

3Laplacian 正则化距离度量学习(LRML),将样本点的近邻看作相似点,联合已有标注数据

学习距离度量。

近年来,距离度量学习已成为智能信息处理方面的一个研究热点,研究表明,距离度量学习能够大

大提升了图像分类、图像匹配、及图像检索等工作的性能。

2. 降维

降维的动机:原始观察空间中的样本具有极大的信息冗余;样本的高维数引发分类器设计的“维数

灾难”;数据可视化、特征提取、分类与聚类等任务需求。

解决办法:选取尽可能多的, 可能有用的特征,然后根据需要进行特征/维数约简。 

实验数据分析,数据可视化(通常为2维或3维)等也需要维数约简。 

线性降维:通过特征的线性组合来降维,本质上是把数据投影到低维线性子空间,线性方法相对比

较简单且容易计算。代表方法:主成分分析(PCA),线性判别分析(LDA),多维尺度变换(MDS) 。

2.1 线性判别分析(LDA)

降维目的:寻找最能把两类样本分开的投影直线,使投影后两类样本的均值之差与投影样本的总类

散度的比值最大。求解方法:经过推导把原问题转化为关于样本集总类内散度矩阵和总类间散度矩

阵的广义特征值问题。

2.2 主成分分析(PCA)

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

性空间中的样本点,如何用一个超平面(直线的高维推广)对所有的样本进行恰当的表达?应该具

有两个性质:最近重构性:样本点到这个超平面的距离足够近最大可分性:样本点在这个超平面上

的投影能尽可能分开。

降维目的:寻找能够保持采样数据方差的最佳投影子空间,求解方法:对样本的散度矩阵进行特征

值分解,所求子空间为经过样本均值,以最大特征值所对应的特征向量为方向的子空间。

PCA对于椭球状分布的样本集有很好的效果,学习所得的主方向就是椭球的主轴方向。PCA 是一

种非监督的算法,能找到很好地代表所有样本的方向,但这个方向对于分类未必是最有利的。

考虑最近重构性和最大可分性两个优化目标,得到如下推导:

假定数据样本进行了中心化,即;再假定投影变换后得到的新坐标系为

其中wi是标准正交基向量,。若丢弃新坐标系中部分坐标,即将维

度降低到d'<d,则样本点xi在低维坐标系中的投影是,其中;是

xi在低维坐标系下第j维的坐标,若基于zi来重构xi,则会得到

考虑整个训练集,原样本点与基于投影重构的样本点之间的距离为:

根据最近重构性,上式应被最小化,考虑到wj是标准正交基,是协方差矩阵,有

这就是主成分分析的优化目标。

从最大可分性出发,能得到主成分分析的另一种解释,我们知道,样本点xi在新空间中超平面上的

投影是,若所有样本点的投影能尽可能分开,则应该使投影后样本点的方差最大化,如下

图所示。

使所有样本的投影尽可能分开,则需最大化投影点的方差。

投影后样本点的方差是,于是优化目标可写为

 对上式使用拉格朗日乘子法可得

于是,只需对协方差矩阵xxT进行特征值分解,将求得的特征值排序:,再取

前d'个特征值对应特征向量构成。这就是主成分分析的解。PCA算法描述:

降维后低维空间的维数d通常是由用户事先指定,或通过在d值不同的低维空间中对k近邻分类器

(或其他开销较小的学习器)进行交叉验证来选取较好的d值.对PCA,还可从重构的角度设置一个重构阈值,例如t=95%,然后选取使下式成立的最小 d' 值: 

PCA 仅需保留 W 与样本的均值向量即可通过简单的向量减法和矩阵—向量乘法将新样本投影至低

维空间中,显然,低维空间与原始高维空间必有不同,因为对应于最小的d—d'个特征值的特征向

量被舍弃了,这是降维导致的结果。但舍弃这部分信息往往是必要的:一方面,舍弃这部分信息之

后能使样本的采样密度增大,这正是降维的重要动机;另一方面,当数据受到噪声影响时,最小的

特征值所对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到去噪的效果。

def pca(dataMat,topNfeat=9999999):   meanVals=mean(dataMat,axis=0)    	meanRemoved=dataMat-meanVals # 去除平均值    covMat=cov(meanRemoved,rowvar=0)    	eigVals,eigVects=linalg.eig(mat(covMat))    	eigValInd=argsort(eigVals)    # 从大到小对N个值排序    	eigValInd=eigValInd[:-(topNfeat+1):-1]    	redEigVects=eigVects[:,eigValInd]    # 将数据转换到新空间    	lowDDataMat=meanRemoved*redEigVects    	reconMat=(lowDDataMat*redEigVects.T)+meanVals    return lowDDataMat,reconMat
2.3  多维缩放(MDS) 

MDS 是一种非监督的维数约简方法。MDS的基本思想:约简后低维空间中任意两点间的距离。应

该与它们在原高维空间中的距离相同。MDS的求解:通过适当定义准则函数来体现在低维空间中

对高维距离的重建误差,对准则函数用梯度下降法求解。对于某些特殊距离可以推导出解析解法。

若要求原始空间中样本之间的距离在低维空间中得以保持,即多维缩放(Multiple Dimensional

Scaling,MDS)。

假定m个样本在原始空间的距离矩阵为𝐷𝑅^(𝑚×𝑚),其第ij列的元素𝑑𝑖𝑠𝑡𝑖𝑗为样本 𝑥𝑖 到 𝑥𝑗 

离。我们的目标是获得样本在𝑑维空间的表示𝐷𝑅^(𝑑×𝑚),𝑑𝑑,且任意两个样本在𝑑维空间中的

欧式距离等于原始空间中的距离,即 

,其中B为降维后样本的内积矩阵,,有:

为便于讨论,令降维后的样本Z被中心化,即。显然,矩阵B的行与列之和均为零,即

。易知:

其中tr(·)表示矩阵的迹(trace),tr(B)=令:

由上式可得:

由此即可通过降维前后保持不变的距离矩阵D求取内积矩阵B。

对矩阵B做特征值分解(eigenvalue decomposition)),,其中

为特征值构成的对角矩阵,,V为特征向量矩阵。假定其中有d*个非零特

征值,它们构成对角矩阵,令V*表示相应的特征向量矩阵,则Z可表达

在现实应用中为了有效降维,往往仅需降维后的距离与原始空间中的距离尽可能接近,而不必严格

相等。此时可取d`<<d个最大特征值构成对角矩阵,令V表示相应的特征

向量矩阵,则Z可表达为

算法描述:

MDS降维步骤:

保持原始空间样本之间的距离和低维空间中的距离相等。这是MDS降维方法的前提和条件,但

是在实际的应用中,在本文后面的分析中会发现,我们并不会保证样本之间距离在降维前后保持百

分之百不变,而是使得降维前后样本距离大致一致。

对原始数据进行归一化后,保证所有属性的数据点全部落在[0,1]区间内,这样方便后面MDS

法处理。

③使用两层for循环,对原始数据样本分别进行行和列遍历,最后得m个样本在原始空间的距离矩阵

𝐷𝑅^(𝑚×𝑚),现在我们的目标是获得样本在d’维空间中的表示𝐷𝑅^(𝑑×𝑚),其中d’<=d,并且两

个样本在d’维空间中的欧氏距离等于原始空间中的距离。

④首先构造矩阵,其中Z表示的是降维后的样本矩阵。经过一系列的推导过程,

最后能够得到如下的计算公式:,根据这个公式,我们就

能够计算出矩阵B中每一个元素的值。

⑤对矩阵B做特征值分解,其中是特征值构成的对角矩阵,满

,V表示特征向量矩阵。如果特征值中有 𝑑∗个非零特征值,那么我们将

得到如下计算Z矩阵的表达式:                            

在该式中,矩阵Z的每一列表示一个样本,每一行表示降维后在d’空间内的一个维度,由于d’<=d,

因此也就达到了降维的目的。后续的分析中,我们只需要修改d’的值,就可以将原数据样本降维到

我们想要的维度了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Resnet BatchNormalization 迁移学习

时间&#xff1a;2015 网络中的亮点&#xff1a; 超深的网络结构&#xff08;突破1000层&#xff09;提出residual模块使用Batch Normalization加速训练&#xff08;丢弃dropout&#xff09; 层数越深效果越好&#xff1f; 是什么样的原因导致更深的网络导致的训练效果更差呢…

自行车服务PEDALWAYS 网站bootstrap5模板

一、需求分析 自行车服务网站的作用是为骑行爱好者和自行车用户提供便捷的信息、工具和服务&#xff0c;以满足他们的需求。以下是一些常见的自行车服务网站的功能&#xff1a; 自行车租赁&#xff1a;提供自行车租赁服务&#xff0c;用户可以在线预订自行车并选择租赁期限&am…

x-cmd pkg | hyperfine - 命令行基准测试工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 hyperfine 是一个用于命令行基准测试的开源工具&#xff0c;可以对多次命令运行的时间进行分析&#xff0c;帮助开发人员评估和比较不同命令或脚本的性能。它是用 Rust 语言开发的&#xff0c;可以在 Windows、macOS …

Avalonia学习(十五)-OxyPlot

今天开始继续Avalonia练习。展示一些样例&#xff0c;尤其是第三方库的使用。 本节&#xff1a;OxyPlot 1.引入OxyPlot.Avalonia 2.项目引入 在Main方法里增加OxyPlotModule.EnsureLoaded()方法调用。 public static void Main(string[] args) {OxyPlotModule.EnsureLoade…

最新解决msvcr100.dll丢失的方法,多种解决方法详细解析

msvcr100.dll丢失会导致某些程序或游戏无法正常运行&#xff0c;msvcr100.dll是Microsoft Visual C 2010的运行时组件&#xff0c;它包含了许多C标准库的函数实现。这些函数在程序运行时被调用&#xff0c;用于处理各种任务&#xff0c;如字符串操作、数学计算、文件操作等。因…

rancher 手册

官方 https://www.rancher.com/https://github.com/rancher/rancherhttps://docs.rke2.io/ rancher kubernetesl yaml deploy rancher serverHelm Deploy Online Rancher DemoHelm & Kubernetes Offline Deploy Rancher v2.7.5 Demohelm upgrade rancher server from v2…

算法(3)——二分查找

一、什么是二分查找 二分查找也称折半查找&#xff0c;是在一组有序(升序/降序)的数据中查找一个元素&#xff0c;它是一种效率较高的查找方法。 二、二分查找的原理 1、查找的目标数据元素必须是有序的。没有顺序的数据&#xff0c;二分法就失去意义。 2、数据元素通常是数值…

中文版大模型 Token 成本计算器

分享一个轻量的小工具&#xff0c;10MB 左右&#xff0c;能够帮助你直观的了解大模型 Token 的计算方法。 希望能够帮助到想了解或者正在规划模型 API 使用成本的你。 写在前面 之所以折腾这个小工具&#xff0c;是因为有朋友和我提问&#xff0c;大模型 API 的 Token 到底是…

基于ssm的房屋租赁管理系统

功能介绍 房源信息模块&#xff1a; 房源信息展示、房源信息更新、房源信息增加、房源信息删除 账户管理模块&#xff1a; 账户登录、账户绑定、账户管理 租金结算模块&#xff1a; 每月租金信息、租金交付功能、月租金收入总额统计 房屋租赁合同管理模块&#xff1a; 房屋租赁…

【深度解析C++之运算符重载】

系列文章目录 &#x1f308;座右铭&#x1f308;&#xff1a;人的一生这么长、你凭什么用短短的几年去衡量自己的一生&#xff01; &#x1f495;个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️&#xff1a;【深度解析C之this…

OpenGauss 之索引查找和匹配

一. 前言 本文主要通过走读OpenGuass的代码&#xff0c;来了解查询的时候OpenGuass是如何查找表的索引信息以及根据谓词条件过滤掉无用的索引信息的。 二. 索引路径匹配流程 1. 首先OpenGuass在build_simple_rel的时候&#xff0c;首先将一个表以及与他相关的索引都加到rel-&g…

DSL查询语法和RestClient查询文档

目录 DSL查询语法 DLS Query的分类 DSL Query基本语法 全文检索查询 精准查询 地理查询 复合查询 Function Score Query 复合查询 Boolean Query 搜索结果处理 排序 分页 分页 深度分页问题 深度分也解决方案 高亮 RestClient查询文档 快速入门 全文检索查…

MK米客方德品牌 SD NAND在对讲机领域的引领作用

SD NAND在对讲机上的应用 SD NAND在对讲机上广泛应用&#xff0c;为其提供了高效可靠的存储解决方案。 这种存储技术不仅能容纳大量语音和数据文件&#xff0c;而且具有高速读取的特点&#xff0c;保障了实时通信的质量。SD NAND还注重安全性&#xff0c;通过数据加密和访问控…

解锁React魔法门:高效项目开发工作流揭秘

你好&#xff0c;我是坚持分享干货的 EarlGrey&#xff0c;翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。 如果我的分享对你有帮助&#xff0c;请关注我&#xff0c;一起向上进击。 创作不易&#xff0c;希望大家给一点鼓励&#xff0c;把公众号设置为…

OSCHINA Gitee 联合呈现,《2023 中国开源开发者报告》正式发布,总结分非常帮,可以免费看的报告!

《2023 中国开源开发者报告》 详细地址&#xff1a; https://talk.gitee.com/report/china-open-source-2023-annual-report.pdf 不需要收费下载&#xff01;&#xff01; 其中大模型的部分总结的非常棒 gietee 也支持 AI 模型托管了 如何在 Gitee 上托管 AI 模型 https://…

【java爬虫】使用element-plus进行个股详细数据分页展示

前言 前面的文章我们讲述了获取详细个股数据的方法&#xff0c;并且使用echarts对个股的价格走势图进行了展示&#xff0c;本文将编写一个页面&#xff0c;对个股详细数据进行展示。别问涉及到了element-plus中分页的写法&#xff0c;对于这部分知识将会做重点讲解。 首先看一…

Autosar MCAL-RH850P1HC Dio配置

文章目录 DioDioGeneralDioCriticalSectionProtectionDioDevErrorDetectDioDeviceNameDioFlipChannelApiDioMaskedWritePortApiDioUseWriteVerifyErrorInterfaceDioVersionCheckExternalModulesDioVersionInfoApiDioWriteVerifyDioWriteVerifyErrorInterface DioPortP0-P9DioPo…

管道进行进程间通信(上)

管道进行进程间通信 在posix和system V标准还没有出现的时候&#xff0c;进程间是如何进行通信的呢&#xff1f;这就要借助于我们今天学习的这个东西了。在进程间通信的标准没有出现之前&#xff0c;在os中就已经存在了文件了。而管道就是基于文件的一种进行进程间通信的方式。…

WorkPlus为企业打造私有化部署IM解决方案

在移动数字化时代&#xff0c;企业面临着如何全面掌控业务和生态的挑战。企业微信、钉钉、飞书、Teams等应用虽然提供了部分解决方案&#xff0c;但无法满足企业的私有化部署需求。此时&#xff0c;WorkPlus作为安全专属的移动数字化平台&#xff0c;被誉为移动应用的“航空母舰…

独热编码的两种实现形式

独热编码的两种实现形式&#xff1a; ​ OneHotEncoder和DictVectorizer是两种常用的特征向量化方法&#xff0c;用于将分类特征转换为数值特征。但还是有一定的区别不管是再输入格式还是在输出类型上都有一些不同。 区别&#xff1a; 输入格式要求&#xff1a; OneHotEncod…