机器学习必知的15大框架

机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习工程师的主要区别是:

·机器学习工程师构建、开发和维护机器学习系统的产品。

·数据专家进行调查研究形成有关于机器学习项目的想法,然后分析来理解机器学习系统的度量影响。

下面是机器学习的框架介绍:

1.Apache Singa 是一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的。它还支持各种当前流行的深度学习模型,有前馈模型(卷积神经网络,CNN),能量模型(受限玻尔兹曼机,RBM和循环神经网络,RNN),还为用户提供了许多内嵌层。

2.Amazon Machine Learning(AML)是一种让各种级别使用机器学习技术的开发人员可轻松掌握的一个服务,提供了视觉工具和向导,可以指导您在不必学习复杂的机器学习算法和技术的情况下建立机器学习。

3.Azure ML Studio允许微软Azure的用户创建和训练模型,随后将这些模型转化为能被其他服务使用的API。尽管您可以将自己的Azure存储链接到更大模型的服务,但是每个账户模型数据的存储容量最多不超过10GB。在Azure中有大量的算法可供使用,这要感谢微软和一些第三方。甚至你都不需要注册账号,就可以匿名登录,使用Azure ML Studio服务长达8小时。

4.Caffe是由伯克利视觉学习中心(BLVC)和社区贡献者们基于BSD-2-协议开发的一个深度学习框架,它秉承“表示、效率和模块化”的开发理念。模型和组合优化通过配置而不是硬编码实现,并且用户可根据需要在CPU处理和GPU处理之间进行切换,Caffe的高效性使其在实验研究和产业部署中的表现很完美,使用单个NVIDIA K40 GPU处理器每天即可处理超过六千万张图像 。

5.H2O使人轻松地应用数学和预测分析来解决当今极具挑战性的商业问题,它巧妙的结合了目前在其他机器学习平台还未被使用的独有特点:最佳开源技术,易于使用的WebUI和熟悉的界面,支持常见的数据库和不同文件类型。用H2O,你可以使用现有的语言和工具。此外,也还可以无缝扩展到Hadoop环境中。

6.Massive Online Analysis (MOA)是目前最受欢迎的数据流挖掘开源框架,拥有一个非常活跃的社区。它包含一系列的机器学习算法(分类,回归,聚类,离群检测,概念漂移检测和推荐系统)和评价工具。和WEKA 项目一样,MOA 也是用Java编写,但扩展性更好。

7.MLlib (Spark)是Apache Spark的机器学习库,目的是让机器学习实现可伸缩性和易操作性,它由常见的学习算法和实用程序组成,包括分类、回归、聚类,协同过滤、降维,同时包括底层优化原生语言和高层管道API。

8.Mlpack是一个基于C++的基础学习库 ,最早于2011年推出,据库的开发者声称,它秉承“可扩展性、高效性和易用性”的理念来设计的。执行Mlpack有两种方法:通过快速处理简易的“黑盒”操作命令行执行的缓存,或者借助C++ API处理较为复杂的工作。Mlpack可提供简单的能被整合到大型的机器学习解决方案中的命令行程序和C++的类。

9.Pattern是Python编程语言的web挖掘组件,有数据挖掘工具( Google、Twitter 、Wikipedia API,网络爬虫,HTML DOM解析器),自然语言处理(词性标注,n-gram搜索,情感分析,WordNet接口),机器学习(向量空间模型,聚类,支持向量机),网络分析和<canvas>可视化。

10.Scikit-Learn为了数学和科学工作,基于现有的几个Python包(Numpy,SciPy和matplotlib)拓展了Python的使用范围。最终生成的库既可用于交互式工作台应用程序,也可嵌入到其他软件中进行复用。该工具包基于BSD协议,是完全免费开源的,可重复利用。Scikit-Learn中含有多种用于机器学习任务的工具,如聚类,分类,回归等。Scikit-Learn是由拥有众多开发者和机器学习专家的大型社区开发的,因此,Scikit-Learn中最前沿的技术往往会在很短时间内被开发出来。

11.Shogu是最早的机器学习库之一,它创建于1999年,用C++开发,但并不局限于C++环境。借助SWIG库,Shogun适用于各种语言环境,如Java,Python,c#,Ruby,R,Lua,Octave和Mablab。Shogun 旨在面向广泛的特定类型和学习配置环境进行统一的大规模学习,如分类,回归或探索性数据分析。

12.TensorFlow是一个使用数据流图进行数值运算的开源软件库,它实现了数据流图,其中,张量(“tensors”)可由一系列图形描述的算法来处理,数据在该系统中的变化被称为“流”,由此而得名。数据流可用C++或Python编码后在CPU或GPU的设备上运行。

13.Theano是一个基于BSD协议发布的可定义、可优化和可数值计算的Phython库。使用Theano也可以达到与用C实现大数据处理的速度相媲美,是支持高效机器学习的算法。

14.Torch是一种广泛支持把GPU放在首位的机器学习算法的科学计算框架。由于使用了简单快速的脚本语言LuaJIT和底层的C/CUDA来实现,使得该框架易于使用且高效。Torch目标是让你通过极其简单的过程、最大的灵活性和速度建立自己的科学算法。Torch是基于Lua开发的,拥有一个庞大的生态社区驱动库包设计机器学习、计算机视觉、信号处理,并行处理,图像,视频,音频和网络等。

15.Veles是一套用C++开发的面向深层学习应用程序的分布式平台,不过它利用Python在节点间自动操作与协作任务。在相关数据集中到该集群之前,可对数据进行分析与自动标准化调整,且REST API允许将各已训练模型立即添加至生产环境当中,它侧重于性能和灵活性。Veles几乎没有硬编码,可对所有广泛认可的网络拓扑结构进行训练,如全卷积神经网络,卷积神经网络,循环神经网络等。

在评论中告诉我们更多关于你喜欢的机器学习框架。

作者介绍:Devendra Desale(@DevendraDesale)是一位目前从事文本挖掘和大数据技术的数据科学研究生,也对企业架构和数据驱动感兴趣。业余时间,喜欢参加聚会和未知的冒险。

以上为译文

文章原标题《Top 15 Frameworks for Machine Learning Experts》,作者:Devendra Desale,译者:Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

时间: 2024-10-27 09:02:06

机器学习必知的15大框架的相关文章

程序员必知的8大排序

8种排序之间的关系:   1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的.如此反复循环,直到全部排好顺序. (2)实例   (3)用java实现   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package com.njue;    public class insertSort { public insertSort(

站长必知:15条需要屏蔽的页面

大家都知道robots为搜索引擎公共协议,是seo er的一个好帮手,有利于网站的权重聚集和关键词排名.一般我们把不参与关键词排名的页面和没有搜索的词的页面都屏蔽掉.下面胖子例举常见15条需要屏蔽的页面. 1.登陆页面:无论是大站,还是小站,这样的页面我们都需要屏蔽掉,对搜索引擎没有任何作用,没有作用的东西,当然需要屏蔽掉. 2.关于我们:大站不屏蔽,小站屏蔽,因为有搜索量,比如:我要去找工作,肯定会搜索公司句话加联系电话,对用户有帮助所以我们不能屏蔽掉. 3.公司动态:对关键词没有帮助,但对用

Win7必知的15个快捷键

1. Ctrl + Shift + N – 创建一个新的文件夹  你需要在文件夹窗口中按 Ctrl + Shift + N 才行,当然,在桌面上,也一样OK. 2. Ctrl + Shift + 左键 – 用管理员权限打开程序 (Ctrl+Shift+Click to Open a Program As Administrator) 有些程序,需要右键选择 Windows7 的管理员权限才可以正常运行,而这个蛋疼的快捷键我没有测试成功,@sfufoet 在受限制帐户下测试的软件 AirVideo

海益宝:网络营销人员必知的5大关键词

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在激烈的市场竞争中,我们每天都在争分夺秒地抢顾客,赚取每一分钱,不辞辛苦.但是有一天当各种互联网品牌一夜爆红的时候,我们却发现,对于自己的产品却很难找一个网络营销的突破口,网站.网上商城一个不少,却很少看见实质性利润的转化,当看见人家赚的杯满盆溢的时候,我们再次茫然不知道如何下手去做? 不知道大家有没想过这个问题?当我们不停的投入营销费用,却

程序员必知35个jQuery 代码片段_jquery

jQuery如今已经成为Web开发中最流行的JavaScript库,通过jQuery和大量的插件,你可以轻松实现各种绚丽的效果.本文将为你介绍一些jquery实用的技巧,希望可以帮助你更加高效地使用jQuery. 收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); });

Python 程序员必知必会的开发者工具

Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作,即便他们开发出的工具并没有出现在最终的程序中.本文将介绍Python程序员必知必会的开发者工具. 对于开发者来说,最实用的帮助莫过于帮助他们编写代码文档了.pydoc模块可以根据源代码中的docstrings为任何可导入模块生成格式良好的文档.Python包含了两个测试框架来自动测试代码以及验证代码的正确性:1)doctest模块,该模块可

经典的20道AJAX面试题(必知必会)

1.什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是"Asynchronous JavaScript and XML"的缩写.他是指一种创建交互式网页应用的网页开发技术. Ajax包含下列技术: 基于web标准(standards-basedpresentation)XHTML+CSS的表示: 使用 DOM(Document ObjectModel)进行动态显示及交互: 使用 XML 和 XSLT 进行数据交换及相关操作: 使用 XMLH

2016深度学习统治人工智能?深度学习十大框架

2015 年结束了,是时候看看 2016 年的技术趋势,尤其是关于深度学习方面.新智元在 2015 年底发过一篇文章<深度学习会让机器学习工程师失业吗?>,引起很大的反响.的确,过去一年的时间里,深度学习正在改变越来越多的人工智能领域.Google DeepMind 工程师 Jack Rae 预测说,过去被视为对于中型到大型数据集来说最佳的预测算法的那些模型(比如说提升决策树(Boosted Decision Trees)和随机森林)将会变得无人问津. 深度学习,或者更宽泛地说--使用联结主义

20个正则表达式必知(能让你少写1,000行代码)_正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间的选择或者所有这些组件