首席数据官

Hi, 请登录

如何选择开源的机器学习框架?

开源是创新和科技快速发展的核心。在此,我们将讨论如何针对不同的用例选取开源的机器学习工具。尽管机器学习还处于早期发展阶段,但从医疗、安全到个性化营销,这种潜在的价值使得公司将机器学习作为一种机会。

为什么要选择机器学习框架呢?

使用开源工具的好处不仅仅在于其可用性。通常来说,如此级别的项目均有大量的数据工程师和数据科学家愿意去分享数据集和前期训练模型。比如,你可以使用分类模型训练来自于ImageNet的数据,而非利用scratch建立图形感知。开源的机器学习工具还能够让你进行迁移学习,这意味着可以通过运用其他方面的知识解决机器学习的问题。所以,你可以把一些能力形成一种模型,这些模型可以学会识别汽车或者能够帮助我们完成其他的任务。

根据你所需要处理的问题,预先训练的模型和开放的数据集可能并不会像定制的那样准确,但开源框架不需要你收集数据集,这能够为你节省大量的时间和精力。根据前百度首席数据科学家、斯坦福大学教授Andrew Ng所说,使用开源模型和数据集将会成为继监督学习后驱动商业成功的第二大动因。

在众多活跃但不那么流行的开源工具中,我们将选取5个进行深度探讨,以便帮助你找到适合你的一款工具并且开始你的数据科学探索道路。接下来,我们进入正题。

1.TensorFlow

TensorFlow最初是仅供Google内部使用的,2015年在Apache 2.0 源码开始开源发布。Google的声誉和构建模型时出色的流程图吸引了一大群的TensorFlow拥护者。

TensorFlow对于深度神经网络研究和复杂的数学计算来说都是一个很好的python工具,它甚至能够支持强化学习。TensorFlow的独特之处还在于数据流图-结构,包含节点(数学运算)和边缘(数值数组或张量)。

1.1数据集和模型

TensorFlow的灵活之处体现在基于它进行研究或者重复机器学习任务的可能性。因此,你可以使用名为TensorFlow Core的低级API。你可以通过它控制模型并且使用你自己的数据集对它们进行训练。但也有公共的预训练模型,用于在TensorFlow Core之上构建更高级的API。你可以使用的目前比较流行的模式有MNIST,一个帮助识别图片上的手写数字的传统数据集,或者Medicare Data,一个来自于Google帮助预测医疗服务收费的数据集。

1.2受众及学习曲线

对于第一次探索机器学习的人来说,TensorFlow功能的多样化会显得有些复杂。一些人甚至认为,该库并未加速机器学习的学习曲线,反而让其更加陡峭。TensorFlow是一种级别较低的库,但它需要编写大量的代码以及对数据科学细节的良好理解,这才能更好的使用其进行项目开发。因此,如果你的数据科学团队是以IT为中心的,那么它或许不是你的最佳选择,我们将会讨论更加简单的替换方案。

1.3用例

考虑到TensorFlow的复杂性,其用例主要包含大型公司的解决方案,这些公司拥有机器学习领域的专家。例如,英国在线超市Ocado运用TensorFlow来优先处理他们联系中心的有限,并改善了需求预测。同时,全球保险公司Axa使用该库预测他们的用户将可能涉及的大型汽车事故。

2.Theano:具有扩展性能的成熟库

Theano是一种级别较低的库,它基于Python语言,用于科学计算,并且其通常将定义、优化、求值数学表达式作为深度学习的目标。尽管它具有非常优秀的计算性能,但其复杂性还是让很多用户无法进行。基于这个原因,Theano主要被用于底层的包装器,例如Keras,Lasagne以及Blocks这三种旨在快速原型化和模型测试的高级别框架。

2.1数据集及模型

Theano有公共模型百度深度学习,但是使用率较高的框架都有大量的教程和与训练的数据集可供选择。例如,Keras在其文档中存储了可用的模型以及详细的使用教程。

2.2受众及学习曲线

如果你使用Lasagne或Keras作为顶部的高级包装器,你将有大量的教程和预先训练的数据集。此外,Keras被认为是最容易从早期深度学习探索阶段开始的库。

由于TensorFlow的设计是为了取代Theano,让它失去了大量的粉丝。但是,许多数据科学家发现,有很多优势足以让他们使用过时的版本。

2.3用例

考虑到深度学习研究和发展的工业标准,Theano最初是用来对最为前沿的深度学习算法作为补充。然而,考虑到你也许并不会直接使用Theano百度深度学习,你可以将其众多功能作为使用其他库的基础如:数字及图片识别,对象本地化,甚至与机器人聊天。

3.Torch:由Lua脚本语言驱动Facebook支持的框架

Torch常被称为初学者最简单的深度学习工具。因为它是简单的脚本语言,Lua开发的。尽管使用这个语言的人比Python要少,它仍被广泛采用——Facebook,Google以及Twitter。

3.1数据集及模型

你可以在其GitHub cheatsheet页面上找到要加载的流行数据集列表。此外,Facebook还发布了一个官方代码,用于深度剩余网络(ResNets)的实现,并使用预先训练的模型来对自己的数据集进行微调。

3.2受众及学习曲线

市场中使用Lua语言的工程师人数远少于Python。然而,Torch语法中反映出Lua更易阅读。活跃的Torch贡献者们喜欢Lua,所以这对于初学者和那些希望扩展其工具集的人来说是一个极棒的选择。

3.3用例

Facebook使用Torch创建了DeepText,它能够以每分钟为单位将用户分享在网站的信息分类,并且提供更个性化的内容定位。Twitter在Torch的支持下,已经能够推荐基于算法时间线的推文(而非按时间逆序)。

4.Scikit-learn

Scikit-learn是一个高层级的框架,用于监督和无监督的机器学习算法。作为Python生态系统中的组成部分,它构建在NumPy及SciPy库之上,每个库都负责较低层级的数据科学任务。然而,当NumPy处理数值计算时,SciPy库包含更具体的数值流程,例如优化和插值。随后,scikit-learn被用于机器学习,在Python生态系统中,这三种工具与其它工具之间的关系反映了数据科学领域中不同层级:层级越高,能解决的问题就更加具体。

百度深度学习_深度学习在_深度学习 机器学习

4.1数据集和模型

该库已经包含了一些分类以及回归的标准数据集,尽管它们不能尽然代表真实情况。然而,用于衡量疾病发展的糖尿病数据集或者用于模式识别的虹膜职务数据集都能很好的解释机器学习算法是怎样在scikit中起作用的。而且,该库提供了从外部源加载数据集的信息,包括任务的示例生成器,例如多类分类以及分解,同时提供关于流行数据集使用的建议。

试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

二维码
评论