机器学习应用系统设计 第一章

第一章 机器学习项目流程

1.1 如何利用机器学习

机器学习常见用途:针对于未知数据,根据以往经验,由计算机系统完成某些预测。

对未知数据进行预测,通常使用监督学习。

监督学习就是根据已知数据(训练数据)和某种算法,确定输入数据和输出数据之间的相关性(即模型),再根据建立得到的这个模型去预测未知数据的一个软件程序。

模型,就是将输入数据和输出数据之间不明显的相关性,用公式或者规则等简单结构形式近似表达得到的结果。

监督学习包括两个阶段:获得已知数据的输入和输出的相关性的学习阶段和根据位置数据通过模型获得预测输出的预测阶段

1.2 机器学习项目的流程

实施项目前需要遵循的推进流程

1.2.1明确定义的问题

明确定义需要解决的问题,明确目的以及明确针对解决问题所设立的假设和解决思路。确定项目的KPI。

1.2.2考虑机器学习以外的方法

需要实现大批量三个月后月的自动处理

适合机器学习方法的问题符合以下条件

 条件
1针对大量数据,能够高效稳定地做出判断
2允许预测结果中存在一定数量的错误。

 

一般需要先开发一个最简可行产品(MVP)

1.2.3 进行系统的设计

设计系统的要点:

1.如何利用预测结果

2.在哪里尼姆预测错误。

机器学习系统设计需要考虑的问题

 问题
1系统整体如何弥补错误
2是否需要人工确认或修正
3必要的话在哪里弥补预测错误
4控制系统整体风险:增加人工确认预测结果的环节,预测结果不会产生重大恶果的地方利用应用程序。

 

1.2.4选择算法

不了解数据的特性,采用聚类等非监督学习或者散布图,矩阵等方法。

根据设想的数据量判断采用在线学习还是批量学习。

1.2.5确定特征、训练数据和日志

确定好特征,将特征表示成数值向量。

获取高质量的正解标签

做好日志设计

1.2.6执行前处理

前处理依赖于任务的性质内容。前处理是将数据(通过剔除无关信息)整理成机器学习所利用形式的数据的重要过程。

解决问题的重要环节

1.2.7学习与参数调整

1.2.8系统实现

1.3 实际机器学习问题的处理方法

实际系统中存在的机器学习方面的问题
 问题
1存在概率性处理,所以难以进行自动化测试
2长期运行以后,由于存在趋势变化而导致输入出现倾向性变化
3处理管道复杂化
4数据依赖关系复杂化
5实验代码或者参数残留
6开发和实际的语言/框架变得智力破碎

 

对应上述问题实现具有针对性的设计
 设计
1人工准备标准组对,用来监控预测性能(1,2,4)
2预测模型块化,以便能够进行算法的A/B测试(2)
3模型版本管理,随时可以回溯(4,5)
4保存每个数据处理管道(3,5)
5统一开发/实际环境的语言/框架(6)

1.3.1人工准备标准组对,用来监控预测性能

针对方案
实现准备好的数据和正确解答测定预测性能(1)
仪表板监控预测性能,超过设定阈值发出劲爆,感知长期运行时的倾向性变化(2)
可能会出现只更新了预测模型而忘了更新词典(4)

1.3.2预测模块箱模块化,以便能够进行算法的A/B测试

同时采用多个预测模型,对其进行模块化以便于形成多种互换组合,从而实现A/B测试(对照实验或者随机实验)。

1.3.3模型版本管理

进行模型源代码处理

文档形式记录那些数据生成模型,能够缓解4所指的数据依赖问题。

实验代码和算法参数散落在代码里的问题,借助模型的版本管理和文档化,也可以解决。

1.3.4保存每个数据处理管道

保存特定的最优化参数

1.3.5统一开发/实际环境的语言/框架

1.4机器学习系统的成功要素

需要四种类型的人

1.产品系统相关专业知识的人

2.熟悉统计学或者机器学习的人

3.具有数据分析基础平台开发能力的人

4.负责任

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南楚巫妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值