当前位置: 首页 > news >正文

isomap降维算法--学习笔记

  1. 预备知识:
    1. 测地线与欧式距离:蓝色虚线为两个点的欧式距离,蓝色实线为两个点的测地线距离。
    2. 测地线距离不好测量,因此采用另一种路径近似代表测地线距离。
      1. 两点相连:
      2. 构建一个连通图,其中每个点只和距离这个点最近的k个点直接连接,和其他的点不直接连接。这样我们可以构建邻接矩阵,进而求出图中任意两个点的最短路径,代替测地线距离。
      3. 两点间的最短距离:蓝色点代表两个点之间的测地线距离,红色线代表图中两点的最短路径,两者距离相近,因此我们使用后者替代前者。进而引出isomap算法。
  2. 流形:
    1. 传统欧式空间的度量难以用于真实世界的非线性数据,从而需要对数据的分布引入新的假设。流形学习假设所处理的数据点分布在嵌入于外维欧式空间的一个潜在的流形体上,或者说这些数据点可以构成这样一个潜在的流形体。
    2. 流形体实际上是一个二维分布的平面,在三维空间中流行体上点与点之间的距离不能使用传统的欧式空间的距离来计算,而应该用测地线距离代表这两个点的实际距离。
  3. isomap算法:
    1. 基于MDS算法,不同之处在于isomap用图中两点的最短路径距离替代了MDS中欧式空间的距离,这样能更好的拟合流行体数据。
    2. 算法流程
      1. 设置每个点最近邻点数k,构建连通图和邻接矩阵。
      2. 通过图的最短路径构建原始空间中的距离矩阵。
      3. 计算内积矩阵B。
      4. 对矩阵B进行特征值分解,获得特征值矩阵A和特征向量矩阵V 。
      5. 取特征值矩阵最大的前Z项及其对应的特征向量Z=(V_z A_z)^(1/2)。
    3. 高维空间的数据大多数都具有相同的特点,因此会嵌入到一个流行体中,而不是随机分散在高维空间中,高维数据相同特征的数目也就是流行体的维度,也就是我们降维的目标空间维数,这个维度需要一定的人为主观判断。同时,如果数据在高维空间中没有嵌入到一个流行体中。例如高维数据点分为10类,每一类都和其它类分散开,自己成为一簇,此时isomap算法就不太适合。如果数据是分类的,数据基本不会嵌入在一个流行体,isomap降维算法效果就比较差,但是数据是连续的,数据就很有可能嵌入在一个流行空间内,此时isomap算法的效果就会比较好。

相关文章:

  • 【Linux】yum vim 基础工具的使用
  • QT学习_03_坐标系统和内存回收机制
  • cookies,session,token都是相对安全,并不能完全防窃取
  • 在Ubuntu22.04条件下,如何打开树莓派4B的串口
  • 初识Docker
  • PMP每日一练 | 考试不迷路-10.29(包含敏捷+多选)
  • SSL证书验证原理和https加密
  • Python实现秒杀抢购某宝商品,不再害怕双十一抢不到了
  • 瞪羚优化算法(Gazelle Optimization Algorithm,GOA)
  • CSS3入门
  • 【SQL优化】海量数据大页码MySQL查询该如何优化
  • 乐吾乐le5le-Topology为智慧水务可视化赋能(一)
  • 【node进阶】深入浅出---MVC设计模式RESTful风格
  • java计算机毕业设计基于精细化考核的离散数学课程教学目标达成系统源码+系统+数据库+lw文档
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • @jsonView过滤属性
  • es6
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java程序员幽默爆笑锦集
  • js操作时间(持续更新)
  • laravel with 查询列表限制条数
  • Linux链接文件
  • Linux下的乱码问题
  • Mysql数据库的条件查询语句
  • nginx 负载服务器优化
  • npx命令介绍
  • python docx文档转html页面
  • React-redux的原理以及使用
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 技术发展面试
  • 聊聊directory traversal attack
  • 收藏好这篇,别再只说“数据劫持”了
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 字符串匹配基础上
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • zabbix3.2监控linux磁盘IO
  • ​低代码平台的核心价值与优势
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • "无招胜有招"nbsp;史上最全的互…
  • (11)MATLAB PCA+SVM 人脸识别
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (七)Knockout 创建自定义绑定
  • (五)网络优化与超参数选择--九五小庞
  • (一)基于IDEA的JAVA基础10
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 设置默认首页
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...