我使用Matlab作为原型设计工具学习了机器学习课程。由于我沉迷于F#,我想继续我在F#的机器学习研究。
我可能希望将F#用于原型设计和生产,因此机器学习框架将是一个很好的开始。否则,我可以从一系列库开始:
最重要的资源(对我而言)是书籍,关于机器学习的博客文章和在线课程,使用函数式编程语言(F#/ OCaml / Haskell ......)。
有人可以推荐这些资源吗?感谢。
修改
这是基于以下答案的摘要:
机器学习框架:
相关图书馆:
Math.NET Numerics:内部使用英特尔MKL和AMD ACML进行矩阵操作并支持统计功能。
Microsoft Solver Foundation:线性编程和优化任务的良好框架。
FSharpChart:F#中一个不错的数据可视化库。
阅读清单:
欢迎任何其他指示或建议。
答案 0 :(得分:18)
没有一个地方可以在F#和机器学习上寻找资源,但这里有一些可能非常有用的链接:
Numerical Computing部分是使用F#中各种数值库的一个很好的资源。实现线性代数和其他在机器学习中有用的算法的最先进的库是Math.NET Numerics。
Visualizing Data部分有关于F#图表的一些资源。 FSharpChart库现在由Carl Nolan维护,他定期发布updates to his blog。
还有一些人正在研究相关主题的个人页面:
Jurgen van Gael(曾在机器学习方面获得博士学位)为Math.NET库做出了贡献,您可以阅读his experience here。
在MSDN上编写数字计算章节的Yin Zhu(并且是一名对机器学习感兴趣的博士生)有很多excellent articles on his blog。
答案 1 :(得分:8)
除了Tomas提到的内容之外,我大约一年前在Infer.NET花了一些时间,发现连续图形模型非常好。我知道它在去年的图书馆范围和F#支持方面都有了很大的改进。我建议检查一下,看看它是否有你需要的东西。
答案 2 :(得分:5)
Hal Daume在OCaml和Haskell中实现了许多机器学习算法。详细信息请参阅Machine learning in OCaml or Haskell?
中的答案作为MSDN上Numerical Computing in F#书籍章节的一面,我还想推荐Weka的Wrapper,WekaSharper。它允许您使用F#友好界面在Weka中调用机器学习算法。
我写了一篇文章Why F# is the language for data mining,它反映了我在F#中编写类似alpha / prototype的数据挖掘包时的想法。 libml可在线获取。但是代码大约是两年前我开始使用F#时编写的,从那以后我没有时间维护它。
答案 3 :(得分:1)
APress将出版一本名为“Alpha”的书,即将发布:面向.NET开发人员的机器学习项目。 http://www.apress.com/9781430267676
目前现有的内容似乎是介绍性的,但很容易学习,其代码示例主要是F#。