首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

从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上的作者合作关系可视化,颜色表示不同的领域

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171231A0P3GP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券