在F#中使用机器学习的资源
我已经学习了使用Matlab作为原型工具的机器学习课程。 自从我沉迷于F#之后,我想继续在F#中学习机器学习。
我可能希望将F#用于原型和生产,所以机器学习框架将是一个很好的开始。 否则,我可以从一个库的集合开始:
- 高度优化的线性代数库
- 统计包
- 可视化库(允许绘制和与图表,图表交互)
- 并行计算工具箱(类似于Matlab的并行计算工具箱)
最重要的资源(对我来说)是书籍 ,博客文章和关于机器学习的在线课程(F#/ OCaml / Haskell …)。
任何人都可以提出这些资源? 谢谢。
编辑:
这是一个基于以下答案的总结:
机器学习框架:
- Infer.NET :用于支持良好F#的graphics模型中用于贝叶斯推理的.NET框架。
- WekaSharper :围绕stream行的数据挖掘框架Weka的F#封装。
- Microsoft Sho :.NET平台上用于数据分析(包括matrix运算,优化和可视化)的持续环境开发。
相关图书馆:
-
Math.NET数字 :内部使用英特尔MKL和AMD ACML的matrix操作和支持统计function。
-
Microsoft Solver Foundation :一个线性编程和优化任务的好框架。
-
FSharpChart :F#中一个很好的数据可视化库。
阅读清单:
- 数值计算 :从F#中的机器学习入手非常棒,并且介绍了在F#中使用这些math函数库的各种工具和技巧/技巧。
- F#和数据挖掘博客 :也是“数值计算”一书作者尹竺强烈推荐的。
- F#作为机器学习的Octave / Matlab替代品 :Gustavo刚刚开始使用F#作为开发工具的一系列博客文章。 很高兴看到许多图书馆被连接在一起。
- “机器学习在行动”的F#示例 :Mathias已经将一些Python样本翻译成F#。 它们在Github中可用。
- Hal Daume的主页 :Hal在OCaml写了一些机器学习库。 如果您怀疑函数式编程不适合机器学习,那么您会感到宽慰。
任何其他的指针或build议也是受欢迎的。
在F#和机器学习方面,没有一个地方可以寻找资源,但是这里有一些可能相当有用的链接:
-
MSDN上的“ 数值计算”部分是使用F#中的各种数值库的好资源。 实现线性代数和其他在机器学习中有用的algorithm的最先进的库是Math.NET Numerics 。
-
在MSDN上的可视化数据部分有一些在F#中绘制图表的资源。 FSharpChart库现在由Carl Nolan维护,他定期在他的博客上发布更新 。
还有一些人正在从事相关主题的个人页面:
-
Jurgen van Gael(机器学习博士)为Math.NET图书馆做出了贡献,您可以在这里了解他的经验 。
-
在MSDN上撰写Numerical Computing章节的Yin Zhu(他是博士生,对机器学习感兴趣) 在他的博客上有不less优秀的文章 。
除了托马斯提到的东西之外,大约一年前,我花了一些时间在Infer.NET上 ,发现它对连续graphics模型来说非常好。 我知道去年在图书馆和F#的支持范围内都有了很大的提高。 我build议检查一下,看看它是否有你所需要的。
Hal Daume在OCaml和Haskell中实现了很多机器学习algorithm。 有关详细信息,请参阅我在OCaml或Haskell中的机器学习答案。
作为MSDN的F#书中的Numerical Computing的一部分 ,我还想推荐Weka的WekaSharper包装器。 它允许您使用F#友好的界面在Weka中调用机器学习algorithm。
我写了一篇文章, 为什么F#是数据挖掘的语言 ,这反映了我在完成F#中的alpha / prototype-like数据挖掘软件包时的思路。 libml在线提供。 但是代码是在两年前我开始使用F#的时候编写的,从那以后我没有时间去维护它。
APress有一本名为“Alpha”的书,即将发布:.NET开发人员的机器学习项目。 http://www.apress.com/9781430267676
目前现有的内容似乎是介绍性的,但相当好学习,其代码示例主要是F#。