Amazon Machine Learning 入门

创建免费账户

获得 12 个月 AWS 免费套餐,同时享受 AWS 的基本支持功能,包括全年全天候无休客户服务、支持论坛及更多。

请注意,AWS 免费套餐目前不包括 Amazon Machine Learning

问:什么是 Amazon Machine Learning?

Amazon Machine Learning 是一项机器服务,可以帮助您轻松构建预测应用程序,包括欺诈侦测、需求预报和点击预测。Amazon Machine Learning 使用强大的算法,通过发现现有数据中的规律帮助创建机器学习模型,然后使用这些规律来对新出现的数据进行预测。AWS 管理控制台和 API 提供了数据和模型可视化工具,同时提供向导,给予您全程指导,包括创建机器学习模型、衡量模型质量以及精细调整预测结果以符合应用程序要求。模型创建之后,您可以使用简单的 API 来获得应用程序的预测结果,整个过程不需要使用自定义预测生成代码或管理任何基础设施。Amazon Machine Learning 扩展能力极强,可以生成数十亿条预测结果并以极高的吞吐量实时将结果加以运用。使用 Amazon Machine Learning 不会产生设置成本,您只需要按照实际用量付费,可以先从小规模起步,再视应用程序的发展情况酌情扩展。

问:Amazon Machine Learning 有什么作用?

Amazon Machine Learning 可以用来创建各种预测应用程序。例如,您可以使用 Amazon Machine Learning 来帮助构建应用程序,使其具有各种功能,包括可疑交易标记、欺诈订单侦测、需求预报、内容个性化、用户活动预测、评论过滤、社交媒体监听、随意性文本分析以及项目推荐等。

问:什么是机器学习?

机器学习是一项可以帮助使用历史数据做出明智商业决策的技术。机器学习算法可以发现数据中存在的规律并利用这些规律来构筑数学模型。然后您可以使用这些模型对未来的数据进行预测。例如,您可以让机器学习对成功的历史交易和失败的历史交易示例进行分析,从而侦测欺诈交易。

问:Amazon Machine Learning 如何上手?

上手最好的办法是按照 Amazon Machine Learning 开发人员指南中的教程部分进行操作。该教程将在以下方面给予全程指导:从示例数据集创建机器学习模型,对创建的模型进行评估以及将其用于生成预测。在学习完教程中的内容后,您可以使用 Amazon Machine Learning 创建您自己的机器学习模型。如需更多信息,请查看 Amazon Machine Learning 开发人员指南Amazon Machine Learning API 引用

问:什么是训练数据?

训练数据的作用是创建机器学习模型。它包含有过去的已知数据点。您可以使用 Amazon Machine Learning 发现这些数据中的规律,再利用发现的规律来构建机器学习模型。

问:什么是目标属性?

目标属性是训练数据中的一项特殊属性,训练数据包含了 Amazon Machine Learning 试图预测的信息。举例而言,假设您想构建一个模型用于预测交易是不是欺诈行为。如果交易最终被银行拒绝,则您的训练数据中会包含目标属性为“1”的过往交易元数据,反之如果银行接受了交易则包含“0”。您可以使用 Amazon Machine Learning 来发现将目标属性连接到交易元数据所存在的规律(所有其他属性)。如果没有目标属性存在,您也可以使用根据这些规律生成的机器学习模型来进行预测。在此示例中,则表示在得知银行是否拒绝交易之前,根据其元数据预测交易是否是欺诈行为。

问:Amazon Machine Learning 使用什么算法生成模型?

Amazon Machine Learning 目前使用行业标准的逻辑回归算法生成模型。

问:哪些 AWS 区域提供 Amazon Machine Learning?

如需获得受支持的 Amazon Machine Learning AWS 区域列表,请访问适用于所有 AWS 全球基础设施的 AWS 区域表。有关更多信息,另请参阅 AWS 一般参考中的“区域和终端节点”。

问:Amazon Machine Learning 的服务可用性水平如何?

Amazon Machine Learning 采用的设计旨在提供高水平的可用性。没有维护窗口期或计划停机时间。针对模型训练、评估和批量预测的 API 运行在 Amazon 稳定可靠且可用性高的数据中心中,相关的服务堆栈会在每个 AWS 区域中的三处数据中心进行复制配置,以实现容错,防止服务器故障或可用区中断等事故导致的损失。

问:Amazon Machine Learning 有哪些安全防护保障?

Amazon Machine Learning 保证机器学习模型和其他系统项目在传输和静止状态下全部经过加密。对 Amazon Machine Learning API 和控制台发出的请求全部在安全 (SSL) 连接中进行。您可以使用 AWS Identity and Access Management (AWS IAM) 控制可以访问特定 Amazon Machine Learning 操作和资源的 IAM 用户。

回到顶部 >>

问:用户数据在何处存放?

您可以使用 Amazon Machine Learning 读取三个数据存储空间中的数据:(a) Amazon S3 中的一个或多个文件、(b) Amazon Redshift 查询的结果、(c) 利用运行 MySQL 引擎执行的 Amazon Relational Database Service (RDS) 查询的结果。其他产品中的数据通常可以在 Amazon S3 中导出为 CSV 文件,使其可以供 Amazon Machine Learning 使用。关于配置权限让 Amazon Machine Learning 访问支持的数据存储的详细说明,请参考 Amazon Machine Learning 开发人员指南

问:对于训练可以使用的数据集有没有大小限制?

Amazon Machine Learning 可以训练的模型的数据集最大不可以超过 100GB。

问:如何确定我的数据是否有错误?

您可以使用 Amazon Machine Learning 来检测数据格式化错误。Amazon Machine Learning 服务控制台具有数据洞察功能,可以帮助您发现深藏于数据中的错误。例如,空的字段或者包含非预期值的字段。即使存在少量的两种数据错误,Amazon Machine Learning 也可以训练机器学习模型并生成准确的预测结果。即便发现一些不正确或无效的数据,请求一样可以成功。

问:如果数据不完整或遗漏了一些信息,应该怎么办?

始终保证数据的完整性和准确性处于最高水平是最理想的状态。不过 Amazon Machine Learning 的算法可以允许存在少量不完整或遗漏的信息而不对模型质量产生负面影响。但是随着错误数量的增加,生成的模型质量也会随之降低。当因故障而中断处理的记录数量大于 10000 或达到数据集中全部记录量的 10%(以先到者为准),则 Amazon Machine Learning 会停止处理您的模型训练请求。

要纠正不完整或遗漏的信息,您需要返回主数据源,然后修改该来源中的数据,或者将发现的包含不完整或遗漏信息的项目从用于训练 Amazon Machine Learning 模型的数据集中排除。例如,您发现 Amazon Redshift 表中的一些行包含无效的值,则可以修改用于为 Amazon Machine Learning 选择数据的查询,以排除这些行。

问:如何确定模型是否生成了准确的预测结果?

Amazon Machine Learning 包含强大的模型评估功能。您可以使用 Amazon Machine Learning 针对任何模型来计算行业标准的评估指标,帮助了解这些模型的预测质量。还可以使用 Amazon Machine Learning 来保证模型评估的公平性,方法是将一部分用于评估目的的训练数据从中去除,确保模型永远不会使用之前训练时已经出现过的数据点进行评估。Amazon Machine Learning 服务控制台提供了强大且易于使用的工具,帮助您发现和理解模型评估的结果。

问:如果模型给出的结果不符合我的要求,怎么进行调整?

提高模型质量最好的方法是在训练中增大数据量并提高数据质量。增加更多观察结果、添加更多信息类型(功能)、转换数据以优化学习过程(功能设计),这些都是改善模型预测准确度的好方法。您可以使用 Amazon Machine Learning 创建大量原型模型,还可以使用 Amazon Machine Learning 内建的数据处理器来进行一些常见类型的功能设计,整个过程极其简单,如同在内建的“方法”语言中编辑一行文字。此外,当您创建了指向数据的新数据源对象时,Amazon Machine Learning 还可以根据您的数据自动创建建议的数据转换方法,该方法会根据您的数据内容自动进行优化。

Amazon Machine Learning 还提供多种参数用于优化学习过程:(a) 模型目标大小、(b) 对数据执行操作的次数、(c) 应用于模型的规则化的类型和多少。Amazon Machine Learning 的默认设置已经可以胜任许多真实世界中的机器学习任务,但是您也可以根据需要使用服务控制台或 API 对其进行调整。

最后,对于模型优化还需要特别注意的一点是,机器学习模型生成的预测结果如何被应用程序理解的问题,以及如何以最佳的方式将其与企业目标协调一致的问题。Amazon Machine Learning 可以帮助您调整二进制分类模型的解释分界点,让您在面对经过训练的模型可能犯的各种错误时找到最合适的平衡点。例如,一些应用程序对误报的错误宽容度比较高,但是对漏报的错误十分抵触,Amazon Machine Learning 服务控制台可以帮助您调整分界点以符合此类要求。更多信息请参考 Amazon Machine Learning 开发人员指南中的评估机器学习模型

问:能否将模型从 Amazon Machine Learning 中导出?

不行。

问:能否将已有的模型导入 Amazon Machine Learning?

不行。

问:Amazon Machine Learning 是否需要对数据进行永久复制以创建机器学习模型?

不需要。Amazon Machine Learning 只需要获得对数据的读取权限即可对数据进行规律发现和提取的操作,并将其存储到机器学习模型中。机器学习模型不是数据的副本。当访问 Amazon Redshift 或 Amazon RDS 中储存的数据时,Amazon Machine Learning 会将查询结果导出到您选择的一个 S3 位置,然后再从 S3 中读取这些结果。您拥有此临时数据副本的完整所有权,可以在 Amazon Machine Learning 操作完成后将其删除。

回到顶部 >>

问:模型准备好以后,如何获得应用程序的预测结果?

有两种方法可以使用 Amazon Machine Learning 获得预测结果:使用批处理 API 或实时 API。批处理 API 用于请求大量输入数据记录的预测结果,可以离线使用,一次可返回全部预测结果。实时 API 用于请求个别输入数据记录的预测结果,可立即返回预测结果。实时 API 可应对高吞吐量需求,同时生成多条预测结果以响应并列请求。

只要是通过 Amazon Machine Learning 构建的机器学习模型都可以使用批处理 API 或实时 API,您可以根据应用程序的需求自由选择。通常情况下,批处理 API 适合需要处理大量数据记录的应用程序,而实时 API 则适合交互式 Web、移动和桌面应用程序。

问:Amazon Machine Learning 实时 API 生成预测结果的速度有多快?

大多数实时预测请求返回应答的时间不超过 100 毫秒,其速度足以应对交互式 Web、移动和桌面应用程序。实时 API 生成预测结果的准确时间取决于输入数据记录的大小,并且与生成预测结果的机器学习模型关联的数据处理“方法”的复杂程度有关

问:Amazon Machine Learning 支持的并发实时 API 请求的数量是多少?

每个开启了实时预测功能的机器学习模型都会分配一个终端节点 URL。根据默认,您每秒可以从任意一个实时预测终端节点中请求最多 200 条交易。如果这一限制不能满足您的应用程序的需求,请联系客户支持人员

问:Amazon Machine Learning 返回批量预测结果的速度有多快?

批量预测 API 速度很快而且效率很高。决定批量预测结果返回速度的因素是多方面的,包括但不限于:(a) 输入数据的大小、(b) 与生成预测结果的机器学习模型关联的数据处理“方法”的复杂程度、(c) 账户中同时运行的其他批量作业(数据处理、模型训练、评估及其他批量处理请求)的数量。默认情况下,Amazon Machine Learning 可同时执行最多 5 个批处理作业。如果这一限制不能满足您的应用程序的需求,请联系客户支持人员。

问:如何监控预测的性能?

监控预测性能主要有两种方式:(a) 监控批量预测和实时预测的流量水平,(b) 监控预测模型的质量。

您可以通过查看 Amazon CloudWatch 指标来监控预测流量的水平,Amazon Machine Learning 会将这些指标发布到您的 CloudWatch 账户中。对于在监控时间里接收了批量预测结果或实时预测结果的每个机器学习模型 ID 而言,Amazon Machine Learning 将公布从中成功生成预测的数据记录的数量和因解析失败而导致没有生成任何预测结果的机器学习记录的数量。

为监控机器学习模型随时间变化的质量,行业最佳实践是定期捕捉应用程序提交用于预测的数据记录的随机样本,获得真实的答案(也称为“目标”),然后使用 Amazon Machine Learning 对所产生的数据集创建评估。Amazon Machine Learning 会通过对比目标和正在生成的预测结果计算出模型质量指标。如果您发现指标的质量在逐渐下降,这可能表示您需要利用新的数据点来训练新的模型了,因为原先用于训练模型的数据已经不再符合现实情况的需要了。举例来说,如果使用机器学习模型来侦测欺诈交易,您可能发现侦测的质量随时间而逐渐下降,这是因为进行模型训练时未知的交易欺诈新方法已经出现了。只要利用最新的欺诈交易示例训练新的机器学习模型,就能阻止这种趋势的蔓延,让 Amazon Machine Learning 可以发现能够识别这些交易的规律。

回到顶部 >>