首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习之——LINE及LargeVis可视化算法

机器学习之——LINE及LargeVis可视化算法

作者头像
企鹅号小编
发布2018-01-15 21:16:38
1.7K0
发布2018-01-15 21:16:38
举报
文章被收录于专栏:人工智能人工智能

从word2vec算法发表以后,各种嵌入方法越来越火热,而LINE算法就是一种网络嵌入的算法。

使用LargeVis可视化的MNIST数据集

所谓网络嵌入,就是将一个网络里面的各个节点用向量表示出来。例如,所有节点都使用一个二维向量表示,那么就说这个网络嵌入了一个二维空间。类似的,也可以嵌入三维或更高维的空间。

LINE算法

基本思路是:如果两个节点在网络上相连,那么它们所对应的向量之间的距离也应该比较小。

要学习的参数就是每个节点对应的向量,例如共有10个节点,每个节点打算嵌入到3维空间里,那么就共有10*3=30个参数需要学习。

而学习的目标就是:最小化相邻节点对应向量之间的距离,同时最大化不相邻节点对应向量之间的距离。

上述思路是保留网络上的一阶连接关系,LINE算法还可以保留二阶关系,思路是类似的,本文就不深入展开了。

LargeVis算法

LargeVis是一种基于LINE的高维数据可视化算法。其流程为:

1、将高维数据表示为网络

2、使用LINE算法将网络嵌入到2维或3维空间

3、绘制出嵌入后得到的向量。

后面两步基于上文的LINE算法可以做到,那么如何将高维数据表示为网络呢?一个常用的方法就是构建kNN网络,即对每个样本,计算出距离其最近的k个样本,作为它在网络上的邻节点。

从高维数据构建kNN网络

LargeVis算法虽然简单,但效果却很不错,下面是一些数据集的可视化效果。注意,可视化过程是无监督的,颜色是后期根据样本类别加上去的。

DBLP上的作者合作关系可视化,颜色表示不同的领域

人脸的二维嵌入结果,相似的人脸位于相近的位置

本文来自企鹅号 - 人工智能技术媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 人工智能技术媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档