Tiiiger / SGC

official implementation for the paper "Simplifying Graph Convolutional Networks"
MIT License
831 stars 145 forks source link

some question about the structure #16

Closed LinzzMichael closed 5 years ago

LinzzMichael commented 5 years ago

I am a newer to graph neural network, I have read the paper and code, But I have a question, as we can see in the model code, self.W = nn.Linear(nfeat, nclass), that's the SGC model, why I think It's just a Bp neural network, it confuse me a lot.

Tiiiger commented 5 years ago

Hi there,

I don't think I understand your questions. What is a Bp neural network?

LinzzMichael commented 5 years ago

Maybe I didn't make myself clear,I just confuse that this model is just a linear transfer, so I can't not quiet understand why it is a graph convolution network.

Tiiiger commented 5 years ago

I believe your understanding is correct. it is just a linear classifier : ) but that's the point, in section 2 of our paper we show that SGC is essentially a logistic regression model trained on propagated features. I would recommend going over section 2.

closing now. but let me know if you have further questions.

LinzzMichael commented 5 years ago

ok,maybe I need to read the paper again, thank you for reply

LinzzMichael commented 5 years ago

I have another question, where is the implementation of the equation S = D~ − 1 2 A~ D~ − 12 in the code, and what the meaning of 'adj + adj.T.multiply(adj.T > adj) - adj.multiply(adj.T > adj)'?

Tiiiger commented 5 years ago

You may check https://github.com/Tiiiger/SGC/blob/master/normalization.py#L16

Re: 'adj + adj.T.multiply(adj.T > adj) - adj.multiply(adj.T > adj)' this is simply making the adjacency matrix symmetric.