| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 机器学习开发项目流程 -> 正文阅读 |
|
[人工智能]机器学习开发项目流程 |
机器学习不只是模型! 传统的软件开发流程大致如下: 1. 机器学习开发流程本篇基于前文 机器学习项目周期进行进一步拓展。 1.1 数据一切从数据开始。 对于要实现的项目目标,我们是否能获取到有效数据来支持项目开发? 数据的质量比模型本身更重要,高质量的数据是机器学习开发的关键。 但通常我们很难找到符合要求的数据,这种情况下,可以通过第三方服务获取数据,并建立自己的数据管理通道。 当我们拥有有效的数据,就可以对数据进一步进行矢量化和特征化处理,以用作模型训练。 1.2 模型选择面对业务问题时,选择要使用的模型类型通常是一个艰巨的任务。 开发人员倾向于根据现有文献和以往经验做出第一选择。 一些通用的模型选择法则可以帮助开发人员做出选择。 例如,
选好模型后,开发人员要决定使用哪个框架来实现所需的模型。 近年来,由于出现了通用模型文件格式 ONNX,不同框架之间的交互性有了很大提升。 1.3 模型训练模型训练是时间成本最高的阶段。 如何选择训练模型的硬件和基础设施,很大程度取决于模型中参数的数量以及数据集的大小。 调参也是模型训练重要的一部分,常用的寻找超参数的方法有「网格搜索」和「超参数搜索」。 更先进的方法,可以使用「贝叶斯优化」和「强化学习」来调整超参数,当然这里存在一些自动调参的工具,像 AutoML。 模型训练完成后,应根据交叉验证准确率、精度、召回率、F1 分数和 AUC 等性能指标对其进行评估。 这些指标应记录在数据库中以备将来使用。 1.4 模型测试模型经过训练后,利用训练数据集的测试集,应对模型进行全面的测试,这个过程通过 CI/CD 来完成(CI/CD 是一种自动化的系统,可以简化软件交付过程)。 每个模型都应该接受定量的 「单元测试」(链接是关于测试的一些内容)。 1.5 模型部署模型经过训练和测试后,需要在生产中部署。 当前的实践通常推动将模型部署为「微服务」,或者可以通过 API 调用进行查询和交互的代码包。 成功的部署通常需要构建实用程序和软件,开发人员可以使用这些实用程序和软件来打包他们的代码,并以稳健的方式快速迭代模型。 最后,后端和数据工程师可以有效地将结果转化为大规模部署的适当架构模型。 以上的每个阶段都存在挑战,无论我们处在机器学习开发的哪个阶段,从一开始做好每个阶段的规划,都将帮助我们取得好的结果。 引用 https://algorithmia.com/blog/best-practices-in-machine-learning-infrastructure |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:21:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |