-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Hello I'm M.H. Kwon, a graduate student from South Korea.
I read your paper 'autoencoder based data clustering' and found your github.
And I got into some questions.
-
The term related to clustering in the object function of your paper has minus sign. I think the term should be added with reconstruction error term.
-
In your matlab code - CG_Cluster.m, there is no squaring(^2) code in objective function.
Instead, you wrote as
"
f0 = -R_cluster/N*sum(sum( Hcen.*log(targetout))) ;
f1 = -R_data/N*sum(sum( XX(:,1:end-1).*log(XXout) + (1-XX(:,1:end-1)).*log(1-XXout)));
"
Would you explain above functions?
Did you use cross entropy for f1?
I found out the meaning of each variables like R_cluster, HCen, etc.
But can't understand why you used log, there is no squaring(^2), how f1 come from etc... -
Also I can't figure out this code :
"Ix4 = Ix4(:,1:end-1)+R_cluster/N*Hcen.*(targetout-1);"
I can understand this part : " Ix4 = Ix4(:,1:end-1)+R_cluster/N"
But can't understand this part : " Hcen.*(targetout-1)"
How did you get that term as a derivative of clustering objective function? -
I think this code "IO = R_data/N*(XXout-XX(:,1:end-1));"
should be changed into this "IO = R_data/N*(XXout-XX(:,1:end-1)).XXout.(1-XXout);"
Because XXout is the output of sigmoid which takes "-w7probs*w8" as input.
How do you think about that?
I'll look forward to your answer.
Thank you.