Open in new window / Try shogun cloud
--- Log opened Wed Apr 25 00:00:19 2012
-!- Marty28 [~marty@] has quit [Quit: Colloquy for iPad -]00:05
-!- n4nd0 [5aac282c@gateway/web/freenode/ip.] has joined #shogun00:12
n4nd0good evening guys00:12
n4nd0from Spain00:12
-!- harshit_ [~harshit@] has joined #shogun00:16
n4nd0I will see you tom around here, good night!00:23
-!- n4nd0 [5aac282c@gateway/web/freenode/ip.] has quit [Quit: Page closed]00:23
-!- gsomix [~gsomix@] has quit [Read error: Operation timed out]00:27
-!- harshit_ [~harshit@] has quit [Quit: Leaving]01:01
-!- vikram360 [~vikram360@] has quit [Ping timeout: 244 seconds]03:04
-!- pluskid [] has joined #shogun04:42
* pluskid bought more memory for the laptop, need to install a 64bit system now04:43
-!- pluskid [] has quit [Client Quit]04:47
-!- pluskid [~chatzilla@] has joined #shogun05:23
-!- vikram360 [~vikram360@] has joined #shogun05:58
-!- pluskid [~chatzilla@] has quit [Ping timeout: 252 seconds]06:04
-!- vikram360 [~vikram360@] has quit [Ping timeout: 260 seconds]08:01
-!- uricamic [9320543b@gateway/web/freenode/ip.] has joined #shogun08:49
-!- pluskid [~chatzilla@] has joined #shogun08:52
-!- blackburn [5bdfb203@gateway/web/freenode/ip.] has joined #shogun08:53
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:06
-!- n4nd0 [d480fcac@gateway/web/freenode/ip.] has joined #shogun09:08
n4nd0good morning!09:08
blackburnn4nd0: hey how was your flight?09:11
n4nd0blackburn: it went good09:11
pluskidIs it Apr. 25 or Apr. 26 now in your time zone?09:11
n4nd0blackburn: first flight ever seen with so many Smith charts :P09:11
blackburnpluskid: 2509:12
pluskidso the kick off meeting is on 26th, right?09:12
blackburnpluskid: 27 for you probably09:12
blackburnare you in utc+8?09:12
n4nd0sonney2k: hey! about the kickoff meeting, my exam starts at 13:00 UTC tomorrow, I hope there is no trouble with that since it starts 11:00 UTC09:13
n4nd0sonney2k: do you happen to know how long will it take?09:13
blackburnn4nd0: I don't think it would take more than half of hour09:13
pluskidn4nd0: good luck with your exam09:13
-!- sonne|work [~sonnenbu@] has joined #shogun09:13
blackburnpluskid: wait but is it 26th in your timezone?09:13
n4nd0pluskid: thank you!09:14
n4nd0blackburn: great09:14
blackburnI don't think so :)09:14
blackburnit should be 15 now?09:14
pluskid25th, now, in my time zone09:14
n4nd0I will ask sonne|work also just in case09:14
pluskidafternoon of 25th09:14
sonne|workpluskid: looks like you didn't read the subject of the email09:14
sonne|workpluskid: it said 26th09:14
blackburnsonne|work: no he is confused with timezones09:14
blackburnso we check watches :D09:15
pluskidsonne|work: oops, you are right09:15
-!- vikram360 [~vikram360@] has joined #shogun09:15
sonne|workwe are all on the same day (25th now)09:15
n4nd0sonne|work: is it a problem if my exam tomorrow starts two hours after the kickoff is scheduled? I mean in terms of how long will it be09:15
blackburnnot two hours definitely09:16
sonne|workit is clear from the beginning that not everyone can attend / some will have to leave early09:19
sonne|workbut I have to leave after 1 hr myself so...09:19
n4nd0no worries then :)09:20
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]09:27
-!- pluskid [~chatzilla@] has quit [Remote host closed the connection]09:30
-!- wiking [] has joined #shogun09:47
-!- wiking [] has quit [Changing host]09:47
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:47
-!- n4nd0 [d480fcac@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]09:59
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]09:59
blackburnsonne|work: just a note - we need to discuss cases when one is stucked and unhappy10:08
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun10:08
blackburnduring kickoff I think10:08
-!- n4nd0 [] has joined #shogun10:08
sonne|workblackburn: make a list and remind me if I forget sth :)10:10
blackburnsonne|work: shogun meeting @ berlin, middle of august?10:13
n4nd0+1000 to that suggestion :)10:13
sonne|workheh I am afraid not this year10:14
blackburnsonne|work: n4nd0: ^10:23
blackburnit is pretty unusual to read about myself hehe10:23
sonne|workblackburn: hehe :)10:24
n4nd0who is the blogger?10:24
blackburnno idea10:25
n4nd0haha you're famous10:26
-!- karlnapf [] has joined #shogun10:42
-!- emre-away is now known as emrecelikten10:46
-!- karlnapf [] has left #shogun []10:50
blackburnsonne|work: don't you think tutorial should be a submodule?10:52
blackburnlike data10:52
sonne|workblackburn: of course but you did fail putting your tutorial there :D10:54
blackburnsonne|work: tutorial of non-existent toolkit? should take more time to finish it10:54
sonne|workyes sure - we have to start somehow right?10:56
blackburnsonne|work: what about cherry-picking some stuff from your thesis?11:00
sonne|workmakes sense but still lots and lots of work...11:01
blackburnsonne|work: can I obtain source?11:02
sonne|worksure I can give it to you11:02
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer]11:02
blackburnsonne|work: you thesis is well-written so it makes sense to cherry-pick some parts like string kernels11:03
-!- wiking [] has joined #shogun11:03
-!- wiking [] has quit [Changing host]11:03
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun11:03
blackburnI should obtain chris' thesis heh11:04
wikingdamn my machine crashed... :(11:07
blackburnwiking: do you think dot product of homogay kernel map can be optimized somehow?11:08
blackburnsh I can't stop call it homogay it is not funny at all :D11:08
wikingblackburn: well homo gay kernel map should be first extended to the new stuff ;)11:08
wikingblackburn: remember the 2 papers i've sent11:08
blackburnwiking: I mean they use sin and cos right?11:09
blackburnso in dot product we could reduce it probably?11:09
blackburnsin(x)*sin(y) = 2 sin(x+y) or so?11:09
blackburnno idea if it worths trying11:10
wikingnow i'm starting to see what you mean ;)11:11
wikingcould be interesting11:11
blackburnwiking: actually it seems we will use some identical multipliers11:12
blackburnso may be we can just precompute squares?11:12
wikingok now i'm lost blackburn11:14
wikingso expand your story :)11:14
blackburneach feature is being multiplied11:14
blackburnwith sin and cos and 1?11:14
wikingnot exactly this straightforward11:15
blackburnah I checked code and it is not as simple as I thought hehe11:16
blackburnwiking: okay I am lost :D11:17
blackburnbut the idea stays - is dot product easier to compute than full mapping?11:17
wikingit needs to be checked11:18
blackburnwiking: have you time for that?11:18
wikingyeah no worries11:19
wikingi can hope on that train ;P11:19
blackburnI'm going to start with slep porting tomorrow11:19
CIA-64shogun: Heiko Strathmann master * rb47d55b / src/shogun/features/SimpleFeatures.cpp : fixed chache bug reported by -
CIA-64shogun: Heiko Strathmann master * r0afeee4 / src/shogun/features/SimpleFeatures.cpp :11:27
CIA-64shogun: Merge pull request #485 from karlnapf/master11:27
CIA-64shogun: bug fix reported by Koen van de Sande -
emreceliktenHey guys, what's the primary difference between a Markov chain and a Markov random field? One is a probabilistic FSM while the other is like a undirected Bayesian network?11:27
n4nd0emrecelikten, are you just wondering or do you have to choose between both of them for something in particular?11:31
emreceliktenn4nd0: Wondering. Could MRFs be applied to speech/music domain like HMMs for example11:32
emreceliktenI think so11:32
n4nd0emrecelikten, I am not sure, I have never really worked with MRFs far beyond definition and toy examples11:33
blackburnemrecelikten: markov chain is a chain right? :)11:33
blackburnwhile random field is a graph structure11:33
n4nd0emrecelikten, I don't really see direct application of MRF to it but it might be11:33
n4nd0blackburn, isn't it a chain a particular case of directed weighted graph?11:34
blackburnn4nd0: yes but it is a chain in markov chains - not a graph11:34
emreceliktenHmm thanks11:35
n4nd0blackburn, I partially agree, I think that a graph is something more general than a chain11:36
blackburnyes exactly what I mean11:36
n4nd0but I'd say that a chain is a graph11:36
blackburnit is11:36
blackburnacyclic with nodes with only two or one output edge ?11:37
blackburnsomething like that I guess11:38
n4nd0a Markov chain can be cyclic I think11:39
blackburnright sorry11:39
n4nd0no problem :)11:39
blackburnbut no multiple outputs11:39
n4nd0yeah, they can have multiple11:39
n4nd0if today is sunny11:40
blackburnwait but when I am fucked up - what is the difference then?11:40
n4nd0tomorrow might be rainy, sunny, cloudy or pouring cats and dogs for example11:40
n4nd0there you have more than two output edges11:40
n4nd0the difference between which ones?11:40
blackburnMC and MRF11:41
n4nd0I think MRF are something similar to Bayesian nets11:41
n4nd0so for example the graph that represent them is not weighted11:41
n4nd0there must be more differences11:42
n4nd0at least I have found them in different realms11:42
blackburndamn I should get back to markov stuff and study it :D11:42
blackburnemrecelikten: probably I am wrong11:42
n4nd0I think MRF is more advanced stuff11:44
n4nd0one type of probabilistic graphical model11:44
emreceliktenblackburn: It's fine :)11:44
n4nd0I have to learn more of them for the project since I'll have to implement conditional random fields11:44
emreceliktenblackburn: Longtimenostudy effect :P :D11:45
blackburnemrecelikten: oh it's been a long without some effects and paradoxes ;)11:45
emreceliktenMRF supports higher dimensions I think11:45
emreceliktenblackburn: :P11:45
-!- vikram360 [~vikram360@] has quit [Read error: Connection reset by peer]11:46
-!- vikram360 [~vikram360@] has joined #shogun11:46
* blackburn is reading bishop book 11:48
emreceliktenn4nd0: Are you taking PGM class from Coursera?11:49
n4nd0emrecelikten, I didn't get time to do it now but I would like to follow it during summer11:49
n4nd0emrecelikten, are you?11:49
emreceliktenn4nd0: Yes, but its difficult11:50
n4nd0emrecelikten, do you recommend it?11:50
-!- uricamic [9320543b@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]11:50
emreceliktenn4nd0: Just failed my first programming assignment last night, very time consuming (and slightly annoying)... But its a good class11:51
emreceliktenn4nd0: I have seen a "proof by example" though, so I should warn you in advance if you like rigor :D11:54
-!- puffin444 [230bf329@gateway/web/freenode/ip.] has joined #shogun12:00
-!- puffin444 [230bf329@gateway/web/freenode/ip.] has left #shogun []12:00
-!- gsomix [~gsomix@] has joined #shogun12:24
gsomixsonney2k, around?12:29
-!- vikram360 [~vikram360@] has quit [Ping timeout: 260 seconds]12:30
n4nd0gtg guys, see you later!12:31
blackburnn4nd0: see you12:31
-!- n4nd0 [] has quit [Quit: Ex-Chat]12:33
-!- vikram360 [~vikram360@] has joined #shogun12:47
-!- gsomix [~gsomix@] has quit [Ping timeout: 272 seconds]12:51
-!- blackburn [5bdfb203@gateway/web/freenode/ip.] has quit [Quit: Page closed]13:08
-!- gsomix [~gsomix@] has joined #shogun13:14
sonne|workgsomix: yes?13:23
gsomixsonne|work, I'm so sorry, but I not able go to kickoff meeting, because I have classes at this time. What to do? I can prepare text for tomorrow, if it's needed.13:24
gsomixsonne|work, moin13:24
sonne|workgsomix: not a problem - you can read the chat logs later13:24
sonne|workgsomix: it was clear from the beginning that not everyone can attend13:24
gsomixsonne|work, thanks a lot. :)13:24
sonne|workit is very hard to schedule a meeting for 16 participants w/o planning years into the future :)13:25
gsomixsonne|work, huh, I see.13:26
-!- harshit_ [~harshit@] has joined #shogun13:39
* gsomix
-!- vikram360 [~vikram360@] has quit [Ping timeout: 240 seconds]13:49
-!- vikram360 [~vikram360@] has joined #shogun13:49
emreceliktengsomix: So it was truly asteroid mining then13:51
emreceliktenWhy don't we start constructing a Dyson sphere instead :P13:52
-!- harshit_ [~harshit@] has quit [Remote host closed the connection]14:05
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]14:05
-!- pluskid_ [~chatzilla@] has joined #shogun14:16
-!- wiking [] has joined #shogun14:17
-!- wiking [] has quit [Changing host]14:17
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun14:17
-!- pluskid_ is now known as pluskid14:19
wikingpluskid: here?14:24
pluskidwiking: hi14:25
wikingoh great hi!14:26
wikingso i was just wondering about your refactoring of multi class14:26
wikingas i'm now implementing the latent svm14:27
pluskidso what's your question?14:27
wikingit's a derivative of LinearMachine14:27
wikingand as a first step it's binary14:27
wikingbut if i want to extend it to multi class machine, do we have line LinearMulticlass?14:28
pluskiddoes your latent svm support multiclass *naturally* ?14:28
pluskidI mean14:29
pluskidfor example, traditional svm only support binary case14:29
pluskidbut we can use one-vs-rest or one-vs-one to make it multiclass14:29
-!- blackburn [~qdrgsm@] has joined #shogun14:29
wikingpluskid: no it does not support multi class naturally14:29
-!- PhilTillet [] has joined #shogun14:29
pluskidif your latent svm also rely one one-vs-res or one-vs-one for multiclass14:30
wikingbut i'd like it to be able to use for multi class case as well14:30
pluskidthen I guess you don't have to do anything14:30
wikingah ok14:30
pluskidbecause MulticlassLinearMachine can accept a "base linear machine"14:30
wikingyeah as a first step i guess it should be OvR OvO14:30
pluskidand turn that base linear machine into multiclass14:30
wikingthat's great14:31
pluskidthere's an example code I guess14:31
wikingand in case i can extend it to a true multi class machine?14:31
wikingi.e. like a crammer-singer14:31
pluskidif it becomes a true multiclass machine, you will derive a subclass from MulticlassLinearMachine14:31
pluskidit cannot be subclass of both linearmachine and multiclasslinearmachine14:32
pluskidthat's our problem14:32
pluskidalso happens in MulticlassSVM14:32
pluskidcannot be subclass of SVM and MultickassKernelmachine simultaneously14:32
wikingbut why not? :)14:32
pluskidwe do not like multiple inheritance here14:32
wikingi mean i guess the current design does not allow it14:32
wikingwhy? :)14:32
-!- n4nd0 [] has joined #shogun14:33
wikingit's not that of a 'big magic' :)14:33
pluskidbecause sonney2k hate multiple inheritance :p14:33
pluskidjoking haha14:33
pluskidI guess if we really want multiple inheritance, we will need "virtual inheritance"14:34
wikingnot necesarrily14:34
wikingbut of course it depends a lot on the base classes14:34
pluskidbecause both super class has a common super class (CSGObject)14:34
wikingah yeah14:34
wikingheheh in that case yes14:35
pluskidthe inheritance graph becoms complicated14:35
wikingyeah a diamond inharitance14:35
pluskidyes, like std::iostream ? :p14:36
wikinganyhow that's another story for later14:36
wikingfirst i want to see how it performs with a OvR setup14:36
wikingand as you said that should be fairly easy to do14:37
pluskidwiking: check this example14:37
pluskidit use a LibLinear as a base classifier14:37
pluskidand use OneVsOne to turn it into multiclass14:37
pluskidwhat you need is to new a CMulticlassOneVsOneStrategy() haha14:37
pluskidthere will be ECOC support soon :)14:41
wikingthanks a lot i'll do the testing with this14:41
wikingi mean based on this14:41
wikingyeeey this should be fun to see how it performs :)))14:41
pluskidI didn't tested the performance of the shogun machines really14:41
pluskidbe back in a while14:41
blackburnwiking: hey what is your issue?14:44
wikingblackburn: well i just want to have multi class support for latent svm ;)14:45
blackburnwiking: hmm can you describe in a few words how does it extend?14:46
wikingwell currently as you can see only with OvR14:46
wikingbut i must check whether i can use crammer-singer14:47
wikingbut as for now i don't see a problem with it14:47
blackburnwiking: crammer-singer is done in both ocas and liblinear multiclass svms14:47
wikingyeah i know14:47
wikingand since i currently use ocas14:47
wikingit should be fine14:48
blackburnwiking: I already asked vojtech about some improvement of ocas btw14:48
wikingbut then i guess i have to the the 'reimplementation' of latent svm14:48
blackburnI need to solve 0.5||w||^2 + <w0,w> + C \sum_i \xi_i problems14:48
wikingas current implementation is derived from linearmachine14:49
blackburn(domain adaptation)14:49
blackburnwiking: yes sad truth14:49
wikingah w_0 is the input learned w?14:49
blackburnlinear machine is pretty 'far away' from linearmulticlassmachine14:49
blackburnwiking: yes kind of pre-svm14:49
blackburnsource domain svm14:49
blackburn(but in multiclass case)14:49
blackburnso \sum_m w_m everywhere14:50
wikingbtw: i see that we have SVMOcas for binary case14:52
wikingbut there's no such for multi class case14:52
wikingah no14:53
wikingi'm wrong14:53
wikingwe do14:53
blackburnwiking: multiclass/MulticlassOCAS14:53
wikingyes yes found it sorry14:53
blackburnwiking: I have pretty recently implemented it actually14:53
wikingthat should be interesting to test14:53
wikingi'll have to change the api of my implementation as far as i can see14:54
wikingsince maybe the best thing is to somehow supply the svm you want to use14:54
wikingfor latent svm14:54
wikingbut i'm wondering how will an s-svm look like14:54
wikingn4nd0 will tell me more about that soon ;)14:54
blackburnyeah once he is finished with some univ stuff :)14:55
n4nd0yeah :)14:55
n4nd0wiking, in any case, yesterday I devoted some time to read some of the Struct SVM's doc14:55
-!- pluskid_ [~chatzilla@] has joined #shogun14:55
n4nd0wiking, I like some of the diagrams they have there and I think that it is exactly what we want to do in shogun14:56
n4nd0I am waiting for an answer from Nico to know that though14:56
n4nd0wiking, have you taken a look to Struct SVM?14:56
-!- pluskid [~chatzilla@] has quit [Read error: Connection reset by peer]14:56
wikingcurrently i'm doing runs14:56
blackburnn4nd0: which diagrams?14:57
wikingmy implementation vs the other latent implementation14:57
-!- pluskid_ is now known as pluskid14:57
n4nd0blackburn, a moment14:57
wikingthat is based on structsvm14:57
wikingbut i just have -1,1 labeling so i don't use SO14:57
n4nd0blackburn, just scroll down a bit
n4nd0wiking, I have to think about how to fit into shogun the labels hierarchy we need for SO14:58
blackburnhmm where?14:58
wikingn4nd0: i'm changing as well labels...14:59
wikingsince i have latent output14:59
wikingso it might be good to talk about it when u have some time14:59
blackburnn4nd0: are you sure it is the link?14:59
n4nd0blackburn, maybe diagrams is a bad word to refer to them14:59
blackburnI see only text :)15:00
n4nd0blackburn, the "coloured boxes" on the left with arrows in between15:00
n4nd0a wait15:00
n4nd0the link remains the same in the browser's textbox for the address :D15:01
blackburnyes any kind of diagrams help15:01
n4nd0I think that SVM struct is a good reference for what we want to do15:02
blackburnn4nd0: yes yes15:02
n4nd0but I wonder if I got something wrong since it was not referenced in the project ideas15:02
blackburnpretty general15:02
n4nd0that's why I asked Nico about it, just to be sure15:02
blackburnhmm I don't think thorsten has fucked up15:03
blackburnn4nd0: wiking: it should be of interest right?
wikingblackburn: well yeah that's a typical structural svm15:05
blackburnI am very excited about having all that jazz in shogun15:06
n4nd0it's going to be very cool15:07
pluskidwhat will you use as labels in SO learning?15:10
pluskidI mean the current CLabels wouldn't be enough to describe structures15:10
wikingpluskid: yeah it needs to be extended15:10
wikingbtw when are we planning to do a release?15:10
wikingi mean shogun release15:10
pluskidany concrete idea? I'm thinking of extending CLabels for multiclass, too. though it can support multiclass in the current status15:11
blackburnpluskid: yes would be nice to have multiclass lables15:11
blackburnprobabilities is the thing we can store there15:11
blackburnwiking: that would be hard to release before end of gsoc currently15:12
wikingheheh ok15:12
wikingafaik the last release was 8 months ago15:12
blackburnhowever this can be done15:12
wikingand there's a lot of improvement/fixes since then15:12
blackburnyes but we are in unstable state15:12
blackburnall is broken15:12
wikingapi is changing a lot :))15:12
pluskidhave you considered some benchmark test for our machines in shogun?15:13
blackburnI'd call it shogun 2.015:13
blackburnpluskid: what to benchmark?15:13
pluskidfor examples, all the examples only run classification etc.15:13
wikingpluskid: i do with my own...15:13
pluskidbut do not evaluate15:13
blackburnperformance evaluation?15:13
pluskidthat would also be a good reference when we are doing refactoring of the code15:14
pluskidif the performance are different before and after, there must be something wrong15:14
blackburnah you mean to compare things using there benchmarks?15:14
blackburnI don't think it would work very well15:15
pluskidand this is also useful for the users to choose machines to use15:15
pluskidblackburn: why?15:15
blackburnpluskid: what would you measure for classifiers?15:15
pluskidfor example, accuracy on a standard dataset15:15
blackburnbut why not to compare learned parameters?15:16
pluskidfor the purpose of refactoring, your way is better. But performance is more intuitive to see, and has other uses15:17
pluskidI mean, for example, I'm a user15:18
pluskidof shogun15:18
blackburnpluskid: where would you like to add it?15:18
pluskidI downloaded the shogun, compile it and run the example code15:18
pluskidwhen I see it produces performance as indicated in the reference, I would be sure that everything is fine, and I can start my work15:18
pluskidblackburn: no idea yet, just thinking about this :p15:19
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]15:23
pluskidsomething like this:
blackburnpluskid: hehehe15:29
blackburnpluskid: binary=real15:30
blackburnsorry no15:30
blackburnmakes sense15:30
blackburnpluskid: btw multiple output regression is something real too15:30
blackburnso RealVectorLabels15:30
-!- wiking [] has joined #shogun15:30
-!- wiking [] has quit [Changing host]15:30
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun15:30
pluskidhmm, make sense15:31
blackburnthe problem is15:31
blackburnhow to implement it15:31
blackburnwe have get_labels()15:31
blackburnwhat should it return?15:31
blackburnI see templates as a choice actually15:31
pluskidget_labels() is a function of what object?15:31
blackburnof labels15:31
blackburnor get_label(i)15:31
pluskidsonney2k might hate template? :p15:31
blackburnno, I don't think15:32
blackburnI can't see any other way15:32
blackburnpluskid: how did you draw it?15:32
blackburnall the uml stuff is so damn heavy15:33
blackburnthat's fscking awesome15:33
pluskidthis is not *drawing* , though :p15:34
wikingyou can include LatentLabels as well ;P15:36
wikingand it's not drawing for me15:36
pluskidwiking: what would a latent label looks like?15:36
wikingpluskid: well it can be basically anything15:36
wikingit's user defined15:36
wikingsince the latent variable should be defined by the user15:37
blackburnwe are going to have great hierarchy there15:37
blackburnI am afraid we need shogun/labels15:37
pluskidyes, I feel very strange the first time when I found CLabels in features folder :D15:37
blackburnsonney2k: it is going to be tough to support back compatibility for this release15:37
blackburneverything will be broken15:38
wikingpluskid: did the code generate you the diagram?15:38
pluskidmaybe everything is already broken ? :p15:38
blackburnis already and will be more15:38
pluskidwiking: yes, scroll down the page you will see links to the pictures15:39
pluskidof various type, png, pdf, jpg, svg, etc15:39
wikingyeah that works15:39
wikingbut not within the page15:39
blackburnpluskid: would you mind describing multiclass part @ wikipedia?15:46
pluskidwikipedia of shogun?15:46
wikingit missed for me the )15:47
pluskidhmm, OK15:47
pluskidI'll update it after I add each new multiclass support15:48
-!- vikram360 [~vikram360@] has quit [Ping timeout: 260 seconds]15:49
blackburnI'm going to add some dim reduction part there once15:49
blackburnsimply lets make it best article of wikipedia15:49
pluskidambitious goal15:49
blackburnno - we know this field15:50
blackburnn4nd0: wiking: join me in this effort ;)15:52
pluskidhere's some pseudo code:
pluskidof new CLabels15:52
blackburnwe need promotion - it worths doing15:52
pluskidbut the problem is that15:52
blackburnin the end your names will be well known :)15:53
pluskidif we use template here, they no longer share a *single* super class15:53
blackburnpluskid: I would skip binary labels15:53
blackburnit is inconvient at some point15:54
blackburni.e. you train svm using binary15:54
blackburnbut it will always return real15:54
pluskidthat's why we have both LabelStoreType and LabelType template variable15:55
-!- harshit_ [~harshit@] has joined #shogun16:15
blackburnwiking: last release was on 1, December 2011 btw16:37
-!- emrecelikten [~emre@] has quit [Quit: Leaving.]16:47
-!- harshit_ [~harshit@] has quit [Quit: Leaving]17:07
n4nd0blackburn, wiking: Nico has approved the diagrams I linked you guys, svm struct may be an inspiration for our SO base17:14
blackburnn4nd0: heh17:14
wikingcan u do a sketch of that17:14
wikinghow that actually would look like in case of shogun17:14
* wiking is lazy ;)17:14
n4nd0wiking, yes, we have discussed and would like to prepare some UML diagrams and stuff17:15
wikingi mean in my case17:15
wikingi'm using psi function as well17:15
wikingbut it's17:15
n4nd0what is your h?17:15
wikingso "maybe" it's a good idea to sync17:16
wikingh = latent variable17:16
n4nd0yes, it's a good idea17:16
n4nd0I don't know much about latent variables but17:17
wikingn4nd0: psi is defined by the user right?17:17
wikingn4nd0: i mean in case of SO17:17
n4nd0wiking, yes17:17
wikingso you'll have somewhere in the class of features or something17:17
wikingthat is user defined17:17
n4nd0wiking, just a kind of interface hast to be followed17:17
wikingcurrently my CLatentFeatures is something like that17:17
wikingyou add x, y and h17:17
wikingand you have to define PSI17:17
wikingso maybe that could be used17:18
wikingjust then we need to rename it17:18
wikingso that it works for SO17:18
n4nd0I think that for SO h should be within x17:19
n4nd0I mean, the general algorithm shouldn't really case whether some features there are latent or not right?17:19
n4nd0really care*, sorry17:19
wikingyou can take it like that as well17:20
n4nd0for me it looks more unified in that way, what do you think?17:20
wikingthe idea i had is just that we make a new feature or whatever for SO17:20
-!- vikram360 [~vikram360@] has joined #shogun17:20
wikingand from that i'll inherit latent... to be able to introduce the latent variable17:20
wikingbecause not CLatentFeatures : public CDotFeatures17:21
wikings/not/now/g ;)17:21
wikingso i guess you'd do the same17:21
wikingbut only have x and y17:21
wikingwhere y can be more than a simple -1,117:21
n4nd0why to inherit from CDotFeatures?17:22
wikingand you'll need to be able to define the delta(y,y') as well somehow17:22
wikingor in other way <w, PSI(x,y)>17:23
wikingso that's a dot product17:23
n4nd0my plan is to have a general class for the labels where that class has a pure virtual method for the cost function (this delta(y, y'))17:23
wikingah yeah17:23
wikingthat's cool17:24
n4nd0what I have not clear yet is where this class should fit17:24
wikingso in case of any application of SO17:24
n4nd0if inheriting from sth else in Shogun or not17:24
wikingyou'd need to derive from that class and define that pure virtual func17:24
wikingthat good but then again17:25
wikingyou can start the refactoring on the level of CLabels17:25
wikingso that CLabels has a delta as well or? :)17:25
n4nd0yes, I wanted to check thoroughly the hierarchy there17:25
wikingi mean it's straightforward what is the delta17:25
n4nd0wiking, but it is application dependent again17:26
n4nd0wiking, or at least dependent on the structure used for the labels17:27
pluskidthat's why we need SequenceLabels, TreeLabels, etc. etc. :p17:27
n4nd0pluskid, those should inherit from this general class labels17:28
pluskidyes, did you see the figure and pseudo code?17:28
n4nd0oh, I think I missed that17:28
pluskidvery preliminary, though17:29
pluskidand there's a problem of using template here: the superclass CLabels is no longer *one* class17:29
pluskidbut many many classes depending on the template parameter17:30
pluskidso maybe we will not use this type of hierarchy, not sure currently17:30
n4nd0pluskid, mmm I don't understand why do you want to have the base class CLabels templated17:33
pluskidn4nd0: otherwise, we do not know what to return in the function get_label(int32_t)17:33
pluskidit might be int, float, or some tree or sequence17:34
pluskidwill be complex object in SO I guess17:34
n4nd0pluskid, well but one should know in the moment of using that function17:34
n4nd0should know it*17:34
pluskidn4nd0: but how do you define the prototype of that function?17:34
pluskidin a common superclass CLabels17:35
n4nd0pluskid, doing something similar to what we have in CFeatures17:36
pluskidn4nd0: what's that?17:36
pluskidyou mean we do not define this function in the base class17:36
pluskidbut we dynamic_cast to subclasses when calling some specific functions?17:37
n4nd0pluskid, wait a second I am looking for an example within the code so you can see what I mean17:37
n4nd0yes my idea would be to dynamic_cast to subclasses17:42
blackburnwe don't really need base CLabels17:42
blackburnmulticlass work with multiclass labels (only)17:42
pluskidOK, I understand17:42
blackburnbinary with binary17:42
blackburnhowever this can be a problem again17:42
blackburncause we have generic machine17:43
n4nd0blackburn, but there might some common functionality to all of them interesting to have in a base class17:43
pluskidwhat is generic machine?17:43
blackburnit has labels..17:43
n4nd0blackburn, and I think it offers more flexibility to have a base class17:43
pluskidwe can have a pure virtual CLabel super class17:44
pluskidwith almost nothing in it17:44
blackburnyes but we have to be careful17:44
n4nd0I imagine it like that17:44
n4nd0blackburn, in what sense?17:44
blackburnwith future casts17:44
n4nd0can you put an example where a problem may arise?17:45
blackburnn4nd0: it would be nice to have set_labels(MulticlassLabels) for multiclass machines17:45
blackburnbut how to do that?17:45
blackburnno way probably so it should be checked probably17:46
pluskidyes dynamic_cast everywhere17:47
blackburnpluskid: n4nd0: wiking: could you please elaborate tihs problem at the mailing list?17:48
n4nd0blackburn, sure, but I have to think more of it first17:48
blackburnyes no hurry17:48
wikinghehehe ok17:49
blackburnbut we all can forget something so would be nice to have it on the mailing list17:49
n4nd0pluskid, blackburn, also, as far as I have understand from SO, SO generalizes multiclass17:49
pluskiddoesn't shogun has an issue list?17:49
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]17:49
blackburnn4nd0: yes17:49
blackburnpluskid: github issues work well too17:49
blackburnfeel free to use it17:49
blackburnmay be even better17:49
pluskidblackburn: no body looks at it I guess? :p17:49
n4nd0I think that should be reflected in the diagram somehow17:49
blackburnpluskid: will if it is used17:50
pluskidn4nd0: in my view, SO is multiclass, with structure in the class space17:50
blackburnn4nd0: pluskid: please create new issue - we can even refer code modifications to it17:50
blackburnmulticlass is SO I'd say17:50
blackburnsubset of SO17:50
n4nd0I agree with blackburn17:50
blackburnsimple finite17:50
pluskidyes, SO without structure haha17:51
blackburnno there are some structure17:51
blackburnjust like structure of N set17:51
blackburnthere is an order and distance17:51
pluskidno, simple discrete set17:51
pluskidI don't think there is order in generic multiclass17:51
blackburnhowever d(y,y') = [y=y'] is strange distance17:51
pluskidclass 1 is not before class 217:51
blackburnheh right17:51
blackburnno reason to keep it in mind17:52
n4nd0there is no really structure in the sense that is important for SO where there are important dependencies between the parts that form a label17:52
blackburnI just thought of implementation17:52
blackburnactually it can be considered as consistent way17:52
blackburnto define distance between numbers17:52
blackburnlike in multiclass17:52
pluskidregression can also be thought to be multiclass: with infinite number of classes, and very nice structure (orders, distance, innerproduct, etc.) in the real line :p17:53
pluskidmidnight here17:54
pluskidgood night all17:54
n4nd0pluskid, good night17:54
@sonney2kyou all are going berserk here?17:54
@sonney2kI can hardly read the whole log17:54
@sonney2kpluskid, indeed no to multiple inheritance17:55
n4nd0I am just preparing by databases exam for tomorrow :P17:55
@sonney2kit will complicate things beyond repair17:55
@sonney2kand I cannot even think of how one could possibly use swig with that17:55
pluskidsonney2k: OK, I'll tell wiking that if he wants to use multiple inheritance, sonney2k will kill him :D17:55
@sonney2k(think java, python that all have no MI)17:55
@sonney2kI will kill everyone who wants MI17:56
pluskidgood night17:56
-!- pluskid [~chatzilla@] has quit [Quit: ChatZilla [Firefox 12.0/20120420145725]]17:56
@sonney2kpluskid, n817:56
@sonney2kblackburn, about the label redesign - I am very much in favor of it - but I have no idea how we even can have an interface there17:57
@sonney2kI mean basically multiclass, binary and real-valued labels share all functionality17:57
@sonney2konly that they accept different values17:57
n4nd0sonney2k, I know that I am on risk of getting killed but ... I think python supports MI17:57
@sonney2klike +1/-117:57
@sonney2kn4nd0, no17:57
n4nd0search for multiple inheritance17:59
n4nd0limited form of it they say17:59
@sonney2kn4nd0, yeah but look at it - you will more likely shoot yourself in the foot then benefiting from this18:00
n4nd0but it exists :)18:00
n4nd0this is awesome18:01
n4nd0"all cases of multiple inheritance exhibit one or more diamond relationships"18:01
-!- wiking [] has joined #shogun18:05
-!- wiking [] has quit [Changing host]18:05
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun18:05
-!- n4nd0 [] has quit [Read error: Connection reset by peer]18:12
blackburnsonney2k: I told you it will be crazy18:22
-!- vikram360 [~vikram360@] has quit [Ping timeout: 240 seconds]18:49
-!- blackburn [~qdrgsm@] has quit [Quit: Leaving.]18:53
-!- harshit_ [~harshit@] has joined #shogun19:13
-!- harshit_ [~harshit@] has quit [Client Quit]19:14
-!- vikram360 [~vikram360@] has joined #shogun19:19
-!- vikram360 [~vikram360@] has quit [Ping timeout: 260 seconds]19:29
-!- vikram360 [~vikram360@] has joined #shogun19:30
-!- Marty28 [] has joined #shogun20:00
-!- Marty28 [] has quit [Quit: Colloquy for iPad -]20:11
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has joined #shogun20:47
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]20:56
@sonney2kblackburn - all your fault ;-)21:31
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has joined #shogun21:45
blackburnsonney2k: in which means?21:46
@sonney2kyou seem to want to do 1000 things at the same time ;)21:58
-!- PhilTillet [] has quit [Remote host closed the connection]21:59
@sonney2kblackburn, btw I've seen you label class hierarchy22:00
@sonney2kwhich functions should go into the new CLabels?22:00
blackburnsonney2k: mine? it was pluskid's I think22:05
blackburnsonney2k: this should be discussed actually22:06
blackburnabout 1000 things - yes but we have enough horsepower^W human resources22:07
blackburnso it is a question of management :)22:09
blackburnsonney2k: one guy from my school is this year's gsoc student - so a chance I'll get some opencv expert in touch22:11
@sonney2kblackburn, because I think what we currently have in CLabels would work for binary/multiclass/reallabels22:14
@sonney2konly that we should have some check_consistency / validity of the labels function22:15
blackburnsonney2k: I agree but what about structured labels..22:15
@sonney2kthey are totally different22:15
@sonney2kthere is nothing except checking 'is_valid()' that they have in common22:16
@sonney2kI mean even get_label() cannot be shared among label classes22:16
@sonney2kso it cannot be in the new CLabels()22:16
@sonney2kso I am actually not so sure if we really need a CLabels base class22:17
blackburnsonney2k: actually it could be shared using templates22:18
blackburnbut some non-trivial thing22:18
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]22:33
@sonney2kblackburn - with templates overloading sucks22:35
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]22:39
-!- wiking [] has joined #shogun22:46
-!- wiking [] has quit [Changing host]22:46
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun22:46
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has joined #shogun22:51
wikingwonder where am i :)22:51
wikinggithub aaate meee!22:53
blackburnthat sucks22:55
@sonney2kinteresting stats22:55
wikingsonney2k: yeah the punchcard is funny as well :)22:55
blackburnsonney2k: have you seen my mail to slep? do you think I ask for reasonable things?22:56
blackburnsonney2k: around?23:01
@sonney2kblackburn, yeah but free for academic use means - not open source23:01
blackburnsonney2k: gsomix needs some guidance23:01
@sonney2kso you need some statement from them that you can integrate it under the terms of GPL23:02
blackburnsonney2k: do you think they would deny it?23:02
@sonney2kcurrently it looks like this23:02
blackburnyes so I asked they23:02
@sonney2kgsomix, wassup?23:02
-!- harshit_ [~harshit@] has joined #shogun23:02
blackburnsonney2k: that would be pretty bad23:02
gsomixsonney2k, what we plan to store in objects at end? references to SGVectors or pointers, or copies?23:03
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.] has joined #shogun23:03
blackburn_browser has died23:03
@sonney2kgsomix, good question23:06
blackburn_sonney2k: why would they want to keep code available but not real open source?23:06
@sonney2kblackburn, why is svmlight/struct not opensource?23:06
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]23:07
blackburn_sonney2k: isn't it?23:07
@sonney2kof course not23:07
blackburn_that's crazy23:07
@sonney2kblackburn_, that is why svmlight is not part of official shogun23:08
blackburn_sonney2k: yes I know it has some special status23:08
blackburn_can SLEP has similar one then?23:08
@sonney2kand I was begging TJ for way too many times - he simply doesn't like OSS23:08
@sonney2kblackburn_, ask them: tell them that shogun is under GPLv3 and that you need a statement saying SLEP is released under a GPL3 compatible license or under GPL3 directly23:09
blackburn_sonney2k: can reimplementation of anything has different license?23:10
@sonney2kgsomix, let me think loudly: If we were using pointers we would keep ptrs everywhere.23:10
blackburn_sonney2k: yeah I asked already but not about statement - lets wait for answer first23:10
@sonney2kblackburn_, re-implementing without using / looking at their code - of course23:10
blackburn_sonney2k: that license stuff is pretty vomitting isn't it?23:11
@sonney2kblackburn_, sure it is - in particular because even OSS licenses might conflict with each other - so we cannot use MPL / CPL licensed code in shogun23:12
@sonney2kgsomix, so in principle we want exactly that - pass around object ptrs only23:12
blackburn_lets hope they will license it using gpl23:13
blackburn_I think to allow to be integrated to shogun is the only way to survive :D23:17
@sonney2kgsomix, now when we have a function SGVector return_new_vector() we have to return some copy23:17
@sonney2kgsomix, but otherwise we return the reference SGVector& return_vector_from_class()23:18
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]23:21
gsomixsonney2k, aha.23:24
gsomixsonney2k, sonney2k, btw, what about `const SGVector& return_vector_from_class() const;'? Should we have two version (one for const objects)?23:24
gsomixsonney2k, ok, I'll think about it yet. I will end review of code for `SGVector to refs' tomorrow.23:37
gsomixI'm going to bed now =___=23:38
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.] has joined #shogun23:49
blackburn_errr connection sucks23:49
blackburn_when I see mails like that last at the gsoc students mailing list23:50
blackburn_I ask myself how can people be that stupid23:50
@sonney2kblackburn_, I start to wonder if we shouldn't use SGVector* ...23:54
@sonney2kI feel uneasy by returning copies of SGVector and not being able to store references...23:55
blackburn_sonney2k: I am afraid we can stuck there23:55
@sonney2kwhat do you mean?23:55
blackburn_sonney2k: I mean we can lose much time doing this (being unsure it is useful)23:56
blackburn_I am talking about any transitions23:56
@sonney2kblackburn_, sure23:56
@sonney2kthat is why I am asking23:57
@sonney2kblackburn_, btw why do you use the webchat?23:57
blackburn_sonney2k: using public wifi - irc is blocked23:57
blackburn_sonney2k: we would need to really get sure we need it23:58
blackburn_do we have any problem with it so far?23:58
blackburn_which one?23:58
@sonney2keverything is copied and we have no proper way of cleaning up memory23:58
--- Log closed Thu Apr 26 00:00:01 2012