海豚浏览器算法开发主管莫瑜《来一块二向箔,分析用 - Python高维数据可视化》

高维数据普遍存在于大数据和人工智能应用场景中,比如,我们需要把文本,图像等数据的语义编码成高维向量。而,理解高维数据对于生存在三维世界的人们来说是极其困难的。如何更好地对高维数据进行可视化,以便于数据分析和优化是一项常见的工作。 看过《三体》的朋友都知道黑科技- 二向箔,高维数据的可视化很大程度上就是,通过降维技术更好地展示高维数据的分布。 这个小分享希望介绍python社区的若干高维数据可视化方法和实践。 幻灯

1. 来一块二向箔,分析用 - Python高维数据可视化 莫瑜 海豚浏览器
2. 关注和实践大规模数据算法性能优化和人工智能技术 1
3. 目录 2
4. 高维数据 文本(词/句子/文档) one-hot encoding/BOW representation 图像 音频 …… 3
5. 高维数据 ...... 5.3,3.7,1.5,0.2,Iris-setosa 5.0,3.3,1.4,0.2,Iris-setosa ...... 5.1,2.5,3.0,1.1,Iris-versicolor 5.7,2.8,4.1,1.3,Iris-versicolor 6.3,3.3,6.0,2.5,Iris-virginica 5.8,2.7,5.1,1.9,Iris-virginica ...... Attribute Information: 1. sepal length in cm 2. sepal width in cm 3. petal length in cm 4. petal width in cm 5. class: -- Iris Setosa -- Iris Versicolour -- Iris Virginica 4
6. 高维数据 Text Image 5
7. 高维数据 – 为什么不容易理解高维数据 高维空间的反直觉现象 • 高维空间基本都分布在“边界/面”上 • 边长为2r的d维超立方体体积为 ,内切的半径为r的d维超球体的体积为 存在: • 当单位d维超立方体的边长缩为 ,超立方体的体积缩小为 6
8. 高维数据 – 为什么不容易理解高维数据 • 怎么理解高维数据? • 真的高维数据吗?是否信息冗余? • Fitted Curve?{(x_0, x_1, …, x_n)} x_i = f(i) • 考察单维度 • 统计信息(均值,方差,直方图(Histogram)等) • “一图胜千言”,能否数据可视化? • 多元数据可视化 • 高维数据可视化(降维) 7
9. 多元数据可视化 • Geometric projection • Line graph • Scatterplot Matrix • Prosection matrix • Hyberslice, Hyberbox • Parallel coordinates/Radical coordinate • Table lens • Andrews curves • Pixel-oriented techniques • Space filling curve • Recursive pattern • Spiral and axes techniques • Circle segment • Hierarchical display • Hierarchical axis, Dimensional stacking, Worlds within worlds • Iconography • Star glyph, Chernoff faces 8
10. 多元数据可视化 - Scatterplot Matrix 9
11. 多元数据可视化 - Parallel coordinates 10
12. 多元数据可视化 – Andrews Curves 11
13. 多元数据可视化 – 更多 • Python pandas • E.g. pandas.tools.plotting • XmdvTool Pixel oriented display Dimensional Stacking Glyph 12
14. 高维数据可视化(降维) • 线性 • PCA, LDA, etc • 非线性 (Manifold Learning) • Isomap, LLE, t-SNE, etc 13
15. 高维数据可视化 – 数据:sklearn手写数字 14
16. 高维数据可视化 - PCA • 线性降维变换 • 目标:最大化低维空间中点的方差 15
17. 高维数据可视化 - PCA 16
18. 高维数据可视化 – t-SNE • SNE(Stochastic Neighbor Embedding)的改进版本 • 主要思想 • 点对距离在高维与低维空间之间相似性,构造概率分布,使用KL距离衡量 • 相比SNE • 解决KL距离不对称问题 • 低维空间使用t-分布,高维空间仍然使用高斯分布 17
19. 高维数据可视化 - tSNE 18
20. 高维数据可视化 – 更多 • sklearn.decomposition: Matrix Decomposition • sklearn.discriminant_analysis: Discriminant Analysis • sklearn.manifold: Manifold Learning 19
21. 高维数据可视化 – 更多 • 应该选择什么方法? • 考察不同方法的算法假设 • 应用场景数据特点:线性/非线性? 度量数据(metric-data, non-metric data) ? • 全局结构信息?局部结构信息? • 计算性能 • Tips • 统一不同维度的值域 • More:http://scikit-learn.org/stable/modules/manifold.html#tips-on-practical-use 20
22. 总结 • 高维数据无处不在 • 维度较小时,可以尝试多元数据可视化(Pandas, XmdvTool) • 高维数据,结合实际情况,尝试降维可视化(PCA, sklearn.manifold) 21
23. b9875641 finalbob@hotmail.com 13810971657 dolphin.com 22

相关幻灯片