亚马逊机器学习服务有两个层面:Amazon ML的预测分析和数据科学家的SageMaker工具。
用于预测分析的亚马逊机器学习是市场上最自动化的解决方案之一,该服务可以加载来自多个来源的数据,包括Amazon RDS,Amazon Redshift,CSV文件等。所有数据预处理操作都是自动执行的:该服务标识哪些字段是分类的,哪些是数字的,并且不要求用户选择进一步数据预处理的方法(降维和白化)。
Amazon ML的预测能力限于三种选择:二元分类、多类分类和回归。也就是说,这个Amazon ML服务不支持任何无监督的学习方法,用户必须选择一个目标变量在训练集中标记它。并且,用户不需要知道任何机器学习方法,因为亚马逊在查看提供的数据后自动选择它们。
这种高度自动化水平既是亚马逊ML使用的优势也是劣势。如果您需要全自动但有限的解决方案,该服务可以满足您的期望。如果没有,那就是SageMaker工具。
亚马逊SageMaker和基于框架的服务:
SageMaker是一个机器学习环境,通过提供快速建模和部署工具来简化同行数据科学家的工作。例如,它提供了Jupyter(一款创作笔记本),用于简化数据浏览和分析,而无需服务器管理。亚马逊还有内置算法,针对分布式系统中的大型数据集和计算进行了优化。
如果不想使用这些功能,则可以通过SageMaker利用其部署功能添加自己的方法并运行模型。或者可以将SageMaker与TensorFlow和MXNet深度学习库集成。
通常,亚马逊机器学习服务为经验丰富的数据科学家和那些只需要完成工作而不深入数据集准备和建模的人提供足够的自由。对于那些已经使用亚马逊环境并且不打算转移到另一家云提供商的公司来说,这将是一个不错的选择。
Microsoft Azure机器学习:
Azure机器学习的目的是为新手和经验丰富的数据科学家建立一个强大的场景。微软的ML产品名单与亚马逊的产品相似,但就现在而言,Azure在现成算法方面似乎更为灵活。
Azure提供的服务可以分为两大类:Azure机器学习和Bot服务。
ML Studio是主要的MLaaS包。几乎Azure ML Studio中的所有操作都必须手动完成。这包括数据探索、预处理、选择方法和验证建模结果。
使用Azure完成机器学习需要一些学习曲线。另一方面,Azure ML支持图形界面以可视化工作流程中的每个步骤。也许使用Azure的主要好处是可以使用各种算法。 Studio支持大约100种解决分类(二元+多分类)、异常检测、回归、推荐和文本分析的方法。值得一提的是,该平台有一个聚类算法(K-means)。
Azure ML的另一大部分是Cortana Intelligence Gallery。它是由社区提供的机器学习解决方案的集合,供数据科学家探索和重用。 Azure产品是从机器学习入手并将其功能引入新员工的强大工具。
Google预测API
Google在两个层面上提供AI服务:数据科学家的机器学习引擎和高度自动化的Google预测API。不幸的是,谷歌预测API最近已被弃用,谷歌将在2018年4月30日取消插件。
Predicion API类似于Amazon ML。它的简约方法缩小到解决两个主要问题:分类(二元和多类)和回归。训练好的模型可以通过REST API接口进行部署。
谷歌没有公布哪些算法被用于绘制预测,也没有让工程师自定义模型。另一方面,Google的环境最适合在紧迫的期限内进行机器学习,并且早期推出ML计划。但是这个产品似乎并没有Google所期望的那么受欢迎,使用Prediction API的用户将不得不使用其他平台来“重新创建现有模型”。
Google云端机器学习引擎
预测API的高度自动化是以灵活性为代价的。Google ML Engine正好相反。它迎合了经验丰富的数据科学家,并建议使用TensorFlow的云基础设施作为机器学习驱动程序。因此,ML Engine原则上与SageMaker非常相似。
TensorFlow是另一个Google产品,它是一个开源的机器学习库,包含各种数据科学工具,而不是ML-as-a-service。它没有可视化界面,TensorFlow的学习曲线会非常陡峭。
似乎Azure目前在MLaaS市场上拥有功能最多的工具集。它涵盖了大多数与ML相关的任务,为构建自定义模型提供了一个可视化界面,并且为那些不想用裸手掌握数据科学的人提供了一组可靠的API。但是,它仍然缺乏亚马逊的自动化能力。
亚马逊、微软和Google的机器学习API比较
除了成熟的平台之外,开发者还可以使用高级API。 这些都是在训练有素的模型下的服务,API不需要机器学习专业知识。 目前,这三家厂商的API大致可分为三大类:
1)文本识别,翻译和文本分析
2)图像+视频识别和相关分析
3)其他,包括特定的未分类服务