Open in new window / Try shogun cloud
--- Log opened Tue Aug 07 00:00:17 2012
-!- kyle__ [] has joined #shogun00:02
kyle__I was trying to jump into shogun, but all the docs I can find for octave/matlab usage are examples.  Is there anyplace that spells out what feature types are available? Etc?00:07
blackburnkyle__: hello00:08
shogun-buildbot_build #265 of deb3 - modular_interfaces is complete: Failure [failed test libshogun]  Build details are at  blamelist: Sergey Lisitsyn <>00:08
blackburnkyle__: are you using modular interface?00:10
shogun-buildbot_build #220 of deb2 - static_interfaces is complete: Failure [failed test libshogun]  Build details are at  blamelist: Sergey Lisitsyn <>00:11
kyle__blackburn: I just built the static one.00:12
blackburnkyle__: check that then
blackburnbut actually I'd recommend to use modular if possible00:13
kyle__Is the static one considered depricated or something?00:14
kyle__Or just not as full featured?00:15
blackburnkyle__: it works but it is not actually extended with time00:16
kyle__Ah ok.00:16
kyle__Sadly I only found shogun while working on a final for a machine learning class.  Right now I mostly just want to use it to run some kernel-based svms against a dataset that choked both matlab and octave with the methods we were given.00:17
kyle__(final is over, I'm just too damned stubborn)00:17
-!- gsomix [~gsomix@] has quit [Ping timeout: 256 seconds]00:20
blackburnkyle__: if you consider using python it could worth it - we all are using it00:21
kyle__blackburn: I might for my own use (more of a ruby fellow myself, but py is good).00:21
blackburnkyle__: ruby as well00:21
blackburnkyle__: static is pretty ugly to use with all these commands00:22
blackburnbut it is kind of legacy00:22
kyle__blackburn: if I use the module I don't have to do the sg('set_kernel'00:22
blackburnno, just objects00:22
kyle__sg('init... blah blah blah blah?00:22
kyle__OMFG.  I'm rebuilding now.00:22
blackburn like that00:22
blackburnkyle__: something like kernel = GaussianKernel() and so on00:23
kyle__That's georgous.00:23
kyle__(compared to the little octave script I've got going on it now)00:23
blackburnprobably we should strong that modular is better than static somewhere00:24
kyle__thanks, I'm off01:01
-!- kyle__ [] has left #shogun []01:01
shogun-buildbot_build #52 of nightly_default is complete: Failure [failed test]  Build details are at
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]03:50
-!- av3ngr [av3ngr@nat/redhat/x-lfobrminomteysop] has joined #shogun04:26
-!- av3ngr [av3ngr@nat/redhat/x-lfobrminomteysop] has quit [Quit: That's all folks!]05:04
-!- uricamic [~uricamic@2001:718:2:1634:6597:d9ab:da69:d0d7] has joined #shogun07:36
-!- n4nd0 [] has joined #shogun08:44
-!- Netsplit *.net <-> *.split quits: shogun-buildbot_, octopine09:43
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has joined #shogun10:06
-!- Netsplit over, joins: shogun-buildbot_, octopine10:11
-!- alexlovesdata [] has joined #shogun10:30
@sonney2kyay! blackburn, broke the build again!11:23
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has left #shogun []11:43
n4nd0uricamic: around?12:40
-!- blackburn [~blackburn@] has joined #shogun12:44
alexlovesdatan4nd0: you called the wrong ghost and got blackburn12:47
blackburnsonney2k: I know I did12:48
uricamicn4nd0: yep12:49
n4nd0uricamic: I wanted to ask you a couple of details about using your bundle methods with the HM-SVM model12:57
uricamicn4nd0: sure12:57
n4nd0I need to do a risk function right?12:57
uricamicI think for that you will need the new version of risk function, which supports user data12:57
n4nd0do you know something about the risk function for the hm-svm?12:58
uricamicI am now finishing the last algorithm, got some compile problems, but when I will resolve them, I can submit PR just with the support for new risk functions12:58
uricamicnothing particular, but I guess you just need to do dynamic programming in the risk function12:59
uricamicbut definitely you will need the user data in the risk function12:59
n4nd0what do you mean with user data?13:00
n4nd0I understand that I need to provide that function13:00
uricamicin the current version there are just features and labels, but you need something more probably, no?13:00
n4nd0well you need an structured model too13:00
uricamicyep, you need to create that function, but in the recently merged version, there is just a structure for data, that you want to pass to a risk function and in that structure there is just a pointer to features and labels, nothing more13:01
uricamicin the new version, there is a class CRIskData from which u can inherit new one, like CHMRiskData and provide all things u will need inside that risk function13:02
n4nd0the structured model is not just a function, it is a class13:02
uricamicso, for example it will be sufficient for u, to just provide the pointer to the model class13:03
uricamicor maybe u will need something more, but when u will do this in the upcoming version, it will be simply implementable13:03
n4nd0aham ok13:04
n4nd0I thought that the risk function was going to be a part of the structured model too13:04
n4nd0as the argmax, or the loss function13:04
n4nd0apart from that13:05
n4nd0uricamic: what are the changes I should expect using the bundle methods wrt the cutting plane algorithm I am using right now?13:06
uricamicn4nd0: it could be, now it is standalone, it is hard to say, if it would be better to have it as a part of structured model13:07
n4nd0I guess that the bundle methods are faster13:07
n4nd0what about prediction results?13:07
uricamicbasically the risk function is calling argmax on the features with loss function applied, to find the most violated constrain13:08
uricamicwhat u mean by prediction results?13:08
n4nd0let's say I train an HM-SVM using the PrimalMosekSOSVM13:08
n4nd0it takes 10 minutes to train13:08
n4nd090% accuracy in train data and 80% in test data13:09
n4nd0just to put some numbers13:09
n4nd0what should I expect using a bundle methods?13:09
uricamicwell, depends on how fast the risk function implementation will be, I guess13:09
n4nd0and about accuracy?13:10
uricamicwith BMRM u can setup desired precision (gap between primal and dual solution) and the Proximal-Point BMRM is faster then the standard BMRM (even faster with some initial weight vector W)13:11
uricamicit depends on the data, of course, but if it is possible, u can end up with 100% accuracy on train data13:11
n4nd0uricamic: ok, thank you13:12
n4nd0gtg now, bye!13:12
uricamicthe new algorithm in BMRM area basically just reduces the number of iterations needed to converge to epsilon solution, and usually the risk computation is the bottleneck of iterations13:13
uricamicn4nd0: you are welcome13:13
-!- n4nd0 [] has quit [Quit: leaving]13:13
CIA-18shogun: Sergey Lisitsyn master * r3af3329 / (4 files in 2 dirs): Fixes for slep based multitask -
shogun-buildbot_build #162 of bsd1 - libshogun is complete: Success [build successful]  Build details are at
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]13:55
shogun-buildbot_build #266 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at
shogun-buildbot_build #221 of deb2 - static_interfaces is complete: Success [build successful]  Build details are at
-!- pluskid [~pluskid@] has joined #shogun15:01
-!- n4nd0 [] has joined #shogun15:06
-!- pluskid [~pluskid@] has quit [Ping timeout: 252 seconds]15:47
-!- pluskid [~pluskid@] has joined #shogun15:48
-!- gsomix [~gsomix@] has joined #shogun16:07
-!- yoo [2eda6d52@gateway/web/freenode/ip.] has joined #shogun16:49
-!- yoo [2eda6d52@gateway/web/freenode/ip.] has quit [Client Quit]16:50
-!- pluskid [~pluskid@] has quit [Quit: Leaving]17:36
-!- uricamic [~uricamic@2001:718:2:1634:6597:d9ab:da69:d0d7] has quit [Quit: Leaving.]17:39
-!- n4nd0 [] has quit [Quit: leaving]17:58
CIA-18shogun: Heiko Strathmann master * r646d8d8 / (12 files in 4 dirs): Merge pull request #690 from karlnapf/master (+10 more commits...) -
-!- heiko [] has joined #shogun18:14
-!- alexlovesdata [] has left #shogun []18:38
-!- blackburn [~blackburn@] has joined #shogun18:42
CIA-18shogun: Soeren Sonnenburg master * rd5bbf37 / (18 files in 9 dirs): Merge pull request #679 from pluskid/multiclass (+41 more commits...) -
@sonney2kgsomix, are you alive?19:21
gsomixsonney2k, yep.19:21
gsomixI have problem in Labels.19:25
gsomixThere is same problem in SGVector.19:25
gsomixvalgrind doesn't help me...19:26
@sonney2kgsomix, how is that different to what you have done with dense features?19:26
@sonney2kI mean SGVector / SGMatrix don't really differ19:26
gsomixsonney2k, in DenseFeatures I use get_feature_matrix. in labels - get_labels().vector. that's all.19:28
gsomixI'm stuck on this.19:29
@sonney2kgsomix, but densefeatures returns just SGMatrix: SGMatrix<ST> get_feature_matrix();19:30
gsomixnope, there is ST* CDenseFeatures<ST>::get_feature_matrix19:31
@sonney2kgsomix, you shouldn't use that19:31
gsomixand what about ref count?19:32
@sonney2kit will just give you the SGMatrix.matrix19:32
blackburnsonney2k: any idea how to do the ref increase trick?19:45
shogun-buildbot_build #268 of deb3 - modular_interfaces is complete: Failure [failed test ruby_modular]  Build details are at  blamelist: Heiko Strathmann <>19:48
CIA-18shogun: Heiko Strathmann master * r2a05bce / src/shogun/statistics/QuadraticTimeMMD.h : doc update -
CIA-18shogun: Heiko Strathmann master * r7d70763 / src/shogun/statistics/LinearTimeMMD.h : doc update -
CIA-18shogun: Heiko Strathmann master * r946feed / (5 files): -added documentation -
CIA-18shogun: Heiko Strathmann master * ra345a5d / (7 files): Merge pull request #691 from karlnapf/master -
shogun-buildbot_build #165 of bsd1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Chiyuan Zhang <>19:52
shogun-buildbot_build #166 of bsd1 - libshogun is complete: Success [build successful]  Build details are at
shogun-buildbot_build #173 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Chiyuan Zhang <>20:04
shogun-buildbot_build #269 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular]  Build details are at  blamelist: Soeren Sonnenburg <>, Chiyuan Zhang <>20:09
-!- heiko [] has left #shogun []20:18
shogun-buildbot_build #174 of cyg1 - libshogun is complete: Success [build successful]  Build details are at
shogun-buildbot_build #270 of deb3 - modular_interfaces is complete: Failure [failed compile python_modular]  Build details are at  blamelist: Heiko Strathmann <>20:20
CIA-18shogun: Sergey Lisitsyn master * r71a7c9c / src/shogun/evaluation/CrossValidation.h : Added get mean to CVResult -
-!- n4nd0 [] has joined #shogun20:28
-!- n4nd0 [] has quit [Client Quit]20:32
shogun-buildbot_build #271 of deb3 - modular_interfaces is complete: Failure [failed compile python_modular]  Build details are at  blamelist: Sergey Lisitsyn <>20:34
-!- zxtx [] has joined #shogun20:35
-!- gsomix_ [~gsomix@] has joined #shogun21:15
-!- gsomix [~gsomix@] has quit [Ping timeout: 265 seconds]21:18
-!- ckwidmer [8ca3fe9d@gateway/web/freenode/ip.] has joined #shogun21:47
gsomix_sonney2k, it seems I have find solution. ?)22:09
gsomix_*have found22:10
gsomix_good night guys22:10
blackburnsonney2k: have you heard just anything about so called 'pussy riot' thing?22:20
blackburnsome guys state everybody in germany knows :)22:21
-!- n4nd0 [] has joined #shogun22:30
n4nd0blackburn: hey22:31
blackburnhey there22:31
n4nd0let me ask you something22:31
n4nd0why in SGVector we have two operators []22:31
n4nd0one that returns a const T&22:31
n4nd0and another T&22:31
n4nd0it says that one is for read only access22:31
blackburnthat's kinda convention - you const is called when you do only read22:31
n4nd0and the other for read and write22:31
n4nd0but I don't really get how that works22:32
blackburna[3] = 4.0;22:32
blackburnis non const22:32
blackburnb = a[5];22:32
blackburnis const22:32
n4nd0I thought that one cannot defined two methods that are just different on the return type22:32
n4nd0why not use the non const always? it works for both cases22:33
n4nd0I am just wondering ... :)22:33
blackburnn4nd0: I am unsure about that22:35
n4nd0blackburn: ok, it is not really relevant though, I think22:35
n4nd0mainly curiosity22:35
blackburnn4nd0: actually I think it helps with optimizations22:36
n4nd0that's the only raeson I came up with22:37
n4nd0blackburn: that maybe the const case can be done faster than the non-cost or so22:37
blackburnn4nd0: a[i] + b[j] could be done faster if you assume it is const22:38
blackburnI think so :D22:39
blackburnn4nd0: or not, I don't know22:40
blackburnn4nd0: anyway consts are helpful sometimes for optimizer22:41
n4nd0sonney2k: around?23:28
@sonney2kn4nd0, yes?23:42
@sonney2kblackburn, I think we can drop the const one23:42
blackburnsonney2k: are you sure it is useless?23:42
@sonney2kif we don't want to do extra stuff in that case23:42
@sonney2kblackburn, yes const is totally useless23:43
blackburnsonney2k: I think it is ok to have it there23:43
@sonney2kexcept for telling us that we should not modify the element23:43
blackburnsonney2k: there is an matlab issue in the mailing list I am afraid I can't afford to resolve23:44
-!- n4nd0 [] has quit [Read error: Connection reset by peer]23:45
@sonney2kblackburn, do you have an idea what issue gsomix_ is having?23:46
blackburnsonney2k: he sleeps already btw23:46
blackburnyes but probably he found the way already23:46
blackburnsonney2k: first he was messing with get_labels and get_feature_matrix stuff23:46
blackburnI suggested to increase ref counter with a trick but we actually have to decrease it too23:47
@sonney2kblackburn, in sgvector you mean?23:47
@sonney2kwhy do you have to increase / decrease it manually?23:47
blackburnsonney2k: if I understand correctly we need to steal a pointer23:48
blackburnand to store it in the pyobject23:48
* sonney2k *argh* heiko again managed to screw up the build by inserting a zero length unicode space!23:48
-!- n4nd0 [] has joined #shogun23:48
n4nd0I hate the internet connection here ...23:49
n4nd0sonney2k: did my messages before arrived?23:49
@sonney2kand I totally forgot how I fixed it last time23:49
@sonney2kn4nd0, no23:49
blackburnsonney2k: lol23:50
n4nd0I have got to work the HM-SVM + PLiFs23:51
n4nd0but I still keep the implementation I did at the beginning, the one that just works for discrete observations23:51
@sonney2kn4nd0, yes makes sense23:51
n4nd0the user could choose between those using a boolean member (use_plifs)23:51
n4nd0sonney2k: so, does it make sense to keep it?23:52
@sonney2kor even some other way where you have a HM SVM w/o and with plifs23:52
@sonney2kn4nd0, yes sure!23:52
n4nd0since the PLiFs work for both discrete and real data, I doubted it23:52
@sonney2kn4nd0, well you could argue that your plif has just 1 support point and then it would be equal to what you have23:53
n4nd0mmm I don't understand what you mean23:54
n4nd0I know that using PLiFs with integer data, if the supporting points coincide with the possible values of the observations23:55
CIA-18shogun: Sergey Lisitsyn master * r91bbe7e / src/shogun/lib/slep/slep_solver.cpp : Restored mystery objective calculation code in slep -
n4nd0then it is the same to use the PLiFs or not23:56
n4nd0sonney2k: did you mean that?23:56
n4nd0anyhow, time to sleep now23:57
@sonney2kn4nd0, hmmhh maybe it is not even possible to get this to be equivalent23:57
n4nd0good night guys!23:57
@sonney2kbecause plif weights are learned23:57
@sonney2kit could turn any integer to be 'muted'23:58
n4nd0mmm what I meant is23:58
@sonney2kso I meant if you had just one support point23:58
n4nd0tell me23:58
@sonney2kthat this then is just a factor in front of the integers23:58
@sonney2kbut then it can still rescale all of them in that state23:58
n4nd0ahm ok23:59
@sonney2kmaybe it is the same in the discrete HM-SVM and the plif-hm-svm (that will learn a weight for that and the plif)23:59
@sonney2kbut I don't know for sure23:59
--- Log closed Wed Aug 08 00:00:10 2012