一文讲解Web开发的机器学习框架

开课吧开课吧锤锤2021-07-14 11:03

如今,机器学习已成为软件开发领域的一个热点。很多分析家甚至认为机器学习将彻底改变某些程序的开发过程,包括Web和移动应用。  

Web开发的机器学习框架

以下几点清楚地表明了机器学习对Web开发的强大影响:  

传统数据挖掘的良好替代品  

消除安全威胁  

机器学习API的库  

加速产品探索  

产生定制的内容和信息  

了解客户行为  

机器学习使用了一种算法,使得计算机不需要特定的编程。这是实现分析模型自动生成的最佳数据分析方法。因此,机器学习框架在Web开发中扮演了重要角色。  

机器学习使用一些算法使计算机无需明确编程即可学习。它是最好的数据分析方法,可自动创建分析模型。这就是机器学习框架在Web开发中发挥重要作用的原因。  

在本文中,我们将讨论一些机器学习框架:  

MicrosoftCognitiveToolkit  

编写语言:Python和C++  

这是Microsoft开源的深度学习工具包,用于训练算法以像人脑一样学习。通过使用此工具,您可以使用各种机器学习模型,如卷积神经网络,前馈DNN和循环神经网络。  

毫无疑问,该工具旨在使用神经网络来遍历大型非结构化数据集。通过更快的训练时间和易于使用的架构,它可高度自定义,允许您选择自己的参数,网络和算法。特别感谢它对多机多GPU后端的支持,它可以轻松超越许多竞争对手。  

下载链接:https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-your-machine  

TensorFlow  

编写语言:Python,Java和Go  

它是Java开发中最流行的机器学习框架之一。它是一个开源库,使用数据流图进行数值计算。毫无疑问,TensorFlow是GitHub上分支最多的机器学习项目,也是参与人数最多的项目。  

TensorFlow的灵活架构使用户可以轻松地使用单个API在一个或多个GPU或CPU上实现计算,无论是台式计算机,服务器还是移动电话。  

下载链接:https://www.tensorflow.org/  

ApacheMahout  

编写语言:Java和Scala  

它是Apache提供的另一种最受欢迎的开源产品,主要面向统计学家,数据科学家和数学家,因此他们可以快速执行自己的算法。此外,它是一个分布式线性代数框架,用于创建具有可扩展性能的机器学习应用程序。Mahout主要关注协作分组,过滤和分类。  

此外,它使您能够在实际在大数据平台上运行的交互式环境中开发自己的数学计算,然后将完全相同的代码移动到您的应用程序中并实现。  

MahoutSamsara还提供分布式线性代数和统计引擎,它可以与交互式shell和库一起分发,以链接到生产中的应用程序。它通常使用map/reduce范例在ApacheHadoop平台上,但这并不限制对基于Hadoop的其他实现的贡献。  

下载链接:https://github.com/apache/mahout  

Caffe  

编写语言:C++和Python  

它是Java开发的深度学习框架,尤其适用于速度,表达和模块化。它由BerkleyAI研究团队开发。富有表现力的建筑鼓励个性化应用和创新。  

此外,配置选项允许用户通过配置单个指示器在GPU和CPU之间切换。Caffe的可扩展代码帮助推动了它的早期发展,使其成为另一个非常成功的GitHub机器学习项目。  

Caffe的速度使其对研究机构和工业实施具有价值。它是利用卷积神经网络为图像分类/计算机视觉开发的。它还提供了ModelZoo,它是一组预先训练的模型,不需要任何编码即可实现。  

无论如何,应该指出的是,Caffe最适合构建应用程序,而不是专门用于除人工视觉之外的任何其他应用程序。  

下载链接:http://caffe.berkeleyvision.org/  

ApacheSinga  

编写语言:C++,Python和Java  

ApacheSinga是一个可扩展且灵活的深度学习平台,用于大数据分析。它由新加坡国立大学的团队开发。该机器学习框架为大量数据中的可扩展分布式训练提供了灵活的架构。  

可扩展以在各种硬件上运行。主要应用是自然语言处理(NLP)和图像识别。  

目前,Apache孵化器项目提供了一种可以在一组节点中工作的简单编程模型。深度分布式学习在训练过程中使用模型共享和并行化。  

然而,Singa支持传统的机器学习模型,如逻辑回归。  

下载链接:  

https://hub.docker.com/r/nusdbsystem/singa/或https://aws.amazon.com/marketplace/pp/B01NAUAWZW  

AzureMLStudio  

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

下载地址:https://studio.azureml.net/  

AmazonMachineLearning(AML)  

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

下载地址:  

https://docs.aws.amazon.com/machinelearning/latest/APIReference/Welcome.html  

H2O  

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

下载地址:https://www.h2o.ai/  

MassiveOnlineAnalysis(MOA)  

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

下载地址:https://moa.cms.waikato.ac.nz/  

MLlib(Spark)  

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

下载地址:http://spark.apache.org/mllib/  

Mlpack  

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

下载地址:http://www.mlpack.org/  

Veles  

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

下载地址:https://codisec.com/veles/  

结论  

所以我们已经看到了一些用于Java开发的顶级机器学习框架。实际上,使用机器学习进行Web开发将使IT世界发生革命性的变化。然而,各种流行的机器学习框架和库都是由Python编写或主要支持的,包括Keras,Theano,TensorFlow和较小的项目,如MicrosoftAzureStudio,sci-kitlearn,Veles,Chainer和Neon。  

以上内容由开课吧小编为大家整理发布的“一文讲解Web开发的机器学习框架”一文,更多Web教程相关内容尽在开课吧广场Web教程频道。  

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享