Resources for working with Machine Learning in F#
Question: I have learned a Machine Learning course using Matlab as a prototyping tool.
Since I got addicted to F#, I would like to continue my Machine Learning study
in F#.

I may want to use F# for both prototyping and production, so **a Machine
Learning framework** would be a great start. Otherwise, I can start with a
collection of libraries:

  * Highly-optimized linear algebra library
  * Statistics package
  * Visualization library (which allows to draw and interact with charts, diagrams...)
  * Parallel computing toolbox (similar to Matlab parallel computing toolbox)

And the most important resources (to me) are **books** , blog posts and online
courses regarding Machine Learning in a functional programming language
(F#/OCaml/Haskell...).

Can anyone suggest these kinds of resource? Thanks.

* * *

**EDIT:**

This is a summary based on the answers below:

Machine Learning frameworks:

  * [Infer.NET](http://research.microsoft.com/en-us/um/cambridge/projects/infernet/): an .NET framework for Bayesian inference in graphical models with good F# support.
  * [WekaSharper](http://wekasharp.codeplex.com/): a F# wrapper around the popular data mining framework Weka.
  * [Microsoft Sho](http://msdn.microsoft.com/en-us/library/hh304371.aspx): a continuous environment development for data analysis (including matrix operations, optimization and visualization) on .NET platform.

Related libraries:

  * [Math.NET Numerics](http://mathnetnumerics.codeplex.com/): internally using Intel MKL and AMD ACML for matrix operations and supporting statistics functions too. 

  * [Microsoft Solver Foundation](http://archive.msdn.microsoft.com/solverfoundation): a good framework for linear programming and optimization tasks.

  * [FSharpChart](http://code.msdn.microsoft.com/windowsdesktop/FSharpChart-b59073f5): a nice data visualization library in F#.

Reading list:

  * [Numerical Computing](http://msdn.microsoft.com/en-us/library/hh273075.aspx): It is great for starting with Machine Learning in F# and introduces various tools and tips/tricks for working with these Math libraries in F#.
  * [F# and Data Mining blog](http://fdatamining.blogspot.com/): It is also from Yin Zhu, the author of Numerical Computing chapter, highly recommended.
  * [F# as a Octave/Matlab replacement for Machine Learning](http://blog.codebeside.org/blog/2011/10/27/f-as-a-octavematlab-replacement-for-machine-learning): Gustavo has just started a series of blog posts using F# as the development tool. It's great to see many libraries are plugged in together.
  * ["Machine Learning in Action" 's samples in F#](http://www.clear-lines.com/blog/?tag=/Machine%20Learning): Mathias has translated some samples from Python to F#. They are available in [Github](https://github.com/mathias-brandewinder/Machine-Learning-In-Action).
  * [Hal Daume's homepage](http://www.umiacs.umd.edu/~hal/software.html): Hal has written a number of Machine Learning libraries in OCaml. You would feel relieved if you were in doubt that functional programming was not suitable for Machine Learning.

Any other pointers or suggestions are also welcome.


Answer: There isn't a single place to look for resources on F# and machine learning,
but here are a couple of links that may be quite useful:

  * [Numerical Computing](http://msdn.microsoft.com/en-us/library/hh273075.aspx) section on MSDN is a good resource on using various numerical libraries from F#. The most advanced library that implements linear algebra and other algorithsm useful in machine learning is [Math.NET Numerics](http://msdn.microsoft.com/en-us/library/hh304363.aspx).

  * [Visualizing Data](http://msdn.microsoft.com/en-us/library/hh273079.aspx) section on MSDN has some resources on charting in F#. The FSharpChart library is now maintained by Carl Nolan who regularly posts [updates to his blog](http://blogs.msdn.com/b/carlnol/).

There are also a few personal pages of people who are working on relevant
topics:

  * Jurgen van Gael (who did PhD in machine learning) contributed to the Math.NET library and you can read about [his experience here](http://mlg.eng.cam.ac.uk/jurgen/fsharp.html).

  * Yin Zhu who wrote the Numerical Computing chapter on MSDN (and is a PhD student interested in machine learning) has quite a few [excellent articles on his blog](http://fdatamining.blogspot.com/).

