--- Log opened Wed Jun 01 00:00:48 2011 | ||
CIA-32 | shogun: Soeren Sonnenburg master * rcf2f5b2 / src/configure : | 00:31 |
---|---|---|
CIA-32 | shogun: add jblas / ujmp detection (assumes that the jblas.jar / ujmp.jar are | 00:31 |
CIA-32 | shogun: either in /usr/share/java/ or in CLASSPATH) - http://bit.ly/jMqzlm | 00:31 |
blackburn | sleep time! see ya | 00:37 |
-!- blackburn [~qdrgsm@188.168.4.252] has left #shogun [] | 00:38 | |
@sonney2k | n8 | 00:46 |
@sonney2k | but agreed | 00:46 |
* sonney2k stops doing shogunate maintenance | 00:47 | |
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has quit [Quit: No Ping reply in 180 seconds.] | 01:53 | |
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has joined #shogun | 01:54 | |
-!- alesis-novik [~alesis@188.74.87.84] has quit [Quit: I'll be Bach] | 02:33 | |
-!- alesis-novik [~alesis@188.74.87.84] has joined #shogun | 02:43 | |
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has joined #shogun | 08:50 | |
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has quit [Remote host closed the connection] | 09:23 | |
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has joined #shogun | 09:24 | |
-!- Daniel__ [3edb9704@gateway/web/freenode/ip.62.219.151.4] has joined #shogun | 09:29 | |
Daniel__ | Hi, in what file is the class SGString<> defined? | 09:29 |
Daniel__ | Its not in the documentation ... | 09:33 |
-!- blackburn [~qdrgsm@188.168.4.255] has joined #shogun | 09:51 | |
blackburn | wow | 09:51 |
VojtechFranc | alesis-novik, hi, can we talk? | 10:03 |
-!- Daniel__ [3edb9704@gateway/web/freenode/ip.62.219.151.4] has quit [Ping timeout: 252 seconds] | 10:13 | |
-!- heiko [~heiko@infole-06.uni-duisburg.de] has joined #shogun | 10:21 | |
@sonney2k | in datatype.h | 10:36 |
@sonney2k | I think we have to cancel the meeting today | 10:40 |
@sonney2k | and do it on Monday next week | 10:40 |
@sonney2k | blackburn, VojtechFranc, alesis-novik, mlsec, heiko would that fit better? | 10:41 |
VojtechFranc | sonney2k, for me both options are OK | 10:42 |
@sonney2k | I've had 50% complaining about the appointment today | 10:42 |
@sonney2k | nips deadline etc | 10:42 |
@sonney2k | VojtechFranc, how is it going with alesis-novik? Did you already do things? | 10:43 |
heiko | sonney2k, ok, next monday is ok for me | 10:43 |
-!- blackburn [~qdrgsm@188.168.4.255] has quit [Ping timeout: 248 seconds] | 10:43 | |
VojtechFranc | sonney2k, we are just starting the real programming. Alesis finished exams the last week. | 10:44 |
-!- blackburn [~qdrgsm@188.168.4.255] has joined #shogun | 10:44 | |
@sonney2k | (I am asking here before sending another stupid meeting schedule email causing yet more chaos) | 10:44 |
@sonney2k | VojtechFranc, so nothing yet - I guess? | 10:44 |
@sonney2k | but you have a plan I suppose :) | 10:44 |
@sonney2k | blackburn, monday also good for you? | 10:45 |
heiko | sonney2k, when will the meeting be next monay? I do not have time between 1330 and 1530 (german time) | 10:45 |
VojtechFranc | sonney2k, yes, we are following a plan, don't worry :) | 10:46 |
heiko | thats 1130 to 1330 utc i think | 10:46 |
@sonney2k | heiko 13 UTC so 15:00 german time | 10:46 |
@sonney2k | we could schedule it to 13:30 UTC | 10:46 |
heiko | ok, then I will be half an hour late | 10:46 |
heiko | ok | 10:46 |
heiko | this would be ok | 10:46 |
heiko | what about using a doodle? | 10:46 |
heiko | do you know this? is quite handy for getting meetings organized on the internet | 10:47 |
@sonney2k | heiko, yes I know but I am not really flexible | 10:47 |
VojtechFranc | sonney2k, actually I already forced myself to program the algorithm in Matlab and Alesis is now traying to do it in Shogunm | 10:47 |
@sonney2k | heiko, I need to have childcare in that period... | 10:47 |
@sonney2k | read grandparents | 10:48 |
@sonney2k | VojtechFranc, very good | 10:48 |
@sonney2k | btw congrats on you ICML paper! | 10:48 |
heiko | sonney2k, ok :) | 10:48 |
@sonney2k | things will be better in july though | 10:48 |
heiko | well, enjoy your family life. Currently I know what to do, so its ok | 10:50 |
@sonney2k | heiko in case you have things to discuss - ask. btw great job with the parameter setting generator! | 10:52 |
heiko | I will ask - thanks :) | 10:52 |
@bettyboo | heiko, yeah | 10:52 |
@sonney2k | heiko, I hope you can now rely on the CMachine infrastructure | 10:53 |
heiko | was quite a lot of fiddeling with new and delete :) | 10:53 |
@sonney2k | and perf measures etc | 10:53 |
heiko | I will check it out | 10:53 |
@sonney2k | I mean now you can do the real thing just assuming that you do modsel for a machine | 10:53 |
heiko | Currently I am building a method that sets the ParameterCombination trees to a acutal machine | 10:53 |
heiko | yes | 10:53 |
heiko | then I will build one simple splitting strategy and a simple grid search | 10:54 |
@sonney2k | good plan | 10:54 |
heiko | then when everything works fine, I will finish the subset stuff etc | 10:55 |
heiko | and then examples | 10:55 |
heiko | Just to remind you: I will leave for some climbing over the long weekend till sunday this evening | 10:56 |
@sonney2k | heiko, I remember - we still have 3 months. Given your progress it should be feasible if we don't stumble upon tons of stepping stones | 10:57 |
heiko | hope so :) | 10:58 |
heiko | do you still have a minute? | 11:00 |
@sonney2k | shoot | 11:00 |
heiko | just encountered a thing ... | 11:00 |
heiko | for the C parameter there is C1 and C2 | 11:00 |
heiko | for libsvm | 11:00 |
heiko | and also CSVM | 11:00 |
heiko | but you only hand ONE C-value in the constructor, both C1, B2 are then set to this value | 11:01 |
heiko | however, when I want to set a C parameter, it is not know, because there are only C1 and C2 | 11:01 |
heiko | but when you want to specify the C parameter for model selection you only want to set ONE C parameter | 11:01 |
@sonney2k | there are two C's one for positive and one for negative class | 11:02 |
alesis-novik | Morning | 11:02 |
VojtechFranc | alesis-novik, hi | 11:03 |
heiko | yes, but they are not used in the libsvm case when the svm is constructed by the constructor | 11:03 |
heiko | and when I want only ONE c parameter to be modseled, I cant just use C but I have to use C1 or C2 | 11:04 |
alesis-novik | So, I've started working on the algorithm. I've decided to start be rewriting the Gaussian class to work with decomposed matrices and in log domain | 11:04 |
heiko | Also, for example CLibSvm does only use one: | 11:04 |
heiko | param.C = get_C1(); //is the only call | 11:04 |
@sonney2k | alesis-novik, ok - just don't forget to write a weekly *short* email to the mailinglist keeping everyone updated | 11:06 |
alesis-novik | sonney2k, will do. | 11:06 |
VojtechFranc | alesis-novik, great. How can I see the code? | 11:06 |
alesis-novik | I'll commit it to my branch when I get it to the state where it compiles | 11:07 |
VojtechFranc | ok | 11:07 |
alesis-novik | When I do, it will be in https://github.com/alesis/shogun/tree/gmm | 11:08 |
VojtechFranc | ok, them please let me know when I can start testing | 11:09 |
alesis-novik | Not to break the class to much, I want to keep the get/set covariance as well (maybe something else will find the class useful) | 11:09 |
@sonney2k | heiko, checking | 11:10 |
@sonney2k | heiko, it uses C1 and C2 | 11:10 |
@sonney2k | float64_t weights[2]={1.0,get_C2()/get_C1()}; | 11:11 |
heiko | yes | 11:11 |
heiko | something like to set multiple parameters with one value is needed here | 11:11 |
@sonney2k | I think I/we have to modify code to make this work. | 11:11 |
@sonney2k | e.g. C2 will alsways be 0.0 by default | 11:12 |
@sonney2k | and if it is only C1 is used | 11:12 |
alesis-novik | VojtechFranc, so all in all, I'm planing to keep the structure as it is now, but rewrite the methods. | 11:12 |
heiko | ok, I see | 11:12 |
heiko | and then just change C1 in modsel if one wants the standard C | 11:13 |
@sonney2k | heiko, only alternative is to be able to set combinations of parameters | 11:13 |
heiko | do you think this problem will appear at another place? | 11:13 |
heiko | i would prefer the first way if this only happens here because it would be quite technical to implement the second one | 11:14 |
VojtechFranc | alesis-novik, I'm not familiar with the current GMM class. I need to look at it. | 11:14 |
alesis-novik | Essentially I use the Gaussian class within the GMM class to represent the mixture components | 11:15 |
@sonney2k | heiko, I don't like the C1/C2 thing either - I just don't know how to do it better | 11:17 |
@sonney2k | and I don't hope this happens more often | 11:17 |
@sonney2k | er do hope | 11:17 |
heiko | mmh | 11:18 |
VojtechFranc | alesis-novik, in which files is the definition of the current GMM ? | 11:18 |
alesis-novik | clustering/GMM.h | 11:18 |
alesis-novik | and I guess distributions/Gaussian.h | 11:19 |
@sonney2k | heiko, I mean we have cases where the SVM has just one C or one can set a vector of C's (example based) | 11:19 |
heiko | mmmh perhaps it is best to implement this multiple parameters-one value thing | 11:20 |
@sonney2k | heiko, or not and assume that we set a vector of Cs or just one C | 11:21 |
heiko | I dont understand this really, could you explain it again? | 11:21 |
@sonney2k | heiko, can't you set a vector of values? | 11:22 |
heiko | where? for the modsel parameters? | 11:23 |
@sonney2k | heiko, yes I mean currently a double or SGObject | 11:23 |
@sonney2k | but a vector of doubles then | 11:23 |
heiko | yes it is possible | 11:24 |
heiko | however, currently the modelSelectionParams only set single values or SGObject | 11:24 |
blackburn | sonney2k: yeah today is fine too :) | 11:29 |
VojtechFranc | alesis-novik, do you need at this point some help from my side? | 11:29 |
alesis-novik | VojtechFranc, did you look at the definitions? If the current structure seems fine, then I don't really have any more questions | 11:30 |
alesis-novik | I've rewritten the definition of Gaussian to have D and U instead of cov_matrix and added a "type" field | 11:31 |
alesis-novik | So now I'm rewriting the implementation of pdf methods | 11:32 |
alesis-novik | I'm still thinking of keeping the "constant" part in, computing it when new covariances are set | 11:33 |
VojtechFranc | regarding the definitions of GMM class, maybe it would be better if the constructor of the class was not liked to the EM algorihtm. | 11:36 |
VojtechFranc | GMM paramaters can be estimated by other methods | 11:36 |
VojtechFranc | it is also reasonable to add the parmaaters of GMM manually | 11:36 |
VojtechFranc | isnt it better to have a method train_em(max_iter,min_change) ? | 11:37 |
VojtechFranc | I mean the GMM class should be mainly a data structure to represent a mixture of Gaussians. The EM algorithm is just a single way how to set up its parameters. | 11:40 |
alesis-novik | Ok, so the constructor should just have the number of components (or initial number of components) and then a train_em method of actual EM | 11:41 |
VojtechFranc | yes, I think it is better | 11:42 |
VojtechFranc | maybe, there should be another method (or constructor) to setup the inital vaule of the GMM paramaters | 11:43 |
alesis-novik | Should that be in form of GMM(n, means, covs) or GMM(n, gaussians)? | 11:45 |
VojtechFranc | to me both options are OK | 11:46 |
VojtechFranc | however, the constructor should have also another argument : cov_type | 11:46 |
alesis-novik | ah, if it's GMM(n, gaussians) I guess that wouldn't be needed, because cov_type would be in the gaussians already | 11:47 |
VojtechFranc | I think the typicall usage will be GMM(n_componets,cov_type) then running the EM which sets the paramaters from training set | 11:47 |
alesis-novik | I'll start from that then, adding additional features later | 11:48 |
VojtechFranc | yes, I think it is good to start from simpler and then improve | 11:48 |
alesis-novik | Ah, I remembered another question: in gmm_em.m you use knnest to initially assign datapoints. Does that make a significant improvement over just iterating EM? | 11:50 |
VojtechFranc | knnest is used to get initial parameters; do you have a better way how to do it? | 11:52 |
VojtechFranc | you can either randomly initiallize the paramaters (Mean,Cov,Priors) or to randomly initialize p(y|x) assignments of data to clussters | 11:53 |
VojtechFranc | knnest returns the crisp assignment of examples to clusters. | 11:54 |
alesis-novik | The current one does a static initialization of covariances and KMeans for means | 11:54 |
VojtechFranc | the m-code I send you 1) finds n centers either randonmly or by k-mean, 2) it assigns the points to this centers and 3) estimates means and covs for each cluster | 11:56 |
alesis-novik | I guess I could try using KNN for parameter initialization, but I'm not sure if the current implementation in Shogun can do that. | 11:57 |
VojtechFranc | I see, so the queation is if shogun has implemnetaion of KNN? well I don't know. we should aske Soeren | 11:58 |
alesis-novik | Shogun has the implementation of KNN, but I don't think I can define centers manually and it has to be trained. Essentially is a proper KNN I guess. | 12:00 |
alesis-novik | wouldn't the effect be similar to initializing the covariance to a spherical one? (not by type, but covariance itself) | 12:02 |
VojtechFranc | it seems to be better if the initial estimate of covs fits the data, i.e. setting them to identity matrices is not generally a good idea | 12:03 |
blackburn | I have some 'experience' with shogun's KNN and could adapt it if it is needed | 12:03 |
VojtechFranc | I think it is not a big problem to do assigment of N points to K clusters... | 12:03 |
VojtechFranc | i.e. we need only the 1-NN | 12:04 |
blackburn | just fyi :) | 12:05 |
-!- blackburn [~qdrgsm@188.168.4.255] has quit [Quit: Leaving.] | 12:06 | |
alesis-novik | ok, I'll see what can be done. I can just implement 1-NN assignment in the method itself if needed | 12:08 |
alesis-novik | Since I won't really need to think about distances | 12:08 |
VojtechFranc | iii[ | 12:12 |
VojtechFranc | yes, exactly | 12:14 |
VojtechFranc | so, alesis I have to leave now. | 12:14 |
alesis-novik | Ok, I don't think I have any more questions now. | 12:15 |
alesis-novik | If I think of any, I'll e-mail you | 12:15 |
VojtechFranc | OK, great. And please, don't forget to write SHORT progress report as Soeren pointed out | 12:16 |
VojtechFranc | bye | 12:16 |
alesis-novik | See you | 12:16 |
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has quit [Remote host closed the connection] | 12:16 | |
-!- heiko [~heiko@infole-06.uni-duisburg.de] has quit [Quit: Leaving.] | 15:10 | |
CIA-32 | shogun: Heiko Strathmann master * re0842b9 / (2 files): added example of how to apply a set of CParameterCombination trees to a support vector machine (+9 more commits...) - http://bit.ly/kTeDKu | 20:00 |
CIA-32 | shogun: Soeren Sonnenburg master * r95e0dad / (src/configure src/java_modular/swig_typemaps.i): Merge branch 'master' of git://github.com/sploving/shogun - http://bit.ly/iCOdWt | 20:00 |
@sonney2k | serialhex, can you do thsi minor change before I apply your patch? | 20:02 |
-!- blackburn [~qdrgsm@109.226.70.249] has joined #shogun | 20:15 | |
blackburn | sonney2k: hey it is some message we shouldn't see in logs :) | 21:19 |
-!- blackburn [~qdrgsm@109.226.70.249] has quit [Quit: Leaving.] | 21:28 | |
-!- blackburn [~qdrgsm@109.226.70.249] has joined #shogun | 21:28 | |
-!- blackburn [~qdrgsm@109.226.70.249] has quit [Read error: No route to host] | 21:31 | |
-!- blackburn [~qdrgsm@109.226.70.249] has joined #shogun | 21:54 | |
-!- blackburn [~qdrgsm@109.226.70.249] has quit [Quit: Leaving.] | 22:26 | |
-!- alesis-novik [~alesis@188.74.87.84] has quit [Quit: I'll be Bach] | 22:44 | |
serialhex | sonney2k: which change? the one in the msg on github?? | 23:56 |
serialhex | btw, i msgd you back on that | 23:57 |
--- Log closed Thu Jun 02 00:00:30 2011 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!