Skip to content

Commit 6e13a6e

Browse files
committed
Avoid positiveSigmoid becoming negative
1 parent 6fb7e41 commit 6e13a6e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

algo/src/main/java/org/neo4j/gds/embeddings/node2vec/Node2VecModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,10 +287,10 @@ private void trainSample(long center, long context, boolean positive) {
287287

288288
//When |affinity| > 40, positiveSigmoid = 1. Double precision is not enough.
289289
//Make sure negativeSigmoid can never be 0 to avoid infinity loss.
290-
double positiveSigmoid = Sigmoid.sigmoid(affinity) - EPSILON;
290+
double positiveSigmoid = Sigmoid.sigmoid(affinity);
291291
double negativeSigmoid = 1 - positiveSigmoid;
292292

293-
lossSum -= positive ? Math.log(positiveSigmoid) : Math.log(negativeSigmoid);
293+
lossSum -= positive ? Math.log(positiveSigmoid+EPSILON) : Math.log(negativeSigmoid+EPSILON);
294294

295295
float gradient = positive ? (float) -negativeSigmoid : (float) positiveSigmoid;
296296
// we are doing gradient descent, so we go in the negative direction of the gradient here

0 commit comments

Comments
 (0)