Machine Learning/ANN's in Haskell.

Hi all, I have been interested in Haskell for a long time now, and am definitely going to invest a considerable amount of time into learning it. Next year is the final year of my CS degree, and I am set on having a final year project orientated around ML. Now, my question is this:- What are the advantages/disadvantages of using Haskell for such a project? Bearing in mind of course that I am an absolute beginner. Regards, Jack Hunt

Jack Hunt wrote:
Hi all, I have been interested in Haskell for a long time now, and am definitely going to invest a considerable amount of time into learning it. Next year is the final year of my CS degree, and I am set on having a final year project orientated around ML. Now, my question is this:-
What are the advantages/disadvantages of using Haskell for such a project? Bearing in mind of course that I am an absolute beginner.
Advantages? Well compiled Haskell code is faster than Python which seems to be a commonly used language in this field. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Jack Hunt
I have been interested in Haskell for a long time now, and am definitely going to invest a considerable amount of time into learning it. Next year is the final year of my CS degree, and I am set on having a final year project orientated around ML. Now, my question is this:-
What are the advantages/disadvantages of using Haskell for such a project? Bearing in mind of course that I am an absolute beginner.
My experience with using Haskell as a language for neural networks is very positive. The code is unusually short and mostly works right away. It is also much faster than the more common languages like Python and Common Lisp. I have uploaded one of my neural network implementations [1] to Hackage. It shows you how to exploit lazy vectors for expressing the most important algorithms, including querying the network and backpropagation learning. [1]: http://hackage.haskell.org/package/instinct Greets, Ertugrul -- Not to be or to be and (not to be or to be and (not to be or to be and (not to be or to be and ... that is the list monad.

I think that very important question is: whether you will find all the
libraries you will need for your project or are you willing to fill the
gaps? Haskell is a very fine language if you consider writing anything in
it. But when it comes to libraries you may find out that what you are after
is missing.
For example, I wanted to play with Restricted Bolzmann Machines. There are
a few implementations but none available in Haskell. I ended up using one
for Matlab (Octave), and then exporting the data with few functions. The
alternative would be to reimplement them - but that would be higher cost
route, especially that I would need to do some tests to check that my
implementation is right.
Another possible disadvantage: reasoning about space complexity and
laziness in Haskell is hard, esp. for beginners. You are getting used to
that - you end up writing code that is mostly fast out of the box. But it
can be problematic if it slows you down so much that you cannot do real
work. OTOH I had the very similar problem with Python - and the fact that
it's GC is really broken. Personally I don't consider it too hard to learn.
I think that trying Haskell is worth it. But try to be mindful of your
requirements and expectations.
Best regards,
Krzysztof Skrzętnicki
On Wed, Jan 2, 2013 at 2:50 PM, Jack Hunt
Hi all, I have been interested in Haskell for a long time now, and am definitely going to invest a considerable amount of time into learning it. Next year is the final year of my CS degree, and I am set on having a final year project orientated around ML. Now, my question is this:-
What are the advantages/disadvantages of using Haskell for such a project? Bearing in mind of course that I am an absolute beginner.
Regards, Jack Hunt
______________________________**_________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/**mailman/listinfo/beginnershttp://www.haskell.org/mailman/listinfo/beginners
participants (4)
-
Erik de Castro Lopo
-
Ertugrul Söylemez
-
Jack Hunt
-
Krzysztof Skrzętnicki