ChanServ changed the topic of #mlpack to: "mlpack: a fast, flexible machine learning library :: We don't always respond instantly, but we will respond; please be patient :: Logs at http://www.mlpack.org/irc/
abernauer has joined #mlpack
< abernauer> rcurtin: Yeah I will take your advice and go back to the hand written C approach. Rcpp's attribute feature and the compiler were having issues converting a reference to an Armadillo Matrix to type SEXP(pointer) to a SEXPREC C struct, or binary tree which makes sense.
< abernauer> Dealing with memory and garbage collection might come up again, but I will worry about that later.
xiaohong has joined #mlpack
KimSangYeon-DGU has quit [Remote host closed the connection]
< rcurtin> abernauer: sounds good
< abernauer> rcurtin: I' am interested in working on that issue with converting methods to call by value, but first going to see how this week goes before committing to that. Decent opportunity to improve my C++11 knowledge though.
< rcurtin> sounds good, happy to review a PR when it's ready
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
abernauer has quit [Remote host closed the connection]
xiaohong has quit [Read error: Connection timed out]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
Neo22 has joined #mlpack
Neo22 has left #mlpack []
jeffin143 has quit [Read error: Connection reset by peer]
< jenkins-mlpack2> Project docker mlpack nightly build build #409: STILL UNSTABLE in 3 hr 27 min: http://ci.mlpack.org/job/docker%20mlpack%20nightly%20build/409/
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
vivekp has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
< lozhnikov> jeffin143: Could you add the 10th blog post?
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
sumedhghaisas has joined #mlpack
xiaohong has quit [Ping timeout: 246 seconds]
KimSangYeon-DGU has joined #mlpack
< KimSangYeon-DGU> sumedhghaisas: Hi Ghaisas, I sent a message about the research documents and videos on hangouts, please can you check it?
vivekp has quit [Ping timeout: 245 seconds]
< sumedhghaisas> KimSangYeon-DGU: Hey Kim
< KimSangYeon-DGU> Hey!
< sumedhghaisas> I am just going through the results of changing the distance
< sumedhghaisas> So changing the distance does affect the training right?
< KimSangYeon-DGU> Right
< sumedhghaisas> even if the Phi is 180?
< KimSangYeon-DGU> Yeah
< sumedhghaisas> so in Test case 2 ... the final phi after training is around 90?
< KimSangYeon-DGU> However when phi 180, the initial positions should be close to the each center of the observations
< KimSangYeon-DGU> Wait a moment.
< KimSangYeon-DGU> When phi is 0, 0, the final phi is 0, when phi is 45, -45, the final phi is 30.31, -30.31, and when phi is 90, -90, the final phi is 97, -97
< KimSangYeon-DGU> There are three initial values of phi per test case
< KimSangYeon-DGU> I wrote the values in Appendix C -3 phi.
< sumedhghaisas> wait I am confused why are there 2 values in 2 clusters? I thought we modeled them as a single value
< KimSangYeon-DGU> Ahh, in the equation (8) in the original paper, it's represented as a subtraction.
< KimSangYeon-DGU> So, I write the code like that...
< sumedhghaisas> I see...
< KimSangYeon-DGU> Ahh, in the previous discussion, you mentioned about the subtraction.
< KimSangYeon-DGU> So, I wrote the code like that.
< KimSangYeon-DGU> Hmm.. am I wrong??...
< sumedhghaisas> ahh no that is fine no problem
< sumedhghaisas> so I am looking at Appendix C 3 Phi
< KimSangYeon-DGU> Yeah.
< sumedhghaisas> Could you train case d more so that the Phi settles?
< sumedhghaisas> I think the phi is still moving in the graoh
< KimSangYeon-DGU> Yeah
< KimSangYeon-DGU> I'll do that
< sumedhghaisas> hmm... these are interesting results but hard to understand
< sumedhghaisas> so only when the distance was too big they settled
< KimSangYeon-DGU> Yeah, when initial phi is 180.
< sumedhghaisas> but then the means were too close to the clusters
< KimSangYeon-DGU> Yeah
< KimSangYeon-DGU> When phi is 0 or 90, it can find correctly.
< KimSangYeon-DGU> But...
< KimSangYeon-DGU> Phi 180 counld't
< KimSangYeon-DGU> When I observed, it tends to be close each other when phi is 180.
< KimSangYeon-DGU> I guess the phi would represent cohesion of the clusters
< sumedhghaisas> In the next research with the crazy dataset as w call it
< sumedhghaisas> the results are interesting
< sumedhghaisas> when the phi is 0 the cluster are further apart
< KimSangYeon-DGU> I'm really surprised at your idea.
< KimSangYeon-DGU> Wait a moment
< sumedhghaisas> although the objective function is going negative
< sumedhghaisas> we need to fix that
< sumedhghaisas> can you analyze what value is making it negative
< sumedhghaisas> the constraint seems to positive
< sumedhghaisas> so its the log likelihood that is negative
< sumedhghaisas> that is strange
< KimSangYeon-DGU> Ahh, yes
< KimSangYeon-DGU> I suspect the constraint
< KimSangYeon-DGU> because it is so jagged
< KimSangYeon-DGU> In Appendix A-1
< KimSangYeon-DGU> I'll look into it
< KimSangYeon-DGU> Ahh, I know it is because of the unconstrained optimization
< KimSangYeon-DGU> * I see
< KimSangYeon-DGU> In appendix C, I increased the lambda higher, then the NLL isn't negative.
< KimSangYeon-DGU> The only difference between A and C is a lambda
< sumedhghaisas> I see we didn't constraint the probabilities themselves
< sumedhghaisas> if they are above 1 the objective function will be negative
< KimSangYeon-DGU> I agree
< sumedhghaisas> can you try clipping the gradients so that the values of probabilities do not go above 1?
< sumedhghaisas> basically check after each update if the probabilities are more than 1
< sumedhghaisas> if they are clip them back to 1
< sumedhghaisas> its little harder to do
< sumedhghaisas> but its worth a try
< KimSangYeon-DGU> Yeah, I'll try
< sumedhghaisas> this is 1 way
< KimSangYeon-DGU> Yeah
< sumedhghaisas> another is to add more constraint
< sumedhghaisas> basically add each probability as a lagrangian
< KimSangYeon-DGU> Ahh, right
< sumedhghaisas> but that won't make a difference as each of them is already in the lagrangian
< sumedhghaisas> hmmm
< sumedhghaisas> okay try clipping first lets try to figure out more on this
< KimSangYeon-DGU> Yes
< KimSangYeon-DGU> Ahh, Ghaisas, actually, I tried to restrict our probability to 1, however I read this link https://www.researchgate.net/post/Probabilities_values_in_a_Gaussian_Mixture_Model_are_very_very_big_Is_it_possible_Or_they_should_be_in_0_1
< KimSangYeon-DGU> Is it applied to our problem?
< sumedhghaisas> yes that right
< KimSangYeon-DGU> They said the probability can't be 1.
< sumedhghaisas> technically the probability can be bigger than 1
< sumedhghaisas> Although the log is creating the problem
< KimSangYeon-DGU> Ahh...
< sumedhghaisas> Could you actually investigate and see what exactly is generating the negative value?
< KimSangYeon-DGU> Yeah
< KimSangYeon-DGU> I'll try
< sumedhghaisas> rather than guessing lets actually see what is it
< sumedhghaisas> thanks :)
< KimSangYeon-DGU> Oh, thanks
< sumedhghaisas> I need to go to another meeting right now? But I will go over the documents again and see if I spot more.
< KimSangYeon-DGU> I'll write the findings about the probability
< KimSangYeon-DGU> Ahh yes
jeffin143 has joined #mlpack
jeffin143 has left #mlpack []
favre49 has joined #mlpack
sumedhghaisas has quit [Quit: Ping timeout (120 seconds)]
< favre49> zoq KimSangYeon-DGU I'm still having difficulty comprehending the code and translating it to c++, it makes no sense to me. Can any of you help me?
< KimSangYeon-DGU> favre49: Surely
< KimSangYeon-DGU> Actually, I'm familiar with the algorithm, but I can help you as much as I can
< KimSangYeon-DGU> Oops
< KimSangYeon-DGU> *I'm not familiar
< KimSangYeon-DGU> favre49: Is there any pull request about it?
favre4954 has joined #mlpack
< favre4954> KimSangYeon-DGU No issues, it's just the code snippet I sent you earlier
< KimSangYeon-DGU> favre4954: Yeah, is there any pull request about it?
< KimSangYeon-DGU> for mlpack?
< KimSangYeon-DGU> *in mlpack
< favre4954> The paper doesn't explain how it finds the extreme points, so this is the only resource I have
< favre4954> No, I haven't updated the current state of the code on that PR in a while
< KimSangYeon-DGU> Ahh... Okay, I'll go through it again
favre49 has quit [Ping timeout: 260 seconds]
< KimSangYeon-DGU> F is a 3D matrix, right?
< favre4954> I think so
< favre4954> https://pastebin.com/QPWeJuZj is how far I've gotten
< favre4954> In my case I have made F a matrix, where each column is the objective vector of a population member
< KimSangYeon-DGU> Ahh
< KimSangYeon-DGU> Can you let met know the type of extreme points?
< KimSangYeon-DGU> and `ideal_point`
< KimSangYeon-DGU> I guess it is 3D matrix
< favre4954> I'll try to find out and get back to you
< KimSangYeon-DGU> Yeah
< KimSangYeon-DGU> I'll look into it as well
< KimSangYeon-DGU> favre4954: If you leave a message, I'll read it after I'm back to my home.
< KimSangYeon-DGU> I also read some references about NSGA-3
KimSangYeon-DGU has quit [Remote host closed the connection]
< favre4954> KimSangYeon-DGU I'll try to look into it more tonight too. This is what's stalling my progress, for the most part
favre4954 has quit [Remote host closed the connection]
ImQ009 has joined #mlpack
xiaohong has joined #mlpack
KimSangYeon-DGU has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Ping timeout: 264 seconds]
jeffin143 has joined #mlpack
vivekp has joined #mlpack
jeffin143 has quit [Remote host closed the connection]
vivekp has quit [Ping timeout: 268 seconds]
< zoq> favre4954: Sorry for the slow response, which part, would it be helpful if I implement the asf function?
KimSangYeon-DGU has quit [Ping timeout: 260 seconds]
favre49 has joined #mlpack
< favre49> zoq: I don't think that will be necessary, hopefully
< favre49> So F is a 2d matrix, which is row major instead of column major
< favre49> I'm still stuck on the same line I was as before though - how does multiplication of a 2d matrix by a 3d matrix work in this case?
< favre49> And I still don't understand what the axis argument is doing?
< zoq> favre49: Let me open the code.
favre49 has quit [Remote host closed the connection]
< zoq> favre49: asf isn't a 3d matrix, it's a 2d.
favre49 has joined #mlpack
< zoq> favre49: Or do you mean: asf[:, None, :]
< favre49> Yes that's what I meant
< favre49> Isn't that reshaping it into a cube? Or have i misunderstood
< zoq> favre49: Right, so it looks like the multiplication is elementwise
< favre49> As in? I don't get it, I'm sorry
< favre49> so in the case A * B[:, None, :] , it multiplies A(1, 1) with B(1,1), A(1,2) with B(1,2) and so on?
< zoq> favre49: I think so, let me put together a simple example
< favre49> Alright, thanks!
ImQ009 has quit [Quit: Leaving]
< zoq> favre49: So it's A * B.row()
< zoq> favre49: I think that is a strange way to write that operation.
< favre49> Yes, it's not very legible. I'm not too sure why it's done like this
< favre49> Thanks for the help, I think I can do it now. I'll try implementing it in a couple hours, I need a nap
< zoq> Sure, have a good sleep.
< favre49> Thanks :)
favre49 has quit [Remote host closed the connection]
< zoq> As I said happy to implement the method.
< zoq> In case you run into any issues.
jeffin143 has joined #mlpack
< jeffin143> lozhnikov : Probably we should use a template parameter instead since the comparison is performed inside the loop.
< jeffin143> I didn't understand , where should I put the template parameter ?
< lozhnikov> jeffin143: Never mind. I am not quite sure. Probably the compiler is able to optimize the comparison out.
< jeffin143> Also about enum asz
< jeffin143> Class ..?? Should I go with enum class or bool will work.?
< lozhnikov> jeffin143: Yes, enum class is definitely better than a number of bools.
< jeffin143> Ok , then I will try to rewrite it*
< lozhnikov> Since smooth_idf doesn't depend on other variables it can be bool.
jeffin143 has quit [Read error: Connection reset by peer]
jeffin143 has joined #mlpack
< lozhnikov> But sublinear_tf, term_frequency and binary should be of type enum class.
< lozhnikov> Besides, we use camel case for all variable names.
< jeffin143> Ok
< jeffin143> I will make those changes
jeffin has joined #mlpack
jeffin143 has quit [Ping timeout: 245 seconds]
< rcurtin> hey everyone, I think that it's time to make another release
< rcurtin> (actually that time was probably a while ago but it didn't help that I was traveling over the summer)
< rcurtin> so we will have to figure out which PRs are "almost ready" and we should wait for, and which we can incorporate in a future release
< rcurtin> if there is interest we can have another mlpack video meeting about it; I'll send an email to the list in the upcoming days
< rcurtin> :)
< zoq> Count me in for the video meeting.
favre49 has joined #mlpack
favre49 has quit [Remote host closed the connection]