Angel-ML / Angel-ML/angel

2022Tencent Rhino-bird Open-source Training Program—Angel-Zihan Li-Week7&8

Offen
#1,242 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
6.8k
Forks
1.6k
Ø Merge
44 Min.
Gemergte PRs (30 T.)
1

Beschreibung

---
Angel项目第七周&第八周进展
---
**当前进展**:

1. 整体:
- 在第5、6周基本跑通local任务的基础上结合论文进行了进一步验证
- 最新的可视化结果表明算法实现基本正确
- 目前算法分布式版本任务除“Struc2VecPartition”和“Struc2VecPSModel”的实现外已基本完成
2. 具体:
- 在Zachary’s Karate Network(第5&6周的测试输入图)的基础上构建Mirrored Zachary’s Karate Network(基于论文)
- 其中两个Zachary’s Karate Network由0号顶点与34号(0+33)顶点间的边所连结,即所有属于[0,33]号的顶点分别对应其顶点号+34的顶点所对应(例如:0 对应 34; 14 对应 48 ...)
- 输入Mirrored Zachary’s Karate network得到各个顶点的embedding,基于PCA得到压缩后的各顶点的二维向量,并使用Origin2021对得到的二维向量进行可视化

**当前代码工作的测试及相应结果**:

1. 输入:
-Mirrored Zachary’s Karate network(68 nodes 157 undirected edges)
- walk length: 15
- epochNum(训练轮数): 5
- vector size (word2vec) : 10
- window size (word2vec) : 3
- stay(停留在当前层的概率): 0.5

2. 期望输出:
- 在可视化散点图中所有属于[0,33]号的顶点分别与其对应其顶点号+34的顶点应该尽可能靠近(结构相似度最高)

3. 实际输出:
- 运行后得到的采样路径
![res](https://user-images.githubusercontent.com/90893013/189536565-aea772f8-3d0a-46d3-9964-c0e8e5e216c7.png)
- 根据context path由word2vec生成各个顶点的embedding
![res2](https://user-images.githubusercontent.com/90893013/189536645-0bc3d4b4-6b10-4601-832e-64f7dfb1310d.png)
- 由pca对得到的embedding进行降维
![res3](https://user-images.githubusercontent.com/90893013/189536737-16af804a-361a-4e2e-8208-d72e440943fe.png)
![res4](https://user-images.githubusercontent.com/90893013/189536793-ae5b6d10-3792-4f43-8673-63bc96150cd0.png)
![res5](https://user-images.githubusercontent.com/90893013/189536811-eab2a103-3b1a-45d8-b84c-bb521b64d669.png)

4. 可视化结果:
- 在origin中输入
![originList](https://user-images.githubusercontent.com/90893013/189536878-be9aa311-8205-43cf-b3dd-96a7aac79fa3.png)
- 可视化为散点图
![visualization](https://user-images.githubusercontent.com/90893013/189536889-6b8cc7b2-e31f-4c56-b975-9bc5caf6552a.png)
- 显然在上图中可以看出很大比例属于[0,33]号的顶点分别在与其对应其顶点号+34的顶点附近,(如(34,68),(33,67),(38,4)等等),证明算法的实现基本正确,要得到更好的结果需要进一步调整超参数

**遇到的问题**:

- Q1: 如何将每轮算法的运行进行切分和封装以最终实现分布式
- S1:进一步参考源码中“DeepWalkPartition”和"DeepWalkPSModel"

**未来的工作**:
- Item1:继续进行算法分布式版本实现的工作,特别是实现“Struc2VecPartition”和“Struc2VecPSModel”
- Item2: 调整算法的超参数,优化得到的结果
- Item3:在算法整体实现完成后的基础上根据论文完善对实现代码细节的优化

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.