机器学习和深度学习简介_机器学习堆栈简介

机器学习和深度学习简介

机器学习堆栈简介

数据科学是推动人工智能(AI)和机器学习(ML)的最新发展的潜在力量。 这导致ML库的巨大增长,并使像Python这样的既定编程语言比以往任何时候都更受欢迎。

将它们放在一起是有意义的(即使它们是不可互换的),因为存在大量的重叠。 在某些方面,我们可以说数据科学是关于产生洞察力,而AI是关于产生行动,而ML则专注于做出预测。

为了更好地理解AI和ML中数据科学的内部工作原理,您必须直接进入下面列出的机器学习工程堆栈,以了解其用法。

作为我们对Springboard AI /机器学习职业轨迹 (具有工作保障的第一个在线机器学习课程)的研究的一部分,我们精心挑选了一些工具和所需资源。

彗星
彗星

CometML是一种较新的产品,旨在为机器学习提供GitHub为代码所做的功能。 GitHub因其在组织工作流和维护项目的版本控制方面的灵活性而受到赞誉,其中有多个开发人员在同一代码库上工作。 同样,CometML允许数据科学家和开发人员有效地跟踪,比较和协作进行机器学习实验。 在训练模型时,CometML会跟踪和绘制结果图形。 它还跟踪代码更改并将其导入。

开发人员可以将CometML集成到大多数机器学习库中,包括PyTorch,Keras和Scikit-learn,因此不会中断现有工作流程。 您只需拥有一项新的补充服务,即可帮助您更深入地了解实验。 您可以使用两行代码在任何jupyter笔记本中部署CometML。

首先,您只需设置一个免费帐户,将Comet跟踪代码添加到您选择的机器学习应用中,然后照常运行实验。

Comet与GitHub和其他git服务提供商合作。 完成项目后,您可以直接向GitHub存储库生成拉取请求。

有关更多信息,请查阅Comet的文档 ,该“ 备忘单 ”(供用户使用)以及Comet.ml首席执行官Gideon Mendels的数据委员会介绍

达斯克
达斯克

开发Dask -ML的目的是为分析提供高级并行性,同时提高Pandas和NumPy工作流等工具的规模性能。 它还通过将低级API暴露给其内部任务计划程序来执行高级计算。

对于机器学习项目,Dask-ML是克服长时间培训和庞大数据集的有用工具。 实际上,通过用Dask-ML数组替换NumPy数组,可以更轻松地扩展算法。 Dask-ML利用Dask工作流程来准备数据。 然后可以将它与Dask-ML一起快速部署到TensorFlow之类的工具中,以移交数据。

查阅以下Dask-ML资源:

码头工人
码头工人

Docker在机器学习堆栈中的作用是简化安装过程。 对于数据科学家而言,这对于那些花费大量时间尝试解决配置问题的人来说可能是一个天赐之物。 Docker背后的主要思想很简单:如果它在Docker容器中工作,那么它将在任何机器上工作。

这个开源软件平台使使用流行操作系统上的容器的虚拟机开发,部署和管理变得更加容易。 由于其强大的辅助工具生态系统,您可以编写一个构建Docker映像的Dockerfile,其中包含任何给定项目所需的大多数库和工具。

DockerHub是GitHub对Git的意义。 这个平台使共享您的Docker映像和帮助他人进行项目变得更加容易。 但是,只有将机器学习添加到混合中,才能实现Docker的真正潜力。

例如,您可以使用带有容器的应用程序,使用面部识别功能在社交媒体平台上搜索数百万张个人资料图片 。 在这种情况下,Docker简化了工作,使其具有可扩展性,并允许企业专注于其目标。

可以说ML是Docker带来的革命,因为它允许创建有效的应用程序体系结构。

如果您以前从未使用过Docker,那么最好从Docker Orientation开始。

的GitHub
Github

GitHub是一个Git存储库托管服务和开发平台,商业和开源社区都可以在其中托管,管理项目,查看代码和开发软件。 GitHub拥有超过3,100万开发人员的支持,它提供了一个高度用户友好的基于Web的图形界面,使开发项目的管理更加轻松。

有几种协作功能,例如基本任务管理工具,Wiki和访问控制。 无论您是初学者还是专业人士,此平台都拥有丰富的资源供您使用。

freeCodeCamp提供了有关 Git的介绍以及如何使用它来提交/保存文件以进行协作。

可以为您的下一个项目提供帮助的ML资源包括:

Hadoop的
阿帕奇Hadoop

Hadoop是一个Apache项目,可以描述为一个软件库和框架,它可以使用简单的编程模型对来自多台计算机的大型数据集进行分布式数据处理。

实际上,Hadoop可以从一台计算机扩展到数千个提供计算能力和本地存储的商品系统。 Hadoop框架由以下模型组成:

  • Hadoop分布式文件系统(HDFS)
  • Hadoop常见
  • Hadoop纱
  • Hadoop MapReduce

您还可以使用以下模型进一步扩展Hadoop的功能和范围:

  • 安巴里
  • 阿夫罗
  • 卡桑德拉
  • 水槽
  • 蜂巢
  • Oozie
  • Sqoop

对于希望通过ML快速处理大型,复杂数据集的公司而言,Hadoop是理想的选择。 可以在Hadoop的MapReduce中实施机器学习,以快速识别模式和深刻见解。

为此,您必须在Hadoop之上运行ML库Mahout 。 要了解有关在Hadoop上使用Mahout的更多信息,请查看以下资源:

凯拉斯
凯拉斯

用Python编写的Keras是高级神经网络API。 由Google的AI研究人员和软件工程师Fransois Chollet以及Wysp的创始人FrançoisChollet所著Keras旨在提供高度用户友好和快速的设计。

使用Keras,您可以轻松地在CNTK,TensorFlow或Theano上运行实验。 对于需要深度学习库的项目来说,它是理想的选择,该库需要通过模块化和可扩展性来适应快速原型开发。 它还支持循环和卷积网络,并且可以在CPU和GPU上无缝运行。

要更好地了解其工作原理,请查看Chollet的访谈 。 您还可以在GitHub上找到更多Keras资源

路易吉
路易吉

Luigi是在Spotify内部使用的Python框架。 使用此工具,您可以构建批处理作业的复杂管道,并有效管理依赖性解析,可视化,工作流等。

它旨在解决不可避免的长期运行的批处理流程所带来的挑战。 Luigi使自动化和管理长期运行的任务变得更加容易,例如数据往返数据库,Hadoop作业以及运行ML算法的数据转储。

级联,Hive和Pig等工具可以有效地管理数据处理的较低层次,但是Luigi可以帮助您将它们链接在一起。 例如,您可以将Java中的Hadoop作业缝合在一起,从数据库中转储表,Hive查询或Python中的Spark作业。 由于Luigi负责工作流管理,因此您可以专注于任务及其依赖项。

有用的路易吉资源包括:

大熊猫
大熊猫

对于使用Python进行编码的数据科学家而言, Pandas是重要的工具,通常是许多大数据项目的骨干。 实际上,对于任何想从事数据科学或机器学习职业的人来说,学习Pandas至关重要,因为这是清理,转换和分析数据的关键。

通过将CSV文件中的信息提取到DataFrame或表中,可以使您轻松熟悉数据。 它还可以执行计算,可视化并在存储之前清理数据。 后者对于ML和自然语言处理至关重要。

查看此熊猫教程以获取更多信息。

火炬
火炬

PyTorch用Python编写,是Python Torch库(用Lua编写)的后继者。 PyTorch由Facebook开发,并由Salesforce,Twitter和牛津大学等主要公司使用,PyTorch为DL平台提供了最大的灵活性和速度。

它也可以替代NumPy,因为它可以更好地利用GPU的功能。 由于它基于操作系统或程序包管理器等系统属性,因此安装非常简单。 PyTorch可以在命令提示符下的PyCharm之类的IDE中安装。

PyTorch擅长以简单的方式显示过程,并且包括大量预先准备的模型和易于合并的特定零件。

要深入了解ML中的PyTorch ,请收听 Facebook AI研究实验室研究工程师Soumith Chintala的 访谈 。 GitHub平台上还有更多PyTorch教程

火花
Apache Spark

Apache项目Spark可以描述为一个开源的通用分布式数据处理引擎。 它是一种高度灵活的工具,可用于访问各种来源的数据,例如Amazon S3,Cassandra,HDFS和OpenStack。

如果将其与Hadoop进行比较,Spark的内存处理速度可以提高100倍,而在磁盘上的运行速度可以提高10倍左右。 当输入数据集远大于计算机内存时,您可以使用它来在本地计算机上的独立计算机上处​​理数据,甚至构建模型。 实际上,使Spark完美适合ML的是其内存中处理功能,该功能能够提供近乎实时的分析。

Spark还具有交互模式,因此用户可以立即获得有关其查询和操作的反馈。 尽管它还擅长于批处理,但它在基于机器的学习,处理交互查询,流工作负载和实时数据处理功能方面超越了竞争。

如果您已经熟悉Hadoop,则可以轻松地将Spark添加到您的武器库中,因为它具有高度的兼容性(甚至在Hadoop的项目页面上列为模块)。

Spark具有以下API,因此对用户友好:

  • Java
  • Python
  • 斯卡拉
  • Spark SQL(与SQL 92非常相似)

Microsoft的这份综合指南演示了如何使用Spark训练和创建ML模型。

scikit学习
scikit学习

Scikit-learn是一个用于Python的开源ML库,其特征在于支持k邻域,随机森林和向量机的算法。 它还支持NumPy和SciPy等Python的数字和科学库。

到目前为止,Scikit-learn是最干净,最简单的ML库,可容纳多种有监督和无监督的算法。 该工具以工程思维方式设计,非常易于使用,功能强大且灵活,可运行端到端ML研究项目。

要了解有关在ML中如何使用Scikit-learn的更多信息,可以浏览以下资源:

TensorFlow

开源编程库TensorFlow旨在帮助ML算法​​构建和训练框架和神经系统,以模仿人类的感知,思维和学习。 Google的一些领先产品 ,尤其是Google Translate ,都使用TensorFlow。

它通过使用不同的提升策略来工作,从而使数字关节的计算要求不高,同时提高了整体性能。 但是,TensorFlow可能比Keras或PyTorch更具挑战性,并且需要大量标准编码。

TensorFlow资源:

显然,机器学习工程师的工具箱功能强大。 可用的技术财富非常可观,而且势不可挡。 但是,如果您是Python开发人员,那么拿起ML堆栈的主要组件将非常容易。 如果您觉得需要帮助,Springboard提供了精选的课程,工作保障和与机器学习专家(包括您自己的个人导师,通过AI /机器学习职业生涯)的无限制电话联系。

翻译自: https://hackernoon.com/introduction-to-the-machine-learning-stack-f5b64bba7602

机器学习和深度学习简介

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值