pygcn
pygcn copied to clipboard
What is the difference between two adjacency matrix normalization?
Hello, thanks for the amazing work. In your implementation, you use D^-1A, but I noticed that some other work use D^-1/2AD^-1/2, I suppose these two calculation won't get the same normalized adjacency matrix. Which one should I choose? Or they will have the same performance? I think maybe in a large graph(A is very big), D^-1/2AD^-1/2 will roughly equal to D^-1A, is that correct?
You can treat this choice as a hyperparameter and try both versions if you want to be sure -- there will most likely be a slight difference in performance.
On Tue, Oct 8, 2019 at 9:01 AM Mrslock [email protected] wrote:
Hello, thanks for the amazing work. In your implementation, you use D^-1A, but I noticed that some other work use D^-1/2A D^-1/2, I suppose these two calculation won't get the same normalized adjacency matrix. Which one should I choose? Or they will have the same performance? I think maybe in a large graph(A is very big), D^-1/2AD^-1/2 will roughly equal to D^-1A, is that correct?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tkipf/pygcn/issues/47?email_source=notifications&email_token=ABYBYYFQXQCOO7HHSALN46TQNQV4VA5CNFSM4I6NYVVKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HQIMFZQ, or mute the thread https://github.com/notifications/unsubscribe-auth/ABYBYYH7NCL3AOR3YIRIUI3QNQV4VANCNFSM4I6NYVVA .
Thanks, but I still cannot figure out what's the meaning of D^-1/2AD^-1/2, I think D^-1A makes sense, while some people say D^-1/2A*D^-1/2 is symmetric, why we need symmetry?
Consider that all the nodes have the same amount of information to share with their neighbors. If node V has more neighbors than node U, then accordingly V contributes less to each of its neighbors than U does, and this is why we need symmetry. I hope this intuitive explaination make sense.
Lassser66
Consider that all the nodes have the same amount of information to share with their neighbors. If node V has more neighbors than node U, then accordingly V contributes less to each of its neighbors than U does, and this is why we need symmetry. I hope this intuitive explaination make sense.
Dear Lee, thank you for the answer but I am still confused. Doe sit mean that by making a matrix symmetric we consider the same amount of contribution for each node to its neighnours? Therefore, U and V have different amount of information, right? thank you in advance for your response
Consider that all the nodes have the same amount of information to share with their neighbors. If node V has more neighbors than node U, then accordingly V contributes less to each of its neighbors than U does, and this is why we need symmetry. I hope this intuitive explaination make sense.
Here, in the question he asks about normalization. Can you please explain why we need to make the adjacancey matrix symmetric? it almost double the number of adeges and add extra information to the system. Your help is apppreciated