Skip to content

LINE 生成概率分布的时候总概率不是1 #31

Description

@jhuanging

norm_prob = [self.graph[edge[0]][edge[1]].get('weight', 1.0) *
numEdges / total_sum for edge in self.graph.edges()]
这个代码为什么要乘以numEdge 这样相加起来总概率就不是1了

Activity

  1. bound2020 commented on Apr 27, 2020

    @bound2020

    norm_prob = [self.graph[edge[0]][edge[1]].get('weight', 1.0) *
    numEdges / total_sum for edge in self.graph.edges()]

    这个代码为什么要乘以numEdge 这样相加起来总概率就不是1了

    这个应该是alias采样,所有概率相加的和不能为1

  2. jhuanging commented on Apr 27, 2020

    @jhuanging
    Author

    norm_prob = [self.graph[edge[0]][edge[1]].get('weight', 1.0) *
    numEdges / total_sum for edge in self.graph.edges()]

    这个代码为什么要乘以numEdge 这样相加起来总概率就不是1了

    这个应该是alias采样,所有概率相加的和不能为1

    t同样的操作这里相加起来不就是1了吗? alias采样的乘以numEdge操作已经在create_alias_table函数里面实现了

    total_sum = sum([math.pow(node_degree[i], power)
    for i in range(numNodes)])
    norm_prob = [float(math.pow(node_degree[j], power)) /
    total_sum for j in range(numNodes)]
    self.node_accept, self.node_alias = create_alias_table(norm_prob)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions