拓扑数据分析与机器学习的相互促进

摘要:很多人认为拓扑数据分析是机器学习的一种形式,而这两者之间的区别在于你对机器学习的理解与认知,而这篇文章就为你解析拓扑数据分析的一切问题。

拓扑数据分析(TDA)和机器学习(ML)的区别与联系让不熟悉TDA的人扑朔迷离,本文通过两个定义,解释了TDA和ML的不同,以及TDA和ML如何相互促进,为何会相互促进,并通过一个设备故障分析的案例(5000个样本,复杂度适中,48个连续特征)来进行证明。

对拓扑数据分析(TDA)不熟悉的人,经常会问及一些类似的问题:“机器学习和TDA两者之间的区别?”,这种问题的确难以回答,部分原因在于你眼中的机器学习(ML)是什么。

下面是维基百科关于机器学习的说明:

机器学习研究算法学习和构造,能从数据中进行学习并做出预测。这种算法通过从输入实例中建立模型,目的是根据数据做出预测或决策,而不是严格地遵循静态程序指令。

大多数人可能会认为TDA是机器学习的一种形式,但我觉得,在这些领域工作的人可能都不会赞成这一说法。

机器学习的具体实例比任何一个TDA的例子更像机器学习。同样,TDA的实例比任何一个机器学习的例子看起来更像是TDA。

为了解释TDA和ML两者的不同,更重要的是证明TDA和ML是如何相互促进以及为何会相互促进,我将给出两个非常简单的定义,然后用一个真实的实例进行说明。

  • 定义ML:假定一个数据参数模型,并根据数据来学习模型参数的任意方法。
  • 定义TDA:只把数据点间的“相似性”概念用来构建数据模型的任意方法。

在这种观点中,ML模型更加具体和详细,而且模型的成功取决于它对未知数据的拟合程度。它的优势是,当数据能很好的拟合模型时,其结果尤为突出——几乎能够完美的理解那些有明显噪声的数据。

TDA的优点是它的通用性

对于TDA,任何相似性概念都可以拿来使用。相反,对于ML,你需要一个(或更多)强化的相似性概念,与其它任何方法一起发挥作用。

例如,给你一长串的名字,你是无法根据它来预测出身高和体重。你需要更多的信息。

主要因素是拓扑算法对小误差的容忍度很大——即便你的相似性概念在某种程度上存在缺陷,只要它存在“几分相似”,TDA算法一般就会产生一些有用的东西。

TDA方法的通用性还有另一个优于ML技术的地方,当ML方法拟合效果很好的时候,TDA方法仍然有效——即ML方法经常创建详细的能生成相似性概念的内部状态,使TDA和ML能够更深层次的洞悉数据。

听起来还不错,但是这通常会走向极端(或者如果你觉得小误差的容忍度偏低,或是模糊度不够),这意味着一切都有可能发生。

那么,来举个特例吧。

随机森林分类器是一个组合学习方法,在训练过程中,建立大量的决策树并在这些“森林”(决策树集合)的基础上使用“多数规则”对非训练数据进行分类。

尽管建立树的过程相当有趣并且也很灵活,但它们没有相关的细节。对于随机森林,你只要记住,它通过把一系列决策树的集合应用到已知数据点上,然后返回一系列的“叶节点”(决策树中,到输入"下落"的叶子)。

在正常的操作下,每棵树的每个叶子节点都有一个相关的类别C,可以解释为“当一个数据点位于树的该节点时,在很大程度上它就属于该类别C”。随机森林分类器通过从每棵树上统计“叶节点类别投票总数”来选出胜出者。尽管在大规模的数据类型上高度有效,但该过程会丢掉大量的信息。

如果你关心的是对数据类别的最佳猜测,那么你不会想看到额外的信息,但有时候你会需要更多的信息。这种“无关的”信息可以转换成一个距离函数,通过把两个数据点之间的距离定义为它们各自“叶节点”之间差异的倍数。

两个数据点的距离函数是一个很好的度量(事实上,是在转换后的数据集上的汉明距离),而且这样我们可以把TDA应用到上面。

例如,让我们来看看从下面链接的样本中随机选取的5000个样本点:https://archive.ics.uci.edu/ml/datasets/Dataset+for+Sensorless+Drive+Diagnosis.

该数据集复杂度适中,有48个连续特征,这些特征似乎是硬盘驱动中无法解释的电流信号。数据还包括一个类别列,它有11个可能的取值,描述的是光盘驱动组件不同的状况(故障模式,也许吧?)。很明显可以在特征列上计算欧几里得距离,然后通过类来给图形着色。由于我们对于特征项一无所知,所以首先要尝试的事情就是查看邻近晶状体情况。其结果是一个普通的斑点。

这让人有些失望!

接着,使用一些内部的调试功能,我看到邻近晶状体的一个散点图,我知道为什么如此糟糕了——它看起来像是一颗圣诞树。

很显然,在欧氏度量中没有类的定位。

然而,如果你在数据集上建立一个随机森林,分类器会有一个非常小的out-of-bag误差,这强烈的表明了分类器性能的可靠性。

因此,我尝试使用随机森林的汉明距离来作图,这种度量下的邻近晶状体如下图所示:

这看起来很不错。只要确定我们也看到了邻近晶状体的散点图就行,上图的结果表明:

很明显,从线图和散点图可以看出,随机森林“看”复杂结构的能力要低于分类的标准水平,并被TDA给证实了。原因就是RF没有充分使用“不相关的”数据——而TDA充分的利用了这些数据并且从这些信息中得到了大量的好处。

然而,一些人可能会说,这种结构是虚构的——这也许是我们在系统的某处使用算法人工生成的?在这种数据集下,我们不能真正识别它,因为对于该类别的其它信息我们一无所知。

不过,基于设备老化时收集的数据,我们在消费者数据上使用随机森林来度量分析成千上万的复杂设备可能的故障模式。类别是基于设备因为不同的原因(并不是所有的原因都是由故障导致的)而返厂的事后分析完成的。

在这个例子中,我们发现随机森林度量标准在故障识别层面做的很好,并且我们得到的图片特征和上面这些也相似。更重要的是,我们发现在给定的故障模式中的特定组,有时有不同的原因。

在这些情况下得出的结论是:我们在使用TDA和RF时没有做进一步的空间分解,这些原因可能会更难发现。

我们刚才看到的例子表明,TDA与机器学习可以一起使用,并且得到的效果比使用单个技术更好。

这就是我们所说的ML&TDA;,同时使用更好。

原文发布时间为:2015-10-11

时间: 2024-10-27 16:18:13

拓扑数据分析与机器学习的相互促进的相关文章

大数据下的又一创举:看Ayasdi如何用拓扑数据分析癌症

如果说大数据是一个资源丰富的藏宝库,那么开启宝库的钥匙就在我们每个人身上.Ayasdi这样的大数据创业公司能借你一双慧眼,让你找到自己身上的钥匙,打开大数据的宝库. 最近,硅谷的创业公司Ayasdi打算利用刚完成一笔1000万美元的融资,用拓扑数据分析的算法,来推动癌症的研究. Ayasdi所代表的大数据垂直应用显然正在成为大数据投资的焦点之一,在IT经理网之前的文章:大数据的下一个热点在于应用软件中,我们曾指出: 就长期价值而言, 行业或细分市场的突破性大数据软件应用要超过目前火热的大数据基础

走进大数据之拓扑数据分析方法

拓扑数据分析(TDA),顾名思义,就是把拓扑学与数据分析结合的一种分析方法,用于深入研究大数据中潜藏的有价值的关系. 相比于主成分分析.聚类分析这些常用的方法,TDA不仅可以有效地捕捉高维数据空间的拓扑信息,而且擅长发现一些用传统方法无法发现的小分类.这种方法也因此曾在基因与癌症研究领域大显身手. 1.什么是拓扑数据分析 拓扑学研究的是一些特殊的几何性质,这些性质在图形连续改变形状后还能继续保持不变,称为"拓扑性质".而在复杂的高维数据内部也存在着类似的结构性质,我们可以形象地称之为数

大数据“显影”:Ayasdi用拓扑数据分析癌症

大数据蕴含的宝藏就在每个人的脚下,而Ayasdi这样的大数据创业公司能借你一双慧眼,从现有的数据中发现新的金矿. 最近,硅谷的创业公司Ayasdi最近刚刚完成了一笔1000万美元的融资,该公司利用拓扑数据分析的算法,来推动癌症的研究. Ayasdi所代表的大数据垂直应用显然正在成为大数据投资的焦点之一,在IT经理网之前的文章:大数据的下一个热点在于应用软件中,我们曾指出: 就长期价值而言, 行业或细分市场的突破性大数据软件应用要超过目前火热的大数据基础设施平台. 旧数据里的新财富 斯坦福大学的学

云栖直播:尝鲜阿里云大数据分析、机器学习与混合云(原云栖速递)

云栖头条 云栖直播:尝鲜阿里云大数据分析.机器学习与混合云 摘要 云栖大会上海峰会,直播50余场技术干货,让你可以快速复制阿里巴巴的互联 网架构.2016年1月20日早9点,不见不散.观看直播. 微服务(Microservice)那点事 淘宝商品详情平台化思考与实践 软件开发 JVM源码分析系列 本系列文章都是基于Hotspot/JDK源码,从源码角度来分析我们常见的JVM参数,Java概念以及对应的实现原理及玩法 等,希望从根本上来理清Java知识点,我们会不定期地分享这个系列的文章. 写日志

英特尔戴金权:从芯片到软件无处不在 释放大数据分析和机器学习潜能

5月18日,由中国电子学会主办,ZD至顶网协办的第八届中国云计算大会在北京国家会议中心隆重举办.在大会上,来自英特尔的大数据首席架构师.资深首席工程师戴金权做了主题为"从芯片到软件无处不在,释放大数据分析和机器学习潜能"的精彩演讲. 英特尔大数据首席架构师.资深首席工程师 戴金权 戴金权在演讲中讲到:"英特尔从硬件到软件做了大量工作,为基于大数据的高级分析和机器学习提供了非常好的支持,特别是基于大数据上面的机器学习和人工智能.高级分析,是英特尔看到的一个非常重要的趋势.而今天

深度学习和拓扑数据分析的六大惊人之举

假如你有一个一千列和一百万行的数据集.无论你从哪个角度看它--小型,中型或大型的数据--你不可能看到它的全貌.将它放大或缩小.使它能够在一个屏幕里显示完全.由于人的本质,如果能够看到事物的全局的话,我们就会有更好的理解.有没有办法把数据都放到一张图里,让你可以像观察地图一样观察数据呢? 将深度学习与拓扑数据分析结合在一起完全能够达到此目的,并且还绰绰有余. 1.它能在几分钟内创建一张数据图,其中每一个点都是一个数据项或一组类似的数据项. 基于数据项的相关性和学习模式,系统将类似的数据项组合在一起

大数据分析:机器学习算法实现的演化

本文翻译自<BIG DATA ANALYTICS BEYOND HADOOP> 我将会对机器学习算法的不同的实现范式进行讲解,既有来自文献中的,也有来自开源社区里的.首先,这里列出了目前可用的三代机器学习工具. 传统的机器学习和数据分析的工具,包括SAS,IBM的SPSS,Weka以及R语言.它们可以在小数据集上进行深度分析--工具所运行的节点的内存可以容纳得下的数据集. 第二代机器学习工具,包括Mahout,Pentaho,以及RapidMiner.它们可以对大数据进行我称之为粗浅的分析.基

大数据,数据分析,机器学习,架构等相关系统名称名词解释

常用的一些软件或其他 1.日志(日志收集,日志处理) 风来了.fox 1.1 Logstash Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件. 1.2 Filebeat Filebeat是一个开源的文件收集器,主要用于获取日志文件,并把它们发送到logstash或elasticsearch 1.3 Scribe Scribe是Facebook开源的日志收集系统,在Facebook内部已经

[人工智能]北美18名校的数据挖掘,数据分析,人工智能及机器学习课程汇总

问答 http://www.quora.com/What-is-data-science  数据科学是什么? http://www.quora.com/How-do-I-become-a-data-scientist  我怎样才能成为一个数据科学家? http://www.quora.com/Data-Science/How-does-data-science-differ-from-traditional-statistical-analysis   科学数据是如何从传统的统计分析不同吗? 相