shenweichen / GraphEmbedding

Implementation and experiments of graph embedding algorithms.
MIT License
3.63k stars 990 forks source link

似乎alias采样的使用是有问题的 #34

Closed tsotfsk closed 3 years ago

tsotfsk commented 4 years ago

在node2vec中,你们在对邻居采样的时候,对权重(概率)做了归一化 `

    alias_nodes = {}

    for node in G.nodes():

        unnormalized_probs = [G[node][nbr].get('weight', 1.0)

                              for nbr in G.neighbors(node)]

        norm_const = sum(unnormalized_probs)

        normalized_probs = [

            float(u_prob)/norm_const for u_prob in unnormalized_probs]

        alias_nodes[node] = create_alias_table(normalized_probs)`

那么所有的概率都将小于1,使用alias采样时所有的概率都会分到small里,那么就和不使用是没区别的。 这样的话似乎就是等概率采样了?

kpsc commented 3 years ago

里面有设置乘上长度,arearatio = np.array(area_ratio) * l

tsotfsk commented 3 years ago

里面有设置乘上长度,arearatio = np.array(area_ratio) * l

got it, thx~