跳到主要内容

机器学习的通用工作流程 — 从定义任务到部署维护

这一章讲三件事: 一个真实的机器学习项目从接活到维护的完整流程长什么样; 流程每一站各有什么经典的翻车方式;以及部署时该怎么说人话。 全章拿一个项目从头走到尾——给电商网站做信用卡欺诈检测, 从「客户提需求」一路走到「几天重训一次」,每一步都带着具体的数。 前五章教你「把模型训练好」,这一章教你「把项目做对」—— 原书的定位:这是从「会训练模型」到「能交付系统」的那一章。

1. 顶层全景

原书开场虚构了一家机器学习咨询公司,一口气接了 7 个项目—— 给图片搜索引擎加标签、拦论坛垃圾信息、做音乐推荐、检测信用卡欺诈、 预测广告点击率、识别传送带上的坏饼干、给考古卫星照片找遗址1。 这 7 个项目会贯穿全章当例子。流程本身只有三段2:

① 定义任务 —— 问题是什么、数据在哪、怎么算成功
② 开发模型 —— 准备数据 → 基准模型 → 扩大到过拟合 → 正则化调参
③ 部署模型 —— 用业务语言说性能 → 上线 → 监控 → 再训练

图说:第 05 章那条流水线(向量化→搭模型→找过拟合点→重训)只是 ② 的后半截。

本章的主走查,是这 7 个项目里的第四个:给电商网站做信用卡欺诈检测。 选它,是因为原书从头到尾提它提得最多,而且只有它带着真数字—— 书里给出这个模型上线后每天的三个数:误报 200 笔、漏报 14 笔、抓对 266 笔3

七站,全部落在这一个项目上:

① 定义任务 输入是一笔交易的一行字段,输出一个 0 或 1
② 验两个假设 拒付记录漏标了多少真盗刷?
③ 排目标泄露 三列风控事后回填的字段必须删掉
④ 选指标 精度会骗你(一律答「不是」就有 96.6%),改看召回率和准确率
⑤ 三步走 超过 96.6% 那条基准 → 扩大到过拟合 → 再往回收
⑥ 汇报与阈值 「每天误报 200、漏报 14、抓对 266」,并当场把线划在哪谈定
⑦ 生命周期 几天一轮再训练,否则交付当天就开始烂

图说:后面每一节里带「主走查第 N 步」的段落就是这七站。
其余六个项目、以及书里那几个经典翻车案例,退回举例的位置。

先把它是什么讲清楚。 你的客户是一家电商网站,每天有几千笔刷卡交易流过。 其中绝大多数是正常买东西,极少数是盗刷。客户现在靠一堆人工写的 if 判断 (「同一张卡 5 分钟内刷了 3 次就拦下来」)在挡,漏得多、误伤也多, 所以来找你换成机器学习4

但在开工前,书里先讲了一个必须讲的案例。7 个项目里有一个是「给社交媒体照片的人脸评分, 预测一个人可不可信」——书里拒绝了它:面相识人既没有科学依据,又会把训练数据里 (关于人种、性别、年龄、妆容)的偏见编码进一个看似客观的黑盒5

技术从来都不是中立的。如果你的工作对世界有影响,那么这种影响就会有一个道德维度。

2. 定义任务:先问清楚,再动手

2.1 把项目分诊到任务类型

定义任务的第一步,是把项目翻译成第 05 章的任务类型:输入是什么、预测什么、 二分类/多分类/标量回归?书里给 7 个项目逐个做了分诊4:

项目任务类型
图片搜索加标签多分类、多标签
拦垃圾信息二分类(或三分类:正常/垃圾/钓鱼)
音乐推荐矩阵分解(协同过滤)比深度学习效果更好——别上深度学习
信用卡欺诈二分类
广告点击率标量回归
坏饼干检测二分类,但前面要先做目标检测(先找到饼干在哪)
考古找遗址图像相似度排序

音乐推荐那一行值得停一下:定义任务时,「这个问题该不该用深度学习」就是要回答的问题之一—— 不是每个问题都需要它。

主走查第 ① 步:欺诈这一行摊开长什么样。 分诊结果是「二分类」, 但这四个字要落到具体的东西上才有用:

这一栏欺诈项目里具体是什么
一个样本一笔刷卡交易
输入这笔交易的一行字段:金额 320 元、时间 凌晨 3:14、商户类别 数码、卡号所在城市 上海、刷卡地 广州、这张卡最近一小时刷了几次 3……
要预测的一个 0 或 1:这笔是不是盗刷
训练标签从哪来历史交易 + 事后的拒付记录(持卡人报案说「这笔不是我刷的」)

(上面那一行字段是我们为演示编的,不是书里的——书里只说了这是二分类任务。 编它的原因是:不摆出具体字段,「输入是什么」这一步就还停在名词上。)

2.2 先验证两个假设

开干之前,有两个假设必须先验证,书里给了一个著名的反例6:

  1. 输入可以预测目标——输出 Y 和输入 X 之间得真的有关系;
  2. 现有数据里含有足够的信息来学会这层关系。

反例:拿一只股票近期的历史价格预测它的走势。历史价格里几乎不含预测性信息—— 如果「过去价格预测未来价格」这么简单就能学到,那用公开数据和公开技术, 任何人都能套利,市场早把这个机会抹平了。(第 10 章会把这个道理展开成「后视镜开车」一整节。)

主走查第 ② 步:这两个假设在欺诈项目上怎么验。

  • 第一个假设(输入能预测目标)在这里站得住,而且理由是可以说出口的: 盗刷的人拿的不是自己的卡,行为模式和持卡人不一样——半夜刷、异地刷、 连着刷小额试卡。这些都写在上面那行字段里;
  • 第二个假设(数据里信息够)才是真正要担心的那个。你手上的标签来自拒付记录, 而没被人发现的盗刷,在数据里被标成了「正常」。也就是说, 训练数据里混着一批标错的样本,而且错的全都错在同一边。 这不是「模型不够好」能补的,得先跟客户把「拒付记录覆盖多少比例的真实盗刷」问清楚。

这两条都答完,才轮到收数据。答不上来就先别写代码—— 本章最后你会看到,这个模型试了多种架构还是超不过基准时, 书里让你回头查的正是这两条7

3. 收集数据:最费力、最费钱、也最值

书里的判断很直接:数据收集通常是整个项目里最费力、最费时、最费钱的一步8。 谷歌 2009 年有篇著名文章谈「数据不可思议的有效性」——简单模型加海量数据, 经常打败精巧模型加少量数据。所以手里多出 50 个小时,投给收集和标注数据, 几乎总是比投给调模型更值9

标注的难易也天差地别,书里给了三级10: 猫狗分类,任何人都能标;犬种分类,需要懂狗的人;CT 片找骨折,需要医学学位—— 标注成本按这个顺序指数级上涨。

3.1 非代表性数据:欢迎来到机器学习苦海

一个食品照片应用,测试集精度 90%+,上线后用户暴怒:10 次里错 8 次。 原因:训练图来自一个美食家云集的社交网站(精拍、打光、构图), 而用户拍的是自家餐桌的随手拍——训练数据不能代表生产数据,这是一项大错11

3.2 概念漂移:模型是会过期的

生产数据的属性随时间变化,模型精度就跟着慢慢衰减——这叫概念漂移12:

  • 2013 年训练的音乐推荐引擎,放到今天就是不好用(用户口味变了);
  • IMDB 是 2011 年收集的,拿它测 2020 年的影评,性能已经开始下降;
  • 欺诈检测的漂移最快——因为对手在对抗你,欺诈模式几乎天天变, 唯一的活法是持续收集新数据、持续再训练。

3.3 抽样偏倚:杜威击败杜鲁门

采样过程有系统误差,叫抽样偏倚。最著名的案例是 1948 年美国大选: 《芝加哥每日论坛报》提前印出头版「杜威击败杜鲁门」——他们的民调靠电话做, 而 1948 年装得起电话的选民偏向共和党候选人杜威。第二天,杜鲁门赢了13。 样本不代表总体时,样本量再大也救不回来。

3.4 目标泄露:答案混进了特征里

最后一种数据病:目标泄露——特征里混进了「只有知道答案才知道」的信息。 书里的例子:任务是「预测病人是否会接受癌症治疗」, 而特征里有一条「此人已被诊断出患有癌症」—— 训练时模型拿满分,部署时这个特征根本不存在(那时还没诊断), 模型立刻变瞎14。对策:理解数据时逐特征问一句「这个特征在预测时刻真的拿得到吗?」

主走查第 ③ 步:欺诈项目的目标泄露长什么样。 客户导给你的历史交易表里, 往往带着几列风控系统事后回填的字段,比如:

可疑字段它是什么时候被写进去的后果
此卡已被标记为可疑这笔交易发生之后,风控人员审完才打上的模型直接照抄它,训练集上几乎不出错
该笔已进入人工审查队列同上同上
持卡人已发起拒付事发后几天才有这就是答案本身

这三列在训练数据里都拿得到,在真正要判断的那一刻(刷卡的瞬间)一列都没有。 把它们喂进去,你会得到一个训练精度好看到不真实、上线即变瞎的模型。 逐特征问那一句「预测时刻真的拿得到吗」,就是在把这三列筛出去。 (这三个字段名是我们照原书那个癌症例子的套路编的,书里给的是医疗那一版。)

4. 开发模型:先把评估做对,再把模型做大

4.1 选指标:和业务对齐,而且能优化

指标就是你打算拿哪个数当「做得好」的定义。 它一旦选定,后面所有技术选择都跟着它走, 所以它必须和客户的商业成功对齐,而不是和「看着好看」对齐15

最常用的那个叫精度:全部判断里判对的比例。 两类样本数量差不多时(比如影评正负各半),它是个诚实的数。

主走查第 ④ 步:精度在欺诈项目上会骗你。 用书里给的那两个比例反推一下这家电商每天的盘子: 误报 200 笔占正常交易的 2.5%,所以正常交易约 8000 笔; 漏掉 14 笔占全部欺诈的 5%,所以欺诈约 280 笔。 两下一加,每天 8280 笔交易里欺诈只占 3.4%3。 于是有一个白痴办法能拿到 96.6% 的精度:对每一笔都答「不是欺诈」—— 一笔盗刷都抓不到,精度却比很多认真做的模型还高。 这就是精度在类别悬殊时失效的全部原因。 (200 笔、14 笔、266 笔和那两个比例是书里的;8000、280、3.4%、96.6% 是我们照它们算的。)

所以这类问题要换两个数来看,而且这两个数管的是两种不同的错。 第一个是召回率:真的欺诈里,被抓住的占几成——它盯的是漏报。 这个模型抓对 266 笔、漏掉 14 笔,召回率 266÷280 ≈ 95%

第二个是准确率:被判成欺诈的里面,真的欺诈占几成——它盯的是误报。 这个模型判了 466 笔是欺诈(266 笔真的 + 200 笔冤枉的),准确率 266÷466 ≈ 57%注意它和上面那个「精度」不是一回事:精度的分母是全部交易,准确率的分母只有「被判成欺诈的那些」。 两个词在中文里只差一个字,在这一段里指的是两件事,读的时候别串。

还有一个指标叫 ROC AUC,衡量的是「把真欺诈排在正常交易前面」这件事做得多好—— 它不看你把分界线划在哪,所以类别比例悬殊时也不会像精度那样被带偏。

还有一个容易忽略的技术约束:你选的指标未必能被直接优化。 损失函数必须可微、能在小批量上计算——ROC AUC 恰好不行, 所以分类任务里用交叉熵当「替代指标」:交叉熵越小,ROC AUC 一般越大16。 原书的表 6-1 给了最后一层激活和损失函数的对照(和第 05 章那张表同源: 二分类 sigmoid+二元交叉熵、多分类 softmax+分类交叉熵、回归无激活+mse、 多标签 sigmoid+二元交叉熵)17

4.2 统计功效 → 过拟合 → 调参

模型开发的三步走,就是把前两章的口诀接进流程7:

  1. 先获得统计功效——模型的表现要超过第 06 章的常识基准, 证明「机器学习在这个问题上用得上」。试了多种合理架构还超不过基准? 回到第 2 节:多半是输入-目标关系或数据信息量出了问题,不是模型的问题;
  2. 扩大到过拟合——加层、加单元、训更久,直到明确过拟合, 这样才知道「刚好够」的边界在哪;
  3. 正则化并调参——这一步最费时间:改架构、加 dropout、调学习率、 试层数,每改一次都要重训重评。而且每次拿验证集的反馈做修改, 都是一次信息泄露(第 06 章)——系统性迭代很多次,你就在对验证过程本身过拟合

主走查第 ⑤ 步:欺诈项目的三步走各是什么状态。

这一步欺诈项目上具体在做什么走完时看到的数
先超过基准基准就是上一节那个白痴办法:一律答「不是欺诈」基准精度 96.6%,召回率 0;第一个小模型必须在召回率上明显不为零,否则等于什么都没做
扩大到过拟合加层、加单元、训更久,直到验证集上的召回率开始往回掉掉头的那一轮就是「刚好够」的上界,先越过它才知道它在哪
正则化调参往回收:减层、加 dropout、调学习率,每改一次重训重评这一步最费时间;而且每看一次验证集的反馈,验证集就脏一分

第一步那个对照尤其要记住:在这个问题上,基准是 96.6%,不是 50%。

把书里那个成品模型放回这条基准线旁边,对比会很刺眼:它每天抓对 266 笔、 漏掉 14 笔、误报 200 笔,换算成精度是 (266 + 7800) ÷ 8280 ≈ 97.4%—— 比「一律答不是欺诈」只高 0.8 个百分点。 可就是这 0.8 个点里,躺着 95% 的盗刷被拦下来了,而「什么都不做」一笔也拦不下。 一个花了几个月做出来的模型,在精度这把尺子上只值 0.8 分—— 这就是这一章为什么反复说「别拿精度汇报」。 (7800 是「8000 笔正常交易里没被误报的那些」,同样是我们照书里两个比例算的。)

调参结束后的收尾动作18:用最佳配置在所有非测试数据上重新训练最终模型 (训练+验证合并,验证集的信息反正已经泄露完了,不如吃进去), 然后在测试集上只评一次。如果测试结果远差于验证, 说明验证流程本身不可靠(泄露太多或切分有问题)——要回去修流程,不是修模型。

5. 部署与维护:说人话,看生命周期

5.1 别讲「98% 精度」(主走查第 ⑥ 步)

模型做完了,该向出钱的人交代了。别说「我们的模型有 98% 的精度」—— 大多数人听完会在脑子里把它四舍五入成 100%,而这句话对业务毫无意义。 书里给的话术范本,正是拿我们这个欺诈模型说的3:

「每天平均有 200 笔有效交易被误标为欺诈并送去人工审查, 平均有 14 笔欺诈交易被遗漏,平均有 266 笔欺诈交易被正确识别。」

这三个数一摆,业务方立刻能算账:误报的成本是每天多雇人审 200 笔, 漏报的成本是每天放走 14 笔的损失。两笔账摆在一起,他才拿得了主意。

还有一件事必须当面和他谈定:阈值——就是你在「可疑程度」这把尺子上划的那道线。 模型吐出来的不是「是/不是」,而是一个 0 到 1 的可疑程度; 线以上判成欺诈,线以下放行。这道线往下挪,抓得多、也冤枉得多 (召回率涨、准确率跌);往上挪,冤枉得少、也放走得多。 上面那三个数是「线划在某一处」时的三个数,不是模型的固有属性—— 线该划在哪,只有懂业务的人算得清3

5.2 三种部署方式与推断优化

方式适合场景注意
REST API(TensorFlow Serving)无严格延迟要求——请求+推断+回答约 500 毫秒自建还是托管
设备端(TensorFlow Lite)手机、嵌入式;隐私敏感(数据不出设备)模型要够小
浏览器(TensorFlow.js)免安装、离线可用模型权重对用户公开,介意就别用

上线前还可以给模型「瘦身」:权重剪枝(把贡献小的权重置零,省下存储和计算) 和权重量化(float32 压成 int8,模型变成原来的四分之一大,精度基本不变)19

5.3 上线只是中场:监控与再训练

模型上线后要持续监控:随机 A/B 测试(一半用户用新模型、一半用旧模型,比业务指标)、 人工审核预测样本、用户调查20

同时要接受一个事实:模型是会过期的(概念漂移),生命周期因问题而异21:

问题生命周期量级
信用卡欺诈检测几天(对抗性漂移)
音乐推荐几周
图片搜索最长几年

所以部署方案里必须包含「持续收集新数据 + 定期再训练」的管道—— 不是可选项,是这类系统的生存方式。

主走查第 ⑦ 步:欺诈项目落在这张表的最上面一行,几天。 原因在 §3.2 已经说过:对手是活人,你拦住哪条路,他明天就换一条。 所以这个项目交付的不是一个模型文件,而是一整条流水线: 拒付记录每天回流进训练集 → 每隔几天重训一版 → 拿上一节那三个数 (误报 200、漏报 14、抓对 266)盯着看,哪个数开始走样就是漂移来了。 一个不会自我更新的欺诈模型,交付当天就在开始烂掉。

主走查到此走完,七步都落在同一个项目上: 定义任务(一笔交易的字段 → 0/1)→ 验两个假设(拒付记录漏标的问题)→ 排掉目标泄露(三列事后回填的字段)→ 选指标(精度会骗人,改看召回率和准确率)→ 超过基准(96.6% 那条线)、扩大到过拟合、再往回收 → 汇报三个数并定阈值 → 几天一轮的再训练。

6. 作者的判断与证据

经验总结(有案例支撑): 非代表性数据、概念漂移、目标泄露, 每一条都配了真实场景(美食家照片、IMDB 老化、癌症特征);

作者的立场声明: 「技术从来都不是中立的」——人脸评分案例是作者主动放进开篇的, 这是他的价值判断,不是技术结论;

经验法则: 「50 小时投给数据」「测试集只评一次」「用业务语言汇报」—— 属于行业最佳实践共识,但具体数字(500ms、四分之一)是 2021 年环境下的参考值。

判断(我们的,不是书里的): 主走查里那一串推算(8000 笔正常交易、280 笔欺诈、 3.4% 的欺诈占比、96.6% 的基准线、95% 召回率、57% 准确率、97.4% 的成品精度), 书里一个都没印——它们全是我们拿书里那两个比例(5% 假阴性、2.5% 假阳性) 和三个日均笔数反推出来的。之所以要反推,是因为不把这些数摆出来, 「精度会骗你」这句话就只是一句口号,读者没法自己验一遍。 如果错,会错在: 原书那两个比例和三个笔数如果不是同一个模型、同一天的数 (比如比例是四舍五入过的、或者笔数取自另一次实验),那反推出来的 8000 和 280 就会偏。 偏多少不影响结论——只要欺诈是少数类,「一律答不是」就必然拿到一个高得吓人的精度; 但读者若要引用 96.6% 这个具体数字,应该注明它是推算值,不是书里印的。

7. 边界与局限

  • 这一章是 2021 年的部署图景:TensorFlow Serving/Lite/JS 今天仍在, 但 ONNX、各家云推理服务、端侧 NPU 已经是更大的生态——部署节的具体工具时效性最强;
  • 「先扩大到过拟合再正则化」在小数据上是标准打法;换成「不从零开始训」的路子,流程会变形: 别人已经在海量数据上训好一个大模型(这一步叫预训练),你拿过来只在自己的小数据上 轻轻改一改顶上几层(这一步叫微调)——这时你的起点已经不是随机权重了, 「先冲到过拟合再往回收」那套节奏就不适用。这条路第 08 章会拿 2000 张猫狗照片完整走一遍;
  • 伦理一节只讲了一个案例,没有给可执行的检查清单—— 它在今天的分量比 2021 年更重,这一节值得读完后自己去补。

8. 可带走的

  1. 流程三段:定义任务 → 开发模型 → 部署维护;训练只是中间一段;
  2. 开工前先验证两个假设:输入可预测目标、数据含足够信息(股票反例);
  3. 「该不该用深度学习」是定义任务时要回答的问题(音乐推荐=矩阵分解更好);
  4. 数据收集是最费力也最值的一步;多出 50 小时,投给数据;
  5. 四种数据病:非代表性、概念漂移、抽样偏倚(杜威击败杜鲁门)、目标泄露;
  6. 指标要和业务对齐,还要可微可优化——ROC AUC 不可微,用交叉熵替代;
  7. 类别悬殊时精度会骗人:欺诈只占 3.4%,一律答「不是」就有 96.6% 精度; 改看召回率(真欺诈里抓住几成,266÷280≈95%)和准确率(判成欺诈的里面对几成,266÷466≈57%);
  8. 统计功效 → 扩大到过拟合 → 正则化调参;测试集只在最后评一次;
  9. 汇报说业务语言:「每天 200 笔误报、14 笔漏报、266 笔正确识别」; 并且当面把阈值(判成欺诈的那条分数线)定下来——三个数随线走;
  10. 推断优化两件套:剪枝 + 量化(int8,四分之一大);
  11. 模型会过期:欺诈按天、音乐按周、图片搜索按年——再训练管道是生存方式。

9. 原文地图

主题原书章原文位置
7 个项目与道德警告机器学习的通用工作流程text/13-ch06.txt:12(搜「项目开始蜂拥而至」) · text/13-ch06.txt:31(搜「技术从来都不是中立的」)
任务分诊(音乐推荐)机器学习的通用工作流程text/13-ch06.txt:70(搜「矩阵分解」)
两个假设与股票反例机器学习的通用工作流程text/13-ch06.txt:88(搜「假设」) · text/13-ch06.txt:92(搜「股票」)
数据收集与 50 小时机器学习的通用工作流程text/13-ch06.txt:112(搜「最有效的时间分配方式」) · text/13-ch06.txt:115(搜「不可思议的有效性」)
标注三级机器学习的通用工作流程text/13-ch06.txt:130(搜「犬种」) · text/13-ch06.txt:131(搜「骨折」)
非代表性数据机器学习的通用工作流程text/13-ch06.txt:145(搜「美食家」) · text/13-ch06.txt:149(搜「苦海」)
概念漂移机器学习的通用工作流程text/13-ch06.txt:155(搜「概念漂移」) · text/13-ch06.txt:161(搜「每天都在变化」)
抽样偏倚机器学习的通用工作流程text/13-ch06.txt:171(搜「杜威击败杜鲁门」)
目标泄露机器学习的通用工作流程text/13-ch06.txt:191(搜「目标泄露」)
指标与 ROC AUC 替代机器学习的通用工作流程text/13-ch06.txt:203(搜「ROC AUC」) · text/13-ch06.txt:295(搜「交叉熵」)
统计功效与扩大到过拟合机器学习的通用工作流程text/13-ch06.txt:280(搜「统计功效」) · text/13-ch06.txt:319(搜「过拟合的模型」)
调参与最终重训机器学习的通用工作流程text/13-ch06.txt:329(搜「最费时间」) · text/13-ch06.txt:346(搜「最后评估一次」)
业务话术机器学习的通用工作流程text/13-ch06.txt:364(搜「200 笔」)
部署三种方式机器学习的通用工作流程text/13-ch06.txt:379(搜「REST API」) · text/13-ch06.txt:418(搜「TensorFlow Lite」) · text/13-ch06.txt:439(搜「TensorFlow.js」)
剪枝与量化机器学习的通用工作流程text/13-ch06.txt:449(搜「权重剪枝」) · text/13-ch06.txt:455(搜「int8」)
监控与生命周期机器学习的通用工作流程text/13-ch06.txt:466(搜「A/B 测试」) · text/13-ch06.txt:477(搜「按周计算」)

Footnotes

  1. 出处:「机器学习的通用工作流程」第 12 段(text/13-ch06.txt:12,搜「项目开始蜂拥而至」)与第 13 段(text/13-ch06.txt:13,搜「图片搜索」)。

  2. 出处:「机器学习的通用工作流程」第 40 段(text/13-ch06.txt:40,搜「定义任务」)。

  3. 出处:「机器学习的通用工作流程」第 363 段(text/13-ch06.txt:363,搜「假阴性率」)、第 364 段(text/13-ch06.txt:364,搜「200 笔」)与第 367 段(text/13-ch06.txt:367,搜「概率阈值」)。原书给的是「5% 的假阴性率和 2.5% 的假阳性率」外加三个日均笔数;正文里的 8000 笔正常交易、280 笔欺诈、3.4% 占比、96.6% 基准精度、95% 召回率、57% 准确率,都是我们照这两个比例和三个笔数算出来的,书里没有直接印这几个数。 2 3 4

  4. 出处:「机器学习的通用工作流程」第 13 段(text/13-ch06.txt:13,搜「图片搜索」)至第 77 段;音乐推荐的判断见第 70 段(text/13-ch06.txt:70,搜「矩阵分解」);信用卡欺诈是二分类见第 71 段(text/13-ch06.txt:71,搜「信用卡欺诈检测项目」);「客户手里已经有一套嵌套 if 语句」见第 79 段(text/13-ch06.txt:79,搜「if 语句」)。交易字段那张表是我们为演示编的,书里没有给字段清单。 2

  5. 出处:「机器学习的通用工作流程」第 25 段(text/13-ch06.txt:25,搜「人脸」)与第 31 段(text/13-ch06.txt:31,搜「技术从来都不是中立的」)。

  6. 出处:「机器学习的通用工作流程」第 88 段(text/13-ch06.txt:88,搜「假设」)与第 92 段(text/13-ch06.txt:92,搜「股票」)。

  7. 出处:「机器学习的通用工作流程」第 280 段(text/13-ch06.txt:280,搜「统计功效」)、第 313 段(text/13-ch06.txt:313,搜「扩大模型规模」)与第 319 段(text/13-ch06.txt:319,搜「过拟合的模型」)。 2

  8. 出处:「机器学习的通用工作流程」第 96 段(text/13-ch06.txt:96,搜「最费力」)。

  9. 出处:「机器学习的通用工作流程」第 112 段(text/13-ch06.txt:112,搜「最有效的时间分配方式」)与第 115 段(text/13-ch06.txt:115,搜「不可思议的有效性」)。

  10. 出处:「机器学习的通用工作流程」第 129 段(text/13-ch06.txt:129,搜「标注」)至第 131 段(text/13-ch06.txt:131,搜「骨折」)。

  11. 出处:「机器学习的通用工作流程」第 145 段(text/13-ch06.txt:145,搜「美食家」)与第 149 段(text/13-ch06.txt:149,搜「苦海」)。

  12. 出处:「机器学习的通用工作流程」第 155 段(text/13-ch06.txt:155,搜「概念漂移」)与第 161 段(text/13-ch06.txt:161,搜「每天都在变化」)。

  13. 出处:「机器学习的通用工作流程」第 167 段(text/13-ch06.txt:167,搜「抽样偏倚」)与第 171 段(text/13-ch06.txt:171,搜「杜威击败杜鲁门」)。

  14. 出处:「机器学习的通用工作流程」第 191 段(text/13-ch06.txt:191,搜「目标泄露」)。

  15. 出处:「机器学习的通用工作流程」第 198 段(text/13-ch06.txt:198,搜「衡量成功的指标」)与第 203 段(text/13-ch06.txt:203,搜「ROC AUC」)。

  16. 出处:「机器学习的通用工作流程」第 293 段(text/13-ch06.txt:293,搜「可微」)与第 295 段(text/13-ch06.txt:295,搜「交叉熵」)。

  17. 出处:「机器学习的通用工作流程」第 296 段(text/13-ch06.txt:296,搜「表 6-1」)。

  18. 出处:「机器学习的通用工作流程」第 329 段(text/13-ch06.txt:329,搜「最费时间」)与第 346 段(text/13-ch06.txt:346,搜「最后评估一次」)。

  19. 出处:「机器学习的通用工作流程」第 449 段(text/13-ch06.txt:449,搜「权重剪枝」)与第 455 段(text/13-ch06.txt:455,搜「int8」)。

  20. 出处:「机器学习的通用工作流程」第 459 段(text/13-ch06.txt:459,搜「监控」)与第 466 段(text/13-ch06.txt:466,搜「A/B 测试」)。

  21. 出处:「机器学习的通用工作流程」第 477 段(text/13-ch06.txt:477,搜「生命周期」)与第 477 段(text/13-ch06.txt:477,搜「按周计算」)。