Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Interest in a Common Lisp library for Bayesian Network inference?

524 views
Skip to first unread message

Luke Hope

unread,
Jul 12, 2012, 10:55:55 PM7/12/12
to
Hi all,

I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.

It is a native pure lisp Bayesian Network inference engine. It has two types of compilation:

1. 'Standard' Join Tree such as implemented by e.g. Netica circa 2008.

2. Arithmetic Circuits, which was a new research direction at the time.

The arithmetic circuit module is able to compile a Bayesian Network to lisp, C or Java standalone source code. That is, you don't need any libraries at all to perform probabilistic inference.

Just curious.

Pascal J. Bourguignon

unread,
Jul 13, 2012, 4:30:42 AM7/13/12
to
Sure. Any well packaged library is always interesting.

- documentation.
- asdf file.
- distributed with quicklisp.

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

ddd

unread,
Jul 13, 2012, 6:09:55 AM7/13/12
to
Great idea! Maybe it can be of use to somebody. Better than
gathering dust on your hard disk (also better for the hard disk :)

ccc31807

unread,
Jul 13, 2012, 4:04:40 PM7/13/12
to
On Jul 12, 10:55 pm, Luke Hope <rukubi...@gmail.com> wrote:
> Hi all,
>
> I've been hanging on to some code I developed about 5-6 years ago when I was in academia. I'm wondering if I should open source it.

Bayesian data analysis seems fashionable now, with new books and
courses, in particular, Kruschke's book with R, and the recent courses
at SEE, Udacity, and Coursera. I'm a data munger by trade, not a
statistician, nevertheless I've audited a couple of these courses and
have bought a couple of books on R, including Kruschke's book.

Much of my job consists of reporting data, and I've gravitated to R
because of its very strong graphical capabilities. I can't use it for
data analysis but I certainly do use it to produce all sorts of
graphical output. A picture really is worth a thousand words.

I would ABSOLUTELY release your code to the public. I think it's a
GREAT idea, and I would encourage you to do so.

That said, I would make sure that you include sample data sets and a
detailed cookbook using your module. If you want to appeal to the
largest possible audience, assume that curiosity rather than need will
attract users. I wouldn't think a tutorial on Bayes' rule is
appropriate, people can find plenty in the public domain in this
regard. I do think a goodly number of examples showing how to use your
code is necessary.

If you've used your code to any extent, you shouldn't have a problem
with the examples. If you've been in academia, you certainly have used
students as a resource to solve problems.

Thanks, CC.

Scott L. Burson

unread,
Jul 14, 2012, 11:24:46 PM7/14/12
to
Luke Hope <ruku...@gmail.com> wrote:

> I've been hanging on to some code I developed about 5-6 years ago when I was
> in academia. I'm wondering if I should open source it.

I would love to see this too!

-- Scott


David Hodge

unread,
Jul 16, 2012, 8:09:05 PM7/16/12
to
I would be also extermely interested if you were to open source this

Jay Sulzberger

unread,
Jul 18, 2012, 4:49:31 PM7/18/12
to
Yes.

This gift would be used.

I recommend using a standard free license, either a GPL, or a BSD
license, so as to lower the legal/psychic barrier to
using/hacking.

Thank you!

oo--JS.

D Herring

unread,
Jul 18, 2012, 9:07:54 PM7/18/12
to
On 07/18/2012 04:49 PM, Jay Sulzberger wrote:

> I recommend using a standard free license, either a GPL, or a BSD
> license, so as to lower the legal/psychic barrier to
> using/hacking.

The MIT and Boost licenses are also good.

http://www.boost.org/users/license.html

- Daniel

Jay Sulzberger

unread,
Jul 19, 2012, 2:15:13 AM7/19/12
to
The main thing is that the license be a free license, and that it
be well known and widely used.

Here is the Wikipedia article on license proliferation:

http://en.wikipedia.org/wiki/Licence_proliferation
[page was last modified on 13 July 2012 at 13:06]

oo--JS.

Aleksej Saushev

unread,
Jul 19, 2012, 6:04:36 AM7/19/12
to
Jay Sulzberger <ja...@panix.com> writes:

> In <ju7mla$im1$1...@dont-email.me> D Herring <dher...@at.tentpost.dot.com> writes:
>
>> On 07/18/2012 04:49 PM, Jay Sulzberger wrote:
>
>>> I recommend using a standard free license, either a GPL, or a BSD
>>> license, so as to lower the legal/psychic barrier to
>>> using/hacking.
>>
>> The MIT and Boost licenses are also good.
>>
>> http://www.boost.org/users/license.html
>
> The main thing is that the license be a free license, and that it
> be well known and widely used.
>
> Here is the Wikipedia article on license proliferation:
>
> http://en.wikipedia.org/wiki/Licence_proliferation
> [page was last modified on 13 July 2012 at 13:06]

Do you mean that X11 is not used widely enough? Or what?


--
HE CE3OH...

Jay Sulzberger

unread,
Jul 19, 2012, 6:12:55 PM7/19/12
to
Just the opposite. I recommend MIT/X as being one of the
standards. I do not have a sharply defined list, but certainly
most of the various GNU GPLs, most of the various BSD style
licenses, and MIT/X, are all free licenses, well known, widely
used, and so I recommend using one of these. Perhaps there are
other free licenses which are well known and widely used.

One more consideration: compatibility of licenses.

ON TO THE LISP PROBABILITY COMPUTATIONS!

oo--JS.

Luke Hope

unread,
Jul 20, 2012, 9:57:52 PM7/20/12
to
Hi all,

Thanks for the responses. I'll work on tidying it up to release it. As it is 4.5 years old (last real commit was 2007-12-15), it is pre-quicklisp and before I started working as a full time lisp dev. So you can understand the style and documentation are both lacking compared to my standards today.

I want to get it in a 'near-enough' state before release. I couldn't find any other libraries similar, so I will probably lay claim to 'cl-bayesnet' as the project name.

My plan is to release it with a BSD licence.

-Luke

On Thursday, July 19, 2012 6:49:31 AM UTC+10, Jay Sulzberger wrote:
> In &lt;20760e57-a531-4356...@googlegroups.com&gt; Luke Hope &lt;ruku...@gmail.com&gt; writes:
>
> &gt; Hi all,
> &gt;
> &gt; I&#39;ve been hanging on to some code I developed about 5-6 years
> &gt; ago when I was in academia. I&#39;m wondering if I should open
> &gt; source it.
> &gt;
> &gt; It is a native pure lisp Bayesian Network inference engine. It
> &gt; has two types of compilation:
> &gt;
> &gt;1. &#39;Standard&#39; Join Tree such as implemented by e.g. Netica circa 2008.
> &gt;
> &gt;2. Arithmetic Circuits, which was a new research direction at the time.
> &gt;
> &gt; The arithmetic circuit module is able to compile a Bayesian
> &gt; Network to lisp, C or Java standalone source code. That is, you
> &gt; don&#39;t need any libraries at all to perform probabilistic
> &gt; inference.
> &gt;
> &gt; Just curious.

Jay Sulzberger

unread,
Jul 21, 2012, 4:12:35 AM7/21/12
to
In <d476636c-52bb-4701...@googlegroups.com> Luke Hope <ruku...@gmail.com> writes:

> Hi all,
>
> Thanks for the responses. I'll work on tidying it up to release it. As it i=
> s 4.5 years old (last real commit was 2007-12-15), it is pre-quicklisp and =
> before I started working as a full time lisp dev. So you can understand the=
> style and documentation are both lacking compared to my standards today.
>
> I want to get it in a 'near-enough' state before release. I couldn't find a=
> ny other libraries similar, so I will probably lay claim to 'cl-bayesnet' a=
> s the project name.
>
> My plan is to release it with a BSD licence.
>
> -Luke

FORWARD BEARING JOIN TREES!

Thanks!

oo--JS.

Sam Steingold

unread,
Jul 22, 2012, 12:29:51 PM7/22/12
to
> * Luke Hope <ehxh...@tznvy.pbz> [2012-07-12 19:55:55 -0700]:
>
> I've been hanging on to some code I developed about 5-6 years ago when I
> was in academia. I'm wondering if I should open source it.

sure.
note that a small Bayes library is already available as CLOCC/CLLIB/bayes.lisp
http://clocc.hg.sourceforge.net/hgweb/clocc/clocc/raw-file/d9547a32bff6/src/cllib/bayes.lisp

--
Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
http://www.childpsy.net/ http://think-israel.org http://openvotingconsortium.org
http://jihadwatch.org http://camera.org http://dhimmi.com http://truepeace.org
Is there another word for synonym?

Luke Hope

unread,
Jul 22, 2012, 6:15:58 PM7/22/12
to s...@gnu.org
Hi Sam,

Thanks for the heads up, but note that Naive Bayes (as implemented in that library) is not at all the same as a Bayesian Network. Naive Bayes makes heavy assumptions about variable dependence (hence its Naivety), to make the probability calculations very simple.

You *can* implement a Naive Bayes classifier/model using Bayesian Network modelling, but the limitations of the Naive Bayes model means the vice-versa does not apply.

Again, thanks for your diligence!

-Luke

On Monday, July 23, 2012 2:29:51 AM UTC+10, sds wrote:
> &gt; * Luke Hope &lt;ehxh...@tznvy.pbz&gt; [2012-07-12 19:55:55 -0700]:
> &gt;
> &gt; I&#39;ve been hanging on to some code I developed about 5-6 years ago when I
> &gt; was in academia. I&#39;m wondering if I should open source it.

Luke Hope

unread,
Apr 7, 2013, 10:49:27 PM4/7/13
to
Hi all,

I am slightly embarrassed that it is 9 months since I wrote the initial expression of interest for releasing this code. But life happens.

Anyway, I have done sufficient polishing to release CL-BAYESNET into the wild:

https://github.com/lhope/cl-bayesnet

I chose to use the LLGPL.

API Documentation: https://github.com/lhope/cl-bayesnet/wiki/API-Documentation

Example code: https://github.com/lhope/cl-bayesnet/blob/master/tests/test-alarm.lisp

Enjoy! I will work on getting this registered with quicklisp soon.

-Luke
0 new messages