IRC logs of #shogun for Friday, 2012-05-25

--- Log opened Fri May 25 00:00:41 2012
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has joined #shogun00:08
shogun-buildbotbuild #551 of java_modular is complete: Failure [failed test_1]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/java_modular/builds/551  blamelist: sonne@debian.org00:20
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has quit [Quit: Page closed]01:38
-!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Ping timeout: 252 seconds]01:49
-!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun01:49
CIA-113shogun: Sergey Lisitsyn master * rede11ce / src/shogun/classifier/svm/SVMOcas.cpp : Made SVMOcas support subsets - http://git.io/27jFxw01:52
CIA-113shogun: Sergey Lisitsyn master * r37f1841 / (2 files in 2 dirs): Removed a few warnings - http://git.io/Q2r26g01:52
-!- av3ngr [av3ngr@nat/redhat/x-zaxxfumfvxtiubyv] has joined #shogun02:10
-!- blackburn [~blackburn@188.122.250.167] has quit [Quit: Leaving.]02:11
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving]02:17
-!- Netsplit *.net <-> *.split quits: gsomix02:38
-!- Netsplit *.net <-> *.split quits: @sonney2k, sonne|work, av3ngr02:39
-!- Netsplit over, joins: gsomix02:42
-!- av3ngr [av3ngr@nat/redhat/x-zaxxfumfvxtiubyv] has joined #shogun02:44
-!- sonne|work [~sonnenbu@194.78.35.195] has joined #shogun02:44
-!- sonney2k [~shogun@7nn.de] has joined #shogun02:44
-!- ServerMode/#shogun [+o sonney2k] by pratchett.freenode.net02:44
-!- Netsplit *.net <-> *.split quits: gsomix02:45
-!- Netsplit over, joins: gsomix02:51
-!- vikram360 [~vikram360@117.192.170.193] has joined #shogun03:01
-!- vikram360 [~vikram360@117.192.170.193] has quit [Read error: Connection reset by peer]03:50
-!- gsomix [~gsomix@83.234.54.21] has quit [Read error: Operation timed out]06:24
-!- gsomix [~gsomix@83.234.54.21] has joined #shogun06:24
-!- gsomix [~gsomix@83.234.54.21] has quit [Quit: Ex-Chat]07:24
-!- pluskid [~pluskid@li400-235.members.linode.com] has joined #shogun07:43
-!- mode/#shogun [-bb *!*46e7e626@*.70.231.230.38 sonney2k!~shogun@7nn.de] by sonney2k07:55
-!- uricamic [~uricamic@2001:718:2:1634:5c56:9bc4:b0a1:c02b] has joined #shogun08:49
-!- pluskid [~pluskid@li400-235.members.linode.com] has quit [Ping timeout: 244 seconds]09:38
-!- av3ngr [av3ngr@nat/redhat/x-zaxxfumfvxtiubyv] has quit [Quit: That's all folks!]09:55
-!- pluskid [~pluskid@111.120.53.76] has joined #shogun09:56
-!- pluskid [~pluskid@111.120.53.76] has quit [Ping timeout: 252 seconds]10:33
-!- pluskid [~pluskid@li164-218.members.linode.com] has joined #shogun10:33
-!- pluskid [~pluskid@li164-218.members.linode.com] has quit [Ping timeout: 240 seconds]10:42
-!- eric___ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has joined #shogun10:44
eric___hi all10:44
eric___sonne|work: is the new multiclasslabels interfaces working ?10:44
sonne|workeric___: should be10:53
eric___eric___: I will test it today, thx10:55
eric___sonne|work: btw, I have mentioned few days ago, smthg strange with the multiclass Xvalid: for some kernel machine, the Xval mean is always equal to 0.1. When I split my data manually several times, I got mean > 0.7*10:57
sonne|workeric___: can you give us some example to reproduce the problem?10:58
-!- pluskid [~pluskid@111.120.53.76] has joined #shogun10:59
eric___sure. how can I send you the features ?10:59
sonne|workeric___: how big is this? can you reproduce this on some small example (the smaller the better, e.g. random/artificial data)11:03
eric___sonne|work: okay, I will try to reproduce the problem. I am currently working with visual data so it's pretty big.11:11
sonne|workeric___: thanks - that will make it much easier to fix the problem11:15
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun11:17
sonne|workn4nd0, pluskid have you seen - we are drowning in warnings http://shogun-toolbox.org/buildbot/builders/java_modular/builds/553/steps/compile/logs/warnings%20%28213%2911:22
sonne|workif you have time please fix the ones in your code11:22
pluskidsure11:24
eric___No more "get_label" method in CLabels ?11:35
-!- alexlistens [6d2d0022@gateway/web/freenode/ip.109.45.0.34] has joined #shogun11:36
sonne|workeric___: exactly11:36
sonne|workeric___: each machine now returns a particular label object, like CMulticlassLabels (for multiclass machines)11:37
sonne|worketc11:37
sonne|workso you will need to do CMulticlassLabels* mc_labels=CMulticlassMachine::obtain_from_generic(labels);11:38
sonne|workmc_labels.get_label()11:38
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has joined #shogun11:38
eric___sonne|work: perfect11:39
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving]11:43
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun11:43
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun11:45
n4nd0nicococo: hey! I started yesterday to write some code to input the problem to mosek11:47
-!- karlnapf [~heiko@host86-171-220-235.range86-171.btcentralplus.com] has joined #shogun11:48
karlnapfsonney2k, in 20 mins it is 10 UTC not 11 UTC11:48
karlnapfI thought we would meet at 11 UTC?11:48
karlnapfsonne|work ^11:48
-!- vojtech [9320543b@gateway/web/freenode/ip.147.32.84.59] has joined #shogun11:58
vojtechsonne: hi Soeren, is the meeting at 10:00UTC or 11:00UTC ?11:59
-!- blackburn [~blackburn@188.122.250.167] has joined #shogun12:04
eric___sonne|work: I created CMulticlassLabels and trained mc_svm. But I cannot write CMulticlassLabels* training_output = mc_svm->apply(training_features); because "error: invalid conversion from 'shogun::CLabels*' to 'shogun::CMulticlassLabels*' [-fpermissive]" I have to write CLabels* training_output = mc_svm->apply(training_features); Is that what you wwant ?12:05
eric___sonne|work: okay I find out .. Have to use "apply_multiclass" has we discuss last time12:06
sonne|work11 UTC12:06
sonne|worksry12:06
blackburneric___: you may use casting there12:06
eric___blackburn: yes that's what I feared, casting casting .. :)12:07
eric___gj btw12:07
sonne|workeric___: or you use the helper directly CMulticlassLabels* mc_labels=CMulticlassMachine::obtain_from_generic(mc_svm->apply());12:09
blackburnpluskid: I have crash here with ECOC encoding decoding12:11
blackburnlet me try to come up with reproducing example12:11
blackburnpluskid: ok easy12:12
blackburnjust train and apply machine two times12:12
eric___I have crashed LibSVM model->nr_class=9 while num_classes=10, never happened before with simple CLabels12:17
eric___going for lunch, see you.12:17
sonne|workeric___: assertion or what?12:18
sonne|workI found many mistakes in examples simply because we didn't have checks :)12:18
pluskidblackburn: with any ECOC strategy?12:21
-!- karlnapf1 [~heiko@host86-185-113-34.range86-185.btcentralplus.com] has joined #shogun12:21
-!- blackburn [~blackburn@188.122.250.167] has quit [Read error: Connection reset by peer]12:22
-!- alexlistens [6d2d0022@gateway/web/freenode/ip.109.45.0.34] has quit [Ping timeout: 245 seconds]12:22
-!- karlnapf [~heiko@host86-171-220-235.range86-171.btcentralplus.com] has quit [Ping timeout: 245 seconds]12:23
-!- blackburn [~blackburn@31.28.59.65] has joined #shogun12:23
karlnapf1tets12:25
sonne|workkarlnapf1: tuts12:27
karlnapf1sonne|work :D12:27
karlnapf1just checking my connection12:27
sonne|work20% package loss12:27
karlnapf1annoying12:28
karlnapf1I think Ill go somewhere else next week during the day12:28
karlnapf1all the workshops and coffee places here got better connections than mine at home12:29
sonne|worklets hope my mobile phone will work :)12:29
karlnapf1sonne|work are you IRCing via phone?12:31
karlnapf1nice12:31
sonne|workkarlnapf1: notebook -> mobile phone12:31
karlnapf1ah alright12:31
sonne|workbtw pluskid that is how I am only in trains12:32
sonne|worknow way that german trains have wlan :)12:32
pluskidsonne|work: oh, I see! :D12:32
sonne|workwell some ICEs have but...12:32
karlnapf1sonne|work the public transport in Berlin hasnt, its too poor ;)12:32
sonne|workyeah12:32
sonne|workI am already happy if trains go at all12:33
karlnapf1London underground has neither, and there is also no mobile internet available there12:33
karlnapf1hehe12:33
sonne|workkarlnapf1: I've just seen this nice graph http://www.ohloh.net/p/shogun12:33
sonne|workwith the mouse cursor hover over F12:33
karlnapf1I keep adapting to the trains here: If you have to wait more than 5 mins you get angry12:34
karlnapf1sonne|work yes, I already knew that one. its nice :)12:34
karlnapf1.12:35
pluskidsonne|work: git says I have changes to commit in the data directory12:36
pluskidand git diff shows this: http://pastebin.com/BqfhYZRw12:36
pluskiddo you know what's this?12:37
sonne|workpluskid: you have to do git submodule update12:37
sonne|workpluskid: we have the data in a seperate repository12:37
sonne|workseparate12:37
pluskidsonne|work: ah, works, thank you12:37
blackburnpluskid: will you take a look?12:38
sonne|workblackburn: you didn't really give more details...12:38
pluskidblackburn: yeah, after I fix the doc warnings12:38
blackburnjust train multiclass machine two times12:38
blackburnBOOM!12:39
blackburntrain and apply12:39
blackburnfor some reason submachine is null12:41
CIA-113shogun: Chiyuan Zhang master * r93b9050 / (14 files in 4 dirs): Fix missing doc warnings and correct some label types in MC Strategies. - http://git.io/n1-yQw12:43
CIA-113shogun: Soeren Sonnenburg master * r6c4cdd5 / (14 files in 4 dirs): Merge pull request #552 from pluskid/multiclass - http://git.io/cSPxHw12:43
blackburnhahah12:43
blackburnsonne|work: one more reason to use *STANDART* data structures12:44
pluskidblackburn: you find the bug?12:44
blackburnyes12:45
pluskidwhat's it?12:45
blackburnclear_array12:45
blackburninstead of reset_array12:45
pluskidhmm... where?12:45
blackburnin train of multiclass machine12:45
pluskidbtw: you are super fast :D12:45
pluskidI haven't finished re-compiling yet :D12:46
blackburnccache :D12:46
pluskidalready using ccache+clang12:46
blackburnhmm12:46
pluskiddon't know whether using ccache-swig might helps further12:46
pluskidalready much faster than before12:46
blackburnfull recompile takes 3-4 mins here12:46
pluskidwith ccache?12:47
blackburnyes12:47
pluskidhmm, then I'm not too slower than yours :D12:47
blackburnnot slower at all I think12:48
blackburncause I am using gcc12:48
blackburnafaik it is slower?12:48
pluskidblackburn: btw, will you fix it?12:48
pluskidgcc uses more memory12:48
CIA-113shogun: Sergey Lisitsyn master * r19ddc93 / (2 files): Fixed wrong handling of submachines array in multiclass machine - http://git.io/a1TchQ12:48
blackburnfixed what?:D12:48
pluskidhaha12:48
pluskidsuper fast12:49
-!- oliver [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has joined #shogun12:51
-!- karlnapf1 [~heiko@host86-185-113-34.range86-185.btcentralplus.com] has quit [Quit: Leaving.]12:54
-!- heiko [~heiko@host86-185-113-34.range86-185.btcentralplus.com] has joined #shogun12:55
@sonney2kblackburn, the PolarBearAttack msg me with "learn not to ban hackers"12:55
@sonney2kcool or?12:55
blackburn:D12:55
blackburnare you trying to convince me it is a bot?12:56
@sonney2kthat bot was even better than betty12:56
blackburnI believe but you would have to agree it is a very cool and smart bot12:56
blackburn:D12:56
@sonney2kyeah it is12:56
@sonney2kpluskid if you know of a way to split up a >10 MB .cpp file and to compile the splits separately but link them together in the end12:58
@sonney2kthat would speed it up!12:58
blackburnsonney2k: should ocas be faster than liblinear (binary)?12:58
@sonney2kdepends on problem12:58
@sonney2klow dim problems - maybe12:58
pluskidsonney2k: can't we compile different modules separately? (Evaluation, Classifier, etc.)12:58
@sonney2kbut ask vojtech :D12:58
blackburnoh meeting in a min12:59
blackburn:D12:59
@sonney2kpluskid, yeah we had that - but this was causing lots of grief because modules needed to know types from other modules12:59
pluskidhmm...12:59
@sonney2kpluskid, example is: you need Labels in evaluation13:00
@sonney2kkernels need features13:00
@sonney2kmachines need features13:00
@sonney2ketc13:00
@sonney2kso now we only have shogun/modshogun left13:00
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has joined #shogun13:01
pluskidI'm not sure, but as long as header files are included properly, they can be compiled separately, aren't they?13:01
@sonney2kpluskid, but a general tool must exist to split up .cpp files13:01
pluskideach module into an .o file, and then link together13:01
@sonney2kI mean it is not that difficult13:01
pluskidhmm...13:01
@sonney2kpluskid, it is not libshogun that is big13:01
@sonney2klibshogun compiles in a few sec13:02
@sonney2kit is the interfaces13:02
@sonney2khmmhh so who is missing13:02
-!- cheng [73406f11@gateway/web/freenode/ip.115.64.111.17] has joined #shogun13:02
@sonney2kcheng13:02
@sonney2kwelcome13:02
pluskidyeah, I see swig takes a long time13:02
@sonney2k(only swig)13:02
@sonney2kheiko - is arthur joining?13:02
@sonney2kdoes anyone know where wiking is / alex binder?13:02
chengHi sorry to be a bit late13:03
heikosonney2k, I am not sure, I wrote him another email, but he is always very busy during the day13:03
@sonney2knicococo, ?13:03
pluskidwill discuss about this compiling stuff later13:03
@sonney2knips deadline yeah13:03
heikosonney2k, yes, I am involved this time aaaah :)13:03
@sonney2kvery good13:03
@sonney2kcite shogun in you paper13:03
@sonney2kblackburn, you forgot that last time13:03
blackburnsonney2k: what?13:04
blackburnwhat did I forgot?13:04
pluskidcite shogun13:04
@sonney2kso lets wait 1 more minute13:04
@sonney2knot good that wiking / alex are missing13:04
@sonney2klet me write them an email13:04
-!- alexlistensagain [c25fae8d@gateway/web/freenode/ip.194.95.174.141] has joined #shogun13:05
@sonney2kalexlistensagain, ah hey13:05
alexlistensagainthe captchas in the webchat are very hard gfor me to identify ^^13:05
@sonney2kalexlistensagain, any idea where wiking is?13:05
n4nd0:D damned captchas13:05
blackburnsonney2k: I did not forget to cite shogun13:05
@sonney2kok then13:05
alexlistensagainI will ask viking via mail13:06
@sonney2kI already asked13:06
alexlistensagainmaybe he is eating now: 1 PM13:06
@sonney2kI know gsomix is not joining13:06
@sonney2kwell date is known for 1 month...13:06
@sonney2kanyways13:06
@sonney2klets start13:06
@sonney2khello and welcome everyone to our second meeting.13:06
@sonney2kBefore we continue - nico goernitz (nicococo) and alexander binder (alexlistensagain) are here today too. So please introduce yourself. Nico care to start?13:07
@sonney2kalexlistensagain, could you then? seems nico is asleep.13:07
alexlistensagainI am Alex13:07
alexlistensagainI am advising Viking (Viktor)13:08
alexlistensagainon a project about latent structures SVM13:08
alexlistensagainI am doing machine learning and computer vision at TU Berlin13:08
alexlistensagainnear the end of my PhD (some 120 oages written ;))13:08
@sonney2kcongrats!13:08
alexlistensagainif you want something from me pls kick me13:08
@sonney2kthank alexlistensagain13:09
alexlistensagainbest is a string of nagging mails13:09
@sonney2knicococo, alive now?13:09
blackburnalexlistensagain: are you familiar with HOG btw?13:09
alexlistensagainyes13:09
@sonney2kif not then let me give you an update over what happened to shogun in the last 4 weeks13:09
blackburnalexlistensagain: hmmm can I ask you some Qs after the meeting?13:09
@sonney2kWith the help of pluskid, n4nd0, wiking, blackburn, heiko and gsomix we made automagic memory (de)-allocations in SGVector, Matrix etc possible.13:09
alexlistensagainyes, you can do13:10
@sonney2kOne can now just write x=SGVector<float64_t>(10) to get a vector of length 10 and does not have to take care of de-allocating memory.13:10
@sonney2ky=x and all that are zero-copy operations and ref-counting is being taken care of underneath.13:10
@sonney2kSo thanks to all for the help in getting this pretty nice system done :-) We still have to convert SGString/List and SGSparseMatrix/Vector to this system but this will be much less intrusive.13:10
@sonney2kHowever...13:10
@sonney2kThe probably most intrusive change is that we went from normal double* which machines returned as output to more complex Label objects13:11
@sonney2kBinaryLabels, MulticlassLabels, RegressionLabels, StructuredOutputLabels,...13:11
@sonney2kE.g binary labels are now just sign(f(x) aka +1/-1 and have f(x) stored as 'confidences')13:11
@sonney2kI also want to thank students for staying around in #shogun - only due to that we could quickly render decisions in joint discussions about how things should develop.13:11
@sonney2ksome could be a bit more active / communicative though but hey13:11
@sonney2kso any questions to that?13:12
@sonney2k113:12
@sonney2k213:12
@sonney2k313:12
chenglike!13:12
@sonney2k413:12
@sonney2k...113:12
@sonney2k013:12
@sonney2kok13:12
blackburneverybody is asleep13:12
alexlistensagainI liked it as well13:12
n4nd0awake here :P13:12
@sonney2kthen lets continue13:12
alexlistensagainwe ould have needed labels w structrue anyway13:12
@sonney2kOK, so GSoC is now officially running since the beginning of this week and you know that you are on track if you (your student) has already committed the first patches related to his work. Recall mid-term evaluations are already due on July 13 - so by then the first part of the work should be done.13:12
vojtechsonney2k: does it mean you defined types for output spaces?13:13
@sonney2kvojtech, better discuss that with nicococo and n4nd013:13
@sonney2kafterwards13:13
vojtechok13:13
@sonney2kvojtech, but more or less ... coffin for SO13:13
vojtechI see13:14
@sonney2kback to topic13:14
n4nd0vojtech: that's the plan but it is not looking yet like that :S13:14
@sonney2kPlease note that we don't want one big patch at the end of mid-term/GSoC but many small ones continuously floating in.13:14
n4nd0vojtech: we can talk about it later if so13:14
blackburnit looks like everybody is waiting for the afterparty13:14
@sonney2kSo maybe each student/mentor combination can quickly state where they are13:14
@sonney2kwhat they have been doing and problems they see (of any nature).13:14
@sonney2kAgain if someone is not happy with the work say so either here or to us in private and we see what we can do.13:14
alexlistensagainviking started to code something13:15
@sonney2kalexlistensagain, something sounds like something :)13:15
@sonney2kI guess with wiking missing you should summarize later13:15
alexlistensagainI did not scrutinize it but I have no complaints now13:15
@sonney2ksince everyone has to write short 'I did that' summaries starting from monday to the mailinglist ... I hope we will find out more details13:16
@sonney2kvojtech, uricamic : want to continue?13:16
vojtechwell, our plane is to first finalize the plain BMRM using the SOL intefreace of shogun13:17
vojtechI don't know if the interface is finsihed?13:17
@sonney2kvojtech, well it is merged but it will only be finished when your BMRM is merged in there13:18
vojtechonce we have the template for SOL optimizer we will implement our bundle method in C13:18
vojtechcurrently we have Matlab version13:18
@sonney2kvojtech, uricamic: so I suggest to have some sub-meeting with n4nd0, nicococo after this session13:18
@sonney2kto get it done13:18
vojtechis there any algorithm using the SOL interface ?13:19
vojtechsonney2k: ok, we can discuss the SOL intefrace in a subgroup13:19
@sonney2kvojtech, n4nd0 wrote a summary here https://iglesiashogun.wordpress.com/13:19
n4nd0vojtech, uricamic: I have started a basic algorithm for SO training, is not yet finished though13:19
vojtechI read the pdf he sent13:19
vojtechI have queastions but maybe it is better for the SOL people13:20
vojtechonly13:20
uricamicn4nd0:  I have read the blog, nice work13:20
@sonney2kvojtech, n4nd0, uricamic, alexlistensagain I guess you all are affected and so should continue the discussion in a subgroup (after the meeting?)13:20
n4nd0uricamic: thank you! let me know about your comments and thoughts13:20
blackburn#shogun-sol13:21
blackburn:D13:21
@sonney2kn4nd0, nicococo: so please give us an update :)13:21
n4nd0and that ^ is to all in general, it may be better to introduce changes asap13:21
n4nd0all right13:21
n4nd0so we design the interface for SO learning in shogun13:21
alexlistensagainI wanted to discusswith viking where we maybe would like changes in n4ndos framework13:22
alexlistensagainwill do that today or Tue13:22
n4nd0in this post is more or less explained http://iglesiashogun.wordpress.com/2012/05/22/first-weekly-report-gsoc-2012/13:22
n4nd0and I think this diagram summarizes it quickly http://iglesiashogun.files.wordpress.com/2012/05/test.pdf13:22
@sonney2kI guess that is sufficient13:22
@sonney2kfor the general public13:22
alexlistensagainthx! n4ndo13:22
@sonney2kmore in the subgroup :)13:22
@sonney2kgreat work btw!13:22
n4nd0and another thing I would like to say13:22
n4nd0yesterday I started to interface mosek from shogun13:23
@sonney2kpuffin444, oliver - would you please continue after n4nd0 is done?13:23
n4nd0since we need to account for some constraints in the QP13:23
@sonney2kn4nd0, ok - thanks13:23
n4nd0I am quite unexperienced with mosek, so if any of you have used it before - specially C interface13:23
n4nd0it will be great to get some suggestions13:24
@sonney2kn4nd0, just ask later when you have questions, I did some stuff with cplex' C interface so it should be similar13:24
@sonney2kpuffin444, please continue13:25
@sonney2koliver, ...13:25
@sonney2k^]13:25
n4nd0sonney2k: all right, thanks13:25
puffin444I have the first weekly milestone tested and ready to be submitted as a patch13:25
puffin444ProductKernel13:25
alexlistensagainyou use productor geometric average?13:26
ckwidmern4nd0, I guess they are using the python interface, but cvxopt has mosek bindings as far as I know, possibly there is something to learn there13:26
@sonney2kpuffin444, ahh btw, please make use of CRegressionLabels in your GP code - we now have confidences in there too so please put them there too13:26
puffin444will do13:26
@sonney2kpuffin444, like a combined kernel but with products K(x,y)* K'(x,y) ?13:26
puffin444Yes elementwise. It's based off of one in the GPML MATLAB toolbox13:27
alexlistensagainwell product or geometric average -> this is a question about kernel width treatment13:27
@sonney2kpuffin444, ok13:27
@sonney2kpuffin444, care to update us about your talk?13:27
puffin444I will be using GPML to make sure my code is accurate13:28
puffin444Yes. I took most of the day Wednesday to travel to Google's offices in Chicago13:28
puffin444I was invited to do a lightning talk, lasting only 5 mins (4 slide limit)13:28
@sonney2kpluskid, cheng maybe you can prepare to be next  after puffin already now.13:29
puffin444I was able to present the general idea of GP's and how cool shogun was to the audience :)13:29
@sonney2kheh13:29
@sonney2koliver, do you have any additional comments?13:30
@sonney2klooks like not13:30
@sonney2kthen thanks puffin44413:30
oliverGreat that the product kernel works....13:30
oliver(rorry slow)13:30
@sonney2koliver, anything else?13:31
oliverI think it would be good to discuss the framework changes regarding parameter optimization at some point.13:31
@sonney2kheiko, that's with you I think13:31
oliverThat does a bit deeper into the shogun internals.13:31
heikook13:31
heikoI started on a framework for statistical tests13:31
oliverYes, would be great if Heiko has some time to sort this out. There were a couple of emails but it needs a real plan.13:31
@sonney2koliver, pluskid, heiko maybe you schedule some subgroup meeeint13:31
heikoah sorry13:32
@sonney2kmeeting13:32
@sonney2klike the SO guys13:32
heikoyes13:32
nicococohi all, (back again ..)13:32
@sonney2knicococo, we were only saying bad things about you13:32
oliverthat'd be great.13:32
nicococowonderful13:32
@sonney2koliver, heiko, puffin444 maybe directly after the meeting?13:32
heikoI am free afterwards but lets talk about this later13:32
@sonney2kI think we should continue now13:32
pluskidok13:32
puffin444I think that's what we are doing13:33
@sonney2kpluskid, cheng yes13:33
pluskidmy turn?13:33
@sonney2kyes13:33
pluskidI have typed a lot :D13:33
pluskidI have almost finished the ecoclib porting: one encoder and several decoder left, but I don't plan to implement all of them currently because I think too much (similar) choices might confuse users. I'm currently doing a survey for other MC algorithms. I will post a preliminary draft at the weekly report.13:33
pluskidfor next, I might move on shareboost or one tree style algorithm from JL13:33
blackburnone idea13:34
blackburnmay be some tree?13:34
@sonney2kexcellent work...13:34
pluskidI'll discuss with Cheng about that next week13:34
pluskidI sent an email to the authors of ShareBoost to ask reference code13:34
@sonney2kcheng, shareboost was a nips paper last year by shai-shaleve schwhartz13:34
chengI must admit that the credit all goes only to pluskid. I'm sleeping.13:34
blackburnTreeMulticlassMachine?13:35
pluskidblackburn: Yeah, that's being planed13:35
@sonney2kI talked to him and they used it in some glasses for blind people to online do ocr13:35
pluskidcheng: you suggested a lot of interesting reading for me13:35
pluskidyeah, ShareBoost and many of JL's MC algorithms are aimed at large scale problems13:36
pluskidwith many many number of classes13:36
@sonney2kI think that is where we need to improve - so any algorithm for that would be great13:36
@sonney2kalmost SO though13:36
chengThere is a strange tradeoff, because then there are too few examples per class13:37
@sonney2kok, any final comments13:37
chengWith SO learning, the classes are somehow similar.13:37
@sonney2kcheng, pluskid?13:37
chengI'm done13:37
pluskidcheng: yes, I saw in one of JL's paper that he is using 10^7 examples and 10^6 classes, then there will be only 10 examples in each class, it looks strange for me13:37
blackburnwhile there are a few experts here13:37
@sonney2kpluskid, and thanks again for you help in the label / sgvector discussions/transistions. you spent quite some time helping13:38
blackburntell me - is it worth to use some custom distance delta(y_i,y_j) between classes in typical multiclass?13:38
pluskidsonney2k: that's because you are soooooooo pushing :D haha13:38
@sonney2khehe13:38
blackburncheng: ^ ?13:38
blackburnsonney2k: ?13:38
alexlistensagainI have seen some work  at ICCV2011 on imagent and large scale learning13:38
alexlistensagainon imagenet data13:39
chengblackburn: I think generally it is believed that yes it should help to have custom delta13:39
pluskidblackburn: don't know, since we have no structures in the Y space, don't have good knowledge to define a distance other than 0-113:39
@sonney2kso next one then blackburn and ckwidmer !13:39
ckwidmerwell, blackburn has spent some time on fixing up shogun internals and is now working on finishing up Multiclass Domain Adaptation SVM, and will then move back towards merging/implementing stuff from the SLEP package. Also, we'll be merging in some MTL formulation developed with Marius Kloft and nicoco... co.13:39
chengBut nobody has shown it to be helpful yet.13:39
chengckwidmer has some neat paper where they learn similarity between multitask, almost multiclass13:39
ckwidmerblackburn, feel free to give more background13:40
blackburnhmm13:40
blackburnok13:40
alexlistensagainwe have also a paper where we learn similarities for multi-task13:40
@sonney2kblackburn, besides your usual vodka consumption please13:40
alexlistensagainand we won a challenge with it :P13:40
blackburnsonney2k: yes this week I spent almost all gsoc money for vodka13:40
blackburnabout SLEP - we were pretty confused with the way it organized13:41
@sonney2kmolotov cocktails D:13:41
blackburnbut currently it is less or more clear13:41
vojtechpluskid: imagine you want to classify people according to age categories, then there is clear structure in Y and 0/1 loss is not good13:41
ckwidmeralexlistensagain, which paper is that?13:41
alexlistensagainSamek et al CAIP2011 :)13:41
pluskidvojtech: ok, that makes sense13:41
alexlistensagainits uncionventional13:41
chengckwidmer, blackburn, alexlistenagain: we've got an ICML 2011 paper where we learn the output kernel. Theoretically nice, practically so so13:42
blackburnbtw is there anybody interested in inverse covariance estimation?13:42
alexlistensagaina general delta loss makes sense whenever one wants to penalize one loss over another13:42
blackburnslep has some cool routine for that13:42
@sonney2kblackburn, ckwidmer I guess that's all from you right?13:42
ckwidmeralexlistensagain, cool I'll check it out13:42
blackburnyes crappy all13:42
blackburn:D13:42
@sonney2kSo then we should decide when we meet next13:43
@sonney2khow about 26.6. 11 UTC again?13:43
ckwidmercheng, the one with invexity, right?13:43
blackburnI am ok with any date13:43
n4nd0sonney2k: it is ok for me13:43
blackburnexcept 20 and 1413:43
chengnot ideal, but ok13:43
uricamicsonney2k: ok for me13:43
chengckwidmer: yes invexity13:43
nicococoits ok13:44
pluskidok13:44
ckwidmerfine for me13:44
heikook13:44
alexlistensagainok by today13:44
vojtech26.6. is ok13:44
@sonney2kOK 26th it is then13:44
puffin444June 26th?13:44
@sonney2kpretty many ok's13:44
@sonney2kyes13:44
puffin444Seems okay to me13:44
oliverfine, yes.13:44
@sonney2kat that next meeting you should have 1st half of your work done13:44
@sonney2kit is ~1 month till then so plenty time if you work full time13:45
@sonney2kahh and btw an update on gsomix's work13:45
@sonney2khe removed CArray* crap from shogun13:45
@sonney2k(that was only used in structure/)13:45
@sonney2kand replaced it with dynarray13:45
@sonney2kintroduced CSet/CMap13:45
@sonney2kand did lots of cleanups13:45
@sonney2kand will now do something pretty cool if we get it to work:13:46
@sonney2kdirector classes13:46
@sonney2ki.e., one will be able to overload a shogun method from python13:46
@sonney2kwith a python function13:46
heikothat is awesome!13:46
@sonney2kso for prototyping that is crazily cool13:46
@sonney2k(think of trying out a new kernel...)13:46
@sonney2kanyway that's it form us13:47
@sonney2kfrom us13:47
@sonney2kblackburn, anything on your list?13:47
pluskidhaha, maybe some day shogun is compatible with scikit.learn13:47
blackburnno I don't think I have anything13:47
@sonney2kor any general questions?13:47
pluskidany guidelines/conventions for writing the weekly summary?13:47
@sonney2kpluskid, yeah we can use all scikits stuff too :)13:48
@sonney2kpluskid, no just *short*13:48
@sonney2kI prefer you all program on sth not writing reports13:48
pluskidsonney2k: haha, then I'll write "see the IRC log"13:48
chengmy 2 cents: weekly reports are more for those of us (like me) who don't hang out too much on IRC...13:49
@sonney2kpluskid, seems like I should push you into a different direction :)13:49
chengand still I think they should be short.13:49
@sonney2kwhich reminds me13:49
@sonney2kmentors, if possible just idle in #shogun too13:49
@sonney2kstudents rarely ask you directly13:49
pluskidcheng: I see :)13:49
@sonney2kpromised :)13:49
blackburn'sorry I have played world of warcraft whole week'13:49
@sonney2kblackburn, 'world of battleship shogun labels'13:50
blackburnthat would be awesome weekly report13:50
alexlistensagain@blackburn: you cannot, you spent all your money on vodka13:50
pluskidblackburn: shouldn't be Diablo III?13:50
eric___sonney2k: yes assertion : LibSVM model->nr_class=9 while num_classes=1013:50
@sonney2kalright then if there is nothing more13:50
@sonney2kcase dismissed13:50
@sonney2kthank you all for attending13:50
ckwidmerthanks, sonney2k13:50
n4nd0sonney2k: thanks for organizing!13:50
eric___sonney2k: shogun::ShogunException13:50
chengNight!13:51
alexlistensagainthanks for organizing Soeren13:51
n4nd0it's quite constructive to have these meetings13:51
blackburnalexlistensagain: when can I ask you for some advice?13:51
blackburn:)13:51
alexlistensagainI hve to go in two hours13:51
alexlistensagainotherwise I have time13:51
blackburnhmm lets switch to /query then?13:51
oliverpuffin444, heiko: when shall we talk?13:51
puffin444can we talk now?13:52
alexlistensagainwe have to see when the SO subgroup will talk13:52
@sonney2keric___, well you call it wrong. but before things didn't get checked: please do obj->io->enable_file_and_line() run the script again13:52
-!- heiko1 [~heiko@host86-180-47-5.range86-180.btcentralplus.com] has joined #shogun13:52
@sonney2keric___, and you will see the line number13:52
@sonney2kheiko1, ^ puffin444, heiko: when shall we talk?13:52
oliverUnfortunately I have a meeting now but can be back in ~1h.13:52
vojtechalexlistensagain: yes, we should agree on time for So group13:52
heiko1i could be there in 1h13:52
alexlistensagainso blackburn, just ask me now13:53
-!- heiko [~heiko@host86-185-113-34.range86-185.btcentralplus.com] has quit [Ping timeout: 245 seconds]13:53
alexlistensagainif you like13:53
@sonney2keric___, what are your labels 0...<nr_classes-1> I hope?13:53
heiko1say at 2?13:53
n4nd0vojtech: hey! so you asked before something about structure spaces types13:53
blackburnalexlistensagain: hm ok I am working on http://benchmark.ini.rub.de/?section=gtsrb&subsection=news for my bachelor's thesis13:53
puffin444So 1 UTC?13:53
eric___sonney2k: yes, labels 0..913:53
oliverheiko, puffin444: ok - will be back in1h. I am flexible rest of the day...13:53
puffin44413 UTC sry13:53
oliveryes 1 UTC.13:53
olivergreat, cu then13:53
alexlistensagainahh, that broken challenge :)13:54
blackburnalexlistensagain: why broken?13:54
vojtechn4nd0: I need to ready the updated SO document first and then I'd like to ask questions13:54
alexlistensagainbecause people can submit endlessly many results and can see their and others results immediately13:54
n4nd0vojtech: ok13:54
alexlistensagainthen you do not need to do model selection13:55
blackburnalexlistensagain: I stucked at 97.1% accuracy - need to improve features13:55
alexlistensagainthats why I consider it broken13:55
vojtechn4nd0: are you the person to ask ?13:55
alexlistensagainok13:55
n4nd0vojtech: I am doing generic SO project so probably yes - I hope I'll be able to answer :)13:55
blackburnalexlistensagain: what do you think is good normalization before computing HOGs?13:56
eric___sonney2k: error from MulticlassLibSVM.cpp line 10213:56
n4nd0uricamic: do you think the structure we have designed for SO fits well for the bundle algorithms you will implement?13:56
vojtechn4nd0: 1st quick question: why do you need the generic constraints on w, like A'*w = b ?13:56
n4nd0vojtech: ok, so it is nicococo who wrote that pdf13:57
-!- heiko1 [~heiko@host86-180-47-5.range86-180.btcentralplus.com] has quit [Ping timeout: 245 seconds]13:57
vojtechn4nd0: do you want to be as generic as possible or is it motivated by some practical SO tasks?13:57
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has quit [Quit: Page closed]13:57
n4nd0vojtech: and yesterday he told me I should forget about all those constraints13:57
eric___sonney2k: the call is from mc Xval function13:57
vojtechn4nd0: :)13:57
nicococovojtech: we are actually using those constraints for gene finding application13:57
n4nd0vojtech: and just consider Aw <= b and lb <= w <= ub13:57
-!- heiko [~heiko@host86-176-176-185.range86-176.btcentralplus.com] has joined #shogun13:58
heikosorry, connection hazzle :(13:58
vojtechnicococo: we also use Aw ,= b constraints13:58
vojtechaw<= b13:58
uricamicn4nd0: yep, I think it is ok, the only problem could be the regularization-matrix C, I have now the implementation just for a single regularizer13:58
vojtechnicococo: but is it possible that some SO solvers will optimize a special instance of the generic SO problem you defined?13:59
nicococovojtech: i think it might not be necessary that every SO solver should be able to handle ALL constraints.. it is fine, if they have their restrictions13:59
vojtechnicococo: yes, this is reasonable because exploiting a special (simpler) structure of the SO problem can significantly decree time14:00
-!- cheng [73406f11@gateway/web/freenode/ip.115.64.111.17] has quit [Quit: Page closed]14:01
nicococovojtech: yepp, the solver could give a hint (msg) if it is not compatible with the problem defined.14:02
vojtechnicococo: the PDF document also mentioned slack-rescaling loss approximation. is it still the plane? if yes I wonder for which SO tasks you can optimize it?14:02
nicococovojtech: we have a first sketch of slack rescaling for hm-svms, also there is an icml paper 200914:03
nicococobut i don't know if it boosts performance :(14:04
vojtechnicococo: I experimented with the PosLearn loss function (ICML 2009) and it does not work for me at all ....14:04
nicococovojtech: i think the bound is really loose14:05
nicococo..on page 3 Eqn. (2)14:06
vojtechnicococo: I compared the PosLearn loss with margin-rescaling loss on synthetic data and margin-loss clearly wins14:06
nicococouhh..14:06
vojtechnicococo: By PosLearn loss I mean the problem on page 414:07
nicococovojtech: so all constraints get a slack, right?14:07
vojtechnicococo: I didn't experiment with the variational approximation of slack-rescaling14:07
vojtechyes14:08
nicococoso its a bit like max-margin markov networks14:08
vojtechI don't think, max-margin MN use standard margin-loss14:08
vojtechif you mean papers by Taskar14:08
vojtechthey just replace the augmented max problem with LP relaxation14:09
vojtechyou mentioned that ye tried slcak-rescaling for HMMSVM, any results ?14:10
nicococovojtech: right :)14:10
nicococono so far we have no results :(  but at least we know there is a linear time viterbi-style approximation possible..14:11
eric___sonney2k: is there a way to print subsets indices (in xval) without recompiling shogun ?14:11
sonne|workeric___: heiko is the xval expert (he wrote the code)14:11
vojtechnicococo: do you mean the variatinal approximation from the icml2009 paper or something new ?14:12
nicococovojtech: as soon as i have results i can tell you ...14:12
nicococono it is something different14:12
heikoeric___ what do you want to do?14:12
heikothere is no method for that, so recompiling would be necessary14:12
nicococovojtech: we are solving the argmax delta(1-dPsi) directly14:13
vojtechnicococo: it is very interesting. I'll be happy to learn about it ...14:13
sonne|workI eric___but I guess in this case you have fewer classes in this data split than in your labels14:13
heikoI could add a debug message if you want, eric___14:13
sonne|workso no example from class 8 or 914:13
nicococovojtech: i will have results 1 or 2 weeks after nips deadline (for toy data at least, and compared against margin rescaling)14:14
eric___heiko: yes it would be nice14:14
heikok14:14
heikowhat exctly do you want?14:15
eric___heiko: I got some strange results using multiclass xvalid14:15
heikotraining/testing indices in x-val?14:15
eric___heiko: yes14:15
heikook14:15
heikowill do, give me a few minutes14:15
vojtechnicococo: thanks14:15
eric___heiko: I got always "XVal: [0.100000,0.100000] with alpha=0.050000, mean=0.100000" in mc xval14:15
nicococovojtech: a pleasure :)14:15
heikothat means all results were equal14:16
sonne|workpluskid: actually weird how can eric___'s assert even be triggered14:16
nicococoi have to go to lunch now.. i am starving.. bye14:16
sonne|workpluskid: in bool CMulticlassLibSVM::train_machine(CFeatures* data)14:16
sonne|workline 4014:16
n4nd0nicococo: bye, enjoy your meal!14:16
sonne|workyou get the number of classes14:16
eric___heiko: I cannot send you the features, too big, but when I split the data manually I got mean > 0.714:16
sonne|workwhich is 914:16
sonne|workand labels have 10 classes14:16
heikoeric___, or than there is a problem14:16
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has left #shogun []14:17
heikomight also be because of changes in Labels system14:17
pluskidstrange14:17
heikoI had some problems with that a few days ago14:17
sonne|workeric___: what are your labels?14:17
sonne|work0...9 ?14:17
sonne|workor something else in there?14:17
eric___sonne|work: yes14:17
eric___sonne|work: digits classes14:17
pluskidsonney2k: "labels have 10 classes" <-- is this returned by labels->get_num_classes() ?14:18
pluskidthe number in the strategy is returned by such a call14:19
pluskidin MulticlassMachine.cpp line 6014:19
sonne|workpluskid: he has the error (01:50:27 PM) eric___: sonney2k: yes assertion : LibSVM model->nr_class=9 while num_classes=1014:19
sonne|workpluskid: in multiclasslibsvm.cpp line 10214:20
pluskidso where is model->nr_class calculated?14:20
eric___sonne|work: pluskid: m LibSVM model->nr_class=9 while num_classes=1014:20
sonne|workpluskid: I guess in libsvm...14:21
sonne|workmaybe one class is missing14:21
sonne|workso he would have labels 0...8,914:22
sonne|workerr 0...4,6,...914:22
sonne|work5 missing for example14:22
pluskidwhy missing?14:22
-!- vojtech [9320543b@gateway/web/freenode/ip.147.32.84.59] has quit [Quit: Page closed]14:25
sonne|workpluskid: maybe 5 is not in the labels and libsvm checks the actual number of classes ocurring...14:25
eric___pluskid: sonne|work: its happen when I call cross->evaluate(). In the same time I run manual split of the base train/test and I don't have any error. Mb it helps ?14:25
pluskidsonne|work: but doesn't CLabels->get_num_class check that? it use CMath::unique IIRC14:26
pluskidoops, something related to cross validation component?14:27
eric___I checked my labels, I have  50 samples; 5 of each classes and my xval is launch with n_folds = 514:28
heikosonne|work, is there any way to output a vector in only debug mode?14:31
heikobecause calling SG_DEBUG multiple times always has this ugly [DEBUG] before every element14:32
sonne|workheiko: well you can call get_loglevel()14:32
heikoperfect :)14:32
sonne|workand then only output sth if io->get_loglevel() <= MSG_DEBUG14:33
sonne|workpluskid: true then num_classes shouldn't be 1014:35
sonne|workhmmhh14:35
CIA-113shogun: Heiko Strathmann master * rf377998 / (2 files in 2 dirs): added debug messages for x-val - http://git.io/Yt7J5A14:38
CIA-113shogun: Heiko Strathmann master * ra4fd65a / (2 files in 2 dirs): Merge pull request #553 from karlnapf/master - http://git.io/qEEoiw14:38
heikoeric___ the indices are now printed14:38
heikoI will grab some food now, be back at 214:39
eric___heiko: thx14:42
eric___heiko: debug will be easier, I let you know14:42
-!- pluskid [~pluskid@111.120.53.76] has quit [Ping timeout: 256 seconds]14:44
-!- pluskid [~pluskid@li400-235.members.linode.com] has joined #shogun14:44
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has joined #shogun14:51
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving]14:52
heikopluskid, are you there?15:01
puffin444Hi Heiko. Is Oliver here yet?15:04
heikohi puffin444, not yet I think15:04
heikoehm, I get all these nicknames mixed up15:05
heikomixed you up with pluskid :)15:05
puffin444I confused you with blackburn for  couple of days :)15:06
heikolol :)15:06
heikolets way a few minutes15:06
heikooliver, are you around?15:06
eric___heiko: how do I print subsets indices ?15:07
heikoeric___, sg_io->set_loglevel(MSG_DEBUG);15:07
heikoafter shogun init15:07
heikothere will be some other stuff poping up too15:08
eric___heiko: tx15:08
heikopuffin444, what should be discuss?15:10
puffin444Do you have a copy of the model selection diagrams I emailed some days ago?15:11
heikoWait I will get it15:12
heikok15:13
puffin444so what I had in mind was abstracting away crossvalidation into a machineevaluation class that could do all kinds of different evaluations15:14
heikoyes I lked that15:14
oliverhi all15:14
oliverback now15:14
oliversorry; took a bit longer.15:14
heikooliver, no worries, we just started15:14
puffin444GradientOptimization inherits from machineevaluation adding an ability to obtain a gradient, as well as a differentiable function to be optimized15:14
puffin444hi oliver15:14
puffin444oliver, do you have a copy of the uml diagram I emailed some time back?15:15
pluskidI made a list of nickname -> name -> project mapping, but lost that file when I re-install my system... too bad15:15
heikopuffin444, why do you need this extra ability to obtain the gradient?15:16
heikothis should already be doable via the "evaluate" method15:16
oliveryes, have this here.15:16
heikowhich should be renamed15:16
puffin444I thought that only specific forms of evaluation use a gradient, so I put it in a specialized class15:16
puffin444Perhaps it makes more sense to put it in MachineEvaluation?15:16
heikowhat about a method15:17
sonne|workpluskid: who's real name do you miss?15:17
heikommh15:17
-!- uricamic [~uricamic@2001:718:2:1634:5c56:9bc4:b0a1:c02b] has quit [Quit: Leaving.]15:17
puffin444A method in MachineEvaluation that returns the gradient?15:17
heikoI mean GradienResult already inherits from evaluation result15:17
heikoso you could just return it like that15:17
pluskidsonne|work: I'm not good at remember names, but I guess I can rebuild the list from the self-intro emails if necessary15:17
heikovia the evaluation method15:18
heikoand the GradientOptimisation class would then overload that method15:19
heikoand return the gradient15:19
puffin444Okay, so the gradient is stored in GradientResult15:19
puffin444I see where you are coming from.15:20
heikoI would like to generalise as much as possible15:20
puffin444Does it make sense for GradientOptimization to have its own member called differentiablefunction15:21
heikoThis evaluation class just returns the quantity that is used for optimisation15:21
puffin444okay15:21
heikoyes, I think so15:21
oliverI am missing a bit the function that is evaluated.15:21
oliverWhere does this come in?15:21
puffin444That is the differentiable function class15:21
oliverThere is no need for GP methods to focus on marginal likelihood exclusively.15:21
puffin444quantity is what is to be optimized, and gradient represents the gradient of the function that returns the quantity15:22
oliveryes but why not have "objectiveFunction" which is either "Function" or "DifferentiableFunction"15:22
oliver?15:22
oliverTHere is no need to optimize the marginal likelihood using gradients per se (there are some good reasons to use grids as well in some cases).15:22
puffin444So a function that may or may not have gradients?15:23
oliverIt is merely an option as you can evaluate the gradient...15:23
oliveryes]15:23
heikoyes, but that is than not handled via the Gradient class15:23
heikobut for example by gridsearch15:23
oliverI think that is the standard interface an optimizer would use (perhaps worth looking at NLOPT for typical interfaces used in optimization).15:23
heikoand for all function we would need a specialisation of MachineEvaluation15:23
oliverI see two levels.15:23
olivera) the objective which can be marginal likelihood or classification performance or similar.15:24
heikoeg. for the marginal likelihood we have another class that inherits from MachineEval15:24
heikoand then this class returns the marginal likelihood via the evaluate method15:24
heikoanother example is x-val15:24
oliverb) The optimization which can be grid based or by means of gradient optimization15:24
heikooliver yes15:24
heikosplit the objective (gradient, xval, objective) and its optimisation15:25
oliveryes, agree15:25
heikoThats why I think all evaluations (whether they are gradients, objective values, or x-val estimates) should be accessible via the MachineEvaluation:evaluate method15:25
eric___heiko: can I send your somewhere the debug mess of my xval, you may help me then find the problem ?15:26
puffin444Okay, so theres XValidation, GradientOptimzaition, and ObjectiveOptimization that all inherit from MachineEvaluation?15:26
heikoeric___, what about rather reproducing the problem in a minimal example? It takes ages for me to get into a large debug mess :)15:26
heikopuffin444, yes15:27
heikobut remove the optimisation15:27
heikothat is happening in another class15:27
puffin444Okay.15:27
heikocurrently only evaluating the criteria for optimisation15:27
heikoI am also thinking of a more informative name than MachineEvaluation ... mmh?15:28
heikoactually its fine :)15:28
oliveryeah...15:29
oliverone deatil: for LML it make sense to optimize ont he training set also.15:29
oliverI.e. you want a cross validation class that con just carry out a grid search on the training set.15:29
puffin444Another question. How will Gradient/Objective get access to the function to be optmized?15:30
oliverIt's then barely anything else a grid based global optimizer but would be good to have this functinality as gradinet-based stuff runs into15:30
oliverlocal optima quite often.15:30
oliverAlternatively one could stick in a global optimizer.15:30
heikooliver, yes, I think there should be a flag in the GridSearchModelSelection class15:30
oliverpuffin444: What optimizer are you planing to use?15:30
eric___heiko: in the same xval run, printed training set indices and testing set indices are the same15:30
puffin444Say I want to optimze the likihood using gradient search.15:31
heikoeric___, mmmh thats probably multiclass related stuff then, or labels. Could you isolate that in a small program? Then I can check15:32
puffin444Should the function be directly set independently of the machine (which seems weird), or should it somehow extract it from the Machine?15:32
puffin444*the optimizer15:32
heikopuffin444 what do you mean?15:33
heikothe differentiable function?15:33
puffin444Yest15:33
puffin444Yes15:33
heikogood question :)15:34
puffin444Should the machine have some getter/setter, or should the differential function just be set independently of the machine?15:34
heikoIt clearly depends on the machine's parameters right?15:34
heikowhat happens if you would add a get_lh_gradient to the GP base class?15:35
puffin444I think so. Theoretically if the differentiable function is independently set, it may not have any relation whatsoever to the machine15:35
puffin444which seems silly15:35
heikoindeed15:35
heikobut this happens when we generalise in these two layers15:36
heikowhat about obtaining the function from the machine then?15:36
heikommmh, but thats difficult with types15:36
oliverhm... I am confused still.15:36
heikoNo I think one will have to do it by hand15:36
puffin444Okay.15:37
heikobut if you got a better solution? you are right its weird that one can set completely different functions15:37
oliverSorry, I missed this earlier. Wat exactly is the purpose of machine evaluation?15:37
oliverseems like cross validation and gradientOptimization are fully capable of doing the job on their own.15:37
heikoto return the value that you are optimising15:37
heikooliver, MachineEvaluation is the generalisation of x-val15:38
heikowhich does only evaluate the machine15:38
heikoor the gradient on its objective15:38
oliverBut then MachineEvalaution *is* the function to be optimized.15:39
eric___heiko: in the libshogun mcxval example, printed indices for train set 0 and test set 0 are the same.15:39
heikoeric___ ok I will have a look little later15:40
heikoyes15:40
oliverTo put the question the other way round: where would the "Gaussian process class" be in this setting?15:41
heikoit would be in the machine variable of MachineEvaluation15:41
heikoand then either15:41
eric___heiko: ok thx15:41
heikoa) x-val class is asked for estimate by grid-search15:42
heikob) gradient evaluation class is asked for gradient by GradientModelSelection15:42
oliverok - sorry; I think I got it now ;)15:42
heikoboth x-val class and gradient eval class are subclasses of machine evaluation class15:42
oliverThere is a fundamental difference between a/b, right.15:42
heikooliver, yes :)15:43
oliverI actually mean: the marginal likelihood can be directly calculated from the GP class, no "evaluation" needed.15:43
oliverAny test set error requires the "Machine Evaluation" to wrap around.15:43
heikoFor that we could add another subclass of MachineEvaluation that returns an objective function15:44
oliveryes15:44
heikofor the cases where that can be computed instantly15:44
heikoand that may then e.g. be called from grid-search opti15:45
heikothats why I think the name evaluation may be misleading15:45
olivertrue15:45
heikoits more a class to generalise different numerical estimates that have to be max/minimised/0ed15:45
oliverHow about: MachineEvaluation provides the interfaces for either grid-based or graident based optimization (in principle).15:46
oliverThe different types of evaluations could then just be sub classes.15:46
oliverMachienEvaluationMSE15:46
oliverMachineEvaluationLML (log marginal likelihood), etc.15:46
heikoWe have the model selection class15:47
heikowhich currently has the x-val for evaluation15:47
heikothis could be replaced by the MachineEval class15:47
heikoand then subclasses of model selection could call the evaluate method of MachineEval15:47
heikothen it would be split a bit more15:48
heikoand new methods for model selection would only require adding a new subclass of model selection15:48
oliveryes, that sounds nice15:48
oliverPerhaps useful to think about the workflow of the user.15:49
heikocurrently, te grid-search works on x-val. With that system it would work with any subclass of MachineEval15:49
heikosame for gradient stuff (not implemented yet)15:49
heikowould work on gradient of ML as well as on gradient of some SVM-C gradient15:49
heikoand this hybrid case grid/gradient would be another instance of ModelSelection that uses both of the other classes15:50
heikoyes, it would be nice to have some eas< methods for everything15:50
heikothat do all the technical pluggin classes into each other15:50
heikoif you look at the current model selection examples, these are pretty complicated15:51
oliverAgree, but it is complicated to be general.15:51
oliverNevertheless we need to start somewhere.15:51
heikoI think a good starting point is to do this MachineEvaluation class15:51
oliverpuffin444: perhaps most useful if you start with the general interface to evaluation marginal likelihoods and gradients, but encapsulating them into a general framework of differentiable functions etc.15:52
oliverThose would then be "naively" optimizable by calling a gradient optimizer and can in due course be integrated15:52
oliverwith the heavy machinery...15:52
heikothats a nice idea15:52
oliverI think it's good to keep things simple until the gradients are all working / matching and you get results that are compataible with existing libraries.15:53
puffin444okay. specific to general15:53
oliverFOr debuging the full framework seems a pain....15:53
oliverExactly. Let's make it work first. Simple and pragmatic, but of course having the final solution in mind.15:53
heikooliver, yes thats your part - I currently care about the framework :)15:54
oliversure thing - and that's very much needed!15:54
oliverI just know the pain of debugging gradients and figuring out why they don't much what we expect.15:54
oliverI think it's key that the basic GP parameter optimization works somehow first.15:54
heikohehe, yes15:54
heikopuffin444, you should write a lot of tests for the isolated gradient methods15:55
heikowith defined inputs/outputs15:55
puffin444By the way, oliver, do you have any concerns about the diagrams about GPs I made some time bach?15:55
puffin444keiko: will do15:55
heikoshogun lacks that, and its so hard to find errors without it15:55
puffin444*back15:55
blackburnkeiko matsui :D15:55
puffin444:) lol15:55
oliverpuffin444: I think it looks verygood and matches the previous discussions. Definitely a very good start.15:56
oliverNot sure down the line whether the GetAlpha stuff for the inference method is general enough.15:56
puffin444According to the project plan I will be implementing those in the next few weeks first before modelselection15:56
heikoblackburn, everybody asks me if my name is Japanese here in London :) but ITS NOT ITS GERMAN15:56
oliverFrom my experience I think it's best if you get something to work first and then you'll see that several plans need to be adapted here andt here.15:57
blackburnwell they just pronounce it in a wrong way I guess15:57
oliverThe same will happen to the framework integration of the optimization.15:57
heikooliver, puffin444, yes the modsel stuff is not really important now15:57
oliverbut still good to have discussed this.15:57
heikoneeds to be changed all over a few times anyway (my last years experience :)15:57
puffin444I already have for this week the productkernel written and tested.15:58
puffin444I just want to make sure there are no memory leaks before I submit it as a patch15:58
oliverNice!15:58
oliverBut feel free to submit it early. I have time tomorrow to look at things (weekend is generally good).15:59
puffin444Well it's on the project plan for this week.15:59
puffin444I don't want to get behind! :)15:59
heikooliver, puffin444, thanks for the discussion, I gotta go now (studygroup for exam)15:59
puffin444Thanks for your time, heiko.16:00
olivergreat, thanks for inputs.16:00
oliverand talk soon.16:00
heikotake care everybody!16:00
heikobye16:00
puffin444oliver, if you don't mind, I would like to go back to bed.16:00
puffin444bye16:00
oliverok, sure - bye!16:00
puffin444thanks for taking time for this meeting, oliver.16:00
oliverPerhaps let's try to talk sometime soon again.16:00
puffin444Absolutely. What time would be good for you?16:01
oliverI am around over the weekend...16:01
olivertomorrow is perfect; next week I am travelling quite a bit but certainly can come online here and there.16:01
puffin444What time tomorrow would be good?16:01
oliverUTC 8 am-UTC4 pm16:02
oliverJust write me an email16:02
puffin444I will.16:03
puffin444See you all later16:03
olivercu16:03
-!- oliver [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has quit [Quit: Page closed]16:03
-!- puffin444 [62e3926e@gateway/web/freenode/ip.98.227.146.110] has quit [Quit: Page closed]16:03
-!- alexlistensagain [c25fae8d@gateway/web/freenode/ip.194.95.174.141] has quit [Quit: Page closed]16:10
CIA-113shogun: Heiko Strathmann master * r07554b5 / src/shogun/evaluation/CrossValidation.cpp : corrected debug message - http://git.io/PHWNRA16:12
CIA-113shogun: Heiko Strathmann master * r43b5b5e / src/shogun/evaluation/CrossValidation.cpp : Merge pull request #554 from karlnapf/master - http://git.io/u6eoPw16:12
-!- heiko [~heiko@host86-176-176-185.range86-176.btcentralplus.com] has left #shogun []16:28
eric___sonne|work:  is it possible to enable [DEBUG] messages without [INFO] ones16:46
CIA-113shogun: Soeren Sonnenburg master * r1de9b14 / (32 files): fix java modular examples - http://git.io/8T7fkQ17:19
blackburnsonney2k: alex helped me to overwhelm 97.00% curse! :D17:25
-!- eric___ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has quit [Quit: Page closed]17:31
-!- pluskid [~pluskid@li400-235.members.linode.com] has quit [Quit: Leaving]17:31
-!- cwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun18:16
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Ping timeout: 246 seconds]18:25
-!- gsomix [~gsomix@178.45.68.181] has joined #shogun18:27
gsomixhi all18:27
gsomixhome, sweet home18:27
gsomix"@SpaceX #Dragon capsule securely bolted to the Harmony module of the #ISS at 12:02pmET!"18:35
gsomixok, time to work18:35
-!- cwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Read error: Operation timed out]18:51
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun19:27
@sonney2kblackburn, to get what?19:28
blackburnsonney2k: to get what?19:29
blackburn:)19:29
blackburnI do not understand19:29
@sonney2k97.00001%19:29
@sonney2k?19:29
blackburnhah no19:29
blackburn97.5819:29
@sonney2kheh19:29
blackburnsonney2k: btw I have interesting problem here19:29
blackburnwe lost information about outputs in multiclass machine19:30
blackburnso we can't plot OvR ROC currentyl19:30
@sonney2kblackburn, ehh? we never had outputs in multiclassmachine19:39
@sonney2kjust 0,1,...19:39
blackburnsonney2k: yes but need to have19:40
-!- gsomix_ [~gsomix@109.169.139.36] has joined #shogun19:42
-!- gsomix [~gsomix@178.45.68.181] has quit [Read error: Connection reset by peer]19:42
@sonney2kblackburn, with new labels you can store confidences19:44
@sonney2kso feel free to add the max f(x) ..19:44
blackburnyes but one vector = # class confidences19:44
blackburnit won't help to plot ROC19:44
CIA-113shogun: Soeren Sonnenburg master * rf96fdfa / (24 files in 2 dirs): fix c# and ruby example to work with new SGVector - http://git.io/u50cgw19:47
@sonney2kblackburn, you can always overload the confidence system for multiclass...19:47
blackburnhe19:47
@sonney2kit can be huge though19:47
@sonney2kblackburn, while I am away - we need more coverage of our examples in languages other than python19:53
blackburnwhile you are away?19:53
@sonney2kwell beginning of june19:54
blackburnah19:54
@sonney2kit would make a lot of sense to get all the octave_modular etc examples updtaed with what we have in python19:54
blackburnshould be easy but takes time19:54
@sonney2kno difficult task and I think one can do 1-2 langueages per day19:55
@sonney2kand I think it is actually partially interesting19:55
@sonney2kI mean learnign the basics of 5 $LANG :)19:55
@sonney2kman the buildbot is overloaded19:56
blackburn97.67!19:56
blackburn:D19:56
@sonney2kblackburn, what is the secret ingredient?19:56
blackburnC :D19:56
@sonney2kyou didn't do model selection?!?19:57
@sonney2kc'mon!?19:57
blackburnsonney2k: I do not have to do model selection - I know correct results19:57
@sonney2k???19:57
blackburnI just fit C for best accuracy :D19:57
@sonney2kthat is what one calls modelselection19:58
@sonney2kgridsearch in shogun :)19:58
blackburnno I have test/train features and labels19:58
@sonney2kexactly19:58
blackburnokay actually I am changing features19:59
-!- gsomix_ is now known as gsomix19:59
@sonney2k??20:00
@sonney2kC is not the C of the SVM?20:01
blackburn??! :D20:01
blackburnyes I vary over C20:01
blackburnbut actually I changed features20:01
blackburnoook I need 98%!20:07
blackburn:D20:07
CIA-113shogun: Sergey Lisitsyn master * reac2e3c / (5 files in 2 dirs): Added rejection strategy handling to multiclass machine - http://git.io/EKOONQ21:03
-!- gsomix [~gsomix@109.169.139.36] has quit [Quit: Ex-Chat]21:16
CIA-113shogun: Sergey Lisitsyn master * ra077bd5 / src/shogun/multiclass/RejectionStrategy.h : Fixes for Qtest rejection strategy - http://git.io/yrKL2g21:34
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun22:11
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection]22:15
@sonney2kblackburn, yet another toolbox https://github.com/davidpicard/jkernelmachines/wiki22:23
@sonney2kwe should probably make sure we have all the kernels they have :)22:23
blackburnWTF is adaptative22:24
blackburn:D22:24
blackburnsonney2k: looks like useless crap at the very first sight22:26
@sonney2kyeah indeed22:34
blackburnsonney2k: my Q-test idea failed it seems22:34
blackburn:D22:34
@sonney2khmmh the buildbot has no chance to catch up it seems...22:34
@sonney2kQ-test?22:34
blackburnyes I tried to determine rejects according to Q-test for outlier detection22:35
blackburni.e. if score can be considered as outlier22:35
blackburnit should not be rejected22:35
blackburnelse reject22:35
blackburnlike [3.0,0.1,0.2] - not reject and [0.3,0.1,0.2] - reject22:36
@sonney2kok22:45
@sonney2kmakes sense22:45
@sonney2kanyway22:45
@sonney2ktme to slep22:45
@sonney2k:D22:45
@sonney2koh swig 2.0.6  release22:46
@sonney2kd22:46
blackburnsonney2k: slep?22:47
blackburnyes right22:47
blackburntime to SLEP22:47
blackburn:D22:47
shogun-buildbotbuild #560 of java_modular is complete: Success [build successful]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/java_modular/builds/56023:06
--- Log closed Sat May 26 00:00:41 2012

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!