机器学习模型运用方法综述
作者头像
  • 自广
  • 2019-10-12 18:31:04 0

机器学习模型的应用场景非常广泛,例如在客户流失预测中,当客户拨打客服电话时,系统不仅能够查询到相关的统计数据,还能通过额外的计算来更新模型。

通常,有许多方法可以训练和部署模型:

  • 训练:包括一次性训练、批量训练和实时(在线)训练。
  • 应用:包括批量应用和实时应用(如数据库触发器、发布/订阅模式、Web服务、应用程序内处理)。

每种方法都有其优缺点,需要根据实际情况进行权衡。

一次性训练

模型在实际应用之前,不需要频繁地重复训练。通常情况下,数据科学家在完成模型训练后即可投入使用,只有在模型性能不再满足需求时才需要更新。

模型格式

  • Pickle:将Python对象转换为字节流并存储在磁盘上,方便后续加载和使用。
  • ONNX:一种开放的神经网络交换格式,支持跨平台和跨语言的模型迁移。
  • PMML:预测模型标记语言,主要用于预测模型的交换,支持部分类型的模型。
  • POJO/MOJO:H2O.ai提供的两种导出格式,适用于Java应用,便于嵌入。

批量训练

虽然并非所有模型都需要实时更新,但批量训练可以通过最新的训练结果不断刷新模型版本。这种方法可以通过AutoML框架实现自动化,从而提高效率。

实时训练

实时训练通常通过“在线机器学习”模型完成,如K-均值、线性回归和逻辑回归等算法。Spark中的StreamingLinear算法和Sklearn的SGDRegressor等工具支持增量训练。

然而,实时训练需要严格的操作支持和监控,因为模型对新数据和噪声非常敏感。此外,模型的历史信息不会衰减,这意味着如果数据结构发生变化,可能需要重新训练模型。

批量预测与实时预测的比较

选择批量预测还是实时预测,需要考虑多个因素:

  • 负载影响:实时预测需要处理高峰期,可能需要高性能的计算资源。
  • 架构影响:实时预测需要更复杂的架构设计和运维支持。
  • 成本影响:实时预测可能会增加硬件成本和运维成本。
  • 评估影响:实时预测的评估比批量预测更加复杂。

批量预测集成

批量预测依赖于预测模型和特征数据。通常,ETL流程会从特定数据存储或多个数据集中提取特征,并提供给预测模型。预测完成后,结果会被应用到不同的系统中,例如缓存或NoSQL数据库。

实时预测集成

实时预测需要三个基本组件:用户配置文件、触发器和预测模型。

  • 配置文件:包含了用户的所有属性和必要的预测属性。
  • 触发器:触发预测过程的事件,如客户服务请求等。
  • 模型:通常导出为Pickle、ONNX或PMML格式,便于集成到生产环境中。

此外,还可以通过数据库集成、发布/订阅模型、Web服务或应用程序内处理等方式将模型应用于评分产品中。

数据库集成

对于较小规模的数据库,可以直接在数据库中集成Python或R代码,或者导入PMML模型。这可以简化模型的应用过程,提高效率。

    本文来源:图灵汇
责任编辑: : 自广
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
综述模型运用机器方法学习
    下一篇