阅读 1766

用Julia研究人工智能?这5个机器学习项目不得不看

近日,MIT 发布了动态编程语言 Julia 1.0 正式版本,下载地址:

julialang.org/downloads/

由 MIT 主导开发的 Julia 是一种新型编程语言,它将 C 的速度、Ruby 的灵活性 Matlab 的数学表征、Python 的通用编程结合在一起,集众家之所长,近年来成为全球火热程度上升最快的编程语言之一,受到包括 Google、Facebook 在内的世界知名互联网公司开发者们的广泛欢迎。

总体来看,Julia 具有快速、通用、动态、专业、多样性和可组合等特点。由于其高性能、使用简单、面向广大开发者,因此在某些情况下非常适合开发各种东西,比如深度学习框架。故而它一经推出,就引起数据分析和科学计算领域的浓厚兴趣。

本文就介绍 5 个面向 Julia 的机器学习项目,它们并非全都是机器学习库,其中一个是实现机器学习算法的支持功能的合集。

MLBase.jl

以这个项目着手开始比较合适,MLBase 自称为“机器学习中的瑞士军刀”。

它不是实现机器学习算法,而是一系列支持工具的合集,比如用于预处理、基于分数的分类、性能评估指标、模型调试等等这方面的工具。

MLBase 的文档非常不错,而且每个工具都附有一定数量的代码示例。

项目地址:

github.com/JuliaStats/…

ScikitLearn.ji

对于使用 Python 编程的开发者来说,Julia 可以说是个潜在的“救火队长”。

ScikitLearn.jl 用 Julia 实现了常见的 Scikit-learn 接口和算法。其支持来自 Julia 生态系统和 Scikit-learn 库(通过 PyCall.jl)这两部分的模型。

虽然 ScikitLearn.jl 并非 Scikit-learn 的官方作品,但它实现了非常可靠的接口,并将 Python 模型和 Julia 模型结合在一起,还是非常有吸引力的。

项目中附有很不错的入门指南,以及很多 Jupyter notebook 示例。

项目地址:

github.com/cstjean/Sci…

MachineLearning.jl

该项目主要介绍 Julia 中的机器学习算法。其包含了相当数量的机器学习算法和支持工具,对于用Julia进行机器学习开发是个很棒的资源。

目前主要包括以下算法:决策树分离器,随机森林分类器,基础的神经网络和贝叶斯累加回归树。另外也支持将数据集分割为 训练集 和 测试集,以及对模型进行交叉检验。

项目地址:

github.com/benhamner/M…

Mocha.jl

Macha.jl 是一个面向 Julia 的深度学习框架,其开发灵感源自 C++ 框架 Caffe。Mocha.jl 中高效实现了通用的随机梯度解算器和常见网络层,能通过无监督预训练方式用于训练深度神经网络和卷积神经网络。

项目文档包含了一系列的教程合集以及完整的使用指南,是一个非常详尽的面向 Julia 的深度学习项目。

项目地址:

github.com/pluskid/Moc…

TextAnalysis.jl

TextAnalysis.jl 是一个用于文本分析的 Julia 库,提供文档预处理、语料库创建、文档术语矩阵、逆文档频率、潜在语义分析、潜在狄利克雷分布等多种自然语言处理功能。如果你对使用 Julia 执行自然语言处理任务,这绝对是很合适的入门项目。

项目地址:

github.com/JuliaText/T…

如果想入门了解一下 Julia,可以看看集智主站发布的《Julia 快速入门》系列教程:

jizhi.im/blog/post/j…

还想深入学习 Julia 的知识,集智推荐这个学习资源:

samuelcolvin.github.io/JuliaByExam…

最后再分享几个 Julia 实现的机器学习算法:

面向 Julia 的马尔科夫链蒙特卡罗:

github.com/doobwa/MCMC…

Julia 实现的简单朴素贝叶斯:

github.com/nutsiepully…

Julia 实现的决策树:

github.com/bensadeghi/…

Julia 实现的广义线性模型:

github.com/JuliaStats/…

后面会继续分享关于 Julia 的机器学习资源,以及如何从零开始用 Julia 进行数据科学工作,欢迎关注我们。

参考资料:

www.kdnuggets.com/2016/08/top…


集智在手 AI不愁

八月新课猛戳j.youzan.com/jiECwY