Skip to content

Discrepancy in auxiliary functions between MAD paper and junto's implementation #10

Description

@abhranilc

In http://talukdar.net/papers/adsorption_ecml09.pdf, Pg. 5,
the monotonically decreasing function
f(x) = log(beta) / log(beta + e^x)
is used in computing
cv = f(H[v]) where H[v] is the entropy of transition probabilities for each node
However, in junto's code, src/main/scala/upenn/junto/graph/Vertex.scala, line 162,
var cv = math.log(beta) / math.log(beta + ent)
instead of
var cv = math.log(beta) / math.log(beta + math.exp(ent))

This discrepancy is resulting in the converged labels to be different when using the paper's formula from using the junto's formula.

Moreover, in src/main/scala/upenn/junto/graph/Vertex.scala, lines (170-178), special handling for the case where jv (dv in paper) is 0. However, if the computation of cv uses the form in paper, this case of jv (or dv) being 0 would not arise.

I am trying to understand why this discrepancy was introduced and what are the implications of the converged labels being different between the two cases.

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