MLA-C01 Udemy Companion

第 04 章 · PDF 第 300-419 页

SageMaker 内置算法

考试会用“欺诈、流失、预测性维护”等业务词包装问题。稳定的判断顺序是:标签 → 输出 → 数据结构 → 特殊约束 → 错误代价,再选择算法、权重、阈值与指标。

优先级:高 D2.1、D2.2、D2.3 建议 80 分钟 练习 18 题

1. 五步选算法

标签是否存在?有目标值是监督学习;无目标值可能是聚类、降维、异常或主题模型。
输出是什么?类别、连续值、排名、未来序列、异常分数、主题、向量、框还是像素。
数据是什么?普通表格、稀疏交互、相关时间序列、文本、图像或实体-IP 配对。
约束是什么?非线性、类别特征、可解释性、训练规模、延迟、CPU/GPU 与分布式训练。
错哪一种更贵?分类题明确 FP/FN 成本,再决定样本权重、阈值和评估指标。

先定问题,后背名字:“预测类别”不自动等于 XGBoost;“欺诈检测”也不自动等于 RCF。算法必须同时匹配标签、输出和数据结构。

2. 业务词不能直接决定算法

把题干改写成“用什么输入,预测什么输出”。同一个业务词在不同标签和输出定义下,会走向完全不同的算法。

业务词标签与目标候选算法为什么
欺诈检测已有 fraud / non-fraud 标签XGBoost、LightGBM、CatBoost、Linear Learner、AutoGluon监督式表格二分类;再根据非线性、类别特征、解释性与资源缩小候选。
没有欺诈标签,只找异常交易Random Cut Forest无监督地输出 anomaly score;它不预测预定义的 fraud 类别。
预测性维护没有故障标签,发现异常传感器行为Random Cut Forest当前观测的异常检测。
预测许多设备未来的标量传感器值DeepAR多条相关时间序列的概率预测。
已有 fail/no-fail、故障类型或剩余寿命表格分类器或回归器标签是类别就分类;连续剩余寿命就回归。
流失 / 违约 / 购买已有正负标签,正类很少监督式表格分类器类别不平衡改变训练和评估策略,不把监督问题变成无监督问题。

答题动作:先在草稿上只写“有/无标签 + 输出”。例如“无标签 + 异常分数 = RCF”,“有标签 + 二分类 + 非线性表格 = XGBoost 候选”。

3. 表格监督学习

算法任务最强线索主要权衡
Linear Learner线性回归、二/多分类线性基线、稀疏/高维、速度和可解释性不能自然捕获复杂非线性交互
XGBoost分类、回归、学习排序结构化表格、非线性与特征交互、强基线参数多,深树/轮数过多会过拟合
LightGBM分类、回归高效 GBDT、大型表格、GOSS + EFB当前内置实现为 CSV/File、单实例 CPU
k-NN分类、回归“相似样本有相似标签”、非参数方法预测要搜索邻居;高维距离会退化
Factorization Machines分类、回归高维稀疏数据中的二阶特征交互、点击/推荐输入通常为稀疏 RecordIO-protobuf

Linear Learner 与树模型

Linear Learner 适合快速、可解释的线性决策边界;XGBoost/LightGBM 自动捕获非线性和交互,通常是表格数据强基线。树模型通常不需要缩放,线性/距离/梯度模型通常更受尺度影响。

Factorization Machines 不只是“推荐算法”

它学习稀疏特征之间的低维交互,可用于点击率、广告和用户-物品场景。与矩阵分解相比,它还能加入用户和物品之外的上下文特征。

4. 类别不平衡:先选监督模型,再处理代价

少数类很少并不会把二分类变成异常检测。只要已有可信的 fraud/churn 标签,仍先选择监督分类器;不平衡决定的是损失权重、采样、阈值和指标。

层次做法SageMaker 线索
训练权重提高少数正类或高成本样本的损失权重XGBoost:scale_pos_weight / csv_weights;Linear Learner:positive_example_weight_mult
数据采样只在训练集重采样,验证/测试保留接近生产的分布过采样、欠采样;切分时防止时间泄漏和重复样本跨集合
决策阈值按 FP/FN 的业务成本调整概率阈值Linear Learner 可按目标 recall 下的 precision,或目标 precision 下的 recall 选择模型
评估不要只看 accuracyConfusion matrix、precision、recall、F1/Balanced Accuracy、ROC-AUC 与 AUPRC
两个容易考错的细节:
  • positive_example_weight_mult 是 Linear Learner 二分类的正例权重;balance_multiclass_weights 只用于多分类。
  • XGBoost 的 scale_pos_weight 常以负样本数/正样本数作为起始候选,但仍需在验证集上调优。

指标按错误成本:漏掉正类代价高,优先 recall;误报代价高,优先 precision;两者都重要,看 F1 与混淆矩阵;比较跨阈值排序能力可看 ROC-AUC,并对稀有正类检查 precision-recall 曲线。

5. 无监督、降维与异常检测

算法输出高频场景关键参数方向
K-Meanscluster assignment / centroid客户分群、数据探索、无标签聚类k、初始化、迭代与容差
PCA较少的正交主成分降维、去相关、压缩、可视化前处理num_components、是否中心化
Random Cut Forest异常分数数值向量/时间序列中的无监督异常点树数量、每棵树样本数、特征维度
IP Insights实体-IP 关联异常分数发现用户从异常 IP 登录或访问entity embedding 与负样本
LDA文档主题分布经典生成式主题模型、词袋语料主题数、词表、迭代
Neural Topic Model文档主题分布神经网络主题模型、可扩展文本主题主题数、mini-batch、词表
异常服务区分:

一般数值异常用 Random Cut Forest;实体与 IP 的异常关联用 IP Insights;工业设备托管异常服务是 Lookout for Equipment;生产模型数据漂移看 Model Monitor/Clarify。

PCA 不是特征选择:每个主成分通常是原始特征的线性组合。主成分数越少,压缩越强,但可能损失预测信息和可解释性。

6. DeepAR:多条相关序列的概率预测

DeepAR 是循环神经网络时间序列算法,它从许多相关时间序列共同学习,可输出概率分布和分位数,而不只是单一点预测。典型场景是大量 SKU、门店或设备的需求预测。

线索DeepAR 含义
多条相关序列共享全局模型,数据较少的单条序列也能借力
概率预测/置信区间可输出 P10/P50/P90 等分位数
prediction_length要预测的未来步数
context_length模型观察的历史窗口,默认可与预测长度相关
输入JSON Lines 或 Parquet;每条序列包含 start、target,可带动态/静态特征

如果只是把时间戳拆成小时/星期后做普通表格预测,XGBoost 也可能成立;题干强调“多条相关序列、未来区间预测、缺失时间点”时更像 DeepAR。

7. 文本与表示学习

算法做什么输入/模式典型题干
BlazingTextword2vec embedding 或监督文本分类每行空格分词文本;CBOW/skip-gram/supervised大规模词向量、快速文本分类
Text Classification - TensorFlow监督文本分类预训练 TensorFlow 模型迁移学习少量标注、fine-tuning、预训练模型
Object2Vec从对象对及关系标签学习通用 embeddingJSON Lines;两个 encoder句子对、商品对、相似性/关系预测
Seq2Seq序列到序列映射RecordIO-protobuf + vocab;GPU翻译、摘要、语法转换等配对序列
LDA / NTM无监督主题建模词袋/稀疏计数向量没有标签,自动发现文档主题

BlazingText 的 skip-gram 更善于从较少数据学习稀有词,但训练较慢;CBOW 用上下文预测中心词,通常更快。Object2Vec 的重点是“对象对”,对象可以是文本序列、类别或离散 token。

8. 视觉任务看输出粒度

任务输出一句判断
Image Classification整张图片的类别/概率“这张图是什么?”
Object Detection类别 + bounding box“有哪些对象,它们在哪里?”
Semantic Segmentation每个像素的类别“每个像素属于道路、车还是背景?”

9. 输入格式和实例:记住异常项

算法族常见训练输入计算提示
Linear LearnerCSV 或 RecordIO-protobufCPU/GPU,数据规模决定是否分布式
XGBoostCSV、LibSVM、部分模式支持 ParquetCPU/GPU;版本与 Dask 模式影响支持
Factorization MachinesRecordIO-protobuf,常为稀疏CPU;密集数据可评估 GPU
DeepARJSON Lines 或 ParquetCPU/GPU,可并行
RCF / PCACSV 或 RecordIO-protobufRCF 为 CPU;PCA 可 CPU/GPU
BlazingText每行一个分词句子的文本文件CPU/GPU,单实例
Object2VecJSON LinesCPU/GPU,单实例
Seq2SeqRecordIO-protobuf + vocabGPU,单实例
视觉算法图片/RecordIO + 对应标注训练通常 GPU

算法容器和版本会改变格式、实例与分布式支持。考试题若给出具体格式限制,以题干和当前官方参数表为准;不要把一个算法版本的细节泛化到全部版本。

10. 关键超参数只记“改变什么”

算法抓手方向
XGBoosteta、num_round、max_depth、subsample、min_child_weight、scale_pos_weight树更深/轮数更多增加容量;小学习率常配更多轮;正类权重处理不平衡
LightGBMnum_leaves、learning_rate、num_boost_round、early_stopping_rounds叶子数控制复杂度;早停依赖验证集
Linear Learnerpredictor_type、loss、learning_rate、L1/L2、positive_example_weight_multL1 促稀疏,L2 平滑收缩;二分类可提高正例权重
K-Meansk、init_method、epochsk 过小欠分群,过大碎片化
DeepARprediction_length、context_length、epochs、mini_batch_size窗口必须匹配业务预测范围和季节性
PCAnum_components、subtract_mean组件越少压缩越强
Factorization Machinesnum_factors、epochs、regularizationfactors 越多可表达更复杂交互但更易过拟合
Topic Modelsnum_topics、vocabulary_size主题数决定粒度,需要结合可解释性评估

11. 当前官方列表中的补充表格算法

课件重点覆盖经典内置算法;当前官方 SageMaker 页面还列出 AutoGluon-Tabular、CatBoost 和 TabTransformer 等。

算法适合辨识点
AutoGluon-Tabular快速获得强表格 AutoML 基线自动组合多模型、stacking/ensembling
CatBoost包含大量类别特征的表格任务对 categorical feature 的原生处理较强
TabTransformer表格分类/回归,特别是类别特征Transformer 表示类别特征上下文

考试优先级:先牢固掌握课件中的经典算法路由,再认识这些当前补充项。题干若只问通用表格强基线,XGBoost/LightGBM 仍很常见。

打开完整算法场景路由

12. 集成方法:看模型如何组合

方法训练关系最强题干信号
Bagging同类模型在 bootstrap 子集上并行训练,再平均/投票降方差、并行、Random Forest
Boosting弱学习器顺序训练,后一个修正前一个错误XGBoost、LightGBM、CatBoost、focus on errors
Stacking多个基础模型的预测成为 meta-model 的输入异质模型 + 二级学习器
Voting直接多数投票或概率平均,不训练二级模型majority vote、weighted average

错题第 15 题给出 logistic regression、decision tree、SVM 三种异质模型,再让 meta-model 学习它们的预测,决定性关键词是 stacking,不是 bagging。

章节练习

每题先写下“有/无标签 + 输出形态”,再圈出不平衡、稀疏、类别特征、相关序列等约束。第 13-18 题专门迁移你的错题模式。

第 1 题 · 单选

广告数据包含数百万个稀疏 one-hot 特征,需要预测点击并学习用户、广告和上下文的二阶交互。首选哪个内置算法?

第 2 题 · 单选

零售商有 30,000 个 SKU 的相关销量序列,需要预测未来 14 天并输出 P10/P50/P90。应选择什么?

第 3 题 · 匹配

把视觉输出与任务匹配。

第 4 题 · 单选

安全团队只有用户 ID 与访问 IP 配对数据,希望发现某用户从异常 IP 登录。最专用的算法是什么?

第 5 题 · 单选

没有标签,需要自动发现新闻语料中的主题。以下哪个任务族最合适?

第 6 题 · 多选

关于 PCA,哪些陈述正确?选择两项。

第 7 题 · 单选

团队要在结构化表格数据上做非线性二分类,并希望使用成熟的梯度提升树强基线。首选什么?

第 8 题 · 单选

传感器没有异常标签,需要为每个数值向量产生无监督异常分数。首选什么?

第 9 题 · 匹配

把数据线索与算法匹配。

第 10 题 · 单选

现有 PyTorch 训练脚本只需使用 SageMaker 托管训练,不需要完全自定义基础镜像。最直接的集成方式是什么?

第 11 题 · 多选

关于树模型与线性/距离模型的预处理,哪些判断通常正确?选择两项。

第 12 题 · 单选

大量类别特征的表格分类任务希望使用对类别变量原生处理较强的当前 SageMaker 算法。可优先评估什么?

第 13 题 · 单选 · 错题迁移

银行已有 fraud/non-fraud 标签,交易表格包含复杂非线性交互,正类只占 0.3%。题目要求使用 boosting,并让训练更关注正类。最合适的组合是什么?

第 14 题 · 匹配 · 错题迁移

“预测性维护”有四种不同输出。把目标与算法类型匹配。

第 15 题 · 单选 · 候选集边界

零售商已有 churn 标签,需要做二分类。候选只有 Linear Learner、RCF、K-Means、NTM。哪一个首先满足任务类型?

第 16 题 · 多选 · 错题迁移

极不平衡的购买预测中,团队必须直接看清 false positives 与 false negatives,并比较正类查准和查全。哪两项最直接?

第 17 题 · 单选 · 错题迁移

团队把 logistic regression、decision tree 和 SVM 的 out-of-fold 预测作为 random forest 的输入,由后者输出最终结果。这是哪种集成方法?

第 18 题 · 单选 · 训练诊断

使用 SGD 训练时,训练损失与验证损失都高,并在多个 epoch 间明显振荡而不收敛。第一步应怎么做?

本章掌握线:80%

尚未提交

主来源与复习动作

做一次空白纸检索:写下“表格、异常、聚类、降维、时间序列、主题、embedding、图像”八类,再为每类填算法。卡住的格子直接发给教师出针对性辨析题。