培训并部署模型

清除、准备数据并移动到对象存储后,即可培训并部署模型。

创建和训练模型

创建模型时,指定培训数据资产并设置一些参数。在创建模型时,会自动对其进行培训。

下图显示了此过程。

下面是 training-flow.png 的说明
插图 training-flow.png 的说明

下面是创建和培训模型的过程:

  1. 创建项目。您在 OCI 的区间中创建了项目,并为项目命名。区间可以是一个专门用于存放一个或多个异常检测项目的区间。
  2. 指定培训数据资产,即对象存储中的文件。文件应干净,可供培训。否则,可以使用 OCI 服务(例如数据科学)来执行清理和预处理。文件可以采用 CSV 格式,也可以采用 JSON 格式。
  3. 创建模型。创建模型时,请选择培训数据资产并设置“假报警概率”和“培训分数比率”。在创建过程中对模型进行培训。

“异常检测服务”文档提供了有关如何执行此操作的详细说明。您可以使用控制台 UI,也可以使用 REST API。

下面是设置误报概率和车量比的一些指导:

误报概率
这是检测到的异常实际上不是异常的概率。将此值设置为接近在实际业务方案中找到的异常百分比的相同级别。值 0.01 (1%) 适合许多情况。该值越低,训练模型所需的时间就越长。此外,如果将目标误报概率设置为太低,则模型可能无法实现目标。
培训分数比率
这是用于培训的数据量。例如,值 0.7 指定 70% 的数据用于培训,30% 用于测试和评估模型的性能。

部署和测试模型

创建模型后,必须先部署模型,然后才能使用该模型。

部署模型后,它就可以接收要测试异常的数据。

可以使用控制台 UI 部署模型,也可以使用 REST API。部署模型时,应为其指定名称。您还可以为其提供说明,但这是可选的。一个模型可以有多个部署。

以下屏幕截图显示了控制台 UI 中的模型示例。要添加部署,请单击添加部署按钮。

下面是 add-deployment.png 的说明
插图 add-deployment.png 的说明

检测异常

您可以按批处理提交异常检测的数据,也可以检测流数据中的异常。

下图说明了批处理体系结构。

后面是 predictions-batch-flow.png 的说明
插图 predictions-batch-flow.png 的说明

批处理如下:

  1. 数据从流式处理收集到对象存储桶中,或通过 Oracle Data Integration 从其他数据库收集。
  2. 对象存储是用于异常检测服务要处理的批数据的登录区域。
  3. 可以在托管应用、容器或通过无服务器函数完成数据预处理。处理的数据将发送到异常检测服务。
  4. 异常检测服务使用在培训阶段训练和部署的模型进行预测。
  5. 异常检测服务生成的推断将成为通过 REST 发送到应用程序或通知平台的即时操作。
  6. 异常检测服务推断结果可以存储在对象存储中,以供日后在分析、日志记录和通知服务中使用。

流式处理体系结构比批处理体系结构更为复杂,但是在需要实时或接近实时异常检测时需要此体系结构。

下图说明了流式体系结构。

后跟 预测 -streaming-flow.png 的说明
插图谓词 -streaming-flow.png 的说明
  1. 流式处理服务从不同的流式数据源收集数据。
  2. 如果需要,可以在托管应用、容器或无服务器函数上完成数据预处理。处理的数据将发送到异常检测服务流接口。如果数据已知且不需要额外处理,则流可以直接连接到异常检测服务。
  3. 异常检测服务使用在培训阶段培训和部署的模型进行预测。
  4. 异常检测服务将推断信息发布到输出流中,以便执行和记录操作。
  5. 异常检测服务生成的推断将成为通过 VM 或容器上的应用或通过无服务器函数发送到应用程序或通知平台的即时操作。
  6. 异常检测服务的输出流可以填充管道以进行下游操作和分析。

异常检测服务推断结果可以存储在对象存储中,以供日后在分析、日志记录和通知服务中使用。