Comments (4)
Hi Daniele, thanks for your question!
I agree with you that we should have taken a sample from the learned distribution over the latents (model.z) for a fully probabilistic model at test time. The correct way to do it, is to sample and then take an expectation over the predicted links. Since this is quite expensive to evaluate, we simply take the mean of the latents in this implementation (which is slightly different from taking the expectation after predicting links). This should probably also answer your second question.
On second thought, it should be possible to approximately correct for the bias introduced with this procedure, as all the decoder does is taking an inner product and applying a sigmoid function.
If you find a significant difference in predictive scores between the two approaches, let me know!
from gae.
The correct way to do it, is to sample and then take an expectation over the predicted links.
You mean that you'd compute adj_rec = np.dot(emb, emb.T)
(line 113) multiple times with different embeddings and then take the mean of the various adj_rec
s?
Thanks again
from gae.
Yes, that’s what I meant
from gae.
Beautiful, I get it now.
Cheers!
from gae.
Related Issues (20)
- How could I get the output graph? HOT 1
- invoice or id card structure prediction
- Can GAE work in inductive setting? HOT 1
- Graph embedding vs Node embedding
- Does it work with Tensorflow 2 and Python 3? HOT 3
- Enforcing Sparsity
- Use continuous feature values HOT 1
- A question about negative samples generation in preprocessing.py HOT 4
- How can I reproduce the experiment using only the adjacency matrix without node features? HOT 2
- Potential Problem about the KL term? HOT 1
- About reduce links of the graph.
- KL divergence loss
- Descriptions of x, tx, allx?
- About Dataset Splits
- No such file or directory: 'data/ind.cora.x'
- Experiment with the weighted adjacency matrix
- Issues in preprocessing.py (not 100% sure)
- How to visualize the latent space?
- How to use GAE to generate nodes embeddings
- Problems I encountered in the train.py program HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gae.