我使用Matlab作为原型工具学习了机器学习课程.由于我沉迷于F#,我想继续我在F#的机器学习研究.
我可能希望将F#用于原型设计和生产,因此机器学习框架将是一个很好的开始.否则,我可以从一组库开始:
高度优化的线性代数库
统计包
可视化库(允许绘制图表,图表并与之交互......)
并行计算工具箱(类似于Matlab并行计算工具箱)
最重要的资源(对我而言)是关于机器学习的书籍,博客文章和在线课程,使用函数式编程语言(F#/ OCaml/Haskell ......).
任何人都可以建议这些资源吗?谢谢.
编辑:
这是基于以下答案的摘要:
机器学习框架:
Infer.NET:一个.NET框架,用于在具有良好F#支持的图形模型中进行贝叶斯推理.
WekaSharper:围绕流行的数据挖掘框架Weka的F#包装器.
Microsoft Sho:在.NET平台上进行数据分析(包括矩阵运算,优化和可视化)的连续环境开发.
相关图书馆:
Math.NET Numerics:内部使用英特尔MKL和AMD ACML进行矩阵运算并支持统计功能.
Microsoft Solver Foundation:线性编程和优化任务的良好框架.
FSharpChart:F#中一个不错的数据可视化库.
阅读清单:
数值计算:非常适合从F#中的机器学习开始,并介绍了在F#中使用这些数学库的各种工具和技巧/窍门.
F#和数据挖掘博客:它也是来自数值计算章节的作者尹竺,强烈推荐.
F#作为机器学习的Octave/Matlab替代品:Gustavo刚刚开始使用F#作为开发工具发布一系列博客文章.很高兴看到许多库被插在一起.
"机器学习在行动"的样本在F#中:Mathias已经将一些样本从Python转换为F#.它们在Github中可用.
Hal Daume的主页:Hal在OCaml中编写了许多机器学习库.如果您对函数式编程不适合机器学习有疑问,您会感到宽慰.
任何其他指针或建议也欢迎.
没有一个地方可以在F#和机器学习上寻找资源,但这里有一些可能非常有用的链接:
MSDN上的数值计算部分是使用F#的各种数值库的良好资源.实现线性代数和其他在机器学习中有用的算法的最先进的库是Math.NET Numerics.
MSDN上的可视化数据部分在F#中有一些关于图表的资源.FSharpChart库现在由Carl Nolan维护,他定期向他的博客发布更新.
还有一些人正在研究相关主题的个人页面:
Jurgen van Gael(曾在机器学习方面获得博士学位)为Math.NET库做出了贡献,你可以在这里阅读他的经历.
在MSDN上写过"数值计算"章节的Yin Zhu(也是一位对机器学习感兴趣的博士生)在他的博客上有很多优秀的文章.
除了Tomas提到的内容之外,我大约一年前在Infer.NET上花了一些时间,发现它对于连续的图形模型非常有用.我知道它在去年的图书馆范围和F#支持方面都有了很大的改进.我建议检查一下,看看它是否有你需要的东西.
Hal Daume在OCaml和Haskell中实现了许多机器学习算法.详细信息请参阅我在OCaml或Haskell中的机器学习中的答案?
作为关于MSDN的F#书籍章节中的数值计算的一面,我还想推荐我的Weka Wrapper,WekaSharper.它允许您使用F#友好界面在Weka中调用机器学习算法.
我写了一篇文章,为什么F#是数据挖掘的语言,这反映了我在F#中编写类似alpha/prototype的数据挖掘包时的想法.libml可在线获取.但是代码大约是两年前我开始使用F#时编写的,从那以后我没有时间维护它.