freenode/#lisp - IRC Chatlog
Search
15:06:55
jeosol
jmercouris: I will work start working the machine learning example applications and update them over time. What I mean is, could start with simple data structures, and eventually replace with libraries after I make additional research
15:08:35
jeosol
I will find some domain to put the examples over time. I think I saw some blas related info in the array chapter on CL cookbook.
16:16:06
jeosol
jmercouris: BLAS and LAPACK and algebra libraries for solving things like eigen-value problems, solving for x in Ax=b type of problems.
16:17:15
jeosol
For instance, if I do, linear regression problem, I could solve the problem with matrix inversion (small problems) or go with conjugate gradient descent.
16:17:56
jeosol
My plan is to start raw, e.g., use loop for the conjugate gradient descent calculations
16:18:26
jeosol
and then later, I can replace functionalities with existing libraries like CLML and MGL
16:19:26
jmercouris
You are probably thinking about other data sets / models as well, or are you only interested in linear regressions?
16:27:58
jeosol
jmercouris: No, it is general, I am trying to show that CL can be use for these ML problems.
16:28:40
jeosol
my plan is to reproduce the problems in the cousera machine learning course for instance. It is lot of problems, but I could do it over time.
16:29:37
jeosol
the problems conver different algorithms linear regression, logsitic regression, neural nets, SVM's, PCA, etc. With such effort, we can start aggregating CL resources for these applications.
16:29:51
obi-cons-cdrobi
jeosol: more traditional algorithms (like decision tree, etc.) have very nice Lisp implementations. I've been thinking about throwing together some NN library, but haven't had time. I hacked together a decision tree implementation that I wouldn't mind sharing, if you're interested
16:31:16
jeosol
I recently looked at Gabor Melis code for the Higgs Boson project, I was able to bring to compile with latest SBCL, but lack of GPU makes the training take more than 24 hours Gabor mentioned
16:32:29
jeosol
I used C4.5 decision tree algorithm through lisp via system call for a project a while ago.
16:34:19
obi-cons-cdrobi
jeosol: https://github.com/obicons/decision-tree. It's a little rough, I hacked it together for a uni project a year ago or so. But it does work and adequately demonstrates why symbolic computation is good for solving a specific subset of AI problems
16:34:47
obi-cons-cdrobi
It needs some small modifications to support continuous data types, but as-is supports discrete values quite well
16:37:36
obi-cons-cdrobi
yep. I played around with this a lot in SBCL to get it to generate somewhat efficient machine-code (hence the generous usage of symbolic identifiers). By the time that I was done, the disassembled code was actually informative.
16:39:54
jmercouris
well, an organization to work on the code, maybe a github organization, or some gitlab page
16:40:11
jmercouris
but if you'd like to collaborate/merge resources from several places, might become uesful
16:41:37
jeosol
I can work through those examples, I want to make sure it is clear and logical. The course goes through different realistic applications. Eventually, I will have to pull a lot of resources, change libraries, functionalities, etc
16:42:01
jeosol
this was why I wanted reviewers, that will look at things, make suggestions, etc. Seems I got two so far.
16:43:25
jeosol
I also sent an email to Gabor about using his code, didn't get any reply. I assume his was busy. Since he put it in public domain, may be he didn't matter, but I wanted to pick his brain on where he thinks work needs to be done
16:45:35
jeosol
jmercouris: I think the organization part is important. I will think of where to make the posts for instance. I will also need to know that people use when they intersperse code and write up. I have seen some CL-jupyter or notebook
16:52:34
jmercouris
jeosol: maybe a good start would be to take his project, and finish documenting it
16:52:38
jeosol
there is a lot of algorithms there already, blas/lapack wrappers, pca, etc. I will reach out again, possibly another avenue.
16:53:24
jeosol
They have good starting base already, and it will make sense to work off that and collaborate with them.
16:54:46
jmercouris
random-nick: because it's so easy to build off of another package compared to other languages, and license restrictions incompatibilties can be a huge mess
16:55:36
jmercouris
when developing applications, GPL is okay, but when developing libs, I learn towards BSD
16:57:06
jmercouris
random-nick: what if somebody wishes to use the lib in a *viable commercial product?
16:57:27
jmercouris
I can count the amount of succesful open source companies on one hand, but anyways, this is off-topic and the war I did not wish to start
16:59:01
jeosol
My plan is to document the examples and put it in public domain, and since they have stuff going, it seem reasonable to align with them
17:02:38
jeosol
Well, if it is frozen, and they want to hand it over to another maintainer or sth, that will be fine.
17:03:03
jmercouris
yeah, just won't be able to necessarily merge things upstream, which is fine, since development has ceased
17:03:34
jeosol
eventually have a way to merge it with gabor's mgl library and viola, we have one big ML lib
17:04:26
jmercouris
probably isn't too hard to put the two systems into one, the harder part will be making the API uniform
17:06:38
jeosol
I looked at Gabor's code in some a bit of detail. Excellent features with flexibility to take advantage of CUDA if available
17:07:34
jeosol
btw, pardon guys, I think Mike Maul was a maintainer for that code and his activity is frozen. The library was forked from a company in Japan. Mathematical Systems Inc. mathematical-systems
17:10:37
jeosol
So I am back to Mike again. I will contact him, ask about the license issue and get back.
17:17:23
jeosol
jmercouris: I sent an email to one of the Asian guys. Hopefully, I hear back, if not, I will just go ahead like you suggested. Hopefully, it doesn't bring any issues.
17:33:40
jeosol
jmercouris: Hope so. I will wait, see if he replies, before starting to work on the examples.