Topological Data Analysis(TDA) 拓扑数据分析与mapper算法

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法目录什么是 TDAmapper 的大致流程使用 mapper 进行数据分析的优点什么是 TDA 即对数据拓扑学特征进行分析的方法 mapper 的大致流程使用 mapper 进行数据分析的优点 拓扑数据分析

大家好,欢迎来到IT知识分享网。

目录

什么是TDA?

mapper算法的大致流程

使用mapper进行数据分析的优点

参考连接


什么是TDA?

        即对数据拓扑学特征进行分析的方法,那么什么是拓扑学特征?拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科。它只考虑物体间的位置关系而不考虑它们的形状和大小。换句话说,这是一些特殊的几何性质,这些性质在图形连续改变形状后还能继续保持不变。

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
一个例子(图片来自参考连接1)

mapper算法的大致流程

        介绍完啥是TDA,接下来介绍mapper,这个mapper经常和TDA一起提出,那么这个mapper到底是个啥?————是一个TDA分析方法的具体算法。

        既然是算法,就有输入输出,理论上mapper的输入数据可以是任何类型的数据,但是要满足一定的条件,即输入的数据必须要能够计算任何两数据之间的距离(这距离不局限于欧几里得距离,可以是用户定义的一些距离公式,目的就是要能够确定这个数据在总的输入数据中的一个大致“位置”)。输出便是一个关于输入数据的拓扑图。

        mapper算法的流程:

  1. 使用一个(或多个)filter(论文中的名字)函数,将输入数据X经过计算得到一个(或多个)值。即f(X) = a ,a是一个实数。
  2. 设置两个超参,分别是resolution(即intervals的间距大小)和overlap(重叠区间的大小)。(重要!!)
  3. 在每个intervals里面进行局部聚类,可以使用任何聚类算法。将聚在一起的类归并到一个圈(我们这先叫它聚类圈),便于可视化。
  4. 由于第2步中设置的resolution中设置了overlap,所以可能每个intervals里面会有公共的点,然后这个有公共点的局部聚类圈就能够通过边连接起来。
Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
一个便于理解的例子(图片来自参考连接2中的附件2)

看到这里,你可能对第一步中的filter函数还有疑惑,不知道这是个啥,没关系,后面在优点中会进行介绍。

使用mapper进行数据分析的优点

优点1:一般现有的算法,如果要对高维数据进行可视化,必然会有一个降维的过程,那么现有的算法在降维后对原始数据会有一些信息的损失(维数越高,越明显)。而mapper算法始终保留高维空间中数据的整体拓扑信息,在这个方面,它远胜于其他算法。接下来我会通过一个实例来介绍,filter函数也会在这步中进行详细说明。

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
3D模型数据(图片来自参考链接3,下面的图片也是)

         训练的原始数据为7类3D模型数据,为了使这些模型能够成为mapper算法的输入,需要进行一些预处理,即在这些模型中抽取4000个具有代表性特征的点构成集合Y(这是对一个模型抽取4000个点),重新表示该3D模型。

        得到点集Y后,这时我们就选择一个合理的filter函数,比如

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
filter函数

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
函数作用介绍

         这个函数的作用就是,对于每个模型中采集的点,能够计算该点距离所有点的中心的远近程度,离中心越远的点值越大。不明白的话,直接看下图:

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
经过filter函数计算过的3D模型

         上面这个图就是通过那个filter函数计算后的值的分布。就拿那个大象来说,腹部那里应该算的上是点的中心部分,所以值最小程蓝色。鼻子和后腿离中心较远,所以值最大程红色。那么经过filter函数计算后有什么用呢?

        到了这里,我们再回过去看mapper算法的流程那里,此时我们已经得到该3D模型中每个点对应的一个值。这些值就是一维的数据。这样就可以设置resolution和overlap了。

下图中的U代表intervals的宽度,U重叠的部分就是overlap。

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
用此图理解一下(图片来源参考链接4)

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
3D数据的拓扑图(参考链接3)

         从上面的拓扑图可以看到,对于不同类别的物体,其拓扑图完全不一样。对于相同类别的物体他们动作不一样,拓扑图也能够体现出来,即使变化很微小(如人脸的表情)。

优点2:能够发现一些更小的类。

        我们来看一个例子:

输入数据为3168个语音记录样本,这些样本来自男性和女性的发言者。每个数据有21个属性。如下图:

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
样本内容(参考链接5)

 使用mapper算法后进行可视化:

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
图3 intervals的值为10(参考链接5)

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
图4 intervals的值为15

         

        其中红色圈表示女性,黄色圈表示男性,蓝色圈表示男性和女性都有。图 3 和图 4 清楚地向我们展现了数据中隐藏的形状,以及从不同尺度观察数据的结果。由图 4 可知,男性和女性样本被有效区分,在同性中存在不同的簇,说明同性之间的声音也有不同的类 别,而在异性间存在共同的簇,说明即使异性之间 的声音也会有相似特征和成分。由图 3 可以明显看到簇的减少(更加粗糙),以及更加明显的聚类和数据形状,虽然整个数据的形状有点扭曲变形,但是 Y 形耀斑这样的基本特征仍然存在,说明 TDA 的确对小误差的容忍度很大,数据簇更加明确。

 优点3:发现的特征具有鲁棒性

先看一下专家原话:

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
链接3中论文原话

         意思就是,如果一个特征,能够在不同粗糙程度的角度持续被检测到,那么这个特征多半不可能是 artifact的 而是 real的。从图3和图4中(代表不同的粗糙程度)那个y字形的图案可以看出来,这应该会是一个重要的具有鲁棒性的真实的特征。

优点4:显而易见,这个方法非常方便可视化。

优点5:代码简洁,已有比较成熟的库。

Topological Data Analysis(TDA) 拓扑数据分析与mapper算法
参考链接4中的代码

以上便是全部代码了,足够简单。 

参考连接

参考链接1:走进大数据之拓扑数据分析方法https://zhuanlan.zhihu.com/p/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/145741.html

(0)
上一篇 2024-11-25 15:00
下一篇 2024-11-25 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信