Open in new window / Try shogun cloud
--- Log opened Thu Jun 07 00:00:41 2012
n4nd0gsomix: good luck with the building :)00:01
n4nd0hey blackburn100:02
n4nd0do you have a moment?00:02
blackburn17hrs to finish thesis :D00:02
n4nd0do you recognize this error?00:02
n4nd0so/RealNumber.cpp:34:2: error: invalid use of incomplete type 'struct shogun::Parameter'00:02
n4nd0../shogun/base/SGObject.h:36:7: error: forward declaration of 'struct shogun::Parameter'00:03
n4nd0I will better not disturb you then00:03
blackburn1I am already finished00:03
n4nd0nice then00:03
blackburn1just some polishing00:03
n4nd0that thing ^ is driving me crazy00:03
n4nd0it is in a init() function00:03
blackburn1I think it is related to missed include00:03
n4nd0nothing fancy00:03
blackburn1try to include parameter00:04
-!- gsomix [~gsomix@] has quit [Ping timeout: 265 seconds]00:05
n4nd0blackburn1: you are wise!00:05
n4nd0but why?!00:06
n4nd0I mean why it happened00:06
n4nd0not why you're wise :P00:06
blackburn1no idea but it happens when you derive from sgobject00:06
blackburn1I did not recognize the root cause00:06
n4nd0thank you very much!00:07
blackburn1welcome :)00:09
-!- heiko1 [] has quit [Ping timeout: 256 seconds]00:17
n4nd0good night guys00:22
-!- n4nd0 [] has quit [Quit: leaving]00:23
-!- ckwidmer [] has joined #shogun00:42
CIA-9shogun: Sergey Lisitsyn master * r84fbbe6 / (17 files in 8 dirs): Merge branch 'master' of -
CIA-9shogun: Sergey Lisitsyn master * rc8e0a66 / data : Added new data -
CIA-9shogun: Sergey Lisitsyn master * r45d89d9 / (3 files in 2 dirs): Attempt to fix LPBoost -
-!- blackburn1 [~blackburn@] has quit [Ping timeout: 244 seconds]02:23
-!- ckwidmer [] has quit [Remote host closed the connection]02:24
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 246 seconds]04:33
-!- wiking [] has joined #shogun05:59
-!- wiking [] has quit [Changing host]05:59
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun05:59
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]06:58
-!- gsomix [~gsomix@] has joined #shogun07:31
-!- gsomix [~gsomix@] has quit [Client Quit]07:31
-!- gsomix [~gsomix@] has joined #shogun07:31
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun07:54
-!- pluskid [~pluskid@] has joined #shogun07:54
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 245 seconds]08:31
-!- n4nd0 [] has joined #shogun08:44
-!- uricamic [~uricamic@2001:718:2:1634:1cd0:394b:1547:eedb] has joined #shogun08:46
-!- Marty28 [9eb54d46@gateway/web/freenode/ip.] has joined #shogun09:26
Marty28I am using MKLClassification with 2 PolyKernels. At mkl.train() I am getting the following:09:27
Marty28MKL-direct: p = 1.000 MKL-direct: nofKernelsGood = 0 MKL-direct: Z = inf MKL-direct: eps = 1.000000e-02 MKL-direct: t[  0] = -nan  ( diff = -nan = 9.999973e-01 - -nan ) MKL-direct: t[  1] = -nan  ( diff = -nan = 2.712769e-06 - -nan ) MKL-direct: preR = -nan MKL-direct: preR/p = -nan MKL-direct: sqrt(preR/p) = -nan MKL-direct: R = -nan09:27
-!- Marty28 [9eb54d46@gateway/web/freenode/ip.] has quit [Client Quit]09:29
-!- Marty28 [] has joined #shogun09:30
Marty28MKL-direct: p = 1.00009:30
Marty28MKL-direct: nofKernelsGood = 009:30
Marty28MKL-direct: Z = inf09:30
Marty28MKL-direct: eps = 1.000000e-0209:30
Marty28MKL-direct: t[  0] = -nan  ( diff = -nan = 9.999973e-01 - -nan )09:30
Marty28MKL-direct: t[  1] = -nan  ( diff = -nan = 2.712769e-06 - -nan )09:30
Marty28MKL-direct: preR = -nan09:30
Marty28MKL-direct: preR/p = -nan09:30
Marty28MKL-direct: sqrt(preR/p) = -nan09:30
Marty28MKL-direct: R = -nan09:30
Marty28Single PolyKernel is fine with the same data. Also 2 x GaussianKernel.09:30
Marty28What might be going wrong?09:32
-!- wiking [] has joined #shogun09:40
-!- wiking [] has quit [Changing host]09:40
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:40
-!- n4nd0 [] has quit [Ping timeout: 244 seconds]10:28
-!- heiko [] has joined #shogun10:34
Marty28I am plainly using with my own dataset of floats.11:14
-!- pluskid [~pluskid@] has quit [Quit: Leaving]11:22
Marty28Ah, so train and test must be the same size at PolyKernel, but not at GaussianKernel.11:27
-!- Marty28 [] has quit [Ping timeout: 246 seconds]11:48
-!- n4nd0 [] has joined #shogun12:11
-!- Marty28 [] has joined #shogun12:16
-!- Marty28 [] has quit [Ping timeout: 252 seconds]12:29
-!- Marty28 [] has joined #shogun12:35
-!- gsomix [~gsomix@] has quit [Quit: Ex-Chat]12:38
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]12:43
CIA-9shogun: Heiko Strathmann master * r9e5ef91 / (2 files): re-integrated algolib functions due to an error somewhere :( -
CIA-9shogun: Heiko Strathmann master * r4f3c76e / (2 files): initial work on computing p value using gamma distribution for quadratic MMD -
CIA-9shogun: Heiko Strathmann master * rcdc59d5 / (2 files): added gamma cdf and minor changes -
CIA-9shogun: Heiko Strathmann master * r13dc395 / examples/undocumented/libshogun/statistics.cpp : added tests for gamma cdf and minor changes -
CIA-9shogun: Heiko Strathmann master * r3abbb99 / (5 files in 3 dirs): Merge pull request #573 from karlnapf/master -
-!- heiko [] has quit [Ping timeout: 260 seconds]13:26
-!- uricamic1 [~uricamic@2001:718:2:1634:499c:55a3:53d1:ad3d] has joined #shogun14:34
-!- uricamic [~uricamic@2001:718:2:1634:1cd0:394b:1547:eedb] has quit [Ping timeout: 245 seconds]14:37
-!- heiko [] has joined #shogun14:49
-!- puffin444 [472e31fb@gateway/web/freenode/ip.] has joined #shogun14:53
CIA-9shogun: Heiko Strathmann master * r887d699 / (2 files): finished gamma-based computation of p-value for quadratic MMD -
CIA-9shogun: Heiko Strathmann master * r631c3e7 / (2 files): Merge pull request #574 from karlnapf/master -
n4nd0hey heiko15:19
n4nd0how did your exam go?15:19
heikon4nd0, hi15:19
heikonot too good unfortunately, but still ok I think15:19
heikowas a bit of bad luck15:19
heikoanyway, DONE now :)15:19
heikowhat about you?15:19
n4nd0I am fine, a bit of coding here and there15:20
heikoI am reading your blog :)15:20
n4nd0I read it last Monday when you sent your last report15:21
n4nd0do you like it?15:21
n4nd0do you think it is more or less understandable?15:21
heikoI like it15:21
n4nd0with it before I meant that I read YOUR blog too :D15:21
heikogot that :)15:21
heikoI mean these blods are supposed to only give an overview15:21
heikoso yes, its understandable :)15:22
heikowhat about your exams?15:23
n4nd0they went good15:23
n4nd0I passed all the ones I took so I'm happy with them15:23
heikohow long are you going to study?15:24
n4nd0I hope to finish next year with everything15:24
n4nd0but I want to pursue a phd so I will continue being a student for some years15:25
-!- nicococo [] has joined #shogun15:25
heikohehe, nice :)15:25
n4nd0are you currently studying for a phd or is a master?15:25
heikobut almost done now15:25
n4nd0nicococo: hey!15:25
heikojust dissertation15:25
nicococohola amigo15:25
n4nd0nicococo: have you ever studied Spanish? I am curious about it15:26
nicococomy girlfriend is half--columbiana ;)15:27
n4nd0oh good15:27
n4nd0like shakira15:27
nicococosi senor15:27
n4nd0all right15:28
nicococoso, whats about the  multiclasssuperalgorithm15:28
n4nd0so yesterday wiking, alex and I discussed a bit about the framework in general15:29
n4nd0I don't know if you have read something about it in the logs15:29
nicococoahh because of the latent variable svm right?15:29
nicococois there a specific problem?15:30
n4nd0alex suggested some modifications in the framework15:30
nicococoi talked to alex and there is one issue we should resolve15:30
nicocococan you summerize?15:31
n4nd0so if I understood correctly the main idea was that the argmax should have knowledge of how psi is computed15:31
nicococoyeah, thats the normal case. i talked to alex about cases where this is not possible15:32
-!- Marty28 [] has left #shogun []15:32
n4nd0can you tell me a bit more about it?15:32
n4nd0I don't really know if I understand the why of all this15:33
nicocococurrently we have labels and data divided into 2 classes15:33
nicococowhat alex wants is: he don't want to load the data he want to load the psi vectors15:33
n4nd0when you talk about "loading" what is exactly what you mean?15:34
-!- puffin444 [472e31fb@gateway/web/freenode/ip.] has quit [Quit: Page closed]15:34
n4nd0like to have all the vectors in main memory or?15:34
n4nd0why of this?15:35
nicococohe wants to pre-compute all kinds of psi's externally15:35
n4nd0I guess that in large scale one cannot assume that neither all the data nor all the psi vectors fit into memoty15:35
nicococoyes, there could be some paging .. its more like that he wants to pre-compute the psis and hence, don't need to load the data anymore15:36
n4nd0ok, I understand15:37
n4nd0I am not sure but I have the feeling that it is similar to the COFFIN thing Soeren told us about15:37
nicococoi think, it is easily possible if you load the psis in data, right?15:37
n4nd0mmm load the psis in data?15:38
n4nd0I don't understand, sorry :S15:38
nicococointo the cfeature object, i mean15:38
n4nd0yes, I think it could be possible to load the psis into a CFeature object15:39
n4nd0but that wouldn't work with our framework right now15:39
nicococoso we are loading the raw data into cfeature and they are loading the psis into cfeature15:39
n4nd0aham I see15:40
nicococothat should work within our framework, or?15:40
n4nd0mmm I am not so sure15:40
n4nd0since right now when we want to use a psi vector15:40
n4nd0we call a function to compute the psi vector15:41
n4nd0we don't do a get in CFeatures15:41
n4nd0nicococo: ping15:43
nicococoyes, but the computation is done in the application object right (sorry for the long answer: pong)15:44
nicococosry for the long delay, i mean15:44
n4nd0the computation is done in a JointFeatureFunction object15:44
n4nd0this class is under development15:45
nicococosorry, doesn't seem right to me :(15:45
n4nd0so we have a class StructuredModel15:46
n4nd0and in this class we want to put together the different parts that are application dependent15:46
n4nd0these parts are the delta loss, the argmax and the joint feature function or psi15:47
n4nd0at the beginning we thought that they should be in the StructuredModel as function pointers15:48
n4nd0but we had to change to that since there are some problems with function pointers15:49
n4nd0so we get 3 new classes here, one for each part15:49
n4nd0for the delta loss, the argmax and psi15:49
n4nd0uups when I said to change to that it should be to change THAT :O15:50
nicococowell, in the beginning i was not 100% convinced by this function pointer since these functions belong more or less together. if there is any trouble i would drop this enhancement15:51
n4nd0yeah, I mean that it already dropped I think15:51
n4nd0it is not implemented with function pointers any more15:51
n4nd0are we ok with that or?15:52
nicococowell, it was a nice idea but if you have to change a lot and we get in trouble with the latent stuff, then i would think it is not worth the effort, don't you think15:52
n4nd0well actually the problem is not with the latent stuff15:53
n4nd0the problem is that function pointers make a bit more difficult the things with SWIG15:53
n4nd0and that Soeren strongly recommended to prevent the use of them15:53
n4nd0he had some reasons to support that15:54
nicococono, what i mean is not the technique of using function pointers15:54
nicococoit is more, to divide the functionality: delta loss, psi, ...15:54
n4nd0how should we do it otherwise?15:55
nicococoits all in the application15:55
-!- pluskid [~pluskid@] has joined #shogun15:56
n4nd0mmm but that's the way it is now done15:56
nicococoyep, don't you like it that way?15:57
n4nd0I think I am losing a bit the point of the conversation ....15:57
n4nd0why did you say that15:58
nicococoi guess me too :)15:58
n4nd015:44 < n4nd0> the computation is done in a JointFeatureFunction object15:58
n4nd015:45 < nicococo> sorry, doesn't seem right to me :(15:58
nicocococan you give me the code url?15:58
n4nd0what part of the code?15:58
n4nd0you may want to check other files as well15:59
nicococoCArgMaxFunction, CStructuredLossFunction16:01
nicococoyou divided it, because then you can stick different things together like in svm: exp-loss and kernel, right?16:02
n4nd0I divided it because it has been always divided16:03
n4nd0from the gist code
n4nd0they are three different functions16:04
nicococoits not in there..16:05
nicococoargmax is in applciation as well as delta loss16:05
CIA-9shogun: Heiko Strathmann master * rb6e2afd / src/shogun/mathematics/Math.h : added SGVector method for qsort -
CIA-9shogun: Heiko Strathmann master * r3d309de / (5 files): -integrated all p-value methods for quadratic time MMD -
CIA-9shogun: Heiko Strathmann master * r053c114 / (6 files in 2 dirs): Merge pull request #575 from karlnapf/master -
nicococowell, okay. what i want to say that this is more how you want to write it (i personally wouldn't do that)16:07
n4nd0I didn't realize that when introducing function pointers we were also separating the functionality16:07
n4nd0tell me how would you do it then16:08
n4nd0I have interpreted then wrong the things since I thought that this was how it should be done16:08
nicococoi would implement it as in the gist, 'delta' is a function in cstructapplication16:09
nicococowell, your way is not wrong.. i am just a bit surprised but can live with that16:09
n4nd0well but you know much more than I do about SO so your way is probably better, more robust, etc16:10
nicococohehe.. in my opinion you're right ;)16:10
n4nd0ok so it should be done in the following way16:11
nicococoboth way are more or less equivalent for all the things i was thinking about BUT...16:11
nicococothese latent guys (and alex special 'i just want to load psis'-wish) make things more complicated16:12
n4nd0ok, but we have to think in the design in such a way that we handle that16:13
nicococoi think, that if we do it my way, we don't have to change a lot.. but i am not sure it will work your way that easy16:13
n4nd0there's no need to argue about this, there is not actually "my way" :)16:14
n4nd0this is how I interpreted what we talked16:14
nicococookay, i don't mean it rude, its more to give it a name ;)16:14
n4nd0sure, no problem16:14
n4nd0let's no try to sync the ideas so I can correct the mistakes16:15
nicococolets think that through:16:15
nicococoexample: for latent svms i think we also need a delta(y_i,y_bar,h_latent)16:15
nicococowhen you have a special cstructuredloss object you also need to handle it there right?16:16
nicococoin cstructloss16:17
n4nd0I guess, I am not sure about the question16:18
nicococoin CStructuredLossFunction there is a loss(CStructuredLabels* labels, int32_t ytrue_idx, CStructuredData ypred) = 0 method16:19
nicococo(in short delta(y,ypred) )16:19
nicococofor latent svms you also need a delta(y,ypred,h) function16:19
n4nd0but you said that it is better to have everything (delta, psi, argmax) in the model16:20
n4nd0so then CStructuredLossFunction and CArgMaxFunction dissapear16:20
nicococothe classes disappear, yes16:21
n4nd0then why did you ask16:21
n4nd016:16 < nicococo> when you have a special cstructuredloss object you also need to handle it there right?16:21
nicococoi thought you would like to use these classes :)16:22
n4nd0haha I am getting confused16:23
n4nd0I thought you support the idea of not using classes there16:23
n4nd0believe is not a problem for me, no pain if they go out :D16:23
nicococome too.. simple solution: CStructuredLossFunction, CArgmaxFunction classes disappear and their functionality is in CStructuredApplication16:24
n4nd0what about psi?16:24
nicococohey i want that you are also happy with the code ;)16:24
n4nd0I am happy with it, don't worry about that :)16:25
nicococookay, now the next thing: it might be useful to re-animate the CStructuredData class (like in the gist)16:26
n4nd0and again, what about psi? :D16:26
nicococowhich psi? the alex-psi?16:26
n4nd0psi, in general16:27
n4nd0is it a method in CStructuredModel16:27
n4nd0is it a class?16:27
nicococono, its just a method in CStructuredModel16:27
nicococoand psi is a vector16:28
n4nd0 this has the inconvenient that if we want to change just one part of the application, for example the delta loss16:28
n4nd0one has to re-write the whole class16:28
n4nd0re-write argmax and psi (copy + paste them) and just change a new delta16:29
nicococoyes, i know, but this isn't a big problem16:29
n4nd0it might be a problem when argmax is a big thing like Viterbi I guess16:30
nicococo1. if you just want to rewrite delta then you can overload it in a child class, right?16:30
n4nd01. is true, I agree with you - the inconvenient is not there any more16:30
nicococo2. these function have really strong ties: if you use sequences, then you use a hamming-like loss and a viterbi style algorithm.. you usually cannot change much16:32
nicococoe.g. a multi-class loss cannot be used for sequences.. and so on16:33
nicococoso its not a big restriction16:33
nicococoso, multi-class example?16:35
n4nd0how we should we take care of the latent stuff?16:35
nicococomost simple solution (i think) is: put CFeatures and CStructuredLabels in a wrapper class CStructuredData16:36
n4nd0tell me more about it16:37
nicococothen put an indicator function in it that reflects wether it is pure data/label or pre-computed psi in cfeatures16:37
nicococoif they need another delta-function then they just put it in the CStructModel16:38
nicococowell, thats all16:39
nicococoso, nearly no changes :)16:39
n4nd0I have understood the part of putting another function in CStructModel if they are necessary16:40
n4nd0but not the part of the wrapper class CStructuredData16:41
nicococotechnically it is not necessary. but i think it would be nice a) to have the data/label at one place and b) indicate if these are psis or not16:42
nicococoagree/disagree ?16:44
n4nd0mmm I don't know why a) would be nice16:45
n4nd0but I think it's ok for the moment16:45
n4nd0it's not something that we are going to change right now I believe16:45
nicococono. first, the example16:46
n4nd0I have it locally nearly finished16:46
n4nd0but I will adapt it to the changes we have discussed today16:46
nicococodo you have results already?16:47
n4nd0no no16:47
n4nd0it's not ready to run yet16:47
nicococookay, but you know what to do or are there some questions16:48
-!- pluskid [~pluskid@] has quit [Quit: Leaving]16:48
n4nd0just one question16:48
n4nd0in CResultSet16:48
nicococoargmax_y delivers the most likely y but most algorithm also deliver some score max_y16:49
nicococoy* = argmax_y blabla    score = max_y blabla16:50
n4nd0so for example in multiclass classification16:50
n4nd0it is simpy the value of max_wi wi^T*x16:51
n4nd0all right16:51
n4nd0I think that's all for today then16:52
nicococookay.. when do you think you will have a running example (running, not necessary working ;) )16:52
n4nd0do you think that you will have some time to discuss before next monday?16:52
n4nd0if you have time tomorrow I can work hard today and tomorrow morning and do my best and try to have it ready then16:53
nicococoemail is better on weekends.. but i have time tomorrow :)  (and if urgent on sunday)16:54
n4nd0let's do it tomorrow then16:54
nicococoalright.. then happy coding ;)16:54
n4nd0by the way16:55
n4nd0any suggestion for the data to use in the example?16:55
nicococothanks for your work, see you tomorrow16:55
n4nd0multiclass example I mean16:55
nicococoi would use 3-10 gaussians in 2 dims16:56
nicococothese should intersect a bit  but more or less separable16:56
n4nd0Gaussians then16:57
n4nd0thank you very much for your help!16:57
nicococo;) bye16:57
n4nd0hasta luego amigo!16:57
-!- nicococo [] has left #shogun []16:57
-!- n4nd0 [] has quit [Ping timeout: 252 seconds]17:08
-!- uricamic1 [~uricamic@2001:718:2:1634:499c:55a3:53d1:ad3d] has quit [Quit: Leaving.]17:10
-!- blackburn [~blackburn@] has joined #shogun17:18
blackburnheiko: why do you use PRs for your code?17:29
blackburnpull requests17:29
heikoI guess because its easier for me17:29
heikois there any disadvantage?17:29
blackburneasier? :)17:30
heikoyes because I only have my fork cloned on disc17:30
blackburnI thought it is not as convenient but it is up to you17:30
heikothen I can push to that a few times before sending a request17:30
blackburnno disadv. at all17:30
heikoalright then :)17:30
blackburnhmm how do you merge it then?17:30
heikoI am just used to this since I did it all before17:30
heikoI can merge pull-requests17:30
heikoso I just merge my own17:30
blackburnyes - how technically?17:31
blackburnif you have only fork on disc17:31
heikoI pull from upstream17:31
heikogit pull --rebase upstream master17:31
blackburnand push to upstream?17:31
heikono I push to my fork17:31
blackburnand what do you do to merge PR?17:31
heikoclick merge button on github :)17:32
blackburnlet me check17:32
heikopops up if you do a PR17:32
blackburnyes there is a problem with that17:32
blackburnyou know we have two more mirrors17:32
blackburnthey are not updated automatically17:33
blackburnhowever they are updated then I or soeren commit something17:33
heikobut how are pull requests from other people updated?17:33
blackburnso I think we can live with it17:33
blackburnI have both fork and upstream17:33
heikowell thats ok I think17:33
blackburnif I want to merge something17:33
blackburnI do git pull from that fork17:33
heikoI find it already pretty messy with all these different layers (I also got multiple local branchs)17:34
heikoso I prefer not to add another one if thats ok17:34
blackburnand then git push to each repo17:34
blackburnheiko: for example I just pushed one we have at github to google code17:35
blackburnit was outdated17:35
blackburnbut again that's ok I think17:36
heikoI mean thats how other people's code get's there right?17:36
blackburnwhat do you mean?17:37
heikoother people also send pull requests17:37
blackburnyes that happens :)17:37
heikoso thats how I do it,17:39
heikoso my code gets into the backup repos in the same way their code goes there17:39
blackburnyes but you do not do that using that button - I do17:39
blackburnI actually have alias :D gposg - git push origin && git push shogun && git push google17:40
heikoah ok17:40
heikowell I think its ok anyway :)17:40
heikobecause from time to time you do that17:40
heikoanyway, I gotta go catch the bus17:41
blackburnokay see you17:41
heikosee you around!17:41
-!- heiko [] has left #shogun []17:41
-!- wiking [] has joined #shogun17:51
-!- wiking [] has quit [Changing host]17:51
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun17:51
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]18:15
-!- blackburn [~blackburn@] has joined #shogun18:17
-!- n4nd0 [] has joined #shogun19:09
n4nd0blackburn: hey! so thesis handed in finally?19:11
blackburnyes - more or less19:11
blackburna few design fixes to do but yes19:11
n4nd0do you have to do a presentation too?19:12
blackburnyes will start in next few days19:12
n4nd0ok, good luck for it then!19:12
n4nd0wiking: hey, have you taken a look to the logs of this afternoon?19:13
n4nd0Nico and I discussed about the design of SO framework19:13
CIA-9shogun: Sergey Lisitsyn master * rec4f3ef / data : Updated data -
n4nd0I am going to introduce again some changes (yes ... once again)19:14
n4nd0I thought that you could be iterested19:14
-!- Marty28 [] has joined #shogun19:47
-!- n4nd0 [] has quit [Ping timeout: 260 seconds]19:57
-!- blackburn [~blackburn@] has quit [Ping timeout: 265 seconds]20:00
-!- gsomix [~gsomix@] has joined #shogun20:32
gsomixhi all20:32
-!- n4nd0 [] has joined #shogun20:43
@sonney2kn4nd0, so what are the changes to the SO framework you think of?20:49
n4nd0sonney2k: to have the delta loss, argmax and psi function directly defined in a CStructuredModel20:50
n4nd0and not to separate them in different classes20:50
n4nd0I know that you said that the argmax is important or long enough to be a class itself20:50
n4nd0but I think that for the cases when this is true20:50
n4nd0then the method that implements the argmax in a CStructuredModel can just act as a wrapper of the class20:51
@sonney2kn4nd0, what is the advantage of doing it this way?20:54
n4nd0sonney2k: I think that it is difficult to separate these parts in a general case20:55
n4nd0since most of times one of them depends on how the other is computed20:55
n4nd0e.g. Nico's argmax is designed not to return the actual argmax but a structure that contains a delta loss, and two different psi vectors20:56
n4nd0you can check in gist what I have said right above20:59
n4nd0sonney2k: do you see something wrong on doing it this way?21:03
-!- Marty28 [] has quit [Remote host closed the connection]21:19
@sonney2kn4nd0, no idea - I hope you all know better :)21:19
n4nd0I trust Nico :)21:30
@sonney2kn4nd0, it is important to get sth done - nothing is set in stone :)22:35
n4nd0sonney2k: sure22:35
n4nd0sonney2k: we'll get this done!22:35
n4nd0sonney2k: for the next week we'll have multiclass classification with SO done22:47
n4nd0and I think that is an important milestone since it means that the algorithm works fine22:48
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]22:57
-!- wiking [] has joined #shogun22:57
-!- wiking [] has quit [Changing host]22:57
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun22:57
@sonney2kn4nd0, yes agreed22:57
-!- gsomix [~gsomix@] has quit [Ping timeout: 265 seconds]23:00
@sonney2kn4nd0, btw I like the REQUIRE(cond, "error msg"); idea23:05
@sonney2kthat will really simplify lots of code23:05
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun23:16
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 252 seconds]23:19
-!- wiking_ is now known as wiking23:19
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer]23:27
--- Log closed Fri Jun 08 00:00:41 2012