

Infer.NET: A .NET Library for Machine Learning - brudgers
http://research.microsoft.com/en-us/projects/infernet/

======
thematt
Here is the link to the actual project site:
[http://research.microsoft.com/en-
us/um/cambridge/projects/in...](http://research.microsoft.com/en-
us/um/cambridge/projects/infernet/)

------
lazyjeff
I used this one summer to implement a graphical model I was working with. It
has two approximate inference algorithms: variational message passing and
expectation propagation, for which the inventors are co-authors of this
library. I found the library to be powerful for those who knew what they were
doing. But it took me a while to figure out the syntax.

Some bits were a bit hack-ey which made the syntax difficult for me to get
right. For example, random variables are templates that take a bool or float
depending on the underlying distribution. You could have a C# array of random
variables, or a infer.net array of random variables, which had slightly
different functionality. The infer.net array of random variables did not use
the C# for loop, and instead had its own for loop implemented as a method.

Anyways, it's a nice library and great that they released the source code.

------
mwexler
The tutorial is an nice rapid summary on how to use this to drive some models
and understand modern bayesian inference. Worth taking a look at, if you don't
want to read the ".rtf" info...

[http://research.microsoft.com/en-
us/um/cambridge/projects/in...](http://research.microsoft.com/en-
us/um/cambridge/projects/infernet/docs/InferNet101.pdf)

------
mattdeboard
Is this related to <http://clojars.org/infer> ? A Clj-based ML library.

Are there any other recommendable ML libraries? I know of Mahout and have read
up on it, and have been reading "Programming Collective Intelligence", but am
eager to learn more.

------
awda
This library comes as a .msi (Microsoft installer) and a license in .rtf
format ("rich text" -- who uses this anymore?). In short, it's what you'd
expect from Microsoft: not open source, not open at all, and the license
probably limits you to non-commercial use and non-redistribution.

~~~
nekitamo
Aforge is an excellent open-source alternative that is years in development:

<http://code.google.com/p/aforge/>

~~~
arido
Aforge is not even close to Infer.NET. The latter is a library to build
graphical models and automatically generate deterministic inference algorithms
for them. Trust me when I say there are probably less then 25 people in the
world that can derive some of these inference algorithms without spending
weeks studying the relevant papers (e.g. EP).

Aforge is just a collections of algorithms. It's nothing to do with building
your own models. Useful nonetheless.

