--- Log opened Thu Jun 07 00:00:41 2012 | ||
n4nd0 | nice | 00:01 |
---|---|---|
n4nd0 | gsomix: good luck with the building :) | 00:01 |
n4nd0 | hey blackburn1 | 00:02 |
n4nd0 | do you have a moment? | 00:02 |
blackburn1 | hey | 00:02 |
blackburn1 | yes | 00:02 |
blackburn1 | 7hrs to finish thesis :D | 00:02 |
n4nd0 | do you recognize this error? | 00:02 |
n4nd0 | so/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 |
n4nd0 | wow | 00:03 |
blackburn1 | hmmm | 00:03 |
n4nd0 | I will better not disturb you then | 00:03 |
blackburn1 | noo | 00:03 |
blackburn1 | I am already finished | 00:03 |
n4nd0 | nice then | 00:03 |
blackburn1 | just some polishing | 00:03 |
n4nd0 | that thing ^ is driving me crazy | 00:03 |
n4nd0 | it is in a init() function | 00:03 |
blackburn1 | I think it is related to missed include | 00:03 |
n4nd0 | nothing fancy | 00:03 |
blackburn1 | try to include parameter | 00:04 |
-!- gsomix [~gsomix@109.169.142.23] has quit [Ping timeout: 265 seconds] | 00:05 | |
n4nd0 | blackburn1: you are wise! | 00:05 |
blackburn1 | heh | 00:06 |
n4nd0 | but why?! | 00:06 |
n4nd0 | I mean why it happened | 00:06 |
n4nd0 | not why you're wise :P | 00:06 |
blackburn1 | no idea but it happens when you derive from sgobject | 00:06 |
blackburn1 | I did not recognize the root cause | 00:06 |
n4nd0 | ok | 00:06 |
n4nd0 | thank you very much! | 00:07 |
blackburn1 | welcome :) | 00:09 |
-!- heiko1 [~heiko@host86-180-43-237.range86-180.btcentralplus.com] has quit [Ping timeout: 256 seconds] | 00:17 | |
n4nd0 | good night guys | 00:22 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 00:23 | |
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun | 00:42 | |
CIA-9 | shogun: Sergey Lisitsyn master * r84fbbe6 / (17 files in 8 dirs): Merge branch 'master' of github.com:shogun-toolbox/shogun - http://git.io/ptVMsA | 01:09 |
CIA-9 | shogun: Sergey Lisitsyn master * rc8e0a66 / data : Added new data - http://git.io/PMcxxQ | 01:09 |
blackburn1 | argh | 01:12 |
CIA-9 | shogun: Sergey Lisitsyn master * r45d89d9 / (3 files in 2 dirs): Attempt to fix LPBoost - http://git.io/twobyA | 01:12 |
-!- blackburn1 [~blackburn@188.168.3.9] has quit [Ping timeout: 244 seconds] | 02:23 | |
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] | 02:24 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 246 seconds] | 04:33 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 05:59 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 05:59 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 05:59 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 06:58 | |
-!- gsomix [~gsomix@109.169.137.52] has joined #shogun | 07:31 | |
-!- gsomix [~gsomix@109.169.137.52] has quit [Client Quit] | 07:31 | |
-!- gsomix [~gsomix@109.169.137.52] has joined #shogun | 07:31 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 07:54 | |
-!- pluskid [~pluskid@202.130.113.138] has joined #shogun | 07:54 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 245 seconds] | 08:31 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 08:44 | |
-!- uricamic [~uricamic@2001:718:2:1634:1cd0:394b:1547:eedb] has joined #shogun | 08:46 | |
-!- Marty28 [9eb54d46@gateway/web/freenode/ip.158.181.77.70] has joined #shogun | 09:26 | |
Marty28 | hi | 09:26 |
Marty28 | I am using MKLClassification with 2 PolyKernels. At mkl.train() I am getting the following: | 09:27 |
Marty28 | MKL-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 = -nan | 09:27 |
-!- Marty28 [9eb54d46@gateway/web/freenode/ip.158.181.77.70] has quit [Client Quit] | 09:29 | |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has joined #shogun | 09:30 | |
Marty28 | MKL-direct: p = 1.000 | 09:30 |
Marty28 | MKL-direct: nofKernelsGood = 0 | 09:30 |
Marty28 | MKL-direct: Z = inf | 09:30 |
Marty28 | MKL-direct: eps = 1.000000e-02 | 09:30 |
Marty28 | MKL-direct: t[ 0] = -nan ( diff = -nan = 9.999973e-01 - -nan ) | 09:30 |
Marty28 | MKL-direct: t[ 1] = -nan ( diff = -nan = 2.712769e-06 - -nan ) | 09:30 |
Marty28 | MKL-direct: preR = -nan | 09:30 |
Marty28 | MKL-direct: preR/p = -nan | 09:30 |
Marty28 | MKL-direct: sqrt(preR/p) = -nan | 09:30 |
Marty28 | MKL-direct: R = -nan | 09:30 |
Marty28 | Single PolyKernel is fine with the same data. Also 2 x GaussianKernel. | 09:30 |
Marty28 | What might be going wrong? | 09:32 |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 09:40 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 09:40 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 09:40 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 244 seconds] | 10:28 | |
-!- heiko [~heiko@host86-182-162-31.range86-182.btcentralplus.com] has joined #shogun | 10:34 | |
Marty28 | I am plainly using mkl_binclass_modular.py with my own dataset of floats. | 11:14 |
-!- pluskid [~pluskid@202.130.113.138] has quit [Quit: Leaving] | 11:22 | |
Marty28 | Ah, so train and test must be the same size at PolyKernel, but not at GaussianKernel. | 11:27 |
Marty28 | Confusing. | 11:27 |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has quit [Ping timeout: 246 seconds] | 11:48 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 12:11 | |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has joined #shogun | 12:16 | |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has quit [Ping timeout: 252 seconds] | 12:29 | |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has joined #shogun | 12:35 | |
-!- gsomix [~gsomix@109.169.137.52] has quit [Quit: Ex-Chat] | 12:38 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 12:43 | |
CIA-9 | shogun: Heiko Strathmann master * r9e5ef91 / (2 files): re-integrated algolib functions due to an error somewhere :( - http://git.io/pYaZTQ | 13:20 |
CIA-9 | shogun: Heiko Strathmann master * r4f3c76e / (2 files): initial work on computing p value using gamma distribution for quadratic MMD - http://git.io/CFuGwQ | 13:20 |
CIA-9 | shogun: Heiko Strathmann master * rcdc59d5 / (2 files): added gamma cdf and minor changes - http://git.io/PDG85Q | 13:20 |
CIA-9 | shogun: Heiko Strathmann master * r13dc395 / examples/undocumented/libshogun/statistics.cpp : added tests for gamma cdf and minor changes - http://git.io/c64UwA | 13:20 |
CIA-9 | shogun: Heiko Strathmann master * r3abbb99 / (5 files in 3 dirs): Merge pull request #573 from karlnapf/master - http://git.io/qp77gA | 13:20 |
-!- heiko [~heiko@host86-182-162-31.range86-182.btcentralplus.com] has quit [Ping timeout: 260 seconds] | 13:26 | |
-!- uricamic1 [~uricamic@2001:718:2:1634:499c:55a3:53d1:ad3d] has joined #shogun | 14:34 | |
-!- uricamic [~uricamic@2001:718:2:1634:1cd0:394b:1547:eedb] has quit [Ping timeout: 245 seconds] | 14:37 | |
-!- heiko [~heiko@host86-182-162-31.range86-182.btcentralplus.com] has joined #shogun | 14:49 | |
-!- puffin444 [472e31fb@gateway/web/freenode/ip.71.46.49.251] has joined #shogun | 14:53 | |
CIA-9 | shogun: Heiko Strathmann master * r887d699 / (2 files): finished gamma-based computation of p-value for quadratic MMD - http://git.io/a_h0CQ | 15:12 |
CIA-9 | shogun: Heiko Strathmann master * r631c3e7 / (2 files): Merge pull request #574 from karlnapf/master - http://git.io/Fv2_PA | 15:12 |
n4nd0 | hey heiko | 15:19 |
n4nd0 | how did your exam go? | 15:19 |
heiko | n4nd0, hi | 15:19 |
heiko | not too good unfortunately, but still ok I think | 15:19 |
heiko | was a bit of bad luck | 15:19 |
n4nd0 | :( | 15:19 |
heiko | anyway, DONE now :) | 15:19 |
heiko | what about you? | 15:19 |
n4nd0 | I am fine, a bit of coding here and there | 15:20 |
n4nd0 | :D | 15:20 |
heiko | I am reading your blog :) | 15:20 |
n4nd0 | nice | 15:20 |
n4nd0 | I read it last Monday when you sent your last report | 15:21 |
n4nd0 | do you like it? | 15:21 |
n4nd0 | do you think it is more or less understandable? | 15:21 |
heiko | I like it | 15:21 |
n4nd0 | with it before I meant that I read YOUR blog too :D | 15:21 |
heiko | got that :) | 15:21 |
heiko | I mean these blods are supposed to only give an overview | 15:21 |
heiko | so yes, its understandable :) | 15:22 |
n4nd0 | good | 15:22 |
heiko | what about your exams? | 15:23 |
n4nd0 | they went good | 15:23 |
n4nd0 | I passed all the ones I took so I'm happy with them | 15:23 |
heiko | nice | 15:24 |
heiko | how long are you going to study? | 15:24 |
n4nd0 | I hope to finish next year with everything | 15:24 |
n4nd0 | but I want to pursue a phd so I will continue being a student for some years | 15:25 |
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has joined #shogun | 15:25 | |
heiko | hehe, nice :) | 15:25 |
n4nd0 | are you currently studying for a phd or is a master? | 15:25 |
heiko | master | 15:25 |
heiko | but almost done now | 15:25 |
n4nd0 | nicococo: hey! | 15:25 |
heiko | just dissertation | 15:25 |
nicococo | hola amigo | 15:25 |
n4nd0 | :) | 15:26 |
n4nd0 | nicococo: have you ever studied Spanish? I am curious about it | 15:26 |
nicococo | my girlfriend is half--columbiana ;) | 15:27 |
n4nd0 | oh good | 15:27 |
n4nd0 | like shakira | 15:27 |
n4nd0 | :D | 15:27 |
nicococo | si senor | 15:27 |
n4nd0 | all right | 15:28 |
nicococo | so, whats about the multiclasssuperalgorithm | 15:28 |
n4nd0 | so yesterday wiking, alex and I discussed a bit about the framework in general | 15:29 |
n4nd0 | I don't know if you have read something about it in the logs | 15:29 |
nicococo | ahh because of the latent variable svm right? | 15:29 |
n4nd0 | yes | 15:29 |
nicococo | is there a specific problem? | 15:30 |
n4nd0 | alex suggested some modifications in the framework | 15:30 |
nicococo | i talked to alex and there is one issue we should resolve | 15:30 |
nicococo | can you summerize? | 15:31 |
n4nd0 | so if I understood correctly the main idea was that the argmax should have knowledge of how psi is computed | 15:31 |
nicococo | yeah, thats the normal case. i talked to alex about cases where this is not possible | 15:32 |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has left #shogun [] | 15:32 | |
n4nd0 | aham | 15:32 |
n4nd0 | can you tell me a bit more about it? | 15:32 |
n4nd0 | I don't really know if I understand the why of all this | 15:33 |
nicococo | currently we have labels and data divided into 2 classes | 15:33 |
nicococo | what alex wants is: he don't want to load the data he want to load the psi vectors | 15:33 |
n4nd0 | when you talk about "loading" what is exactly what you mean? | 15:34 |
nicococo | yep | 15:34 |
-!- puffin444 [472e31fb@gateway/web/freenode/ip.71.46.49.251] has quit [Quit: Page closed] | 15:34 | |
n4nd0 | like to have all the vectors in main memory or? | 15:34 |
nicococo | yep | 15:34 |
n4nd0 | ok | 15:35 |
n4nd0 | why of this? | 15:35 |
nicococo | he wants to pre-compute all kinds of psi's externally | 15:35 |
n4nd0 | I guess that in large scale one cannot assume that neither all the data nor all the psi vectors fit into memoty | 15:35 |
n4nd0 | memory* | 15:35 |
nicococo | yes, 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 anymore | 15:36 |
n4nd0 | ok, I understand | 15:37 |
n4nd0 | I am not sure but I have the feeling that it is similar to the COFFIN thing Soeren told us about | 15:37 |
nicococo | i think, it is easily possible if you load the psis in data, right? | 15:37 |
n4nd0 | mmm load the psis in data? | 15:38 |
n4nd0 | I don't understand, sorry :S | 15:38 |
nicococo | into the cfeature object, i mean | 15:38 |
n4nd0 | yes, I think it could be possible to load the psis into a CFeature object | 15:39 |
n4nd0 | but that wouldn't work with our framework right now | 15:39 |
nicococo | so we are loading the raw data into cfeature and they are loading the psis into cfeature | 15:39 |
n4nd0 | aham I see | 15:40 |
nicococo | that should work within our framework, or? | 15:40 |
n4nd0 | mmm I am not so sure | 15:40 |
n4nd0 | since right now when we want to use a psi vector | 15:40 |
n4nd0 | we call a function to compute the psi vector | 15:41 |
n4nd0 | we don't do a get in CFeatures | 15:41 |
n4nd0 | nicococo: ping | 15:43 |
n4nd0 | :) | 15:43 |
nicococo | yes, but the computation is done in the application object right (sorry for the long answer: pong) | 15:44 |
nicococo | sry for the long delay, i mean | 15:44 |
nicococo | :) | 15:44 |
n4nd0 | the computation is done in a JointFeatureFunction object | 15:44 |
nicococo | ? | 15:45 |
n4nd0 | this class is under development | 15:45 |
nicococo | sorry, doesn't seem right to me :( | 15:45 |
n4nd0 | ok | 15:46 |
n4nd0 | so we have a class StructuredModel | 15:46 |
n4nd0 | and in this class we want to put together the different parts that are application dependent | 15:46 |
n4nd0 | right? | 15:46 |
nicococo | yep | 15:47 |
n4nd0 | these parts are the delta loss, the argmax and the joint feature function or psi | 15:47 |
nicococo | yep2 | 15:48 |
n4nd0 | at the beginning we thought that they should be in the StructuredModel as function pointers | 15:48 |
n4nd0 | but we had to change to that since there are some problems with function pointers | 15:49 |
n4nd0 | so we get 3 new classes here, one for each part | 15:49 |
n4nd0 | for the delta loss, the argmax and psi | 15:49 |
n4nd0 | uups when I said to change to that it should be to change THAT :O | 15:50 |
nicococo | well, 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 enhancement | 15:51 |
n4nd0 | yeah, I mean that it already dropped I think | 15:51 |
n4nd0 | it is not implemented with function pointers any more | 15:51 |
n4nd0 | are we ok with that or? | 15:52 |
nicococo | well, 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 think | 15:52 |
nicococo | yes | 15:53 |
n4nd0 | well actually the problem is not with the latent stuff | 15:53 |
n4nd0 | the problem is that function pointers make a bit more difficult the things with SWIG | 15:53 |
n4nd0 | and that Soeren strongly recommended to prevent the use of them | 15:53 |
n4nd0 | he had some reasons to support that | 15:54 |
nicococo | no, what i mean is not the technique of using function pointers | 15:54 |
nicococo | it is more, to divide the functionality: delta loss, psi, ... | 15:54 |
n4nd0 | how should we do it otherwise? | 15:55 |
nicococo | its all in the application | 15:55 |
-!- pluskid [~pluskid@202.130.113.138] has joined #shogun | 15:56 | |
n4nd0 | mmm but that's the way it is now done | 15:56 |
nicococo | yep, don't you like it that way? | 15:57 |
n4nd0 | yes | 15:57 |
n4nd0 | I think I am losing a bit the point of the conversation .... | 15:57 |
n4nd0 | why did you say that | 15:58 |
nicococo | i guess me too :) | 15:58 |
n4nd0 | 15:44 < n4nd0> the computation is done in a JointFeatureFunction object | 15:58 |
n4nd0 | 15:45 < nicococo> sorry, doesn't seem right to me :( | 15:58 |
nicococo | can you give me the code url? | 15:58 |
n4nd0 | what part of the code? | 15:58 |
nicococo | model | 15:59 |
n4nd0 | https://github.com/iglesias/shogun/blob/so/src/shogun/so/StructuredModel.h | 15:59 |
n4nd0 | you may want to check other files as well | 15:59 |
n4nd0 | https://github.com/iglesias/shogun/tree/so/src/shogun/so | 15:59 |
nicococo | CArgMaxFunction, CStructuredLossFunction | 16:01 |
n4nd0 | yes | 16:02 |
nicococo | you divided it, because then you can stick different things together like in svm: exp-loss and kernel, right? | 16:02 |
n4nd0 | I divided it because it has been always divided | 16:03 |
nicococo | no.. | 16:03 |
n4nd0 | from the gist code https://gist.github.com/2634487 | 16:03 |
n4nd0 | they are three different functions | 16:04 |
nicococo | its not in there.. | 16:05 |
nicococo | argmax is in applciation as well as delta loss | 16:05 |
CIA-9 | shogun: Heiko Strathmann master * rb6e2afd / src/shogun/mathematics/Math.h : added SGVector method for qsort - http://git.io/t9s-8A | 16:05 |
CIA-9 | shogun: Heiko Strathmann master * r3d309de / (5 files): -integrated all p-value methods for quadratic time MMD - http://git.io/9BhePQ | 16:05 |
CIA-9 | shogun: Heiko Strathmann master * r053c114 / (6 files in 2 dirs): Merge pull request #575 from karlnapf/master - http://git.io/Ik2DlQ | 16:05 |
n4nd0 | ok | 16:06 |
nicococo | well, okay. what i want to say that this is more how you want to write it (i personally wouldn't do that) | 16:07 |
n4nd0 | I didn't realize that when introducing function pointers we were also separating the functionality | 16:07 |
n4nd0 | tell me how would you do it then | 16:08 |
n4nd0 | I have interpreted then wrong the things since I thought that this was how it should be done | 16:08 |
nicococo | i would implement it as in the gist, 'delta' is a function in cstructapplication | 16:09 |
nicococo | well, your way is not wrong.. i am just a bit surprised but can live with that | 16:09 |
nicococo | :) | 16:09 |
n4nd0 | well but you know much more than I do about SO so your way is probably better, more robust, etc | 16:10 |
n4nd0 | :) | 16:10 |
nicococo | hehe.. in my opinion you're right ;) | 16:10 |
n4nd0 | ok so it should be done in the following way | 16:11 |
nicococo | both way are more or less equivalent for all the things i was thinking about BUT... | 16:11 |
n4nd0 | but? | 16:11 |
nicococo | these latent guys (and alex special 'i just want to load psis'-wish) make things more complicated | 16:12 |
n4nd0 | ok, but we have to think in the design in such a way that we handle that | 16:13 |
nicococo | i 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 easy | 16:13 |
n4nd0 | there's no need to argue about this, there is not actually "my way" :) | 16:14 |
n4nd0 | this is how I interpreted what we talked | 16:14 |
nicococo | okay, i don't mean it rude, its more to give it a name ;) | 16:14 |
n4nd0 | sure, no problem | 16:14 |
n4nd0 | let's no try to sync the ideas so I can correct the mistakes | 16:15 |
nicococo | lets think that through: | 16:15 |
nicococo | example: for latent svms i think we also need a delta(y_i,y_bar,h_latent) | 16:15 |
nicococo | when you have a special cstructuredloss object you also need to handle it there right? | 16:16 |
n4nd0 | there? | 16:17 |
nicococo | in cstructloss | 16:17 |
n4nd0 | I guess, I am not sure about the question | 16:18 |
nicococo | in CStructuredLossFunction there is a loss(CStructuredLabels* labels, int32_t ytrue_idx, CStructuredData ypred) = 0 method | 16:19 |
nicococo | (in short delta(y,ypred) ) | 16:19 |
n4nd0 | yes | 16:19 |
nicococo | for latent svms you also need a delta(y,ypred,h) function | 16:19 |
n4nd0 | ok | 16:20 |
n4nd0 | but you said that it is better to have everything (delta, psi, argmax) in the model | 16:20 |
n4nd0 | so then CStructuredLossFunction and CArgMaxFunction dissapear | 16:20 |
n4nd0 | or? | 16:21 |
nicococo | the classes disappear, yes | 16:21 |
n4nd0 | ok | 16:21 |
nicococo | ok | 16:21 |
n4nd0 | then why did you ask | 16:21 |
n4nd0 | 16:16 < nicococo> when you have a special cstructuredloss object you also need to handle it there right? | 16:21 |
n4nd0 | ? | 16:22 |
nicococo | i thought you would like to use these classes :) | 16:22 |
n4nd0 | haha I am getting confused | 16:23 |
n4nd0 | I thought you support the idea of not using classes there | 16:23 |
n4nd0 | believe is not a problem for me, no pain if they go out :D | 16:23 |
nicococo | me too.. simple solution: CStructuredLossFunction, CArgmaxFunction classes disappear and their functionality is in CStructuredApplication | 16:24 |
n4nd0 | ok | 16:24 |
n4nd0 | what about psi? | 16:24 |
nicococo | hey i want that you are also happy with the code ;) | 16:24 |
n4nd0 | I am happy with it, don't worry about that :) | 16:25 |
nicococo | okay, now the next thing: it might be useful to re-animate the CStructuredData class (like in the gist) | 16:26 |
n4nd0 | re-animate? | 16:26 |
n4nd0 | and again, what about psi? :D | 16:26 |
nicococo | which psi? the alex-psi? | 16:26 |
n4nd0 | psi, in general | 16:27 |
n4nd0 | is it a method in CStructuredModel | 16:27 |
n4nd0 | is it a class? | 16:27 |
nicococo | no, its just a method in CStructuredModel | 16:27 |
n4nd0 | mmm | 16:27 |
nicococo | and psi is a vector | 16:28 |
n4nd0 | this has the inconvenient that if we want to change just one part of the application, for example the delta loss | 16:28 |
n4nd0 | one has to re-write the whole class | 16:28 |
n4nd0 | re-write argmax and psi (copy + paste them) and just change a new delta | 16:29 |
nicococo | yes, i know, but this isn't a big problem | 16:29 |
n4nd0 | it might be a problem when argmax is a big thing like Viterbi I guess | 16:30 |
nicococo | 1. if you just want to rewrite delta then you can overload it in a child class, right? | 16:30 |
n4nd0 | 1. is true, I agree with you - the inconvenient is not there any more | 16:30 |
nicococo | 2. 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 much | 16:32 |
n4nd0 | ok | 16:32 |
nicococo | e.g. a multi-class loss cannot be used for sequences.. and so on | 16:33 |
nicococo | so its not a big restriction | 16:33 |
nicococo | okay? | 16:35 |
n4nd0 | ok | 16:35 |
n4nd0 | so | 16:35 |
nicococo | so, multi-class example? | 16:35 |
n4nd0 | how we should we take care of the latent stuff? | 16:35 |
nicococo | most simple solution (i think) is: put CFeatures and CStructuredLabels in a wrapper class CStructuredData | 16:36 |
n4nd0 | tell me more about it | 16:37 |
nicococo | then put an indicator function in it that reflects wether it is pure data/label or pre-computed psi in cfeatures | 16:37 |
nicococo | finished | 16:37 |
nicococo | if they need another delta-function then they just put it in the CStructModel | 16:38 |
nicococo | well, thats all | 16:39 |
n4nd0 | ok | 16:39 |
nicococo | so, nearly no changes :) | 16:39 |
n4nd0 | I have understood the part of putting another function in CStructModel if they are necessary | 16:40 |
n4nd0 | but not the part of the wrapper class CStructuredData | 16:41 |
nicococo | technically 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 not | 16:42 |
nicococo | agree/disagree ? | 16:44 |
n4nd0 | mmm I don't know why a) would be nice | 16:45 |
n4nd0 | but I think it's ok for the moment | 16:45 |
n4nd0 | it's not something that we are going to change right now I believe | 16:45 |
nicococo | no. first, the example | 16:46 |
n4nd0 | yes | 16:46 |
n4nd0 | I have it locally nearly finished | 16:46 |
nicococo | super! | 16:46 |
n4nd0 | but I will adapt it to the changes we have discussed today | 16:46 |
nicococo | do you have results already? | 16:47 |
n4nd0 | no no | 16:47 |
n4nd0 | it's not ready to run yet | 16:47 |
nicococo | okay, but you know what to do or are there some questions | 16:48 |
-!- pluskid [~pluskid@202.130.113.138] has quit [Quit: Leaving] | 16:48 | |
n4nd0 | just one question | 16:48 |
n4nd0 | in CResultSet | 16:48 |
n4nd0 | score? | 16:48 |
nicococo | argmax_y delivers the most likely y but most algorithm also deliver some score max_y | 16:49 |
nicococo | y* = argmax_y blabla score = max_y blabla | 16:50 |
n4nd0 | so for example in multiclass classification | 16:50 |
n4nd0 | it is simpy the value of max_wi wi^T*x | 16:51 |
n4nd0 | ? | 16:51 |
nicococo | yes | 16:51 |
n4nd0 | all right | 16:51 |
n4nd0 | I think that's all for today then | 16:52 |
nicococo | okay.. when do you think you will have a running example (running, not necessary working ;) ) | 16:52 |
n4nd0 | do you think that you will have some time to discuss before next monday? | 16:52 |
n4nd0 | if you have time tomorrow I can work hard today and tomorrow morning and do my best and try to have it ready then | 16:53 |
nicococo | email is better on weekends.. but i have time tomorrow :) (and if urgent on sunday) | 16:54 |
n4nd0 | let's do it tomorrow then | 16:54 |
n4nd0 | 16h? | 16:54 |
nicococo | alright.. then happy coding ;) | 16:54 |
n4nd0 | thanks | 16:55 |
n4nd0 | by the way | 16:55 |
n4nd0 | any suggestion for the data to use in the example? | 16:55 |
nicococo | thanks for your work, see you tomorrow | 16:55 |
n4nd0 | multiclass example I mean | 16:55 |
nicococo | i would use 3-10 gaussians in 2 dims | 16:56 |
n4nd0 | ok | 16:56 |
nicococo | these should intersect a bit but more or less separable | 16:56 |
n4nd0 | ok | 16:57 |
n4nd0 | Gaussians then | 16:57 |
n4nd0 | thank you very much for your help! | 16:57 |
nicococo | ;) bye | 16:57 |
n4nd0 | hasta luego amigo! | 16:57 |
n4nd0 | :D | 16:57 |
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has left #shogun [] | 16:57 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] 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@31.28.59.65] has joined #shogun | 17:18 | |
blackburn | heiko: why do you use PRs for your code? | 17:29 |
heiko | PRs? | 17:29 |
blackburn | pull requests | 17:29 |
heiko | I guess because its easier for me | 17:29 |
heiko | is there any disadvantage? | 17:29 |
blackburn | easier? :) | 17:30 |
heiko | yes because I only have my fork cloned on disc | 17:30 |
blackburn | I thought it is not as convenient but it is up to you | 17:30 |
heiko | then I can push to that a few times before sending a request | 17:30 |
blackburn | no disadv. at all | 17:30 |
heiko | alright then :) | 17:30 |
blackburn | hmm how do you merge it then? | 17:30 |
heiko | I am just used to this since I did it all before | 17:30 |
heiko | I can merge pull-requests | 17:30 |
heiko | so I just merge my own | 17:30 |
blackburn | yes - how technically? | 17:31 |
blackburn | if you have only fork on disc | 17:31 |
heiko | I pull from upstream | 17:31 |
heiko | git pull --rebase upstream master | 17:31 |
blackburn | and push to upstream? | 17:31 |
heiko | no I push to my fork | 17:31 |
blackburn | and what do you do to merge PR? | 17:31 |
heiko | click merge button on github :) | 17:32 |
blackburn | ah | 17:32 |
blackburn | let me check | 17:32 |
heiko | pops up if you do a PR | 17:32 |
blackburn | yes there is a problem with that | 17:32 |
heiko | which? | 17:32 |
blackburn | you know we have two more mirrors | 17:32 |
blackburn | they are not updated automatically | 17:33 |
blackburn | however they are updated then I or soeren commit something | 17:33 |
heiko | but how are pull requests from other people updated? | 17:33 |
blackburn | so I think we can live with it | 17:33 |
heiko | ok | 17:33 |
heiko | mmh | 17:33 |
blackburn | I have both fork and upstream | 17:33 |
heiko | well thats ok I think | 17:33 |
blackburn | if I want to merge something | 17:33 |
blackburn | I do git pull from that fork | 17:33 |
heiko | I find it already pretty messy with all these different layers (I also got multiple local branchs) | 17:34 |
heiko | so I prefer not to add another one if thats ok | 17:34 |
blackburn | and then git push to each repo | 17:34 |
blackburn | heiko: for example I just pushed one we have at github to google code | 17:35 |
blackburn | it was outdated | 17:35 |
heiko | kk | 17:36 |
blackburn | but again that's ok I think | 17:36 |
heiko | mmh | 17:36 |
heiko | I mean thats how other people's code get's there right? | 17:36 |
blackburn | what do you mean? | 17:37 |
heiko | other people also send pull requests | 17:37 |
blackburn | yes that happens :) | 17:37 |
blackburn | so? | 17:37 |
heiko | so thats how I do it, | 17:39 |
heiko | so my code gets into the backup repos in the same way their code goes there | 17:39 |
blackburn | yes but you do not do that using that button - I do | 17:39 |
blackburn | I actually have alias :D gposg - git push origin && git push shogun && git push google | 17:40 |
heiko | ah ok | 17:40 |
heiko | well I think its ok anyway :) | 17:40 |
heiko | because from time to time you do that | 17:40 |
blackburn | yes | 17:41 |
heiko | anyway, I gotta go catch the bus | 17:41 |
blackburn | okay see you | 17:41 |
heiko | see you around! | 17:41 |
-!- heiko [~heiko@host86-182-162-31.range86-182.btcentralplus.com] has left #shogun [] | 17:41 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 17:51 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 17:51 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 17:51 | |
-!- blackburn [~blackburn@31.28.59.65] has quit [Quit: Leaving.] | 18:15 | |
-!- blackburn [~blackburn@31.28.59.65] has joined #shogun | 18:17 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 19:09 | |
n4nd0 | blackburn: hey! so thesis handed in finally? | 19:11 |
blackburn | hey | 19:11 |
blackburn | yes - more or less | 19:11 |
blackburn | a few design fixes to do but yes | 19:11 |
n4nd0 | cool | 19:11 |
n4nd0 | do you have to do a presentation too? | 19:12 |
blackburn | yes will start in next few days | 19:12 |
n4nd0 | ok, good luck for it then! | 19:12 |
blackburn | thx | 19:13 |
n4nd0 | wiking: hey, have you taken a look to the logs of this afternoon? | 19:13 |
n4nd0 | Nico and I discussed about the design of SO framework | 19:13 |
CIA-9 | shogun: Sergey Lisitsyn master * rec4f3ef / data : Updated data - http://git.io/1BH7Eg | 19:14 |
n4nd0 | I am going to introduce again some changes (yes ... once again) | 19:14 |
n4nd0 | I thought that you could be iterested | 19:14 |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has joined #shogun | 19:47 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 260 seconds] | 19:57 | |
-!- blackburn [~blackburn@31.28.59.65] has quit [Ping timeout: 265 seconds] | 20:00 | |
-!- gsomix [~gsomix@109.169.137.52] has joined #shogun | 20:32 | |
gsomix | hi all | 20:32 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 20:43 | |
@sonney2k | n4nd0, so what are the changes to the SO framework you think of? | 20:49 |
n4nd0 | sonney2k: to have the delta loss, argmax and psi function directly defined in a CStructuredModel | 20:50 |
n4nd0 | and not to separate them in different classes | 20:50 |
n4nd0 | I know that you said that the argmax is important or long enough to be a class itself | 20:50 |
n4nd0 | but I think that for the cases when this is true | 20:50 |
n4nd0 | then the method that implements the argmax in a CStructuredModel can just act as a wrapper of the class | 20:51 |
@sonney2k | n4nd0, what is the advantage of doing it this way? | 20:54 |
n4nd0 | sonney2k: I think that it is difficult to separate these parts in a general case | 20:55 |
n4nd0 | since most of times one of them depends on how the other is computed | 20:55 |
n4nd0 | e.g. Nico's argmax is designed not to return the actual argmax but a structure that contains a delta loss, and two different psi vectors | 20:56 |
n4nd0 | you can check in gist what I have said right above | 20:59 |
n4nd0 | https://gist.github.com/2634487 | 20:59 |
n4nd0 | sonney2k: do you see something wrong on doing it this way? | 21:03 |
-!- Marty28 [~chatzilla@cable-158-181-77-70.cust.telecolumbus.net] has quit [Remote host closed the connection] | 21:19 | |
@sonney2k | n4nd0, no idea - I hope you all know better :) | 21:19 |
n4nd0 | I trust Nico :) | 21:30 |
@sonney2k | n4nd0, it is important to get sth done - nothing is set in stone :) | 22:35 |
n4nd0 | sonney2k: sure | 22:35 |
n4nd0 | sonney2k: we'll get this done! | 22:35 |
n4nd0 | :) | 22:35 |
n4nd0 | sonney2k: for the next week we'll have multiclass classification with SO done | 22:47 |
n4nd0 | and I think that is an important milestone since it means that the algorithm works fine | 22:48 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 22:57 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 22:57 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 22:57 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 22:57 | |
@sonney2k | n4nd0, yes agreed | 22:57 |
-!- gsomix [~gsomix@109.169.137.52] has quit [Ping timeout: 265 seconds] | 23:00 | |
@sonney2k | n4nd0, btw I like the REQUIRE(cond, "error msg"); idea | 23:05 |
@sonney2k | that will really simplify lots of code | 23:05 |
n4nd0 | ok | 23:08 |
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 23:16 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 252 seconds] | 23:19 | |
-!- wiking_ is now known as wiking | 23: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 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!