第 6 关:预言家 — 让数据预测未来
闯关系统最大的一关。6A(结构化数据)必做,6B(非结构化)选做。
🎯 本关目标
- 解决"从数据中发现规律并用规律预测未来"的问题
- 对应现实工程能力:推荐系统、风控、用户增长预测
Step 1:本关资料(海量输入)
用 48h 倒推:如果 Step 5 要输出费曼讲解,现在需要储备什么弹药?
6A:结构化数据路线(必做)
| 资料类型 | 具体资料 | 用途 | |---------|---------|------| | 交互课程 | Kaggle Learn ML — Micro-courses: Intro to ML + Intermediate ML | 最快上手,有交互式练习,覆盖回归/分类/特征工程基础 | | 系统教材 | 《Hands-On ML with Scikit-Learn》Géron — 第 2-4 章 | 系统理解经典 ML 算法原理和 scikit-learn 实践 | | 数学推导 | 《统计学习方法》李航 — 第 1-6 章 | 数学层面理解"为什么这个算法有效" | | 实战参考 | Kaggle House Prices Notebook(排名前 5) | 学习顶尖选手的 EDA 和特征工程思路 | | 竞赛项目 | Kaggle House Prices + 信用卡欺诈检测 | 动手验证的实战项目 | | 学术论文 | 见末尾论文阅读清单 | 深入理解 ML 核心算法的理论基础 |
6B:非结构化数据路线(选做)
| 资料类型 | 具体资料 | 用途 | |---------|---------|------| | 课程讲义 | CIT694 PPT(全部) | 课堂教学体系,覆盖 NLP 和 CV 基础 | | 官方教程 | PyTorch 官方教程 — 60-minute Blitz + Transfer Learning Tutorial | 从零上手 PyTorch,理解训练循环和迁移学习 |
📐 数学补给站(本关最大数学依赖)
本关涉及数学模块:① 线性代数 + ② 微积分直觉 + ③ 概率统计 + ④ 优化思想
第6关是数学密集区——机器学习本质上就是数学。建议先花 2-3h 过一遍对应数学模块的 48h 预扫描,再进闯关任务。
| 数学模块 | 本关用途 | 深入参考 | |---------|---------|---------| | ① 线性代数:向量、矩阵运算、SVD | 特征工程(One-Hot = 稀疏矩阵)、PCA 降维 = SVD、距离计算 = 向量运算 | 完整模块 | | ② 微积分直觉:导数、链式法则、梯度 | 梯度下降优化、神经网络反向传播 = 链式法则 | 数学-② 微积分直觉 | | ③ 概率统计:分布、假设检验、贝叶斯 | 朴素贝叶斯分类器、模型评估指标、交叉验证 | 完整模块 | | ④ 优化思想:目标函数、正则化、帕累托 | Ridge/LASSO 正则化 = 带约束的优化、模型调参 = 多目标优化 | 数学-④ 优化思想 |
重点优先级:
- 🔴 线性代数 — embedding、矩阵运算、PCA,AI 的地基
- 🔴 优化思想 — 梯度下降、正则化,模型训练的核心
- 🟡 概率统计 — 模型评估、假设检验,验证结果可靠性
- 🟡 微积分 — 理解梯度下降"为什么有效",不手推也行
快速自测:
- 梯度下降中"学习率"太大或太小会怎样?(② + ④)
- L1 vs L2 正则化的几何区别是什么?(④)
- 为什么 PCA 能做降维?(①)
- 交叉验证中的 k 怎么选?(③)
答不上来的去对应数学模块补课,别急着跑模型。
Step 2:本关心智模型
这些模型是你做判断的"操作系统"。理解它们,不只是记住它们。
6A 模型
模型 1:监督学习模型
- 核心思想:从"已知答案"的数据中学习规律,然后用规律预测"未知答案"的新数据。本质是函数拟合——找到一个映射 f(X) → Y,使得在未见数据上也表现良好。
- 关键变量:
- 特征(Features):用什么预测——决定模型上限
- 标签(Labels):预测什么——决定问题类型(回归/分类)
- 训练/验证/测试划分(Train/Val/Test Split):如何检验学习效果——防止"考试作弊"
- 应用场景:推荐系统 CTR 预估、金融风控欺诈检测、用户流失预测、房价预测
- 局限性:依赖标注数据(成本高);无法发现未知的模式(只能学历史中存在的规律);特征工程依赖人工领域知识
- 相关资料:Domingos "A Few Useful Things to Know about Machine Learning"(CACM 2012);Kohavi "A Study of Cross-Validation"(IJCAI 1995)
模型 2:偏差-方差权衡模型
- 核心思想:模型太简单会欠拟合(高偏差,学不到规律),太复杂会过拟合(高方差,记住了噪音),最优在中间。泛化误差 = 偏差² + 方差 + 不可约误差。
- 关键变量:
- 训练误差(Training Error)→ 高 = 可能欠拟合
- 验证误差(Validation Error)→ 远高于训练误差 = 过拟合
- 模型复杂度(Complexity)→ 控制拟合能力的旋钮
- 应用场景:模型选型(先跑 Baseline 再逐步增加复杂度)、调参方向判断、诊断"线上效果不如 CV"
- 局限性:偏差-方差分解在理论上清晰,但在实际中很难精确计算;深度学习中偏差和方差的关系更加复杂(双下降现象)
- 相关资料:Géron《Hands-On ML》第 2 章偏差-方差权衡图;Kaggle Learn ML "Underfitting and Overfitting" 课程
模型 3:评估选择模型
- 核心思想:不同问题需要不同的评估指标,选错指标会优化错方向。"准确率 99.8%" 可能是废物——取决于业务场景。
- 关键变量:
- 精确率(Precision)vs 召回率(Recall)→ 零和博弈,需要根据业务成本权衡
- ROC/AUC → 正负样本平衡时的综合指标
- 业务成本(误判代价)→ 误报成本 vs 漏报成本
- 应用场景:欺诈检测(宁可误报不能漏报 → 高 Recall)、医疗诊断(不能漏诊 → 高 Sensitivity)、推荐系统(NDCG)
- 局限性:单一指标无法全面评估模型性能;业务成本往往难以量化;A/B 测试才是最终验证
- 相关资料:Davis & Goadrich "The Relationship Between Precision-Recall and ROC Curves"(ICML 2006);He & Garcia "Learning from Imbalanced Data"(IEEE TKDE 2009)
6B 模型(选做)
模型 4:文本表示模型
- 核心思想:把人类语言变成机器能计算的数字向量,"语义相近的词向量也相近"。从 TF-IDF 的稀疏表示到 Word2Vec/BERT 的稠密表示,本质是"把语义编码成距离"。
- 关键变量:
- 词向量维度(Dimension)→ 越高表达力越强,但计算成本越大
- 上下文窗口(Context Window)→ 决定能捕捉多远的语义关系
- 语义相似度(Semantic Similarity)→ 余弦相似度衡量
- 应用场景:情感分析、文本分类、搜索引擎、对话系统
- 局限性:词向量难以处理一词多义(BERT 通过上下文化部分解决);跨语言迁移仍有挑战
- 相关资料:CIT694 PPT;PyTorch 官方教程
模型 5:图像特征提取模型
- 核心思想:CNN 的卷积层自动学习"什么特征重要"——边缘 → 纹理 → 物体部件 → 整体。迁移学习的关键洞察:底层特征(边缘、纹理)是通用的,只需微调顶层适配具体任务。
- 关键变量:
- 卷积核大小(Kernel Size)→ 感受野大小
- 特征图维度(Feature Map Dimension)→ 信息压缩程度
- 预训练权重(Pre-trained Weights)→ ImageNet 学到的通用特征
- 应用场景:图像分类、目标检测、医学影像诊断(标注数据极少时用迁移学习)
- 局限性:CNN 对旋转、缩放不变性有限;需要大量标注数据从头训练(迁移学习缓解了这个问题)
- 相关资料:LeCun et al. "Gradient-Based Learning Applied to Document Recognition"(Proc. IEEE 1998);PyTorch Transfer Learning Tutorial
Step 3:本关分歧点
真正的判断力不在于"知道什么是对的",而在于"知道两边为什么吵"。
分歧 1:模型复杂度——简单模型 vs 复杂模型
- A 方(简单优先):Occam's Razor——数据少(< 1000 条)且噪声大时,简单模型更稳健。线性回归是永远的 Baseline,跑不过线性回归的复杂模型不值得用。可解释性也是生产力。
- B 方(复杂优先):XGBoost/LightGBM 在大多数结构化数据竞赛中碾压线性模型,只要做好正则化和交叉验证。实际业务中 1-2% 的精度提升可能意味着巨大的商业价值。
- 实践倾向:先跑 Baseline(线性回归),再逐步增加复杂度,每次对比验证集效果。关键是:不能直接上 XGBoost 而不跑 Baseline——你不知道那 1% 的提升是真实的还是噪音。
- 为什么重要:这是 ML 工程师最基本的判断力。选错了复杂度,要么欠拟合(浪费了数据的信息),要么过拟合(在 Kaggle 上好看、线上崩了)。
分歧 2:评估指标——准确率 vs F1 vs AUC
- A 方(准确率):直观、好解释、好对比。在类别平衡的场景下(正负例差不多),准确率是最合理的指标。
- B 方(F1/PR-AUC):类别不平衡时准确率是幻觉——99.8% 准确率可能意味着"全部预测为负例"。PR 曲线比 ROC 曲线更能反映分类器在正例稀疏场景下的真实性能。
- 实践倾向:先看数据分布,再选指标。正负比 > 1:10 时,准确率不可信,必须看 F1 或 PR-AUC。但最终标准永远是业务成本——误报和漏报哪个代价更大?
- 为什么重要:选错指标 = 优化错方向。面试中"99.8% 准确率的模型为什么是废物"几乎是必考题。
分歧 3:特征工程 vs 模型选择——哪个更重要?
- A 方(特征工程为王):"Garbage in, garbage out"。好的特征工程往往比模型选择对结果的影响更大。房价预测中,"地下室面积/总面积比"可能比换一个更复杂的模型效果更好。
- B 方(模型选择为王):深度学习和 AutoML 的发展正在削弱人工特征工程的重要性。XGBoost 的自动特征交互和 LightGBM 的直方图优化让模型自身能发现有效特征组合。
- 实践倾向:取决于数据量和领域。数据少时特征工程更重要(模型没有足够数据自己学);数据大时模型选择更重要(模型能从原始特征中学到复杂模式)。但永远不能跳过特征理解——即使不手动做特征工程,你也必须理解哪些特征有预测力。
- 为什么重要:这决定了你的时间分配——花在理解数据和做特征上的时间 vs 花在调参和选模型上的时间。
Step 4:闯关任务(动手验证)
理论看完了,现在动手。以下任务按优先级排序,全部完成才算通关。
6A:结构化数据路线(必做)
任务 1:回归项目 — Kaggle House Prices ⭐
完整流程:EDA → 特征工程 → 模型训练 → 调参
- EDA:目标变量分布(偏态 → log 变换)、特征相关性热力图、缺失值模式
- 特征工程:
- 数值特征:填充缺失值、标准化/归一化
- 类别特征:One-Hot / Target Encoding
- 交叉特征:面积 × 单价、房龄 × 状况等级
- 模型进阶:
- 线性回归(Baseline)
- Ridge / Lasso(正则化,理解 L1 vs L2)
- XGBoost / LightGBM(树模型,理解 Boosting)
- 调参:GridSearch / RandomSearch / Optuna
- 目标:Kaggle 排名前 30%
任务 2:分类项目 — Kaggle 信用卡欺诈检测 ⭐
- 核心挑战:正负样本极度不平衡(欺诈 < 0.2%)
- 处理策略:
- SMOTE 过采样 vs 欠采样
- Class Weight 调整
- 异常检测思路(Isolation Forest)
- 评估:F1-Score > 0.85(不能只看准确率)
- 关键问题:为什么准确率 99.8% 的模型完全没用?
任务 3:聚类项目 — 客户分群(建议做)
- K-Means vs DBSCAN 对比
- 肘部法则 + 轮廓系数选 K
- 用降维(PCA/t-SNE)可视化聚类结果
- 业务解读:每个群是什么"类型"的客户?
6B:非结构化数据路线(选做,二选一)
路线 A:文本 — 情感分析 Demo
- 工具:NLTK / spaCy(预处理) + scikit-learn(分类)
- 流程:文本清洗 → 分词 → TF-IDF / Word2Vec → 分类器
- 进阶:用预训练模型(BERT 微调)对比效果提升
路线 B:图像 — PyTorch 入门 + 迁移学习
- PyTorch 基础:Tensor、Dataset、DataLoader、训练循环
- 迁移学习:ResNet 预训练模型微调(冻结底层,训练顶层)
- 数据集:CIFAR-10 或自建小数据集
Step 4.5:💬 AI 教练对话
以下 4 个 Prompt 对应学习过程中的不同阶段。按需使用,不是顺序执行。
Prompt 1:理解问题 — 识别机器学习问题类型
使用时机:开始做项目之前,不确定用什么方法时
我有一个业务场景,请帮我判断适合用什么机器学习方法。
场景描述:[描述你的问题,如"我们想预测用户下周会不会流失"]
数据情况:[描述你有什么数据,如"有用户过去 30 天的登录记录、购买记录、浏览记录"]
请回答:
1. 这是回归问题还是分类问题?为什么?
2. 什么是合理的特征?什么是标签?
3. 最大的挑战是什么?(数据量 / 不平衡 / 特征工程 / 其他)
4. 推荐从哪个模型开始?(从简单到复杂)
⚠️ 禁止直接给代码或答案,只做问题分析和方向指引。
Prompt 2:Debug — 模型效果不好
使用时机:训练完模型后,效果不如预期时
我训练了一个[模型名,如 XGBoost]模型来预测[任务描述]。
结果:
- 训练集准确率:[数值]
- 验证集准确率:[数值]
- 测试集准确率:[数值]
请帮我诊断:
1. 这是欠拟合还是过拟合?依据是什么?
2. 可能的原因有哪些?(列出 3-5 个)
3. 我应该先尝试哪个改进方向?为什么?
⚠️ 禁止直接给代码解决方案,只做诊断和优先级排序。
Prompt 3:模型提取 — 理解偏差-方差权衡
使用时机:对比多个模型效果后,理解它们在偏差-方差谱上的位置时
我在[具体项目,如房价预测]中尝试了多个模型,结果如下:
| 模型 | 训练 RMSE | 验证 RMSE |
|------|----------|----------|
| 线性回归 | 45000 | 47000 |
| Ridge | 43000 | 44500 |
| XGBoost | 12000 | 38000 |
请帮我分析:
1. 每个模型处于偏差-方差权衡的什么位置?
2. XGBoost 为什么训练误差这么低但验证误差高?
3. 我应该怎么缩小 XGBoost 的训练-验证差距?给我 3 个方向。
⚠️ 不要直接给调参代码,引导我理解原理。
Prompt 4:工程映射 — 从 Kaggle 到生产
使用时机:完成 Kaggle 项目后,思考如何应用到实际工作时
我在 Kaggle 上完成了[项目名,如房价预测],模型效果不错。
现在要把这个模型应用到实际工作中:[描述你的实际场景]
请帮我思考:
1. Kaggle 环境和生产环境最大的 3 个区别是什么?
2. 模型上线后需要监控什么指标?
3. 特征工程在生产环境会遇到什么问题?(如特征漂移)
⚠️ 不要给我部署代码,只做工程化思维的分析。
Step 5:关 AI 自测
⚠️ 关闭 AI 前提:先独立思考 20-30 分钟,写出自己的判断和理由,再开启 AI 做追问验证。不要边想边问。
题目 1(理解层):99.8% 准确率的模型为什么是废物?
面试官给你看一个模型评估结果:信用卡欺诈检测,正样本(欺诈)占 0.2%,模型测试集准确率 99.8%。模型把所有交易都预测成了「正常」。
- 这个模型可以用吗?
- 精确率和召回率应该看哪个?
- 如果误报一笔正常交易为欺诈,用户有什么体验?
- 如果漏报一笔欺诈交易,公司损失什么?
- 在这个场景下,精确率和召回率的 trade-off 应该怎么定?
- 面试官真正在考察你什么能力?
你的判断:________________ 为什么:________________
题目 2(应用层):扫地机器人用户流失预测
你负责预测扫地机器人 App 用户的流失。特征库:日均清扫次数、平均清扫面积、避障失败次数、App 打开频率、客服工单数、是否购买耗材、设备固件版本……数据量约 10 万用户,流失用户约 12%。
- 你会从哪个模型开始?
- 需要做哪些特征工程?
- 最可能遇到的坑是什么?
- 如果模型上线后预测的"高流失风险用户"和实际流失对不上,你第一步排查什么?
你的判断:________________ 为什么:________________
题目 3(边界层):过拟合还是数据泄露?
你训练了一个模型预测清扫时长(回归)。训练 RMSE = 2.3 分钟,测试 RMSE = 8.7 分钟。你用了一个 total_clean_time 特征(从 start_time 和 end_time 算出)。但测试集中有些设备的日志跨天,end_time 可能被截断。
- 这是过拟合还是数据泄露?
- 你怎么区分这两种情况?
- 如果真的是数据泄露,修起来和过拟合的处理方式有什么本质区别?
你的判断:________________ 为什么:________________
题目 4(边界层):L1 vs L2 正则化——你的模型该用哪个?
- L1 能做特征选择(稀疏解),L2 让权重变小但不为零
- 如果业务需要可解释性(如金融风控,监管要求解释每个特征影响),选 L1 还是 L2?
- 如果有 200 个特征但怀疑只有 20 个真正有用呢?
- 面试官在考察你什么?单纯知道公式够不够?
你的判断:________________ 为什么:________________
题目 5(决策层):随机森林 vs XGBoost——导航算法效果评估
你们要评估新导航算法对清扫覆盖率的影响。方案 A:随机森林(训练快 10 分钟、可解释性强、少调参)。方案 B:XGBoost(训练慢 1 小时、精度可能高 1-2pp、但团队只有你一人熟悉)。
- 你的决策框架是什么?
- 除了模型精度,还要考虑哪些因素?
- 如果选错了,代价有多大?
你的判断:________________ 为什么:________________
🤖 AI 追问 Prompt
我刚完成了数据分析第 6 关的 AI 自测,以下是我的回答:
题目 1:[你的回答]
题目 2:[你的回答]
题目 3:[你的回答]
题目 4:[你的回答]
题目 5:[你的回答]
请扮演一个持怀疑态度的资深机器学习工程师,对我的回答进行追问:
1. 每个场景至少追问 1 轮
2. 如果我的回答有漏洞,不要直接指出,而是用提问让我自己发现
3. 如果我的回答到位了,说"这个回答到位了"然后进入下一个场景
4. 追问要有递进性:第一轮问"为什么",第二轮问"如果条件变了呢",第三轮问"你确定吗?有没有反例?"
5. 不要直接给答案,永远用提问引导
6. 特别关注题目 3——我需要你能区分过拟合、数据泄露和特征漂移,这是 ML 工程师的核心判断力
Step 6:费曼输出 + 信心校准
把学到的东西用自己的话输出出来。如果你讲不清楚,说明你还没真正理解。
🎤 一句话版本
用一句话(≤ 30 字)说清楚"机器学习的本质是什么"。
我的理解:________________
📢 三分钟版本
假设你要向一个有编程基础但不懂数据科学的同事解释"监督学习 + 偏差方差权衡 + 评估选择",用你自己的话,不照搬公式,3 分钟讲清楚。写出来。
我的讲解:________________
🧭 场景判断表格
| 场景 | 你会怎么做 | 用到哪个模型 | 为什么 | |------|----------|------------|--------| | 预测用户是否会流失(正例 12%) | | | | | 模型训练误差低、验证误差高 | | | | | 有 200 个特征,怀疑只有 20 个有用 | | | | | 欺诈检测(正例 < 0.2%) | | | | | 数据从 1 万条增长到 100 万条 | | | | | 上线后效果不如交叉验证 | | | |
📊 信心自评
| 维度 | 信心度(1-5) | 依据 | |------|-------------|------| | 我能判断一个问题该用回归还是分类 | ⬜⬜⬜⬜⬜ | | | 我能诊断模型是欠拟合还是过拟合 | ⬜⬜⬜⬜⬜ | | | 我能解释为什么准确率在类别不平衡时不可信 | ⬜⬜⬜⬜⬜ | | | 我能区分过拟合和数据泄露 | ⬜⬜⬜⬜⬜ | | | 我能在模型精度和可维护性之间做权衡 | ⬜⬜⬜⬜⬜ |
📘 精准阅读
6A 资源
| 资源 | 精确到 | 解决什么问题 | |------|--------|-------------| | Kaggle Learn ML 课程 | Micro-courses: Intro to ML + Intermediate ML | 最快上手,有交互式练习,覆盖回归/分类/特征工程基础 | | 《Hands-On ML with Scikit-Learn》Géron | 第 2-4 章(回归/分类/决策树/随机森林/SVM) | 系统理解经典 ML 算法原理和 scikit-learn 实践 | | 《统计学习方法》李航 | 第 1-6 章(感知机/kNN/朴素贝叶斯/决策树/逻辑回归/SVM) | 数学推导层面理解"为什么这个算法有效" | | Kaggle House Prices Notebook | 排名前 5 的 Notebook | 学习顶尖选手的 EDA 和特征工程思路 |
6B 资源
| 资源 | 精确到 | 解决什么问题 | |------|--------|-------------| | CIT694 PPT | 全部 | 课堂教学体系,覆盖 NLP 和 CV 基础 | | PyTorch 官方教程 | 60-minute Blitz + Transfer Learning Tutorial | 从零上手 PyTorch,理解训练循环和迁移学习 |
⚠️ 常见误区
误区 1:模型越复杂越好
XGBoost 不一定比线性回归好。数据少(< 1000 条)且噪声大时,简单模型更稳健。先跑 Baseline(线性回归),再逐步增加复杂度,每次对比验证集效果。
误区 2:只看准确率
类别不平衡时(正例占 0.2%),模型"全部预测为负例"就能达到 99.8% 准确率——但这毫无用处。欺诈检测看 F1/Recall,医疗诊断看 Sensitivity,推荐系统看 NDCG。
误区 3:不做交叉验证
一次 Train/Test 划分可能有偶然性。K-Fold 交叉验证(K=5 或 10)更可靠,尤其在数据量不大的情况下。Kaggle 高手几乎都用 CV。
误区 4:特征工程不重要,模型才是关键
"Garbage in, garbage out"。好的特征工程往往比模型选择对结果的影响更大。房价预测中,"总面积"可能不如"地下室面积/总面积比"有预测力。
🔗 工程映射
| 模型 | 真实场景 | 为什么会发生 | |------|---------|-------------| | 监督学习 | 推荐系统 CTR 预估:用户会点击这个广告吗?点击率预测是广告系统的核心,直接决定收入 | 有历史点击数据(标签),有用户/商品/上下文特征,典型的二分类问题 | | 偏差-方差 | 模型上线后监控:训练 AUC 0.85,线上 AUC 0.70 | 过拟合导致模型在新数据上失效,需要 A/B 测试 + 在线学习来持续校准 | | 不平衡处理 | 金融风控:欺诈交易占比 < 0.1%,用准确率评估会得到"完美"模型 | 正常交易压倒性多数,必须用 Precision-Recall 曲线评估,且宁可误报也不能漏报 | | 特征工程 | 推荐系统:用户过去 7 天点击率比"注册天数"更有预测力 | 好的特征来自对业务的理解,不是算法自动发现的 | | 迁移学习 | 医疗影像诊断:标注数据极少(几百张),用 ImageNet 预训练 ResNet 微调 | ImageNet 学到的底层特征(边缘、纹理)是通用的,只需微调顶层适配具体任务 | | 交叉验证 | 线上 A/B 测试:Kaggle 的 CV 对应生产环境的流量分割实验 | 线上效果才是最终标准,CV 只是最优情况下的估计值 |
✅ 通关标准(可验证)
6A 通关
- [ ] Kaggle House Prices 提交,排名前 30%
- [ ] 能解释 L1(Lasso)和 L2(Ridge)正则化的区别,以及各自适用场景
- [ ] Kaggle 信用卡欺诈检测 F1 > 0.85,能解释"为什么准确率 99.8% 的模型没用"
- [ ] 能画出偏差-方差权衡图,并标注自己的模型在图上的位置
- [ ] 客户分群聚类项目完成,能用业务语言解释每个群的特征
6B 通关(选做)
- [ ] 情感分析 demo 跑通,能对比 TF-IDF 和 Word2Vec 的效果差异
- [ ] 或:PyTorch 迁移学习 demo 跑通,能解释"为什么冻结底层、训练顶层"
📚 论文阅读清单
阅读策略
泛读(30-40 篇):读摘要 + 图表 + 结论,3-5 分钟/篇,记一句话笔记 精读(8-10 篇):逐段读,复现核心方法,记详细笔记 研读(2-3 篇):跟着做实验/改参数,作为通关论文的参考
搜索渠道:Google Scholar、arXiv、Semantic Scholar、Papers With Code
🔴 必读(精读 8-10 篇)
| # | 论文 | 来源/年份 | 核心方法 | 一句话总结 | 状态 | |---|------|----------|---------|-----------|------| | 1 | A Few Useful Things to Know about Machine Learning | CACM 2012 (Domingos) | ML 核心概念综述 | ML 终极目标是泛化而非拟合,过拟合是最大的敌人,特征工程往往比算法选择更重要 | ⬜ | | 2 | XGBoost: A Scalable Tree Boosting System | KDD 2016 (Chen & Guestrin) | 梯度提升树 | 正则化目标函数 + 二阶泰勒展开 + 列块并行,兼顾速度和精度 | ⬜ | | 3 | Random Forests | Machine Learning 2001 (Breiman) | 随机森林 | Bagging + 随机特征子集 = 强大且不易过拟合的集成方法,是树模型基线 | ⬜ | | 4 | The Relationship Between Precision-Recall and ROC Curves | ICML 2006 (Davis & Goadrich) | PR vs ROC | 当正负样本极度不平衡时,PR 曲线比 ROC 曲线更能反映分类器真实性能 | ⬜ | | 5 | A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection | IJCAI 1995 (Kohavi) | 交叉验证方法论 | 10 折交叉验证是分类任务最可靠的评估方法,stratified 分层能处理不平衡问题 | ⬜ | | 6 | Learning from Imbalanced Data | IEEE TKDE 2009 (He & Garcia) | 类别不平衡综述 | 系统总结了数据层面(重采样)和算法层面(代价敏感学习)的解决方案 | ⬜ | | 7 | Regularization and Variable Selection via the Elastic Net | JRSS-B 2005 (Zou & Hastie) | Elastic Net | 结合 L1 和 L2 正则化,既做特征选择又处理多重共线性,是线性模型的重要扩展 | ⬜ | | 8 | Gradient-Based Learning Applied to Document Recognition | Proc. IEEE 1998 (LeCun et al.) | CNN 开山之作 | 局部感受野 + 权值共享 + 下采样,奠定了深度学习在图像识别中的基础 | ⬜ | | 9 | CatBoost: Unbiased Boosting with Categorical Features | NeurIPS 2018 (Prokhorenkova et al.) | 类别特征提升树 | 提出 Ordered Target Statistics 解决类别特征的 target leakage 问题 | ⬜ | | 10 | Scikit-learn: Machine Learning in Python | JMLR 2011 (Pedregosa et al.) | ML 工具库 | 实操必读——理解 API 设计背后的 ML 流程(fit → predict → evaluate) | ⬜ |
🟡 推荐阅读(泛读 30-40 篇)
以下为推荐方向和关键词,自行搜索补充。目标是积累 30-40 篇的一行笔记。
搜索关键词:
- feature engineering machine learning practical guide
- ensemble methods boosting bagging comparison
- hyperparameter optimization bayesian grid random
- model interpretability SHAP LIME feature importance
- class imbalance oversampling undersampling SMOTE
- time series forecasting ARIMA LSTM comparison
- deep learning tabular data
- model evaluation metrics survey
泛读笔记:
| # | 论文 | 来源 | 跟我什么关系(一句话) | 状态 | |---|------|------|---------------------|------| | 1 | LightGBM: A Highly Efficient Gradient Boosting Decision Tree | NeurIPS 2017 (Ke et al.) | XGBoost 的替代方案,用直方图加速分裂查找,大数据量时更快 | ⬜ | | 2 | Boruta: A System for Feature Selection | JMLR 2010 (Kursa & Rudnicki) | 自动特征选择方法,基于随机森林的特征重要性排序 | ⬜ | | 3 | An Introduction to Statistical Learning | Springer 2013 (James et al.) | ML 入门圣经,理论和代码并重,适合建立完整知识框架 | ⬜ | | 4 | (自行搜索添加) | | | ⬜ | | 5 | (自行搜索添加) | | | ⬜ |
🟢 研读候选(选 2-3 篇)
从精读中选出最有价值的 2-3 篇,作为通关论文写作的主要参考。
| # | 论文 | 为什么选这篇 | 状态 | |---|------|------------|------| | 1 | | | ⬜ | | 2 | | | ⬜ | | 3 | | | ⬜ |
💡 以上论文清单为基础推荐,请根据学习过程中发现的高质量文献自行补充。