verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
< zoq>
I could use arma::cube to get arma::mat to avoid the 'issue', but at another point I use Random from the existing GaussianDistribution class wich returns arma::vec.
vivekp has quit [Ping timeout: 264 seconds]
vivekp has joined #mlpack
vkbala89 has joined #mlpack
vkbala89 has quit [Quit: Page closed]
govg has joined #mlpack
vivekp has quit [Ping timeout: 248 seconds]
vivekp has joined #mlpack
< rcurtin>
zoq: you are right, we did the change so that we could standardize on using rowvecs as labels
< rcurtin>
so that the columns of a data matrix are the same shape as the labels, i.e. data is d x n and labels are 1 x n (instead of n x 1)
< rcurtin>
ah sorry change 'labels' to 'weights' in what I wrote
< rcurtin>
I see a couple of possibilities---we can add a utility function to turn a vec into a rowvec without any copying by using an advanced constructor
< rcurtin>
we can templatize Evaluate() to take an arbitrary input type and assume it is a vector type of some sort
< rcurtin>
maybe the first possibility there is the best, let me know what you think
vivekp has quit [Ping timeout: 248 seconds]
< zoq>
rcurtin: I see, you are right I could use memptr and an advanced constructor to solve the 'issues', not sure it's pretty, but I will test it.
< zoq>
I think if we go for rowvec we should make sure we do this over the entier codebase, right now e.g. the SGDTestFunction or the ann code do not follow the concept.
vivekp has joined #mlpack
< zoq>
same for the RosenbrockFunction I guess, haven't checked sparse_svm etc.
< rcurtin>
yeah, I thought that kirill opened issues to change everything in the library, but maybe there are some things that were missed
< rcurtin>
do you think I should open an issue for that?
< rcurtin>
I'm not sure what you mean about the RosenbrockFunction though, the idea was that when we have data (of shape d x n), any corresponding information about each point should be a row vector
< rcurtin>
but the RosenbrockFunction is just a test function and I don't think it has to do with data, so I am not sure where a rowvec would fit there
< zoq>
Ah right, I was talking about initialPoint.
< zoq>
I'll, test the advanced constructor idea and open an issue if necessary.
< rcurtin>
hmm, I'm not sure I follow---in this case initialPoint is just a starting point for optimization, not labels or weights or anything, so I don't think there is any need to change it
< zoq>
The problem is, I use the initial starting point to initalize the population size, so in case of SGDTestFunction or RosenbrockFunction I can do something like:
< zoq>
parameter(iterate.n_elem, size);
< zoq>
parameter.col(0) = iterate.col(0);
< zoq>
in case of logistic regression I would have to write:
< zoq>
parameter.col(0) = iterate.row(0).t();
< rcurtin>
oh, I see, you mean in the context of CMAES
< rcurtin>
I believe the optimizers are all built to accept a parameters matrix of any 2-dimensional shape (so, a row vector, a column vector, or a matrix)
< rcurtin>
meaning that if you want to optimize some function with CMAES that has a matrix-shaped parameters, then you would have to hold these with an arma::cube and that would be the only option
< zoq>
yeah, right, using col would just be easier since I could use the output of Random from the GaussianDistribution class for each function.
< rcurtin>
maybe to be more generic it should be something like:
< rcurtin>
then call Evaluate(populationParameter.slice(index), functionIndex)?
< rcurtin>
I am not sure if I have understood everything correctly there
< zoq>
yeah, in this case I don't have to change any other function/class.
< zoq>
have to step out, back later
< rcurtin>
ok, talk to you later
< wiking>
zoq around?
< rcurtin>
wiking: I am here but I am not who you are looking for :)
< wiking>
:)
< wiking>
do you have any preliminary results that involves shogun's random forest?
< wiking>
rcurtin, ^
< rcurtin>
wiking: not at the moment, those scripts have not been run yet
< wiking>
kk
< zoq>
rcurtin: You are absolutely right, somehow I thought I could assume that the data is a single col which isn't true. But I think I can just use the advanced constructor to solve all problems.
< zoq>
wiking rcurtin: I think we can just start the benchmark?
< rcurtin>
zoq: sure, I don't have a problem with that... I should disable slake since I am using that for other testing right now