--- Log opened Fri Feb 17 00:00:19 2012 | ||
-!- n4nd0 [~n4nd0@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 245 seconds] | 01:20 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 05:11 | |
-!- blackburn [~qdrgsm@188.168.2.140] has joined #shogun | 06:05 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 08:00 | |
-!- blackburn [~qdrgsm@188.168.2.140] has quit [Quit: Leaving.] | 08:09 | |
-!- Ram108 [~amma@14.96.154.124] has joined #shogun | 08:16 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 08:20 | |
-!- peter_berlin [5ce7d8eb@gateway/web/freenode/ip.92.231.216.235] has joined #shogun | 09:47 | |
peter_berlin | hi | 09:48 |
---|---|---|
peter_berlin | I've got a question concerning shogun for python | 09:48 |
peter_berlin | Can I somehow access the neighbors in kNN or the distance from the hyperplane in SVM? | 09:49 |
peter_berlin | I need a confidence measure for my prediction and thought those information could be useful | 09:50 |
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 09:53 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer] | 09:53 | |
-!- wiking_ is now known as wiking | 09:53 | |
sonne|work | peter_berlin: svms give you just real values outputs so yes | 10:22 |
sonne|work | peter_berlin: for KNN you would need to modify code .. | 10:23 |
peter_berlin | okay | 10:34 |
peter_berlin | does the multiclass svm give also real value output? | 10:34 |
peter_berlin | I think I only got the labels | 10:34 |
-!- Ram108 [~amma@14.96.154.124] has quit [Ping timeout: 260 seconds] | 11:03 | |
n4nd0 | peter_berlin: hey! I think you should get a real value using the method apply | 11:22 |
peter_berlin | ah, okay. I'll hceck that | 11:32 |
peter_berlin | thx | 11:33 |
n4nd0 | no problem | 11:45 |
sonne|work | peter_berlin: labels.get_labels() gives you the real valued vector | 11:47 |
-!- peter_berlin [5ce7d8eb@gateway/web/freenode/ip.92.231.216.235] has quit [Ping timeout: 245 seconds] | 12:40 | |
wiking | sonne|work: around? | 13:32 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 13:37 | |
sonne|work | ? | 13:37 |
-!- n4nd0 [~n4nd0@s83-179-44-135.cust.tele2.se] has joined #shogun | 13:41 | |
wiking | i know i could dig it out from the sources but in case a preprocessor is defined and i do the following: feats_train.add_preprocessor(preprocessor) feats_train.apply_preprocessor() | 13:42 |
wiking | what function is being called in preprocessor | 13:42 |
sonne|work | apply? | 13:56 |
sonne|work | actually it depends on the feature type... apply_to_feature_matrix() for simple features IIRC | 13:57 |
wiking | mmm | 13:58 |
wiking | i wonder then why my preprocessor doesn't make it | 13:58 |
wiking | since i've defined both apply_to_feature_matrix and apply_to_feature_vector | 13:58 |
sonne|work | you have to in-place modify the matrix | 13:59 |
sonne|work | could that be the reason? | 13:59 |
wiking | ah | 13:59 |
wiking | i'm creating a new matrix | 13:59 |
wiking | as the preprocessor changes the matrix dimension | 13:59 |
wiking | should i just change the reference within the supplied matrix the data array? | 14:00 |
sonne|work | that won't do any change (local variable) | 14:00 |
sonne|work | you could use set_feature_matrix to replace the feature matrix | 14:02 |
wiking | does it do the memory management? | 14:04 |
wiking | i.e. freeing the previous matrix | 14:04 |
wiking | doh i'm confused now... if i create a kernel with 2 feature sets and then call get_kernel_matrix... in the resulting matrix m, m_i,j = k (featureSet1_i, featureSet2_j) or? | 14:11 |
-!- Ram108 [~amma@14.99.219.214] has joined #shogun | 14:44 | |
wiking | yey | 14:58 |
wiking | added new preprocessor \o/ | 14:58 |
CIA-18 | shogun: Soeren Sonnenburg master * rd7d10b9 / src/shogun/mathematics/Math.cpp : fix PI -> M_PI - http://git.io/jHmeIw | 15:26 |
sonne|work | wiking: ^ I hope that fixes the PI issue | 15:28 |
wiking | sonne|work: yeps | 15:31 |
wiking | that's what i did here locally as well | 15:32 |
sonne|work | argh I missed that | 15:33 |
wiking | if u have any time to comment on my pull request i'd really appreciate it... i've tested the method | 15:33 |
wiking | the error rate is very good | 15:33 |
sonne|work | well even better when you did the same thing :) | 15:33 |
wiking | i.e. 1e-3 | 15:33 |
wiking | i mean comparing a kernel and the generated homogeneous mapping and using linear kernel on that | 15:33 |
sonne|work | which kernel did you compare it with? | 15:35 |
CIA-18 | shogun: Soeren Sonnenburg master * r9abe870 / (8 files in 4 dirs): | 15:36 |
CIA-18 | shogun: Merge pull request #374 from vigsterkr/master | 15:36 |
CIA-18 | shogun: Add Homogeneous Kernel Mapping preprocessor - http://git.io/JRJ-oQ | 15:36 |
wiking | JensenShannon | 15:36 |
sonne|work | ok | 15:37 |
wiking | since in shogun the Chi2 is exponential | 15:37 |
wiking | and the one implemented in the homogeneous mapping is not | 15:37 |
sonne|work | wiking: one question - how difficult would it be to do the mapping on-the-fly as in CDotFeatures? - I mean would that be fast or is the result about same dimensional and dense? | 15:37 |
wiking | aaah | 15:38 |
wiking | haven't timed the thingy | 15:38 |
wiking | i mean how long would it take to do the mapping | 15:38 |
wiking | imho not that much | 15:38 |
wiking | as there's a precomputed lookup tabe | 15:38 |
wiking | *table | 15:38 |
wiking | you are thinking about adding an option to the given kernels, whether one wants to use the approximation or the real kernel? | 15:39 |
sonne|work | wiking: no there are various *fast* linear methods for which it might be beneficial to on-demand compute these Jensenshannonfeatures | 15:40 |
sonne|work | this makes sense if data woudl become to big to fit in memory | 15:40 |
sonne|work | (with your preprocessor) | 15:40 |
wiking | ah yeah | 15:40 |
wiking | doable | 15:41 |
sonne|work | wiking: btw you should add yourself as copyright holder | 15:41 |
wiking | should i ? | 15:41 |
wiking | i thought the (C) goes for the original implementation | 15:41 |
sonne|work | you wrote the shogun adjustments code right? | 15:41 |
wiking | true :P | 15:41 |
wiking | btw i don't know about the licensing header | 15:41 |
wiking | as the original code was BSD licensed | 15:41 |
wiking | and now the 'wrapper' code is in gplv3 | 15:42 |
wiking | is it ok? | 15:42 |
sonne|work | wiking: one more thing please don't do m_table.vector == NULL checks | 15:42 |
sonne|work | yes just put your gpl copyright header on top of the BSD one | 15:42 |
wiking | SG_*ALLOC will do it for me? | 15:42 |
sonne|work | yes | 15:42 |
wiking | ok i'll drop it then | 15:42 |
wiking | and there's still of course some problem | 15:42 |
sonne|work | and if you need to throw errors use SG_ERROR("bla\n") | 15:42 |
wiking | ah one thing! | 15:42 |
wiking | how do i turn on debugging in c++/ | 15:42 |
wiking | i've tried this | 15:43 |
-!- n4nd0 [~n4nd0@s83-179-44-135.cust.tele2.se] has quit [Quit: Leaving] | 15:43 | |
wiking | CHomogeneousKernelMap hkm (HomogeneousKernelChi2, HomogeneousKernelMapWindowUniform, 1, 1, -1); | 15:43 |
wiking | hkm.io->set_target_to_stdout (); | 15:43 |
wiking | hkm.io->set_loglevel (MSG_DEBUG); | 15:43 |
wiking | but i'm not getting any debugging message :( | 15:43 |
sonne|work | wiking: let me guess you are doing this from C++ | 15:53 |
wiking | yeps | 15:53 |
sonne|work | then you probably did call init_shogun() with no args? | 15:54 |
sonne|work | so you should call init_shogun_with_defaults() or use proper args (to register print functions) | 15:54 |
wiking | i had troubles with the python api before and couldn't debug only with std::cout in CHomogeneousKernelMap that actually the my problem was that PI=0 ;P | 15:54 |
wiking | oh yeah i've just called init_shogun | 15:54 |
sonne|work | yeah weird - with PI | 16:01 |
wiking | anyhow now it works... thnx for the tip... so next time i can debug better :) | 16:02 |
-!- blackburn [~qdrgsm@109.226.88.39] has joined #shogun | 18:44 | |
blackburn | wiking: nice work! | 18:44 |
wiking | blackburn: yeah | 18:44 |
blackburn | did you try it already? | 18:44 |
wiking | u should pull the last two commits as well from my repo | 18:45 |
wiking | should i do a pull request | 18:45 |
wiking | ? | 18:45 |
blackburn | yeah do please | 18:45 |
Ram108 | hi | 18:46 |
Ram108 | blackburn: can i email u my code? | 18:46 |
blackburn | Ram108: sure, what is the code? | 18:47 |
Ram108 | back propagation algorithm | 18:47 |
Ram108 | i used a pdf file as refrence and worked on the calculations manually but there seems to be somethn wrong......... | 18:48 |
wiking | blackburn: done | 18:49 |
Ram108 | could u help me rectify that if u r free? | 18:49 |
wiking | blackburn: only tested it on dummy dataset till now | 18:49 |
blackburn | wiking: ok thanks | 18:50 |
blackburn | Ram108: ok I'll check | 18:50 |
Ram108 | thanks a lot :) | 18:52 |
Ram108 | i have sent it :) | 18:52 |
CIA-18 | shogun: Sergey Lisitsyn master * rab828dc / : Merge branch 'master' of github.com:shogun-toolbox/shogun - http://git.io/6u7giQ | 18:53 |
CIA-18 | shogun: Viktor Gal master * reb1eff2 / src/shogun/preprocessor/HomogeneousKernelMap.cpp : | 18:53 |
CIA-18 | shogun: Remove memory allocation check | 18:53 |
CIA-18 | shogun: SG_MALLOC checks itself if the memory allocation was successful | 18:53 |
CIA-18 | shogun: or not - http://git.io/-GCJKA | 18:53 |
CIA-18 | shogun: Viktor Gal master * re3b7d0e / src/shogun/preprocessor/HomogeneousKernelMap.cpp : | 18:53 |
CIA-18 | shogun: HKM: set reference in apply_to_feature_matrix func | 18:53 |
CIA-18 | shogun: Althouth the reference for the new feature matrix has been returned | 18:53 |
CIA-18 | shogun: it hasn't been set for the supplied SimpleFeatures class. - http://git.io/ZUq_ZQ | 18:53 |
blackburn | wiking: merged | 18:54 |
wiking | cheers | 18:54 |
Ram108 | blackburn: did u get my email? :) | 18:56 |
blackburn | Ram108: have you checked e.g. this: arctrix.com/nas/python/bpnn.py? | 18:57 |
Ram108 | no i havent | 18:57 |
Ram108 | i ll do that now | 18:57 |
blackburn | I mean better compare with existent implementations | 18:58 |
Ram108 | oh okay i ll do that | 18:58 |
Ram108 | thanks anyway :) | 18:58 |
Ram108 | lol | 18:58 |
Ram108 | compared to his i think mines so messy........... | 19:07 |
blackburn | heh | 19:07 |
Ram108 | lol i mean my code is big and totally messed up | 19:08 |
blackburn | seems so | 19:08 |
Ram108 | :( lol | 19:09 |
Ram108 | its just the error in the reverse propagation method, it seems to go smaller and smaller | 19:10 |
Ram108 | i tried manually working out the calculations using pen and paper they yield the same results......... | 19:11 |
Ram108 | dunno what really went wrong | 19:11 |
blackburn | me neither :) | 19:15 |
Ram108 | lol i ll sit on it till it works.......... | 19:16 |
wiking | blackburn: do u know any good GMM clustering implementation? | 19:16 |
blackburn | wiking: we have one here, no idea whether it is good :) | 19:16 |
blackburn | should be good | 19:16 |
wiking | in shogun? | 19:16 |
blackburn | yeah didn't you notice? ;) | 19:16 |
wiking | oh eah | 19:17 |
wiking | fuck | 19:17 |
wiking | it's there | 19:17 |
wiking | hahahah | 19:17 |
blackburn | it was gsoc 2011 project btw | 19:17 |
wiking | ok let's test it then :))) | 19:18 |
blackburn | yeah try it | 19:18 |
blackburn | (I never did) | 19:18 |
blackburn | wiking: going to try homogay map now! | 19:25 |
wiking | letmeknow how it works out | 19:26 |
wiking | :) | 19:26 |
wiking | haven't tested it myself yet | 19:26 |
blackburn | I still believe it should be called homogay | 19:26 |
wiking | i mean on real data | 19:26 |
wiking | :)) | 19:26 |
blackburn | homogayfag | 19:26 |
blackburn | :D | 19:26 |
wiking | i should test it myself as well | 19:26 |
wiking | time to switch to vpn then | 19:27 |
blackburn | we will know soon | 19:27 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 19:27 | |
-!- wiking [~wiking@vpnj177.ugent.be] has joined #shogun | 19:27 | |
-!- wiking [~wiking@vpnj177.ugent.be] has quit [Changing host] | 19:27 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 19:27 | |
wiking | hehe i need a recompile still | 19:28 |
blackburn | wiking: damn I like your codestyle | 19:28 |
wiking | cheers | 19:28 |
blackburn | the only problem | 19:28 |
wiking | whichwhat | 19:28 |
blackburn | void blabla() { | 19:29 |
blackburn | } | 19:29 |
blackburn | please use | 19:29 |
blackburn | { | 19:29 |
blackburn | } | 19:29 |
wiking | ah ok | 19:29 |
wiking | old habbit | 19:29 |
wiking | i really prefer that one | 19:29 |
wiking | but i'll do it for shogun then \n{\n} :P | 19:29 |
blackburn | just global codestyle | 19:30 |
blackburn | well that compact style is rather java | 19:30 |
blackburn | we are hardcore oldschool (C) | 19:30 |
blackburn | damn haha we have no multiclass linear svm | 19:31 |
wiking | hahahah | 19:32 |
wiking | why not use multi class whatever svm | 19:32 |
wiking | with linear kernel? | 19:32 |
blackburn | much slower | 19:32 |
wiking | heheh true | 19:32 |
wiking | :) | 19:32 |
wiking | then give us multi class linear svm NOW | 19:32 |
wiking | i think liblinear can do it | 19:32 |
blackburn | yes | 19:32 |
blackburn | but a little work | 19:33 |
wiking | but there's no wrapper for it i guess? | 19:33 |
blackburn | exactly | 19:33 |
wiking | doooit! :> | 19:34 |
wiking | daaamn java is killing me | 19:39 |
blackburn | wiking: could you please tell me what is approximation order here? | 19:41 |
wiking | well just put it 1 | 19:41 |
wiking | the higher the bigger the vector gets | 19:41 |
wiking | but the better the approx is | 19:41 |
blackburn | ah I see | 19:41 |
blackburn | would 1 be sufficient?? | 19:42 |
wiking | well according to the vlfeat implementatation | 19:42 |
wiking | yest | 19:42 |
blackburn | it maps each feature to vector of size #order, right? | 19:42 |
wiking | yes | 19:42 |
wiking | 2*order+1 | 19:42 |
blackburn | ah, then with 1 | 19:42 |
blackburn | it is 3 | 19:42 |
wiking | y | 19:43 |
wiking | i mean each feature! | 19:43 |
wiking | so if your dim(featureVector)=n then the output will be n*(2*order+1) | 19:44 |
blackburn | yeah, I got it | 19:44 |
blackburn | thanks | 19:44 |
wiking | ok cool | 19:44 |
blackburn | I have checked | 19:44 |
blackburn | nice | 19:45 |
blackburn | okay looks like it is working | 19:45 |
blackburn | lets run it on THE BIG DATA | 19:45 |
blackburn | :D | 19:45 |
-!- Ram108 [~amma@14.99.219.214] has quit [Quit: Ex-Chat] | 19:46 | |
wiking | heheh | 19:48 |
wiking | i'm running as well | 19:48 |
wiking | not much faster | 19:48 |
wiking | although as you said | 19:48 |
wiking | i'm using a slow multi class svm | 19:48 |
wiking | indeed it's slow | 19:48 |
wiking | ok | 19:50 |
wiking | done | 19:50 |
wiking | faster though | 19:50 |
wiking | i've lost about 0.1 accuracy | 19:50 |
wiking | 0.1% | 19:50 |
wiking | but yeah it's linear | 19:50 |
wiking | and i wasn't fine-tuning the parameters either :P | 19:50 |
blackburn | well it would be MUCH faster than JS anyway? | 19:53 |
wiking | ye | 19:54 |
blackburn | wiking: did I tell you walltime of applying libsvm multiclass with JS to 2000 vectors? | 19:55 |
wiking | still running? :) | 20:21 |
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 20:21 | |
wiking_ | blackburn: oh yeah one more little thing.... there's a little bit of problem still with the implementation | 20:23 |
wiking_ | maybe you could give tips the smoothest way to solve it | 20:23 |
blackburn | what's the problem? | 20:23 |
wiking_ | if you create the HKM with default constructor | 20:23 |
wiking_ | and then u use setter functions for defining the various parameters | 20:24 |
wiking_ | the ::init is not called | 20:24 |
wiking_ | because it should be only called after at least 2 parameters are set | 20:24 |
wiking_ | i.e setKernel and setWindow | 20:24 |
wiking_ | but let's say u do setKernel and setWindow and then after that init | 20:24 |
wiking_ | but later on u do a setGamma | 20:24 |
wiking_ | then the thing should be reinitialised... | 20:25 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 244 seconds] | 20:25 | |
-!- wiking_ is now known as wiking | 20:25 | |
wiking | the init sets up a n SGVector... which is sort of a lookuptable | 20:25 |
wiking | e | 20:25 |
wiking | so now the only way to have HKM in a proper way is to call the 'long' constructor... | 20:26 |
wiking | kernel type, window... | 20:26 |
blackburn | wiking: then feel free to reinitialize on every set | 20:26 |
wiking | that's a bit hardcore :P | 20:26 |
blackburn | why? I thought you have init there | 20:27 |
wiking | yeah i mean not because of that | 20:27 |
wiking | but it's not so nice | 20:27 |
blackburn | because of what? | 20:27 |
wiking | if you know what i mean | 20:27 |
blackburn | I'd suggest to not care about it | 20:27 |
wiking | so if you call 3 different setters | 20:27 |
wiking | then 3 times it'll do an init | 20:27 |
wiking | instead of doing only once | 20:28 |
wiking | but i guess yeah that way i can assure that there's no fuckup :P | 20:28 |
blackburn | anyway you can't detemine where was last one setter | 20:28 |
wiking | i'll just then modify this a little bit and do a commit soon | 20:28 |
blackburn | I don't think somebody would want to use setters | 20:29 |
blackburn | instead of constructors | 20:29 |
blackburn | hhmm taking a look on liblinear now | 20:29 |
wiking | great! | 20:30 |
blackburn | there is cramer-singer | 20:30 |
blackburn | even in shogun already | 20:30 |
blackburn | but not finished | 20:30 |
wiking | mm | 20:36 |
wiking | realloc will shrink the memory if i give a small memory size than the original? | 20:37 |
-!- Ram108 [~amma@14.99.219.214] has joined #shogun | 20:41 | |
Ram108 | blackburn:there? | 20:41 |
blackburn | yes | 20:41 |
blackburn | wiking: yes | 20:42 |
Ram108 | sorry | 20:42 |
Ram108 | blackburn: carry on i guess u r busy | 20:42 |
blackburn | not really | 20:42 |
Ram108 | oh thanks....... i have been trying to debug my code.......... | 20:43 |
Ram108 | culdnt find anything wrong with its execution | 20:43 |
Ram108 | i tried it out with a calculator manually......... yeilds the same results as the computer | 20:43 |
Ram108 | atleast for the first cycle | 20:44 |
blackburn | then why do you think it is wrong? | 20:44 |
Ram108 | well i think the algorithm given in the book might be wrong....... but its a very simple algorithm and nothing seems wrong | 20:44 |
blackburn | no idea :) | 20:45 |
Ram108 | thanks :) i ll fix it sooner or later......... | 20:45 |
Ram108 | by the way hw r u? and hws life? | 20:46 |
wiking | blackburn: ok question... when i do m_parameters->add the variable's value is actually not saved... only that there is such a variable... right? | 20:49 |
blackburn | Ram108: fine, and what about you? | 20:49 |
blackburn | wiking: it just saves reference to this variable | 20:50 |
wiking | ok cool | 20:50 |
Ram108 | blackburn:lol exhausting.......... c u tomorrow......... its getting late here........ bye :) | 20:50 |
blackburn | see you | 20:50 |
Ram108 | :) | 20:51 |
-!- Ram108 [~amma@14.99.219.214] has quit [Quit: Ex-Chat] | 20:51 | |
wiking | blackburn: ok soon there's gonna be then a final pull request | 20:51 |
blackburn | nice | 20:51 |
blackburn | thanks! | 20:52 |
@sonney2k | blackburn, wiking liblinear/ocas could in principle do it but i didn't integrate these in shogun ...yet | 20:57 |
wiking | mmm yeah | 20:58 |
blackburn | sonney2k: what is the problem with MCSVM thing? | 20:58 |
blackburn | marked as FIXME | 20:58 |
@sonney2k | no problem - just work | 20:58 |
blackburn | sonney2k: shogun/classifier/svm/SVM_linear.cpp:461 | 20:59 |
blackburn | sonney2k: is it related to no support of MC for linear machines? | 21:00 |
blackburn | btw do would you like some MulticlassLinearMachine? | 21:00 |
blackburn | no do | 21:00 |
blackburn | :D | 21:00 |
wiking | yes | 21:01 |
wiking | gimmie | 21:01 |
blackburn | wiking: you would like to have some?;) | 21:01 |
wiking | will u do it? :P | 21:01 |
blackburn | do you want? :D | 21:01 |
@sonney2k | blackburn, I guess we should use the BTS more :) | 21:02 |
@sonney2k | we need the updated version of liblinear (read multiclass) and ocas | 21:02 |
@sonney2k | blackburn, also I was discussing with heiko and I think we should change SGVecto/Matrix again | 21:02 |
@sonney2k | introducing a reference count like we have for SGObject instead of do_free crap | 21:02 |
@sonney2k | not difficult but work (as usual) | 21:02 |
blackburn | sonney2k: exactly | 21:03 |
@sonney2k | blackburn, I guess we first need BinaryLables / MultiClassLabels :) | 21:04 |
@sonney2k | then MultiClassMachine / LinearMultiClassMachine :) | 21:04 |
@sonney2k | another bug :) | 21:04 |
@sonney2k | wiking, btw did you submit a small example for python_modular illustrating how things work with the new preprocessor? | 21:04 |
blackburn | sonney2k: binary/MC is pain in the ass thing | 21:04 |
@sonney2k | ? | 21:05 |
blackburn | sonney2k: we have to keep back-compatibility I guess | 21:05 |
wiking | sonney2k: not yet... made a lil example locally... i'll clean it up and add it to the examples. | 21:05 |
@sonney2k | blackburn, not sure what you mean? | 21:05 |
blackburn | sonney2k: all the python/octave/... should be changed? | 21:05 |
@sonney2k | wiking, thanks - much appreciated | 21:06 |
wiking | sonney2k: nw | 21:06 |
blackburn | sonney2k: btw he did very nice thing | 21:06 |
@sonney2k | blackburn, no for the static interfaces it won't change a thing | 21:06 |
blackburn | you should try it | 21:06 |
blackburn | sonney2k: but for modular | 21:06 |
@sonney2k | for the modular ones it would though | 21:06 |
wiking | btw i've found shogun the first ML framework that i can actually work with normally and even add new code... so it's cool what you've guys done till now | 21:06 |
@sonney2k | time to try out heikos migrations even :) | 21:06 |
blackburn | wiking: thanks, I hope you will collaborate more :) | 21:07 |
wiking | hehehe trying my best over here ;P | 21:07 |
@sonney2k | wiking, any contributions are highly welcome - so keep it going! | 21:07 |
blackburn | sonney2k: is there any alternative to alex-binder | 21:08 |
blackburn | ehm | 21:08 |
blackburn | alex binder | 21:08 |
blackburn | :D | 21:08 |
blackburn | for latent | 21:08 |
@sonney2k | why? | 21:08 |
blackburn | svms | 21:08 |
wiking | ah yeah | 21:08 |
blackburn | hmm sorry I guess I mixed things | 21:08 |
@sonney2k | he still wanted to mentor this IIRC | 21:08 |
blackburn | who was potential mentor for latent SVMs? | 21:08 |
wiking | latent-ssvm i'd really like to get in | 21:08 |
blackburn | sonney2k: is he? | 21:08 |
@sonney2k | blackburn, wasn't it in the updated list I did? | 21:09 |
blackburn | lemme check | 21:09 |
@sonney2k | btw please polish / xxx | 21:09 |
blackburn | yes I will do soon | 21:09 |
@sonney2k | I have to leave the train - cu | 21:09 |
blackburn | see you | 21:09 |
wiking | blackburn: u r up for l-ssvm? | 21:09 |
wiking | cya | 21:09 |
blackburn | wiking: what do you mean? | 21:09 |
wiking | implementing it... | 21:09 |
blackburn | no, I care about you ;) | 21:10 |
wiking | hahaha cheers | 21:10 |
wiking | please find me somebody | 21:10 |
wiking | who can help me out if i have questions | 21:10 |
blackburn | you are strange candidate indeed | 21:10 |
blackburn | strange? | 21:10 |
blackburn | I said strange? | 21:10 |
blackburn | :D | 21:10 |
wiking | strange? :) | 21:10 |
blackburn | strong | 21:10 |
wiking | hahaha | 21:10 |
wiking | cheers | 21:10 |
blackburn | sorry haha | 21:10 |
wiking | nw | 21:10 |
wiking | anyhow u have my email from the commit | 21:10 |
wiking | log | 21:10 |
wiking | so if u find somebody and he is not coming around on irc | 21:11 |
wiking | just give him that addr | 21:11 |
blackburn | I think you should contact :) | 21:11 |
wiking | ah ok | 21:11 |
wiking | gimme email | 21:11 |
wiking | ;) | 21:11 |
blackburn | you may do it just now | 21:11 |
blackburn | wait a min | 21:11 |
wiking | okkey | 21:11 |
blackburn | http://www.ml.tu-berlin.de/menue/mitglieder/alexander_binder/ | 21:12 |
blackburn | wiking: please contact him then :) | 21:12 |
wiking | okeeey | 21:13 |
blackburn | idea is not in the updated list but ask him whether he wants to mentor it | 21:13 |
wiking | i'll say that you've given me the contact | 21:13 |
blackburn | he doesn't know me :D | 21:13 |
wiking | ok | 21:15 |
wiking | so here's the last fix for HKM | 21:15 |
wiking | there you go | 21:17 |
wiking | HKM should be complete for now | 21:17 |
blackburn | one more thing | 21:17 |
blackburn | could you please add some (at least dummy) doc for methods | 21:18 |
wiking | which ones? | 21:18 |
blackburn | to avoid warnings | 21:18 |
wiking | i've tried for the constructors :P | 21:18 |
blackburn | get/set | 21:18 |
wiking | ah ok | 21:18 |
wiking | i'll do it then ... :> | 21:18 |
wiking | but maybe not now | 21:18 |
blackburn | thanks! | 21:18 |
wiking | i want to test some new stuff | 21:18 |
wiking | i had some ideas | 21:18 |
blackburn | hmm | 21:18 |
blackburn | I can | 21:18 |
blackburn | :) | 21:18 |
wiking | but i wanted to fix HKM ASAP | 21:19 |
wiking | so i've tossed everything aside | 21:19 |
blackburn | sure | 21:19 |
blackburn | I'll add doc | 21:19 |
wiking | cheers | 21:19 |
wiking | emailsent | 21:25 |
wiking | mean i'm now waiting for a paper notification for almost about a week | 21:25 |
wiking | fuckers | 21:25 |
blackburn | which email? | 21:25 |
blackburn | wiking: you are a joker, used uint64 for order ;) | 21:26 |
wiking | what's the problem | 21:26 |
wiking | ? | 21:26 |
blackburn | not a problem ;) | 21:27 |
wiking | i know | 21:27 |
blackburn | just joking about size | 21:27 |
wiking | well if they have enough memory ;) | 21:27 |
blackburn | I mean 210430240324034023 would be pretty good approximation | 21:27 |
blackburn | :D | 21:27 |
wiking | heheh yeah | 21:27 |
CIA-18 | shogun: Viktor Gal master * rc9ab1fb / (2 files): | 21:29 |
CIA-18 | shogun: HKM: fix variable init in case of setter calls | 21:29 |
CIA-18 | shogun: And trying to comply with shogun's coding style - http://git.io/2xul9g | 21:29 |
CIA-18 | shogun: Sergey Lisitsyn master * re4b8a73 / (2 files): Merge branch 'master' of https://github.com/vigsterkr/shogun - http://git.io/VGjeDw | 21:29 |
CIA-18 | shogun: Sergey Lisitsyn master * rf7e33a8 / src/shogun/preprocessor/HomogeneousKernelMap.h : Added some doc for #376 - http://git.io/faPw0A | 21:29 |
blackburn | here you are | 21:29 |
blackburn | wiking: should vectors be normalized after HKM? | 21:30 |
wiking | i don't think so | 21:30 |
wiking | but try :D | 21:31 |
blackburn | 167m already | 21:31 |
blackburn | LibSVM linear | 21:31 |
blackburn | okay in next two days I shall finish liblinear mc things | 21:31 |
wiking | :>> | 21:32 |
wiking | great | 21:32 |
blackburn | bioinformatics legacy | 21:33 |
blackburn | only two classes everywhere | 21:33 |
wiking | hahahhaha | 21:42 |
wiking | one more thing | 21:42 |
wiking | lemme find the code | 21:43 |
wiking | as we were talking here about fast svm | 21:43 |
wiking | sgd based SVM? | 21:43 |
blackburn | hmm yes there are some | 21:43 |
wiking | they are really fast and | 21:44 |
wiking | performs very well | 21:44 |
blackburn | but no multiclass | 21:44 |
wiking | ah yeah | 21:44 |
wiking | so do you know this | 21:44 |
blackburn | okay I guess it is time to write some generic multiclass thing | 21:44 |
wiking | http://leon.bottou.org/projects/sgd | 21:45 |
blackburn | wiking: yes it is integrated | 21:45 |
wiking | really? :) | 21:45 |
wiking | wow i love shogun | 21:45 |
wiking | i mean both? | 21:45 |
wiking | asgd and sgd? | 21:45 |
wiking | and which is the class | 21:46 |
blackburn | wiking: I am afraid only second | 21:46 |
blackburn | SVMSGD | 21:46 |
wiking | and why doesn't it do multi class then? :) | 21:46 |
blackburn | does it support MC? | 21:47 |
wiking | well the original one yes | 21:47 |
wiking | i mean they do benchmarking | 21:47 |
wiking | on | 21:47 |
wiking | RCV1 | 21:47 |
wiking | that is a multi class problem afaik | 21:47 |
blackburn | maybe just OvR ensemble | 21:49 |
wiking | and even | 21:50 |
wiking | do benchmarking on PASCAL dataset | 21:50 |
wiking | so it should most def be multiclass | 21:50 |
@sonney2k | wiking, nope it doesn't | 21:50 |
wiking | i mean the original implementation | 21:50 |
@sonney2k | yes | 21:50 |
@sonney2k | it doesn't | 21:50 |
wiking | really? | 21:50 |
@sonney2k | yes | 21:50 |
@sonney2k | believe me | 21:50 |
wiking | my bad i mean sure i believe | 21:50 |
wiking | but i though that they are benchmarking on multclass dataset | 21:51 |
wiking | that they support multi class categorization | 21:51 |
@sonney2k | they all do ovr | 21:51 |
blackburn | sonney2k: we need design decision on MC things | 21:51 |
blackburn | I have design catatonia | 21:51 |
blackburn | :D | 21:51 |
wiking | ahhahaha: "A word of advice to research asst job applicants in the sciences: don't use the words "rat murderer" in your cover letter. Wow" | 21:52 |
@sonney2k | blackburn, what design decision? | 21:52 |
@sonney2k | 1) do binary/multiclass label | 21:52 |
@sonney2k | than multiclassmachine | 21:52 |
@sonney2k | and linearmulticlassmachine | 21:52 |
blackburn | stoop | 21:53 |
blackburn | sonney2k: okay imagine you want to use OvR SGD | 21:53 |
blackburn | what is python code you would probably write? | 21:53 |
@sonney2k | m=OneVSRestMultiClassMachine(SGD) | 21:54 |
@sonney2k | m.train(feats) | 21:54 |
@sonney2k | or MulticlassMachine(OVR, SGD) | 21:55 |
blackburn | MulticlassMachine(OVR,SVMSGD()) | 21:55 |
blackburn | ? | 21:55 |
blackburn | the problem is: | 21:55 |
blackburn | which class should be base for LaRank ? | 21:55 |
blackburn | GMNPSVM? | 21:55 |
@sonney2k | blackburn, these are both doing OVR | 21:56 |
blackburn | but training is not OvR | 21:56 |
@sonney2k | no but it is overloaded | 21:56 |
@sonney2k | so no problem | 21:56 |
blackburn | not really | 21:57 |
blackburn | we should have some thing | 21:57 |
blackburn | indicating if it supports MC training | 21:57 |
@sonney2k | I would say basically move MultiClassSVM into MultiClassMachine | 21:57 |
blackburn | yes | 21:57 |
blackburn | generally yes | 21:57 |
blackburn | okay clearer now | 21:58 |
blackburn | sonney2k: what do you prefer | 22:01 |
blackburn | MulticlassMachine(OVR,SGD) | 22:01 |
blackburn | or SGD()? | 22:01 |
@sonney2k | MulticlassMachine(OVR, SGD()) | 22:03 |
blackburn | sonney2k: then we need clone :D | 22:03 |
blackburn | moving to java | 22:03 |
blackburn | hah | 22:03 |
@sonney2k | clone? | 22:04 |
blackburn | sonney2k: yes, we would need K SGD()s? | 22:04 |
@sonney2k | no just one | 22:05 |
@sonney2k | we set features / labels + train | 22:06 |
@sonney2k | store w | 22:06 |
@sonney2k | done | 22:06 |
blackburn | linear case ok | 22:06 |
blackburn | but kernel? | 22:06 |
@sonney2k | same thing - store alphas (look at MultiClassSVM - it is doing that already) | 22:06 |
blackburn | hmm yes agree | 22:07 |
blackburn | not very flexible though | 22:07 |
blackburn | but okay | 22:07 |
@sonney2k | why not? | 22:07 |
@sonney2k | it is the same like Machine / KernelMachine / LinearMachine | 22:07 |
blackburn | not flexible cause can't set different Cs | 22:08 |
blackburn | or etc | 22:08 |
@sonney2k | MultiClassMachine/MulticlassKernelMachine/MultiClassLInearMachine | 22:08 |
@sonney2k | we could but this is hardly feasible anyway when you have many classes | 22:08 |
blackburn | sonney2k: btw scikits have examples weighting | 22:09 |
blackburn | do you know how it is done? | 22:09 |
@sonney2k | we have that too for svms | 22:09 |
blackburn | really? how to use it? | 22:09 |
@sonney2k | yeah differnt C for each example | 22:09 |
blackburn | hmm I see | 22:09 |
@sonney2k | doesn't really help in practise | 22:10 |
blackburn | is it a common way to do weighting? | 22:10 |
blackburn | really? | 22:10 |
blackburn | hmm I thought it would be useful | 22:10 |
blackburn | but didn't try | 22:10 |
@sonney2k | as always there might be some cases where it helps a lot | 22:10 |
@sonney2k | I have yet to see a case where setting different Cs helps at all | 22:10 |
blackburn | sonney2k: btw do you use hog now? I just recalled it can be calculated as integral image | 22:10 |
blackburn | do you know? | 22:11 |
@sonney2k | no idea | 22:11 |
blackburn | no idea about? | 22:11 |
blackburn | I mean it is useful thing :) | 22:12 |
blackburn | sonney2k: about alex binder, his task is not in updated list | 22:13 |
blackburn | why? | 22:13 |
blackburn | I suggested wiking to write to him | 22:13 |
wiking | i've sent him an email already | 22:14 |
@sonney2k | wiking, very good | 22:14 |
@sonney2k | did alex reply? | 22:14 |
blackburn | I guess 30m wouldn't be enough for reply | 22:14 |
blackburn | ;) | 22:14 |
blackburn | sonney2k: will vojtech's task be related to integration of kozinec/mdm/etc stuff? | 22:15 |
@sonney2k | he is usually very fast - might not be only now though | 22:16 |
@sonney2k | no it is about his libqp / shogun integration | 22:16 |
@sonney2k | basically developing /integrating qp solvers that we have in shogun in libqp under a general framework and exposing this general framework in shogun | 22:17 |
blackburn | hmm looks like hard task | 22:17 |
@sonney2k | so one could solve general problems and make use of the qp solvers in SG's algorithms | 22:17 |
@sonney2k | wouldn't say so | 22:17 |
@sonney2k | things are mostly there | 22:17 |
@sonney2k | and vojtech is optimization guru | 22:18 |
@sonney2k | so he will help | 22:18 |
wiking | sonney2k: not yet | 22:18 |
blackburn | I wish I had some discussion with vojtech about multiclass thing :D | 22:18 |
blackburn | I just wonder why his way of solving (like in GMNPSVM) is not widely known? | 22:20 |
blackburn | sonney2k: are you any familiar with ECOC? | 22:20 |
blackburn | I need some advice | 22:21 |
wiking | damn i need gmm clusterer in mahout... | 22:26 |
wiking | shogun just cannot handle... i mean memory cannot handle it :( | 22:26 |
blackburn | wiking: we would die trying to compete with mahout :) | 22:27 |
wiking | ahahha | 22:27 |
wiking | it's ok | 22:27 |
wiking | on the end part when i do classification | 22:27 |
wiking | it's a quite small problem... | 22:27 |
wiking | so shogun can handle it | 22:28 |
wiking | but preprocessing... | 22:28 |
wiking | anybody read this/opinion: An Ensemble of Deep Support Vector Machines for Image Categorization | 22:28 |
blackburn | no, I didn't | 22:28 |
wiking | hahah github is being ddos-ed | 22:31 |
blackburn | works for me | 22:32 |
blackburn | who would ever ddos github? | 22:32 |
blackburn | we have a lot of DDoS here in *.ru zone btw :D | 22:34 |
wiking | heheh | 22:34 |
blackburn | pro-government bitches do some virtual war with any opposition | 22:34 |
wiking | i mean mahout is funny... i've found a major stupid bug in their TFIDF vectorizer and even sent the patch for fixing it... that was like 2 weeks ago.. | 22:34 |
wiking | still waiting for getting it applied.. | 22:35 |
blackburn | do they like to do it slow? | 22:35 |
wiking | seems | 22:36 |
blackburn | we (2 busy developers) manage to do it faster haha | 22:37 |
blackburn | how many mahout has? | 22:37 |
wiking | a lot | 22:38 |
wiking | at least 5-7 commiters for sure | 22:38 |
blackburn | and one russian too heh | 22:41 |
wiking | ok | 22:56 |
wiking | i've found a cuda based gmm | 22:56 |
wiking | and i have access to a tesla | 22:56 |
wiking | :D | 22:56 |
wiking | let's see how this will work out | 22:56 |
blackburn | 337m | 22:57 |
wiking | mmm this is cool: long __builtin_expect (long exp, long c) | 22:58 |
wiking | this is a must have function :> | 23:00 |
blackburn | what is it? | 23:00 |
wiking | a gcc function | 23:01 |
blackburn | no idea what it does | 23:01 |
wiking | "You may use __builtin_expect to provide the compiler with branch prediction information" | 23:02 |
blackburn | hmm | 23:02 |
wiking | . The semantics of the built-in are that it is expected that exp == c. For example: | 23:02 |
wiking | if (__builtin_expect (x, 0)) | 23:02 |
wiking | foo (); | 23:02 |
wiking | 23:02 | |
wiking | would indicate that we do not expect to call foo, since we expect x to be zero | 23:02 |
blackburn | hmm | 23:03 |
blackburn | well do you care so much about branch mispredictions? | 23:03 |
wiking | sometimes yes | 23:03 |
wiking | sometimes it's really annoying to see an if branch in a loop | 23:03 |
wiking | that u know that will be missed most of the time.. | 23:03 |
blackburn | the worst misprediction I got was | 23:04 |
blackburn | matrix[i*N+j] = ... | 23:04 |
blackburn | matrix[j*N+i] = ... | 23:04 |
blackburn | have you ever noticed how slow it is? | 23:04 |
wiking | lol | 23:05 |
blackburn | not branch but cache | 23:05 |
wiking | yep | 23:05 |
blackburn | miss | 23:05 |
wiking | sure | 23:05 |
wiking | i mean it's jumping around the memory | 23:05 |
wiking | so caching would be hard | 23:05 |
blackburn | yeah may be 2-3x times slower | 23:05 |
-!- blackburn [~qdrgsm@109.226.88.39] has quit [Quit: Leaving.] | 23:22 | |
--- Log closed Sat Feb 18 00:00:19 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!