Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using for Regression #57

Open
Soodeh-K opened this issue Feb 24, 2020 · 0 comments
Open

Using for Regression #57

Soodeh-K opened this issue Feb 24, 2020 · 0 comments

Comments

@Soodeh-K
Copy link

Hi

Thank you for sharing your implementation in Pytorch.
I am using a similar GCN structure for regression analysis. Therefor the last layer would be the same as others. My proposed GCN follows the below structure.
model GCN(
(gc1): GraphConvolution (2 -> 2)
(gc2): GraphConvolution (2 -> 20)
(gc3): GraphConvolution (20 -> 20)
(gc4): GraphConvolution (20 -> 20)
(gc5): GraphConvolution (20 -> 2)
(gc6): GraphConvolution (2 -> 2)
)
The inputs are locations of 2D vertices and adjacency matrix of synthetic data (for simplicity a circular shape graphs).
The activation functions are tanh and the loss function is L2norm (because the problem is regression).
I’ve also initialized the weights and bias parameters as following:
def reset_parameters(self):
stdv = 1. / math.sqrt(10/self.nhid)
self.weight.data.uniform_(-stdv, stdv)
if self.bias is not None:
self.bias.data.fill_(0)
I feed the network with some noisy data (as input graphs) and the target is a circle. It is expected to networks can regressed a circular shape but outputs have elliptic shape. I got that this network comes to hight sensitivity respect to weight initialization.
Why this GCN couldn’t work to solve a regression problem? Could you please give me your advise and some feedback about this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant