机器学习必知的15大框架

简介: 不管你是一个研究人员,还是开发者,亦或是管理者,想要使用机器学习,需要使用正确的工具来实现。本文介绍了当前最流行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接口),机器学习(向量空间模型,聚类,支持向量机),网络分析和可视化。

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,审校:袁虎。

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

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
传感器 人工智能 自动驾驶
构建未来:利用AI技术优化城市交通系统
【4月更文挑战第27天】 随着城市化的快速发展,交通拥堵已成为全球城市的普遍问题。本文探讨了人工智能(AI)技术在缓解城市交通压力、提升交通效率方面的应用前景。通过分析智能信号控制、交通流量预测、自动驾驶车辆以及公共交通优化等关键技术的实际案例,评估了AI在现代交通系统中的潜力与挑战。本研究不仅展示了AI技术在改善城市交通中的有效性,同时也指出了实施过程中需要克服的技术和社会障碍。
|
监控 网络协议 安全
网络攻击的常见手段
网络攻击的常见手段
632 0
|
6月前
|
机器学习/深度学习 运维 监控
[VLDB 2025]面向Flink集群巡检的交叉对比学习异常检测
阿里云与华东师范大学合作论文《Noise Matters: Cross Contrastive Learning for Flink Anomaly Detection》被VLDB 2025接收。该研究聚焦Flink集群热点机器异常检测,提出跨对比学习方法,结合先验知识优化模型训练,有效应对噪声数据干扰,提升检测准确率。该技术已应用于Flink集群智能巡检系统,助力运维风险预警。
335 0
【Matlab 2019b】Matlab在figure中如何把横坐标或者纵坐标单位转换为10的几次方
本文提供了在Matlab中如何改变图形坐标轴单位的方法,举例说明了如何将横轴刻度标签设置为特定的年份,并调整刻度取值以匹配自变量的变化。
2458 1
|
机器学习/深度学习 人工智能 自然语言处理
GLM-Edge:智谱开源的端侧大语言和多模态系列模型
GLM-Edge是智谱开源的一系列端侧部署优化的大语言对话模型和多模态理解模型,旨在实现模型性能、实机推理效果和落地便利性之间的最佳平衡。该系列模型支持在手机、车机和PC等端侧设备上高效运行,适用于智能助手、聊天机器人、图像标注等多种应用场景。
577 7
GLM-Edge:智谱开源的端侧大语言和多模态系列模型
|
存储 监控 安全
公司监控电脑:Tcl/Tk 用于构建监控系统的图形界面
本文介绍了如何使用 Tcl/Tk 构建公司电脑监控系统的图形界面。主要内容包括创建主窗口、显示监控信息的文本框以及绘制监控数据图表。通过这些代码示例,可以逐步构建一个功能完善的监控系统,为公司的信息安全和资源管理提供支持。
241 1
|
数据采集 搜索推荐 算法
蚂蚁seo的蜘蛛池原理与如何使用?
《揭秘蜘蛛池:原理与使用方法全解析》深入介绍了蜘蛛池的概念、工作原理及使用技巧。蜘蛛池通过吸引搜索引擎蜘蛛频繁访问特定网页,提高网页收录速度和概率。文章详细解析了蜘蛛池的链接储备、吸引策略、爬行路径引导等核心机制,并提供了选择服务、提交链接、监测效果等实用指南,强调合法合规使用的重要性。
533 4
|
人工智能 前端开发 JavaScript
AI+脚本让我的效率翻倍,你也可以试试
本文分享了一名高级软件工程师如何利用 AI 工具(如 VSCode 插件 Codeium、通义灵码,及网页端的通义千问和 GPT-4)提升工作效率的经验。从代码生成、单元测试、脚本生成到文本润色,再到新框架学习,AI 工具在多个方面显著提高了开发效率和代码质量。文章还提供了具体示例和注意事项,帮助读者更好地应用这些工具。
628 1