码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
isomap降维算法--学习笔记
预备知识:
测地线与欧式距离:
蓝色虚线为两个点的欧式距离,蓝色实线为两个点的测地线距离。
测地线距离不好测量,因此采用另一种路径近似代表测地线距离。
两点相连:
构建一个连通图,其中每个点只和距离这个点最近的k个点直接连接,和其他的点不直接连接。这样我们可以构建邻接矩阵,进而求出图中任意两个点的最短路径,代替测地线距离。
两点间的最短距离:
蓝色点代表两个点之间的测地线距离,红色线代表图中两点的最短路径,两者距离相近,因此我们使用后者替代前者。进而引出isomap算法。
流形:
传统欧式空间的度量难以用于真实世界的非线性数据,从而需要对数据的分布引入新的假设。流形学习假设所处理的数据点分布在嵌入于外维欧式空间的一个潜在的流形体上,或者说这些数据点可以构成这样一个潜在的流形体。
流形体实际上是一个二维分布的平面,在三维空间中流行体上点与点之间的距离不能使用传统的欧式空间的距离来计算,而应该用测地线距离代表这两个点的实际距离。
isomap算法:
基于MDS算法,不同之处在于isomap用图中两点的最短路径距离替代了MDS中欧式空间的距离,这样能更好的拟合流行体数据。
算法流程
设置每个点最近邻点数k,构建连通图和邻接矩阵。
通过图的最短路径构建原始空间中的距离矩阵。
计算内积矩阵B。
对矩阵B进行特征值分解,获得特征值矩阵A和特征向量矩阵V 。
取特征值矩阵最大的前Z项及其对应的特征向量Z=(V_z A_z)^(1/2)。
高维空间的数据大多数都具有相同的特点,因此会嵌入到一个流行体中,而不是随机分散在高维空间中,高维数据相同特征的数目也就是流行体的维度,也就是我们降维的目标空间维数,这个维度需要一定的人为主观判断。同时,如果数据在高维空间中没有嵌入到一个流行体中。例如高维数据点分为10类,每一类都和其它类分散开,自己成为一簇,此时isomap算法就不太适合。如果数据是分类的,数据基本不会嵌入在一个流行体,isomap降维算法效果就比较差,但是数据是连续的,数据就很有可能嵌入在一个流行空间内,此时isomap算法的效果就会比较好。
相关阅读:
分享一些你代码更好的小建议,流畅编码提搞效率
一篇文章带你入门python基础开发
配置服务器入栈
swift ui 布局 ——Stack(HStack、VStack、ZStack)
《effective c++》学习笔记一
API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试
QT默认自带mscv2017 2019 ,配置vs2022
JVM_沙箱安全机制与Java安全模型
【C++模拟实现】手撕红黑树(含图解)
C++中栈数组、堆数组和vector向量的效率比较
原文地址:https://blog.csdn.net/weixin_45647721/article/details/127567091
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号