第 1 题 · 单选
广告数据包含数百万个稀疏 one-hot 特征,需要预测点击并学习用户、广告和上下文的二阶交互。首选哪个内置算法?
第 04 章 · PDF 第 300-419 页
考试会用“欺诈、流失、预测性维护”等业务词包装问题。稳定的判断顺序是:标签 → 输出 → 数据结构 → 特殊约束 → 错误代价,再选择算法、权重、阈值与指标。
先定问题,后背名字:“预测类别”不自动等于 XGBoost;“欺诈检测”也不自动等于 RCF。算法必须同时匹配标签、输出和数据结构。
把题干改写成“用什么输入,预测什么输出”。同一个业务词在不同标签和输出定义下,会走向完全不同的算法。
| 业务词 | 标签与目标 | 候选算法 | 为什么 |
|---|---|---|---|
| 欺诈检测 | 已有 fraud / non-fraud 标签 | XGBoost、LightGBM、CatBoost、Linear Learner、AutoGluon | 监督式表格二分类;再根据非线性、类别特征、解释性与资源缩小候选。 |
| 没有欺诈标签,只找异常交易 | Random Cut Forest | 无监督地输出 anomaly score;它不预测预定义的 fraud 类别。 | |
| 预测性维护 | 没有故障标签,发现异常传感器行为 | Random Cut Forest | 当前观测的异常检测。 |
| 预测许多设备未来的标量传感器值 | DeepAR | 多条相关时间序列的概率预测。 | |
| 已有 fail/no-fail、故障类型或剩余寿命 | 表格分类器或回归器 | 标签是类别就分类;连续剩余寿命就回归。 | |
| 流失 / 违约 / 购买 | 已有正负标签,正类很少 | 监督式表格分类器 | 类别不平衡改变训练和评估策略,不把监督问题变成无监督问题。 |
答题动作:先在草稿上只写“有/无标签 + 输出”。例如“无标签 + 异常分数 = RCF”,“有标签 + 二分类 + 非线性表格 = XGBoost 候选”。
| 算法 | 任务 | 最强线索 | 主要权衡 |
|---|---|---|---|
| Linear Learner | 线性回归、二/多分类 | 线性基线、稀疏/高维、速度和可解释性 | 不能自然捕获复杂非线性交互 |
| XGBoost | 分类、回归、学习排序 | 结构化表格、非线性与特征交互、强基线 | 参数多,深树/轮数过多会过拟合 |
| LightGBM | 分类、回归 | 高效 GBDT、大型表格、GOSS + EFB | 当前内置实现为 CSV/File、单实例 CPU |
| k-NN | 分类、回归 | “相似样本有相似标签”、非参数方法 | 预测要搜索邻居;高维距离会退化 |
| Factorization Machines | 分类、回归 | 高维稀疏数据中的二阶特征交互、点击/推荐 | 输入通常为稀疏 RecordIO-protobuf |
Linear Learner 适合快速、可解释的线性决策边界;XGBoost/LightGBM 自动捕获非线性和交互,通常是表格数据强基线。树模型通常不需要缩放,线性/距离/梯度模型通常更受尺度影响。
它学习稀疏特征之间的低维交互,可用于点击率、广告和用户-物品场景。与矩阵分解相比,它还能加入用户和物品之外的上下文特征。
少数类很少并不会把二分类变成异常检测。只要已有可信的 fraud/churn 标签,仍先选择监督分类器;不平衡决定的是损失权重、采样、阈值和指标。
| 层次 | 做法 | SageMaker 线索 |
|---|---|---|
| 训练权重 | 提高少数正类或高成本样本的损失权重 | XGBoost:scale_pos_weight / csv_weights;Linear Learner:positive_example_weight_mult |
| 数据采样 | 只在训练集重采样,验证/测试保留接近生产的分布 | 过采样、欠采样;切分时防止时间泄漏和重复样本跨集合 |
| 决策阈值 | 按 FP/FN 的业务成本调整概率阈值 | Linear Learner 可按目标 recall 下的 precision,或目标 precision 下的 recall 选择模型 |
| 评估 | 不要只看 accuracy | Confusion matrix、precision、recall、F1/Balanced Accuracy、ROC-AUC 与 AUPRC |
positive_example_weight_mult 是 Linear Learner 二分类的正例权重;balance_multiclass_weights 只用于多分类。scale_pos_weight 常以负样本数/正样本数作为起始候选,但仍需在验证集上调优。指标按错误成本:漏掉正类代价高,优先 recall;误报代价高,优先 precision;两者都重要,看 F1 与混淆矩阵;比较跨阈值排序能力可看 ROC-AUC,并对稀有正类检查 precision-recall 曲线。
| 算法 | 输出 | 高频场景 | 关键参数方向 |
|---|---|---|---|
| K-Means | cluster 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 不是特征选择:每个主成分通常是原始特征的线性组合。主成分数越少,压缩越强,但可能损失预测信息和可解释性。
DeepAR 是循环神经网络时间序列算法,它从许多相关时间序列共同学习,可输出概率分布和分位数,而不只是单一点预测。典型场景是大量 SKU、门店或设备的需求预测。
| 线索 | DeepAR 含义 |
|---|---|
| 多条相关序列 | 共享全局模型,数据较少的单条序列也能借力 |
| 概率预测/置信区间 | 可输出 P10/P50/P90 等分位数 |
prediction_length | 要预测的未来步数 |
context_length | 模型观察的历史窗口,默认可与预测长度相关 |
| 输入 | JSON Lines 或 Parquet;每条序列包含 start、target,可带动态/静态特征 |
如果只是把时间戳拆成小时/星期后做普通表格预测,XGBoost 也可能成立;题干强调“多条相关序列、未来区间预测、缺失时间点”时更像 DeepAR。
| 算法 | 做什么 | 输入/模式 | 典型题干 |
|---|---|---|---|
| BlazingText | word2vec embedding 或监督文本分类 | 每行空格分词文本;CBOW/skip-gram/supervised | 大规模词向量、快速文本分类 |
| Text Classification - TensorFlow | 监督文本分类 | 预训练 TensorFlow 模型迁移学习 | 少量标注、fine-tuning、预训练模型 |
| Object2Vec | 从对象对及关系标签学习通用 embedding | JSON Lines;两个 encoder | 句子对、商品对、相似性/关系预测 |
| Seq2Seq | 序列到序列映射 | RecordIO-protobuf + vocab;GPU | 翻译、摘要、语法转换等配对序列 |
| LDA / NTM | 无监督主题建模 | 词袋/稀疏计数向量 | 没有标签,自动发现文档主题 |
BlazingText 的 skip-gram 更善于从较少数据学习稀有词,但训练较慢;CBOW 用上下文预测中心词,通常更快。Object2Vec 的重点是“对象对”,对象可以是文本序列、类别或离散 token。
| 任务 | 输出 | 一句判断 |
|---|---|---|
| Image Classification | 整张图片的类别/概率 | “这张图是什么?” |
| Object Detection | 类别 + bounding box | “有哪些对象,它们在哪里?” |
| Semantic Segmentation | 每个像素的类别 | “每个像素属于道路、车还是背景?” |
| 算法族 | 常见训练输入 | 计算提示 |
|---|---|---|
| Linear Learner | CSV 或 RecordIO-protobuf | CPU/GPU,数据规模决定是否分布式 |
| XGBoost | CSV、LibSVM、部分模式支持 Parquet | CPU/GPU;版本与 Dask 模式影响支持 |
| Factorization Machines | RecordIO-protobuf,常为稀疏 | CPU;密集数据可评估 GPU |
| DeepAR | JSON Lines 或 Parquet | CPU/GPU,可并行 |
| RCF / PCA | CSV 或 RecordIO-protobuf | RCF 为 CPU;PCA 可 CPU/GPU |
| BlazingText | 每行一个分词句子的文本文件 | CPU/GPU,单实例 |
| Object2Vec | JSON Lines | CPU/GPU,单实例 |
| Seq2Seq | RecordIO-protobuf + vocab | GPU,单实例 |
| 视觉算法 | 图片/RecordIO + 对应标注 | 训练通常 GPU |
算法容器和版本会改变格式、实例与分布式支持。考试题若给出具体格式限制,以题干和当前官方参数表为准;不要把一个算法版本的细节泛化到全部版本。
| 算法 | 抓手 | 方向 |
|---|---|---|
| XGBoost | eta、num_round、max_depth、subsample、min_child_weight、scale_pos_weight | 树更深/轮数更多增加容量;小学习率常配更多轮;正类权重处理不平衡 |
| LightGBM | num_leaves、learning_rate、num_boost_round、early_stopping_rounds | 叶子数控制复杂度;早停依赖验证集 |
| Linear Learner | predictor_type、loss、learning_rate、L1/L2、positive_example_weight_mult | L1 促稀疏,L2 平滑收缩;二分类可提高正例权重 |
| K-Means | k、init_method、epochs | k 过小欠分群,过大碎片化 |
| DeepAR | prediction_length、context_length、epochs、mini_batch_size | 窗口必须匹配业务预测范围和季节性 |
| PCA | num_components、subtract_mean | 组件越少压缩越强 |
| Factorization Machines | num_factors、epochs、regularization | factors 越多可表达更复杂交互但更易过拟合 |
| Topic Models | num_topics、vocabulary_size | 主题数决定粒度,需要结合可解释性评估 |
课件重点覆盖经典内置算法;当前官方 SageMaker 页面还列出 AutoGluon-Tabular、CatBoost 和 TabTransformer 等。
| 算法 | 适合 | 辨识点 |
|---|---|---|
| AutoGluon-Tabular | 快速获得强表格 AutoML 基线 | 自动组合多模型、stacking/ensembling |
| CatBoost | 包含大量类别特征的表格任务 | 对 categorical feature 的原生处理较强 |
| TabTransformer | 表格分类/回归,特别是类别特征 | Transformer 表示类别特征上下文 |
考试优先级:先牢固掌握课件中的经典算法路由,再认识这些当前补充项。题干若只问通用表格强基线,XGBoost/LightGBM 仍很常见。
| 方法 | 训练关系 | 最强题干信号 |
|---|---|---|
| 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,并让训练更关注正类。最合适的组合是什么?
scale_pos_weight 用于平衡正负类权重,但仍需用验证集调优并选择适合的指标与阈值。第 14 题 · 匹配 · 错题迁移
“预测性维护”有四种不同输出。把目标与算法类型匹配。
第 15 题 · 单选 · 候选集边界
零售商已有 churn 标签,需要做二分类。候选只有 Linear Learner、RCF、K-Means、NTM。哪一个首先满足任务类型?
positive_example_weight_mult 处理二分类正例权重;但若题目另给 XGBoost/CatBoost 且强调复杂交互,就必须重新比较。第 16 题 · 多选 · 错题迁移
极不平衡的购买预测中,团队必须直接看清 false positives 与 false negatives,并比较正类查准和查全。哪两项最直接?
第 17 题 · 单选 · 错题迁移
团队把 logistic regression、decision tree 和 SVM 的 out-of-fold 预测作为 random forest 的输入,由后者输出最终结果。这是哪种集成方法?
第 18 题 · 单选 · 训练诊断
使用 SGD 训练时,训练损失与验证损失都高,并在多个 epoch 间明显振荡而不收敛。第一步应怎么做?
尚未提交
做一次空白纸检索:写下“表格、异常、聚类、降维、时间序列、主题、embedding、图像”八类,再为每类填算法。卡住的格子直接发给教师出针对性辨析题。