作者:Mathieu Carrière
翻译:孙韬淳
校对:和中华
本文约4500字,建议阅读10分钟
本文简要介绍了机器学习中拓扑数据分析的力量并展示如何配合三个Python库:Gudhi,Scikit-Learn和Tensorflow进行实践。
标签:数据可视化
Hi大家好。今天,我想强调下在机器学习中拓扑数据分析(TDA,Topological Data Analysis)的力量,并展示如何配合三个Python库:Gudhi,Scikit-Learn和Tensorflow进行实践。
拓扑数据分析?
首先,让我们谈谈TDA。它是数据科学中相对小众的一个领域,尤其是当与机器学习和深度学习对比的时候。但是它正迅速成长,并引起了数据科学家的注意。很多初创企业和公司正积极把这些技术整合进它们的工具箱中(比如IBM,Fujitsu,Ayasdi),原因则是近年来它在多种应用领域的成功,包括生物学、时间序列、金融、科学可视化、计算机图形学等。未来我可能会写一个关于TDA一般用途和最佳实践的帖子,所以请大家等待下。
TDA:
https://en.wikipedia.org/wiki/Topological_data_analysis
IBM:
https://researcher.watson.ibm.com/researcher/view_group.php?id=6585
Fujitsu:
https://www.fujitsu.com/global/about/resources/news/press-releases/2016/0216-01.html
Ayasdi:
https://www.ayasdi.com/platform/technology/
生物学:
https://www.ncbi.nlm.nih.gov/pubmed/28459448
时间序列:
https://www.ams.org/journals/notices/201905/rnoti-p686.pdf
金融:
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2931836
科学可视化:
https://topology-tool-kit.github.io/
计算机图形学:
http://www.lix.polytechnique.fr/~maks/papers/top_opt_SGP18.pdf
TDA的目标是对你数据的拓扑性质进行计算和编码,这意味着记录数据集中多样的连接成分,环,腔和高维结构。这非常有用,主要是因为其他描述符不可能计算这类信息。所以TDA真的储存了一组你不可能在其他地方找到的数据特征。现实情况是这类特征已被证明对提升机器学习预测能力很有用,所以如果你以前还没见过或听过这类特征,我来带你快速了解一下。
我已经写过很多这个主题的文章,你可以在Medium找到关于TDA的很多其他帖子,所以我不打算浪费时间在数学定义上面,而是通过解释TDA文献中的典型例子,来展示如何在你的数据集上应用TDA。
文章:
https://towardsdatascience.com/mixing-topology-and-deep-learning-with-perslay-2e60af69c321
帖子:
https://towardsdatascience.com/applied-topological-data-analysis-to-deep-learning-hands-on-arrhythmia-classification-48993d78f9e6
TDA的参考示例:点云分类
这个数据集在一篇开创性的TDA文章上介绍过。它由通过下述动力系统生成的轨迹来得到的点云集组成:
开创性的TDA文章
http://jmlr.org/papers/v18/16-337.html