--- Log opened Tue Aug 14 00:00:14 2012 | ||
--- Day changed Tue Aug 14 2012 | ||
n4nd0 | the data one | 00:00 |
---|---|---|
blackburn | ah | 00:00 |
blackburn | well nevermind I get it bakc | 00:00 |
n4nd0 | sorry about that :S | 00:01 |
CIA-39 | shogun: Sergey Lisitsyn master * r45a5ee4 / (40 files in 10 dirs): Merge pull request #684 from iglesias/so (+17 more commits...) - http://git.io/x0FI_A | 00:01 |
CIA-39 | shogun: Sergey Lisitsyn master * r122079a / data : Restored data - http://git.io/8Pl5mA | 00:02 |
n4nd0 | I think I do something wrong with the submodule | 00:02 |
n4nd0 | because my git status shows always | 00:02 |
n4nd0 | #modified: data (untracked content) | 00:02 |
blackburn | what is the output of git status in that dir? | 00:03 |
n4nd0 | http://pastebin.com/TQvfuw66 | 00:04 |
n4nd0 | I don't want to put that file toy/hmsvm_data.mat in the main repo so I will delete it | 00:07 |
blackburn | yeah | 00:07 |
blackburn | that's the reason | 00:07 |
n4nd0 | now I just get | 00:07 |
n4nd0 | # On branch master | 00:08 |
n4nd0 | # Your branch is ahead of 'origin/master' by 2 commits. | 00:08 |
n4nd0 | # | 00:08 |
n4nd0 | nothing to commit (working directory clean) | 00:08 |
n4nd0 | mmm but my last two commits are the same as the ones in shogun-data master | 00:08 |
shogun-buildbot | build #345 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/345 blamelist: Viktor Gal <viktor.gal@maeth.com> | 00:09 |
blackburn | try git reset --hard origin/master | 00:09 |
-!- zxtx [~zv@c-71-227-187-90.hsd1.wa.comcast.net] has quit [Ping timeout: 256 seconds] | 00:10 | |
n4nd0 | blackburn: thanks, now everything is fine :) | 00:11 |
blackburn | n4nd0: do you have a formulation of HM-SVM somewhere? | 00:13 |
blackburn | primal | 00:15 |
blackburn | or is it only primal? | 00:15 |
n4nd0 | the optimization problem is the one used in generic SO | 00:16 |
blackburn | loss? | 00:17 |
n4nd0 | the one in particular of the HM-SVM or the generic one? | 00:18 |
n4nd0 | for the HM-SVM we use Hamming loss | 00:18 |
n4nd0 | just count the number of elements that are different in two sequences of states | 00:18 |
n4nd0 | for the generic one we are using the Hinge loss | 00:19 |
blackburn | n4nd0: so we need subgradient of hamming loss, right? | 00:19 |
n4nd0 | blackburn: do you mean for the risk function? | 00:19 |
blackburn | exactly | 00:20 |
n4nd0 | I am not sure about that | 00:20 |
-!- gsomix [~gsomix@80.234.28.229] has quit [Ping timeout: 245 seconds] | 00:20 | |
blackburn | n4nd0: for a function h subgradient is a vector g | 00:21 |
blackburn | such that for all w following holds true | 00:21 |
blackburn | h(w') >= h(w) + g(w'-w) | 00:22 |
blackburn | right? | 00:22 |
wiking | blackburn: can u throw out the modular interface for LatentLabels ? | 00:23 |
wiking | as the fix is not so much of a quickfix | 00:23 |
wiking | and i gotta go to sleep now | 00:23 |
blackburn | whats the problem? | 00:24 |
-!- n4nd0 [~nando@56.Red-81-33-212.dynamicIP.rima-tde.net] has quit [Ping timeout: 240 seconds] | 00:24 | |
wiking | since i have to be awake in 3.5 hours | 00:24 |
blackburn | I don't mind to wait for fix :) | 00:24 |
wiking | ah ok | 00:24 |
wiking | then i'll send it tomorrow around 12pm | 00:24 |
blackburn | np, ok | 00:24 |
wiking | i gotta go now as i said | 00:24 |
wiking | gnite | 00:24 |
blackburn | nite | 00:25 |
-!- n4nd0 [~nando@56.Red-81-33-212.dynamicIP.rima-tde.net] has joined #shogun | 00:25 | |
blackburn | n4nd0: what is the last message you received? | 00:25 |
n4nd0 | re | 00:25 |
blackburn | haha I totally missed that picture | 00:26 |
blackburn | http://1.bp.blogspot.com/-4L8SUhLlmRk/T-DcRJSyvNI/AAAAAAAAAqk/Bg-RjlzijcM/s1600/image02.jpg | 00:26 |
blackburn | that's the very first puffin444 appearance | 00:27 |
blackburn | :D | 00:27 |
shogun-buildbot | build #346 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/346 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 00:27 |
n4nd0 | yeah | 00:27 |
n4nd0 | the last thing I got from was an exactly | 00:27 |
n4nd0 | I don't know if you got what I said after | 00:27 |
blackburn | n4nd0: have you seen that pic? | 00:28 |
n4nd0 | yes | 00:28 |
blackburn | ah I see you +1 that | 00:28 |
blackburn | :D | 00:28 |
n4nd0 | :) | 00:28 |
blackburn | I wanted to see how puffin look like | 00:28 |
blackburn | seems to be that his 5 kg notebook made him strong | 00:29 |
blackburn | n4nd0: okay | 00:29 |
blackburn | about subgrad | 00:29 |
blackburn | did you receive these messages? | 00:29 |
n4nd0 | which one? | 00:29 |
blackburn | (02:21:40 AM) blackburn: n4nd0: for a function h subgradient is a vector g | 00:31 |
blackburn | (02:21:52 AM) blackburn: such that for all w following holds true | 00:31 |
blackburn | (02:22:08 AM) blackburn: h(w') >= h(w) + g(w'-w) | 00:31 |
blackburn | (02:22:10 AM) blackburn: right? | 00:31 |
blackburn | n4nd0: are you out again? | 00:32 |
blackburn | :) | 00:32 |
n4nd0 | I am here | 00:34 |
blackburn | n4nd0: so in HM-SVM primal is just | 00:35 |
blackburn | l2 of w + hamming loss | 00:35 |
blackburn | right? | 00:35 |
n4nd0 | the loss is not l2, it is the hinge loss | 00:36 |
n4nd0 | something similar to hinge loss to tell the truth, just max(0,z) | 00:36 |
n4nd0 | and it is not taken to w directly | 00:36 |
blackburn | ehmm I didn't say l2 loss | 00:36 |
n4nd0 | ok | 00:37 |
blackburn | is regularizer ||w||^2_2? | 00:37 |
n4nd0 | what do you mean with l2 of w + hamming loss then? | 00:37 |
n4nd0 | where? | 00:37 |
n4nd0 | ok | 00:38 |
blackburn | in your hm-svm :) | 00:38 |
blackburn | how do you define risk at all? | 00:38 |
n4nd0 | as they say in the paper :) | 00:39 |
blackburn | yeah that's what I am begging for :D | 00:40 |
blackburn | is that a paper? http://www.cs.brown.edu/~th/papers/AltTsoHof-ICML2003.pdf | 00:40 |
blackburn | the paper | 00:40 |
blackburn | I mean | 00:40 |
blackburn | :D | 00:40 |
n4nd0 | I understand it as a mean value of the loss function | 00:40 |
-!- zxtx [~zv@c-71-227-187-90.hsd1.wa.comcast.net] has joined #shogun | 00:40 | |
n4nd0 | expected value transmits better the idea I think | 00:41 |
blackburn | n4nd0: eq 18, right? | 00:41 |
n4nd0 | no | 00:41 |
blackburn | which one? | 00:41 |
n4nd0 | that is the objective | 00:41 |
n4nd0 | in that paper they do not talk about risk functions | 00:42 |
n4nd0 | that definition pops up from a more general point of view, in generic SO | 00:42 |
blackburn | objective is the risk | 00:42 |
blackburn | if we put s.t. part to the objective I mean | 00:42 |
n4nd0 | but those are the constraints, not the objective | 00:43 |
blackburn | we can put it into objective and get a risk function | 00:43 |
n4nd0 | http://jmlr.csail.mit.edu/papers/volume6/tsochantaridis05a/tsochantaridis05a.pdf | 00:43 |
n4nd0 | page 4 | 00:44 |
n4nd0 | that is the formal definition of the risk function | 00:44 |
n4nd0 | I don't really see the equivalence you say :S | 00:44 |
n4nd0 | putting the constraints in the objective to get the risk function | 00:45 |
blackburn | risk is regularizer+loss | 00:45 |
blackburn | binary svm can be seen as | 00:45 |
n4nd0 | aham maybe that is another definition then | 00:45 |
blackburn | ||w||^2+max(0,1-y*<w,x>) | 00:45 |
blackburn | right? | 00:45 |
blackburn | w/o s.t part at all | 00:45 |
n4nd0 | what I understood following this paper is that the risk is a measure of expected value of the loss | 00:46 |
n4nd0 | let's see what Michal has done | 00:46 |
blackburn | n4nd0: no, it is an empirical risk | 00:47 |
blackburn | we optimize regularized risk | 00:47 |
shogun-buildbot | build #347 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/347 blamelist: iglesias <fernando.iglesiasg@gmail.com> | 00:47 |
blackburn | that's objective w/o s.t. part | 00:47 |
n4nd0 | ok | 00:48 |
blackburn | n4nd0: expected value is an actual risk | 00:48 |
blackburn | n4nd0: one interesting point here | 00:49 |
blackburn | n4nd0: do you know why one should introduce slack variable here? | 00:49 |
n4nd0 | to penalize how far we go from the region of correct classification | 00:50 |
blackburn | n4nd0: I mean why not to make it use hinge loss as is? | 00:51 |
n4nd0 | what do you mean with hinge loss as is? | 00:51 |
blackburn | max(0,1-yz) | 00:51 |
n4nd0 | because in structured output, how do you define y?z? | 00:52 |
n4nd0 | y is not a number any more | 00:52 |
blackburn | no, I don't mean that | 00:52 |
blackburn | in typical svm | 00:52 |
n4nd0 | :) | 00:52 |
blackburn | why do we introduce s.t. part | 00:52 |
blackburn | but not use max(0,1-yz) in objective? | 00:52 |
n4nd0 | you in typical svm you mean | 00:53 |
blackburn | just binary | 00:53 |
n4nd0 | min ||w||^2 + \sum_i slack_i | 00:53 |
blackburn | svm without s.t. part | 00:54 |
blackburn | is | 00:54 |
blackburn | min ||w||^2 + \sum_i max(0,1-y_i(<w,x_i>+b)) | 00:54 |
blackburn | agree? | 00:54 |
n4nd0 | agree | 00:54 |
blackburn | no s.t. part at all | 00:54 |
blackburn | right? :) | 00:55 |
n4nd0 | yes | 00:55 |
blackburn | why not to solve that? | 00:55 |
n4nd0 | that is non linear | 00:55 |
blackburn | yeah discontinuous I would say | 00:56 |
n4nd0 | because of the max | 00:56 |
n4nd0 | hehe ok | 00:56 |
blackburn | that's what I mean | 00:56 |
blackburn | but actually | 00:56 |
blackburn | that thing I wrote | 00:56 |
blackburn | is the regularized risk of svm | 00:56 |
blackburn | it can be solved via bmrm already | 00:57 |
n4nd0 | ok | 00:57 |
blackburn | see what I mean? | 00:58 |
n4nd0 | mmm not really | 00:58 |
blackburn | so in your hm-svm thing | 00:58 |
blackburn | you have | 00:58 |
blackburn | min ||w||^2 + hamming(what?) | 00:59 |
n4nd0 | it is not directly like that | 00:59 |
blackburn | can we come to that? | 00:59 |
n4nd0 | in generic SO we have | 01:01 |
n4nd0 | https://dl.dropbox.com/u/11020840/shogun/so.pdf | 01:01 |
n4nd0 | look at equation (1) | 01:01 |
n4nd0 | so-svm with margin rescaling | 01:01 |
n4nd0 | now | 01:02 |
n4nd0 | the l we are using is this modified hinge loss, i.e. max(0,z) | 01:02 |
blackburn | no, for generic so we can't come up with subgradient at all I am afraid | 01:02 |
n4nd0 | yeah but substitute the missing pieces there for what I am telling you | 01:02 |
n4nd0 | and \Delta is the Hamming loss | 01:02 |
blackburn | that's clear | 01:03 |
blackburn | what are s.t. statements? | 01:04 |
blackburn | can we get rid of it? | 01:04 |
n4nd0 | just some very generic constraints | 01:04 |
n4nd0 | sonme of them are actually required | 01:04 |
n4nd0 | forget about those there in the paper | 01:05 |
n4nd0 | and the ones we really need are A?x <= b | 01:05 |
blackburn | what is A and b? | 01:06 |
shogun-buildbot | build #348 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/348 blamelist: iglesias <fernando.iglesiasg@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 01:06 |
n4nd0 | note that I use x and not w (x = [w auxiliary_variables slacks]) | 01:06 |
n4nd0 | still here? | 01:06 |
blackburn | hmm | 01:07 |
blackburn | yes | 01:07 |
n4nd0 | they have several uses | 01:07 |
n4nd0 | one of them is particular to the cutting-plane algorithm I use | 01:08 |
n4nd0 | another one is for the hm-svm, to specify monotonicity in the emission functions learnt | 01:08 |
blackburn | n4nd0: I got back to teo thesis | 01:09 |
n4nd0 | ok | 01:09 |
blackburn | Appendix A.1 - isn't that what you need? | 01:09 |
n4nd0 | that is not telling me how to compute the risk in an hmm | 01:11 |
blackburn | n4nd0: your loss is eq (A.2), subgradient is (A.8) | 01:11 |
blackburn | risk is loss value + regularizer value | 01:11 |
blackburn | n4nd0: can you compute loss function value? | 01:12 |
n4nd0 | I think that the regularizer is not included in the risk | 01:13 |
blackburn | yeah I tend to that too | 01:13 |
blackburn | in that method it is I mean | 01:13 |
blackburn | generally it is included | 01:13 |
n4nd0 | at the beginning of the bmrm, in the definition they give, it is not included I think | 01:14 |
blackburn | generally I mean in ML at all :) | 01:14 |
blackburn | I expect they regularize by L2 | 01:14 |
n4nd0 | ok :) | 01:14 |
n4nd0 | anyway they do not include it in Teo either | 01:15 |
n4nd0 | (A.2) for Teo is the loss (as you said) but it is also the risk | 01:15 |
blackburn | risk is sum of losses, yes | 01:15 |
n4nd0 | ok | 01:16 |
blackburn | or average (depending on the implementation, I don't know exactly) | 01:16 |
blackburn | but it is not the issue right now | 01:16 |
n4nd0 | agree | 01:16 |
blackburn | with A.8 | 01:16 |
blackburn | you can compute subgradient | 01:16 |
n4nd0 | ok | 01:16 |
blackburn | all you would need is to compute argmax in A.7 | 01:16 |
blackburn | is it a hard task for hm-svm? | 01:16 |
n4nd0 | the subgradient of the loss | 01:16 |
n4nd0 | it is simply Viterbi | 01:17 |
n4nd0 | I already have that one there | 01:17 |
blackburn | I am lame with markov models still but once you compute it you have everything you need | 01:17 |
n4nd0 | I think I start to see your point :) | 01:18 |
blackburn | n4nd0: but you would need to run viterbi quite a few times, is it feasible? | 01:18 |
-!- zxtx [~zv@c-71-227-187-90.hsd1.wa.comcast.net] has quit [Ping timeout: 272 seconds] | 01:18 | |
blackburn | #of examples times to be exact | 01:18 |
n4nd0 | blackburn: it is the bottleneck in SO | 01:19 |
n4nd0 | the argmax | 01:19 |
blackburn | n4nd0: btw delta is not included in subgradient here | 01:19 |
blackburn | only in argmax | 01:19 |
n4nd0 | yes | 01:20 |
n4nd0 | we could say too that it is included in the risk | 01:20 |
n4nd0 | not in the subgradient of rish though | 01:20 |
blackburn | ah right | 01:20 |
n4nd0 | look at this | 01:20 |
blackburn | n4nd0: so do you get how to compute it now? | 01:20 |
n4nd0 | shogun/structure/MulticlassRiskFunction.h | 01:20 |
blackburn | n4nd0: ha! | 01:21 |
n4nd0 | I think the doc Michal wrote there is precisely the important part we are discussing just now | 01:21 |
n4nd0 | and this deserves a huge LOL | 01:21 |
blackburn | n4nd0: regularizer is included | 01:21 |
n4nd0 | mmm | 01:22 |
n4nd0 | blackburn: mmm where? | 01:22 |
blackburn | wrong sorry | 01:22 |
blackburn | n4nd0: everything is clear for me now | 01:23 |
blackburn | omfg what does he do | 01:23 |
n4nd0 | there is something that doesn't fit I thin | 01:24 |
blackburn | I have to change it now | 01:24 |
n4nd0 | think* | 01:24 |
blackburn | what? | 01:24 |
blackburn | he compute feature vector and compute dot manually | 01:24 |
n4nd0 | \ell(y_i,y) | 01:24 |
n4nd0 | that should be the delta loss | 01:24 |
blackburn | where? | 01:24 |
n4nd0 | doc in the header | 01:24 |
blackburn | multiclass risk/ | 01:24 |
blackburn | ? | 01:24 |
n4nd0 | yeah | 01:25 |
blackburn | so? it is implemented in line 90 | 01:25 |
n4nd0 | ok | 01:25 |
n4nd0 | it was just a misleading in the notation | 01:26 |
n4nd0 | I am not saying is wrong | 01:26 |
n4nd0 | what do you want to put in there, DotFeatures? | 01:26 |
blackburn | sure | 01:26 |
blackburn | it is totally wrong to compute vectors here | 01:26 |
blackburn | imagine sparse features with 1% nnz | 01:27 |
blackburn | :D | 01:27 |
blackburn | 100x speedup from nowhere | 01:27 |
n4nd0 | yes | 01:27 |
n4nd0 | maybe we should tell Michal instead | 01:27 |
n4nd0 | anyway, another thing | 01:27 |
n4nd0 | I don't know why the hell do we need a risk function for multiclass, another for hm-svm, another for .... | 01:28 |
blackburn | he merged his stuff already I think so no problem | 01:28 |
blackburn | n4nd0: ehmm because it is simple for multiclass | 01:28 |
n4nd0 | but it is the same for all | 01:28 |
blackburn | loop on line 82 is your argmax | 01:28 |
n4nd0 | just the argmax and the psi changes | 01:28 |
blackburn | yes | 01:29 |
n4nd0 | I think this risk function should go in StructuredModel | 01:29 |
n4nd0 | and call the argmax and psi | 01:29 |
n4nd0 | do you see my point? | 01:30 |
n4nd0 | I mean it is like A.2 and A.8 | 01:30 |
blackburn | yes that's misleading thing with our czech friend | 01:30 |
blackburn | friends :) | 01:30 |
blackburn | they tend to develop their own solutions | 01:30 |
n4nd0 | hehe | 01:31 |
n4nd0 | you have always to stop generalizing at some point... | 01:31 |
blackburn | yes sure | 01:31 |
blackburn | wait | 01:31 |
blackburn | so you have everything you need already? | 01:31 |
blackburn | both psi and argmax? | 01:31 |
n4nd0 | what? | 01:32 |
blackburn | do you have psi and argmax for hm-svm? | 01:32 |
n4nd0 | sure | 01:34 |
n4nd0 | you always need those | 01:34 |
blackburn | so you can easily add risk function for that? | 01:34 |
n4nd0 | I think so | 01:34 |
n4nd0 | is what I told you | 01:34 |
n4nd0 | I would just add a RiskFunction in CStructuredModel | 01:34 |
blackburn | but what was the problem? | 01:34 |
n4nd0 | that I didn't know that the risk function was that... | 01:35 |
blackburn | ahh | 01:35 |
blackburn | so it is all now easy, right? | 01:35 |
blackburn | and we are happy? :) | 01:35 |
n4nd0 | very happy :) | 01:36 |
n4nd0 | I am actually suspicious | 01:36 |
blackburn | why? | 01:36 |
n4nd0 | it seems far too easy right now | 01:36 |
blackburn | just try and compaer | 01:37 |
-!- n4nd0 [~nando@56.Red-81-33-212.dynamicIP.rima-tde.net] has quit [Quit: leaving] | 01:39 | |
-!- zxtx [~zv@c-71-227-187-90.hsd1.wa.comcast.net] has joined #shogun | 02:37 | |
CIA-39 | shogun: Sergey Lisitsyn master * rd16ae4b / (2 files): Made MulticlassRiskFunction use COFFIN operations and fixed reference count for data in dual lib qpbmsosvm - http://git.io/14c0SQ | 03:00 |
blackburn | wiking: how can you write to twitter and sleep? :D | 03:01 |
shogun-buildbot | build #54 of nightly_none is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_none/builds/54 | 03:02 |
-!- blackburn [~blackburn@109.226.80.43] has quit [Quit: Leaving.] | 03:22 | |
shogun-buildbot | build #62 of nightly_default is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_default/builds/62 | 03:24 |
shogun-buildbot | build #50 of nightly_all is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_all/builds/50 | 03:45 |
-!- av3ngr [av3ngr@nat/redhat/x-ohnbmedkajymxfbl] has joined #shogun | 04:16 | |
-!- av3ngr [av3ngr@nat/redhat/x-ohnbmedkajymxfbl] has quit [Client Quit] | 04:17 | |
shogun-buildbot | build #63 of nightly_default is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_default/builds/63 | 04:19 |
shogun-buildbot | build #349 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/349 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 04:32 |
-!- uricamic [~uricamic@2001:718:2:1634:ad82:d30e:54f:2c11] has joined #shogun | 07:39 | |
-!- zxtx [~zv@c-71-227-187-90.hsd1.wa.comcast.net] has quit [Ping timeout: 268 seconds] | 08:17 | |
-!- gsomix [~gsomix@80.234.28.229] has joined #shogun | 08:22 | |
-!- gsomix [~gsomix@80.234.28.229] has quit [Client Quit] | 08:23 | |
uricamic | hi, does anyone know what shall I do, to let configuration script find the MOSEK? | 10:43 |
wiking | yo | 11:11 |
wiking | blackburn magic ;) | 11:11 |
wiking | ah u r not here :( | 11:11 |
wiking | sonney2k: around? | 11:13 |
wiking | sonney2k: i need some advise | 11:13 |
wiking | uricamic: here? | 11:16 |
uricamic | wiking: yep | 11:16 |
wiking | uricamic: n4nd0 had an idea yesterday to add the RiskFunction within the StructureModel class | 11:17 |
wiking | uricamic: i.e. simply adding a new pure virtual function risk(...) | 11:17 |
uricamic | wiking: yep, I think we had discussed that at the very beginning, so I am not against :) | 11:17 |
wiking | i see | 11:17 |
wiking | i'll check how that effects my code and i'll let you guys know whether i'm against it or supporting it :) | 11:17 |
uricamic | this divergence was done mainly, we had to submit some code and I was waiting for his part for too long, so I started to code it, to be able to continue, and we left this for later, which unfortunately never happened :) | 11:18 |
uricamic | wiking: ok | 11:18 |
wiking | hehe ok | 11:18 |
wiking | i hope i can get back to this today | 11:18 |
uricamic | I guess it is reasonable to have it together, because then user have to write just one derived class not many of them :) | 11:19 |
wiking | indeed | 11:19 |
uricamic | but also it was better to have it separate because of simultaneous work | 11:19 |
uricamic | but I guess now we can merge it | 11:19 |
wiking | my problem is simply the mixture of latentmodel and structuremodel | 11:20 |
uricamic | since GSoC end is coming :) | 11:20 |
wiking | they share a lot of things together but not | 11:20 |
wiking | so i'm still struggling with merging that too :)) | 11:20 |
uricamic | :) | 11:20 |
uricamic | and maybe with merging also the support of user data for risk function will be simplified | 11:21 |
wiking | uricamic: heheh that's for sure | 11:22 |
uricamic | i.e. we could than remove CRiskData class, and all user data needed could be defined in the StructuredModel | 11:22 |
wiking | uricamic: i mean currently i hd the troulbe of having reference on some other functions | 11:22 |
uricamic | everything should be simplified then :D | 11:22 |
wiking | since i needed the reference on functions like argmax_{y} withing CRiskFunction | 11:22 |
wiking | mmm ok letme try to sketch up that thing now | 11:23 |
wiking | as otherwise i'm wating on blackburn to give me some advise | 11:23 |
uricamic | ok | 11:25 |
wiking | uricamic: ok i think i'm done with it | 12:00 |
wiking | :)) | 12:00 |
wiking | the only thing is that i don't know what where to add the the MulticlassRiskFunction implementation | 12:02 |
wiking | uricamic: i've sent you and n4nd0 an email with the patch and some comments.... | 12:09 |
-!- zxtx [~zv@c-24-18-130-24.hsd1.wa.comcast.net] has joined #shogun | 12:32 | |
uricamic | wiking: ok, thanks, I will look on it | 12:58 |
uricamic | wiking: yep, risk function is needed whenever you want to use BMRM solver | 13:01 |
-!- gsomix [~gsomix@80.234.28.229] has joined #shogun | 13:48 | |
gsomix | good day | 13:48 |
wiking | gsomix: where's blackburn? :) | 13:55 |
gsomix | wiking, I dunno, lol. ;) | 13:55 |
-!- blackburn1 [~blackburn@109.226.80.43] has joined #shogun | 13:55 | |
gsomix | BLACKBURN! | 13:55 |
blackburn1 | hey there wiking uricamic | 13:57 |
uricamic | blackburn1: hi | 13:58 |
wiking | blackburn1: !!! | 14:00 |
blackburn1 | uricamic: we discussed things with n4nd0 last night | 14:00 |
uricamic | yep, I have looked on the log :) | 14:01 |
blackburn1 | uricamic: I am curious why we do not include regularized? | 14:01 |
blackburn1 | zer* | 14:01 |
uricamic | blackburn1: what do u mean? | 14:01 |
uricamic | it is included in bmrm algorithm | 14:01 |
blackburn1 | uricamic: L2? | 14:01 |
uricamic | yep | 14:01 |
blackburn1 | so L1 is not possible? | 14:01 |
uricamic | I guess not in our implementation | 14:02 |
blackburn1 | I see | 14:02 |
blackburn1 | we need to merge things you all have done somehow :D | 14:02 |
uricamic | the problem with L1 is that it would not be that easily solvable | 14:02 |
blackburn1 | uricamic: are you ok with changes in multiclass risk? | 14:03 |
uricamic | I think this was the general intention, we have discuss it with n4ndo when GSoC started, and then somehow forgotten about this idea to merge it together | 14:03 |
uricamic | blackburn1: sure | 14:03 |
blackburn1 | that's really important to use dense_dot and add | 14:04 |
uricamic | as I said, it was just fast not very clever implementation just to prove, that it works :) | 14:04 |
blackburn1 | I see | 14:04 |
uricamic | and I thing the way how wiking wants to merge it together is nice | 14:05 |
uricamic | and I guess also not very demanding or time consuming | 14:05 |
uricamic | CRiskData will disappear, because it will not be needed anymore | 14:05 |
blackburn1 | right | 14:05 |
uricamic | and in StructuredModel virtual function risk will appear | 14:05 |
wiking | :) | 14:05 |
blackburn1 | there are way too many entities here :D | 14:05 |
uricamic | yep, as I said, it was general intention to put it together eventually :) | 14:06 |
wiking | yeah a patch has been proposed | 14:06 |
wiking | now i'm waiting n4nd0 and uricamic's comments | 14:06 |
uricamic | because the risk function in fact uses argmax and loss function, which is already in StructuredModel | 14:06 |
uricamic | wiking: I am ok with it like it is, just don't forget to add implementation of risk function in MulticlassModel | 14:07 |
wiking | blackburn1: let me know when u have 5 mins | 14:07 |
wiking | uricamic: okey that shouldn't be hard ;P | 14:07 |
uricamic | nope, in fact it will be even easier now than it was :D | 14:08 |
wiking | uricamic: i'll wait for n4nd0's feedback as well and then i'll fire a PR :P | 14:08 |
uricamic | no need of using RiskData | 14:08 |
uricamic | wiking: ok, looking forward :) | 14:08 |
blackburn1 | wiking: I will be back in 10 minutes | 14:08 |
blackburn1 | and then lets discuss | 14:08 |
wiking | blackburn1: ok | 14:08 |
blackburn1 | wiking: re | 14:19 |
wiking | blackburn1: rere | 14:20 |
wiking | blackburn1: so it's regarding the latentlabels fix | 14:20 |
wiking | so now i'm in a catch-22 state with the design | 14:20 |
blackburn1 | damn I should read that book, I stopped on page 10 or so :D | 14:21 |
wiking | basically what a latent machine has is LatentFeatures, LatentLabels and Labels | 14:21 |
wiking | the thing is that currently LatentLabels is derived from binarylabels thus it's 2 in one | 14:21 |
wiking | this is good but till the moment when u want to have structural labels | 14:21 |
wiking | or any other types of labels, i.e. y_i | 14:22 |
wiking | i have two choices a) i separate h_i (latentlabels) and y_i | 14:22 |
wiking | or b) i add a CLabels object within LatentLabels to contain the y_i | 14:23 |
wiking | solution a) is cleaner i think but there comes the problem of standard API of CMachine | 14:23 |
blackburn1 | no, I like b) more if I understand it correctly | 14:23 |
wiking | as it has CLabels* apply_<somekind> (CFeatures*) | 14:23 |
wiking | with that API i cannot return h_i and y_i | 14:24 |
wiking | so i have to break the API of machine | 14:24 |
blackburn1 | I think latent labels should contain both h_i and y_i | 14:24 |
wiking | if i go with solution b) then yes | 14:24 |
wiking | that way i won't break any API | 14:25 |
wiking | but somehow the API won't be so clear for the latentmachine | 14:25 |
wiking | as the y_i will be 'hidden' | 14:25 |
blackburn1 | I think that's ok | 14:25 |
wiking | i.e. it wont ever appear as a function argument for example when u create a latent machine | 14:25 |
blackburn1 | just add a class to contain h_i and y_i | 14:25 |
wiking | blackburn1: ok then i'll just change the inheritance of CLatentLabels to CLabels | 14:26 |
blackburn1 | yeah | 14:26 |
wiking | and basically add a CLabels within CLatentLabels to store the y_i | 14:26 |
blackburn1 | any separating would be worse here | 14:26 |
blackburn1 | hmm that makes sense too | 14:26 |
wiking | ok | 14:27 |
wiking | then i'll just stash now the structuredModel +risk refactoring until n4nd0 gives his comments... | 14:27 |
wiking | or maybe i just send in a PR about that | 14:27 |
wiking | and n4nd0 can comment there | 14:27 |
wiking | i have a feeling that'll be faster ;P just as in case of unit testing :D | 14:28 |
blackburn1 | I thought of latent as structured model | 14:29 |
blackburn1 | can't you come this way? | 14:29 |
wiking | well | 14:29 |
wiking | that's the next step somehow | 14:29 |
blackburn1 | I see | 14:29 |
wiking | but still cannot see a nice way to do it | 14:29 |
wiking | yet | 14:29 |
wiking | ok i'm away for 30mins to do so errands | 14:32 |
wiking | blackburn1: thnx for the input | 14:32 |
blackburn1 | np | 14:33 |
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has joined #shogun | 14:51 | |
yoo | hi all | 14:51 |
blackburn1 | hey | 15:02 |
-!- blackburn1 [~blackburn@109.226.80.43] has quit [Quit: Leaving.] | 15:09 | |
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has quit [Quit: Page closed] | 15:21 | |
-!- CIA-39 [~CIA@204.152.223.100] has quit [Ping timeout: 265 seconds] | 15:51 | |
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has joined #shogun | 16:10 | |
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has quit [Client Quit] | 16:10 | |
uricamic | wiking: I almost forgot one thing | 16:16 |
uricamic | in the patch, u can also change risk function from void to return float64_t, i.e. it will return value of the risk | 16:17 |
uricamic | blackburn suggested this, and it is reasonable | 16:18 |
-!- CIA-21 [~CIA@204.152.223.100] has joined #shogun | 16:25 | |
-!- heiko [~heiko@host86-176-126-57.range86-176.btcentralplus.com] has joined #shogun | 16:49 | |
heiko | blackburn | 16:49 |
heiko | oh not here | 16:49 |
CIA-21 | shogun: Heiko Strathmann master * r854ec32 / (2 files): minor updates - http://git.io/GtSCTg | 17:59 |
CIA-21 | shogun: Heiko Strathmann master * rf4c19cb / src/shogun/labels/BinaryLabels.cpp : bugfix - http://git.io/UK0PQQ | 17:59 |
CIA-21 | shogun: Heiko Strathmann master * rd75793a / (2 files): added example/test for fitting sigmoid on binary labels - http://git.io/CqWVLA | 17:59 |
CIA-21 | shogun: Heiko Strathmann master * r419f224 / (4 files in 2 dirs): Merge pull request #714 from karlnapf/master - http://git.io/WWKpjA | 17:59 |
CIA-21 | shogun: Heiko Strathmann master * r47bbe6a / (2 files): added john platt's method for computung calibrated posterior outputs for - http://git.io/l15Iiw | 17:59 |
-!- heiko [~heiko@host86-176-126-57.range86-176.btcentralplus.com] has quit [Quit: Leaving.] | 18:01 | |
shogun-buildbot | build #350 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/350 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com> | 18:21 |
-!- blackburn [~blackburn@109.226.80.43] has joined #shogun | 18:35 | |
-!- uricamic [~uricamic@2001:718:2:1634:ad82:d30e:54f:2c11] has quit [Quit: Leaving.] | 18:36 | |
shogun-buildbot | build #351 of deb3 - modular_interfaces is complete: Failure [failed compile java_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/351 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com> | 18:46 |
@sonney2k | wiking, could you please fix the compile error? | 19:27 |
@sonney2k | hey gsomix - how is 0-copy stuff proceeding? | 19:28 |
@sonney2k | wiking, why do your latentlabels derive from denselabels? | 19:28 |
@sonney2k | and not just labels? | 19:28 |
@sonney2k | at least this is the reason for the compile error | 19:28 |
blackburn | sonney2k: yeah he knows :) | 19:30 |
blackburn | sonney2k: our SO guys need to make final effort to merge risk and models | 19:31 |
@sonney2k | wiking, I am renaming your get_labels to get_latent_labels | 19:31 |
@sonney2k | then this is resolved | 19:32 |
@sonney2k | wiking - hope that is what you had in mind | 19:32 |
gsomix | sonney2k, good | 19:34 |
@sonney2k | gsomix, so that means PR any minute? | 19:36 |
gsomix | sonney2k, nope | 19:39 |
@sonney2k | gsomix, what does it mean then? | 19:42 |
gsomix | that I figured out how to do it rightly. and now doing | 19:43 |
@sonney2k | ok | 19:44 |
CIA-21 | shogun: Soeren Sonnenburg master * r973c3d7 / (2 files): rename conflicting get_labels function to get_latent_labels in CLatentLabels - http://git.io/rFhFmw | 19:44 |
-!- gsomix_ [~gsomix@109.169.234.221] has joined #shogun | 19:56 | |
-!- gsomix [~gsomix@80.234.28.229] has quit [Read error: Connection reset by peer] | 19:57 | |
shogun-buildbot | build #352 of deb3 - modular_interfaces is complete: Failure [failed compile csharp_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/352 blamelist: Soeren Sonnenburg <sonne@debian.org> | 20:07 |
blackburn | hah | 20:22 |
blackburn | the two sgvectors problem | 20:23 |
blackburn | my favourite one | 20:23 |
CIA-21 | shogun: Sergey Lisitsyn master * rbbcbb01 / src/interfaces/modular/modshogun_ignores.i : Updated ignore statement to fix java building - http://git.io/QsvlLA | 21:07 |
-!- gsomix_ [~gsomix@109.169.234.221] has quit [Ping timeout: 244 seconds] | 21:25 | |
shogun-buildbot | build #353 of deb3 - modular_interfaces is complete: Failure [failed compile csharp_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/353 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 21:27 |
-!- gsomix_ [~gsomix@88.200.214.210] has joined #shogun | 21:38 | |
CIA-21 | shogun: Sergey Lisitsyn master * rc6a588e / (4 files in 3 dirs): Attempt to fix csharp compilation - http://git.io/AI-xFg | 22:03 |
shogun-buildbot | build #354 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/354 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 22:47 |
blackburn | sonney2k: around? | 22:53 |
-!- n4nd0 [~nando@111.red-80-28-182.adsl.static.ccgg.telefonica.net] has joined #shogun | 23:01 | |
n4nd0 | wiking: hey, I am checking your mail about the Risk Function right now (I've been out for the day) | 23:02 |
-!- n4nd0 [~nando@111.red-80-28-182.adsl.static.ccgg.telefonica.net] has quit [Ping timeout: 252 seconds] | 23:29 | |
-!- gsomix_ [~gsomix@88.200.214.210] has quit [Ping timeout: 256 seconds] | 23:33 | |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has joined #shogun | 23:37 | |
CIA-21 | shogun: Sergey Lisitsyn master * r97768b9 / (11 files in 6 dirs): Fixed some regression static tester issues - http://git.io/Y8IVPA | 23:42 |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has quit [Ping timeout: 248 seconds] | 23:46 | |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has joined #shogun | 23:47 | |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has quit [Ping timeout: 240 seconds] | 23:51 | |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has joined #shogun | 23:52 | |
-!- n4nd0 [~nando@98.Red-2-137-39.dynamicIP.rima-tde.net] has quit [Client Quit] | 23:55 | |
--- Log closed Wed Aug 15 00:00:17 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!