$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Proposal for a Differential Evolution C++ library
From: Adrian Michel (adrian_at_[hidden])
Date: 2012-01-10 01:37:39
On 1/9/2012 9:41 AM, Brian Schrom wrote:
>
> On 01/09/2012 09:11 AM, Paul A. Bristow wrote:
>>> -----Original Message-----
>>>
>>> I, for one, think this looks a very useful library.
>>> [...]
>>> So you may need to find and drum up support from some potential (or
> better still, actual) users ?
>>>
> I will provide a review if this library gets to review, so
> far, I've not looked much at this submission.
>
Thanks.
> I think that machine learning is an area where there is enough maturity
> that implementations in Boost are desirable.
>
> A couple of things to consider.
>
> It would be desirable that the machine learning topic area be
> designed a bit more comprehensively than a single library. For example, I
> should be able to run a GA on the same data as the DE. I would hope
> that they have the same API. This somewhat implies to me that DE/GA are
> instances of training algorithms, for which, many are possible.
The way I see it, the only common point between different optimization
algorithms (if they are generic enough) is the objective function, which
should have a very simple prototype:
double f( std::vector< double > );
so in theory if different algorithms are implemented to accept the same
types (in C++ sense) of objective functions, then you could run them
interchangeably between GA, DE etc without any modification to the
function or algorithm.
>
> There are many things that go into a ML solution. Data conditioning,
> model training, model validation, model evaluation. Training in
> batch modes, instance based, etc. Just to name a couple issues...
>
> Then the normal list of library desires...completely generic, optimized
> for every conceivable configuration (embedded processor, server farm,
> etc i.e. single process, multi-threaded, mpi, etc)
>
> My advice is to be prepared for the big can of worms that this topic could
> potentially bring up.
> I think the topic area will be a very hard sell, but would be very
> useful.
>
There are many real-life applications that I believe would benefit
immediately from a maybe less than perfect implementation, so if it were
my choice, I would rather release an initial version sooner and enhance
it based on experience gathered from its practical use.
Adrian Michel
www.tradery.com