【发布时间】:2011-12-25 11:10:12
【问题描述】:
我学习了使用 Matlab 作为原型制作工具的机器学习课程。由于我沉迷于 F#,我想继续我在 F# 中的机器学习研究。
我可能希望将 F# 用于原型设计和生产,因此机器学习框架将是一个很好的开始。否则,我可以从一组库开始:
- 高度优化的线性代数库
- 统计包
- 可视化库(允许绘制图表并与之交互...)
- 并行计算工具箱(类似于Matlab并行计算工具箱)
并且(对我而言)最重要的资源是关于使用函数式编程语言(F#/OCaml/Haskell...)进行机器学习的书籍、博客文章和在线课程。
谁能推荐这些资源?谢谢。
编辑:
这是基于以下答案的总结:
机器学习框架:
- Infer.NET:一个 .NET 框架,用于图形模型中的贝叶斯推理,具有良好的 F# 支持。
- WekaSharper:流行的数据挖掘框架 Weka 的 F# 包装器。
- Microsoft Sho:.NET 平台上用于数据分析(包括矩阵运算、优化和可视化)的持续环境开发。
相关库:
Math.NET Numerics:内部使用 Intel MKL 和 AMD ACML 进行矩阵运算并支持统计功能。
Microsoft Solver Foundation:一个很好的线性规划和优化任务框架。
FSharpChart:一个不错的 F# 数据可视化库。
阅读清单:
- Numerical Computing:非常适合从 F# 中的机器学习开始,并介绍了在 F# 中使用这些数学库的各种工具和提示/技巧。
- F# and Data Mining blog:也是《数值计算》一章作者朱印,强烈推荐。
- F# as a Octave/Matlab replacement for Machine Learning:Gustavo 刚刚开始了一系列使用 F# 作为开发工具的博客文章。很高兴看到许多库被集成在一起。
- "Machine Learning in Action" 's samples in F#: Mathias 已将一些示例从 Python 翻译成 F#。它们在Github 中可用。
- Hal Daume's homepage:Hal 用 OCaml 编写了许多机器学习库。如果您怀疑函数式编程不适合机器学习,您会感到宽慰。
也欢迎任何其他的指点或建议。
【问题讨论】:
标签: .net f# functional-programming machine-learning