|
### PCA 知识点
**定义**:主成分分析(Principal Component Analysis)是一种**无监督线性降维**方法,通过正交变换将原始特征投影到方差最大的若干方向(主成分),实现降维。
**算法流程**:
```
1. 数据中心化:X' = X - μ
2. 计算协方差矩阵:C = (X'ᵀX')/(n-1)
3. 特征值分解 / SVD:C = VΛVᵀ
4. 取前 k 个最大特征值对应的特征向量作为投影矩阵
5. 降维:Y = X' · Vk
```
**核心特性**:
| 特性 | 说明 |
|------|------|
| 学习类型 | 无监督(不需标签) |
| 变换性质 | **纯线性** |
| 优化目标 | **最大化方差保留** |
| 是否确定性 | ✅ 是(给定输入输出唯一) |
| 适用问题 | "高维"(特征多),非"大数据"(样本多) |
**PCA 的正则化视角**:k 值本身控制模型复杂度——k 小→约束强→正则化强;k 大→约束弱→正则化弱。
**计算成本**:协方差矩阵 O(n·d²) + 特征分解 O(d³)。100万样本×5000特征直接做 PCA 会非常慢,**不是大数据问题的解**。
**对比**:与神经网络隐藏层降维不同——隐藏层有监督、非线性、针对任务优化;PCA 无监督、线性、保方差。
|
|
### Q1 PCA 应对大数据训练?
**[判断]** 建立 5000 特征、100万数据的 ML 模型,应用 PCA 降维以有效应对大数据训练。
**答案:错 ✗**
**解析**:
- PCA 解决的是**高维问题**(特征多,维度诅咒),不是**大数据问题**(样本多,计算/存储压力)
- PCA 本身计算成本极高(O(n·d²)+O(d³)),在 100万样本上可能比直接训练还慢
- 大数据应使用:增量/在线 PCA、SGD、特征选择、分布式计算(Spark)
**关键区分**:高维(d 大)→ PCA;大数据(n 大)→ 增量/分布式
|
|
### Q2 PCA 是确定性算法?
**[判断]** PCA 属于确定性算法。
**答案:对 ✓**
**解析**:
- PCA 流程全部是确定性数学运算:中心化(减法)、协方差矩阵(确定公式)、特征值分解(唯一解)、排序选前 k(确定)
- 给定相同输入 → 相同协方差矩阵 → 相同特征值/特征向量 → 相同降维结果
- 对比:K-Means(随机初始化)、随机森林(随机采样)均为非确定性
**注**:特征向量符号可能因 SVD 实现不同而正负翻转,但 v 与 -v 代表同一主轴方向,本质结果一致。
|
|
### Q3 k 越大正则化越弱?
**[判断]** 用 PCA 降到 k 维作为特征,更高的 k 意味着较少的正则化。
**答案:对 ✓**
**解析**:
- PCA 降维本身就是一种正则化(约束模型表示能力)
- k 小 → 保留特征少 → 模型简单 → **强正则化**
- k 大 → 保留特征多 → 模型复杂 → **弱正则化**
- 类比 L1/L2 正则、Dropout:都是通过约束容量来防过拟合
|
|
### Q4 隐藏层降维 = PCA 降维?
**[判断]** 用 PCA 替代神经网络隐藏层做降维,两者输出效果一样。
**答案:错 ✗**
**解析**:
| 维度 | 隐藏层 | PCA |
|------|--------|-----|
| 学习类型 | 有监督(有标签) | 无监督 |
| 优化目标 | 最小化任务损失 | 最大化方差保留 |
| 变换性质 | 线性+非线性 | 纯线性 |
| 输出特征 | 任务相关 | 数据主成分 |
隐藏层学到的特征针对分类/回归任务最有用(如猫狗分类学到"耳朵形状");PCA 保留的是最大方差方向(如亮度),可能与任务无关。
|
|
### 聚类算法知识点
**定义**:聚类是无监督学习方法,将样本划分为若干簇,使同簇样本相似、异簇样本相异。
**K-Means 算法流程**:
```
1. 随机初始化 k 个质心 ← 关键:随机!
2. 分配:每个样本归到最近质心
3. 更新:重新计算各簇质心(均值)
4. 重复 2-3 直到收敛
```
**核心性质**:
- **非确定性**:因初始化随机,相同数据可能收敛到不同局部最优
- **目标函数非凸**:存在多个局部最优解
- **应对**:多次运行取最优(n_init=10)、K-Means++ 智能初始化、固定 random_state
**聚类 vs 分类**:聚类结果可为每个样本提供 k 维 one-hot 编码(属于簇 i → 第 i 位为 1)。这揭示了"聚类即离散表示学习"的视角。
**算法确定性对比**:
| 算法 | 确定性 | 原因 |
|------|--------|------|
| K-Means | ❌ | 随机初始化 |
| PCA | ✅ | 纯数学运算 |
| 层次聚类(单链接) | ✅ | 确定性距离 |
| SVM | ✅ | 凸优化唯一解 |
|
|
### K-Means 是确定性算法?
**[判断]** K-Means 属于确定性算法。
**答案:错 ✗**
**解析**:
- K-Means **初始化质心是随机的**(随机选 k 个点)
- 目标函数非凸,有多个局部最优
- 不同初始化 → 不同收敛路径 → 不同最终聚类结果
- 实际工程中通过多次运行(n_init=10)选最佳结果来缓解
**结论**:相同数据可能产生不同聚类 → 非确定性算法。
|
|
### SVM 知识点
**支持向量机(SVM)**:通过最大化分类间隔寻找最优超平面的二分类模型。核技巧(Kernel Trick)将其推广到非线性分类。
**RBF 核(高斯核)**:
```
K(x, x') = exp(-γ · ||x - x'||²)
```
**γ(gamma)参数与模型复杂度**:
| γ | 决策边界 | 模型复杂度 | 偏差/方差 |
|---|---------|-----------|----------|
| 大 | 复杂、扭曲、贴近样本 | 高 | 高方差(过拟合) |
| 小 | 平滑、简单 | 低 | 高偏差(欠拟合) |
**调参原则**:
- **欠拟合**(训练误差高)→ **增大 γ**(让边界更复杂)
- **过拟合**(训练好测试差)→ **减小 γ**(让边界更平滑)
**其他关键参数**:
- C(惩罚系数):大 C → 严惩误分 → 过拟合倾向;小 C → 容忍误分 → 欠拟合倾向
- 求解:凸二次规划,有唯一解(确定性算法)
**对比**:SVM 适合中小数据;大规模数据推荐用线性 SVM 或 SGD(如 Pegasos 算法)。
|
|
### SVM 欠拟合时减小 γ 能改善?
**[判断]** 若 SVM 模型欠拟合,减小核系数(gamma)可以改善。
**答案:错 ✗**
**解析**:
- 欠拟合 = 模型太简单 → 应**增大** γ(决策边界更复杂、更贴合样本)
- 减小 γ 会让边界更平滑、更简单,**反而加剧欠拟合**
- 调参方向反了
**记忆口诀**:γ 与复杂度同向——γ↑ 复杂度↑;欠拟合要更复杂 → γ↑。
|
|
### 距离与相似度知识点
**距离度量**衡量样本间差异。常见距离:
| 距离 | 公式 | 性质 |
|------|------|------|
| 欧氏距离 | √Σ(xi-yi)² | 平移/旋转/反射不变 |
| 曼哈顿距离 | Σ\|xi-yi\| | 网格路径 |
| 余弦相似度 | cos(θ) | 方向相似,无量纲 |
| 相关距离 | 1 - ρ(Pearson相关系数) | 无量纲,尺度无关 |
**相关系数 ρ**:
```
ρ(X,Y) = Cov(X,Y) / (σx · σy)
```
内部已除以标准差,**自动消除量纲/尺度影响**,是尺度不变的(scale-invariant)。
**KL 散度(相对熵)**:衡量两分布差异,**不对称**:KL(P\|Q) ≠ KL(Q\|P)。基于 KL 的代价函数(如 t-SNE)也因此不对称。
**t-SNE**:非线性降维可视化方法,代价函数基于 KL(P\|Q),其中 P(高维)、Q(低维)分布不对称,故本质不对称。
**选择原则**:
- 特征量纲差异大 → 用余弦/相关系数,或先标准化再用欧氏
- 强调方向相似 → 余弦
- 强调绝对位置 → 欧氏
|
|
### 欧氏距离旋转不变?
**[判断]** 旋转不变性是欧氏距离的性质。
**答案:对 ✓**
**解析**:
- 欧氏距离是两点间的直线距离
- 旋转、平移、反射等**刚体变换**不改变两点间距离
- 数学上:||Rx - Ry||² = ||R(x-y)||² = ||x-y||²(因 R 是正交矩阵,RᵀR = I)
- 这是欧氏距离作为"几何距离"的基本性质
**应用**:图像识别中,欧氏距离对目标的旋转/平移具有不变性。
|
|
### t-SNE 代价函数不对称?
**[判断]** t-SNE 的代价函数本质是不对称的。
**答案:对 ✓**
**解析**:
- t-SNE 代价函数 = KL 散度 KL(P\|Q)
- P:高维空间样本相似度分布(高斯)
- Q:低维空间样本相似度分布(t 分布)
- **KL 散度本身不对称**:KL(P\|Q) ≠ KL(Q\|P)
- 因此 t-SNE 代价函数本质不对称
**实际影响**:t-SNE 重排低维点时,对"远距离"误判惩罚大(保局部结构),对"近距离"误判惩罚小——这是其擅长可视化局部簇的原因。
|
|
### 相关系数聚类受量纲影响?
**[判断]** 用相关系数作为模式相似度度量做聚类,量纲(scale)是影响结果的主要因素。
**答案:错 ✗**
**解析**:
- Pearson 相关系数 ρ = Cov(X,Y) / (σx·σy)
- 内部已除以标准差,**自动消除量纲/尺度影响**
- 所以量纲**不是**影响因素
- 真正影响因素是特征间的相关结构(变量间的线性关系)
**对比**:欧氏距离受量纲影响大(差 100 倍的特征主导距离),故用欧氏聚类前须标准化。
|
|
### 时间序列知识点
**时间序列分解**:一列按时间排序的数据可分解为四个成分:
```
时序 = 趋势(Trend) + 季节性(Seasonality) + 周期(Cyclical) + 噪声(Noise)
```
**四个成分**:
| 成分 | 定义 | 特征 |
|------|------|------|
| 趋势 | 数据**总体的统一方向**(上升/下降/平稳) | 长期、缓慢 |
| 季节性 | 固定周期内重复的模式(如每年、每周) | 周期固定 |
| 周期 | 非固定周期的波动(如经济周期) | 周期不固定 |
| 噪声 | 不可预测的随机变动 | 零均值、无法建模 |
**关键区别**:
- **趋势** ≠ 单调——趋势可以改变方向(先升后降),但代表"总体方向"
- **噪声** ≠ 误差——噪声是数据本身的随机性,不可消除,只能平滑
- **季节性** vs **周期**——前者固定周期,后者不固定
**建模目标**:分离出趋势和季节性(可预测),剔除噪声(不可预测)。
**常用方法**:移动平均(提取趋势)、差分(去除趋势转为平稳)、ARIMA、指数平滑。
|
|
### 时序中的噪声是什么?
**[单选]** 时序背景下,"噪声"指什么?
A. 时序数据中不可预测的变动 ✓
B. 数据采集设备的误差
C. 时序的长期趋势
D. 时序的季节波动
**答案:A**
**解析**:噪声 = 不可预测、随机的变动,零均值,无法建模。是时序分解中的残差项。区别于趋势(C)、季节(D)这些可建模成分。B 是噪声来源之一,但不是"噪声"的定义。
|
|
### 趋势是什么?
**[单选]** 时序中"趋势"指什么?
A. 数据的随机波动
B. 数据的周期性变化
C. 数据总体的统一方向 ✓
D. 数据的异常值
**答案:C**
**解析**:趋势 = 数据总体的统一方向(长期上升/下降/平稳)。不要求单调(可改变方向),但代表总体走势。区别于周期(B)、噪声(A)、异常(D)。
**注意**:本题文件名为"梯度.md"但实际考查"趋势"概念,是术语混淆的常见点。
|
|
### 拟合与过拟合知识点
**三种拟合状态**:
| 状态 | 训练误差 | 测试误差 | 原因 |
|------|---------|---------|------|
| 欠拟合 | 高 | 高 | 模型太简单(高偏差) |
| 良好拟合 | 低 | 低 | 模型复杂度适中 |
| 过拟合 | 极低 | 高 | 模型太复杂(高方差),记忆训练数据 |
**偏差-方差权衡(Bias-Variance Tradeoff)**:
```
总误差 = 偏差² + 方差 + 不可约误差
```
- 模型简单 → 高偏差低方差(欠拟合)
- 模型复杂 → 低偏差高方差(过拟合)
**影响 bias-variance 的因素**:
1. **模型复杂度**(多项式次数、网络深度、树深度)
2. **数据量**(小数据更易过拟合)
3. **正则化强度**(λ 大 → 抑制过拟合)
**不影响的因素**:
- 权重的求解方式(矩阵求逆 vs 梯度下降)→ 只影响"能否找到最优解",不改变最优解本身的偏差/方差
**过拟合应对**:正则化(L1/L2)、Dropout、BatchNorm、数据增强、早停、简化模型、增加数据。
|
|
### 小数据集更易过拟合?
**[单选]** 为什么在数据集较小时更容易出现过拟合?
A. 模型容量自动增大
B. 噪声比例自动升高
C. 数据分布偏移加剧
D. 训练时遇到所有可能特征的可能性降低 ✓
**答案:D**
**解析**:小数据 → 模型难以见到全部特征组合 → 学到的是训练样本的"特例"而非"规律" → 在新数据上泛化差(过拟合)。本质是数据不足以支撑模型复杂度。
|
|
### 权重求解方式影响过拟合?
**[判断]** 学习权重的方式(矩阵求逆 vs 梯度下降)会极大影响过拟合/欠拟合的权衡。
**答案:错 ✗**
**解析**:
- 求解方式只影响**能否找到最优解**及**计算效率**
- 不改变最优解本身的**偏差/方差特性**
- 真正影响 bias-variance 的是:模型复杂度、数据量、正则化强度
- 例:线性回归无论用闭式解(求逆)还是梯度下降,最终拟合质量本质相同
|
|
### 多项式次数影响过拟合?
**[判断]** 多项式回归中,多项式次数会极大影响过拟合/欠拟合权衡。
**答案:对 ✓**
**解析**:
- 多项式次数 = 模型复杂度/自由度
- 次数低(如 1 次线性)→ 表达能力弱 → 高偏差(欠拟合)
- 次数高(如 10 次)→ 表达能力过强 → 高方差(过拟合,曲线剧烈震荡)
- 多项式次数是控制 bias-variance 的**直接手段**
|
|
### ML 基础知识点
**机器学习三要素**:模型(假设空间)、策略(损失函数)、算法(优化方法)。
**学习范式**:
- **监督学习**:有标签(分类、回归)
- **无监督学习**:无标签(聚类、降维、密度估计)
- **半监督学习**:少量标签 + 大量无标签
- **自监督学习**:从数据自身构造标签(如 Word2vec、BERT 的 MLM)
**关键概念**:
- **表示学习**:让模型自动学习有用特征(深度学习的核心)。深度网络前面层 = 表示学习单元,最后一层 softmax = 分类单元
- **SGD(随机梯度下降)**:用小批量样本近似梯度,**适用于几乎所有可梯度优化的算法**(深度网络、逻辑回归、SVM/Pegasos、线性回归),不仅限深度学习
- **聚类 = 离散表示**:k-means 把样本分到 k 簇,等价为每个样本提供 k 维 one-hot 编码
**集成学习**:
- **Bagging**(如随机森林 RF):并行训练多棵树,投票;用随机特征子集降相关性
- **Boosting**(如 GBDT/XGBoost):串行训练,每棵拟合前一棵的残差;**标准 GBDT 用全部特征**,只有 Stochastic Gradient Boosting 才用随机子集
**Bayes 误差**:理论最低误差,由数据本身的不可约噪声决定。实践中常以**人类最优表现**(best expert)作为 Bayes 误差的近似估计。
|
|
### 哪个说法不正确?
**[单选]** 关于 ML 算法的说法,**不正确**的是:
A. 监督/无监督界限模糊(特征vs目标难严格区分)
B. 深度网络+softmax 可视为表示学习 + 分类
C. 聚类 = 为每个样本提供 k 维 one-hot 编码
D. **SGD 在逻辑回归、SVM 中作用很有限** ✓(不正确)
**答案:D**
**解析**:D 错误。SGD 是大规模 ML 的核心算法,不仅用于深度学习,也是逻辑回归、SVM(Pegasos)、线性回归的标准训练方法。A/B/C 都正确:自监督/推荐系统模糊了监督界限;深度网络前面层学表示;聚类结果天然是 one-hot 编码。
|
|
### 一元线性回归需要几个参数?
**[判断]** 简单一元线性回归需要 2 个参数。
**答案:对 ✓**
**解析**:一元线性回归模型 `y = wx + b`,需要 2 个参数:斜率 w(权重)和截距 b(偏置)。
|
|
### RF 和 GBDT 都用随机特征子集?
**[判断]** 随机森林和 GBDT 都用随机特征子集生成树。
**答案:错 ✗**
**解析**:
- **随机森林(RF)**:✅ 用随机特征子集(降树间相关性,典型 Bagging)
- **标准 GBDT**:❌ 用**全部特征**(串行拟合残差)
- 只有 **Stochastic Gradient Boosting**(GBDT 的随机变体)才用随机子集
两者核心差异:RF 并行+随机;GBDT 串行+残差拟合。
|
|
### 特征归一化的错误说法?
**[单选]** 关于特征归一化,**错误**的是:
A. Z-score 标准化对异常值较鲁棒
B. 概率模型(如朴素贝叶斯)不需归一化
C. **特征值差异大时适用线性归一化(Min-Max)** ✓(错误)
D. 树模型(决策树/RF)不需归一化
**答案:C**
**解析**:Min-Max 归一化 `x' = (x-min)/(max-min)` 对异常值**极敏感**(一个极端值会把其他值压缩到很小区间)。特征值差异大时应优先用 **Z-score 标准化** `x' = (x-μ)/σ`。B/D 正确:概率模型和树模型对量纲不敏感。
|
|
### 如何定义人类水平作为 Bayes 误差?
**[单选]** 4 位标注者的错误率分别为 0.3%、0.5%、1.0%、1.2%,如何定义"人类水平"作为 Bayes 误差基线?
A. 取平均 0.75%
B. 取最优 0.3% ✓
C. 取最差 1.2%
D. 取中位数 0.75%
**答案:B**
**解析**:人类水平应取**最优专家的表现**(0.3%)作为 Bayes 误差的近似。因为:
- Bayes 误差是理论下限,应取可达的最低值
- 最优专家代表人类能达到的最好水平
- 用它作为基线可判断模型是"欠拟合"还是"已接近理论极限"
**应用**:训练误差与 Bayes 误差的差距 = 可避免偏差(avoidable bias)。
|
|
### ML 策略 - 数据划分知识点
**训练/开发/测试集的作用**:
| 集合 | 作用 | 是否参与训练 |
|------|------|------------|
| 训练集 | 学习模型参数 | ✅ 是 |
| 开发集(验证集) | 调超参、选模型 | ❌ 否 |
| 测试集 | 最终评估泛化能力 | ❌ 否 |
**Andrew Ng 的数据划分原则**:
1. **dev/test 必须反映目标分布**(实际部署场景的数据分布)
2. **训练集可以来自不同分布**(只要包含目标分布的信息)
3. dev 和 test 必须**同分布**
**为什么这样划分?**
- dev 集用于指导优化方向 → 必须和实际应用一致,否则优化方向错误
- test 集用于最终评估 → 必须和实际一致,否则评估失真
- 训练集可以宽松——模型能从相关但不完全相同的数据中学到有用特征
**分布不一致场景示例**:
- 训练数据:网上的猫图(清晰、室内)
- 目标应用:车载摄像头拍到的猫(模糊、室外、运动)
- 正确做法:dev/test 必须用**车载摄像头**数据,训练集可混合网络图+摄像头图
**数据分布偏移类型**:协变量偏移(P(X) 变)、标签偏移(P(Y\|X) 变)、概念偏移。
|
|
### 目标分布不同如何划分?
**[单选]** 你要训练一个识别汽车前摄摄像头拍到的猫的系统。手头有 100万张网络猫图 + 10万张车载摄像头猫图。如何划分?
A. 全部混合后随机划分
B. 全用车载图做训练,网络图做测试
C. **90万网络图 + 8万车载图作训练;剩余 2万车载图作 dev/test** ✓
D. 全部用车载图训练和测试
**答案:C**
**解析**:
- **dev/test 必须匹配目标分布**(车载摄像头)→ 必须用车载图做 dev/test
- 训练集可混合——用 90万网络图 + 8万车载图,既利用大数据又包含目标分布
- 保留 2万车载图作 dev/test(同分布),评估真实泛化能力
**核心原则**:dev/test 反映部署场景;训练集可包含相关但不同的数据。
|
|
### 决策树与集成学习知识点
**1. 决策树三大分裂准则**
| 算法 | 准则 | 优化方向 | 特点 |
|------|------|---------|------|
| **ID3** | 信息增益 | **最大化** | 偏向取值多的属性(如 ID 列) |
| **C4.5** | 信息增益率 | **最大化** | 用 SplitInfo 惩罚多值属性,纠 ID3 之偏 |
| **CART** | 基尼系数 | **最小化** | 二叉树,计算快,scikit-learn 默认 |
**信息熵**:`H(D) = -Σ pₖ log pₖ`,不纯度越高熵越大,所需信息量越大。
**信息增益**:`Gain(D,A) = H(D) - Σ |Dᵥ|/|D| · H(Dᵥ)` = 父熵 − 子节点加权熵。
**增益率**:`GainRatio = Gain / SplitInfo`,SplitInfo 衡量属性自身取值数量。
**易错点**:基尼系数和交叉熵是"**最小化**"准则(越小越纯),题目说"最大基尼系数"是错的。
**2. 集成学习两大范式**
| 范式 | 代表 | 训练方式 | 主要降低 | 并行性 |
|------|------|---------|---------|--------|
| **Bagging** | 随机森林 | 树之间独立,有放回采样 | **方差** | 可并行 |
| **Boosting** | Adaboost / XGBoost / GBT | 顺序拟合前一棵的残差 | **偏差** | 串行 |
**关键区分**:
- Boosting(XGBoost/Adaboost/GBT)**降低偏差**,每棵树修正前一棵的错误,**强顺序依赖不可并行**
- Bagging(随机森林)**降低方差**,多棵独立树投票/平均,**可并行**
- "GBT 总是比随机森林好"是错的——噪声数据上随机森林更稳健
- 总误差 = 偏差² + 方差 + 噪声
|
|
### Q1 决策树有哪些常用的启发函数?
**[多选]** 决策树有哪些常用的启发函数(分裂准则)?
A. 最大信息增益 B. 最大信息增益率 C. 最大基尼系数 D. 最大交叉熵
**答案:A、B**(部分教材可选 A、B、C)
**解析**:
- **A ✅** ID3 用信息增益,是"最大化"准则
- **B ✅** C4.5 用信息增益率,也是"最大化"
- **C ❌(严格)/ 视情况** CART 用基尼系数,但基尼是"**最小化**"准则(越小越纯),说"最大基尼系数"方向反了。若题目泛指"基尼系数是常用准则",部分教材放宽可选 C
- **D ❌** 交叉熵同样是"最小化"准则
**记忆**:信息增益/增益率"最大化",基尼/交叉熵"最小化"。
|
|
### Q2 关于信息增益的论述哪些正确?
**[单选]** 关于"信息增益"的论述:① 较不纯的节点需要更多信息描述;② 信息增益可通过熵推导;③ 信息增益偏向选择大量值的属性。哪些正确?
A. 1 B. 2 C. 2 和 3 D. 所有都对
**答案:D**
**解析**:
- ① ✅ 不纯度越高 → 熵越大 → 所需信息量越大
- ② ✅ 信息增益 = 父熵 − 子节点加权熵,本质基于熵
- ③ ✅ 信息增益偏向取值多的属性(极端例子:ID 列每个样本一类,子节点全纯,增益虚高)——这正是 ID3 的缺陷,C4.5 用增益率修正
**增益率** = 增益 / 固有熵 SplitInfo,惩罚多值属性。
|
|
### Q3 随机森林和 GBT 都能并行且 GBT 总更好?
**[判断]** 随机森林和 GBT 都可以并行生成单棵树(树之间无依赖),且 GBT 表现总是比随机森林好。
**答案:错 ✗**
**解析**:题目含两个错误:
1. **GBT 不可并行**:GBT 是 Boosting,每棵树拟合前一棵的残差,存在强顺序依赖;只有随机森林(Bagging)的树互相独立可并行
2. **"总是更好"太绝对**:噪声数据上随机森林往往更稳健,没有"绝对更好"
**记忆口诀**:Bagging 降方差可并行;Boosting 降偏差需串行。
|
|
### 线性模型知识点
**1. 逻辑回归(Logistic Regression)的本质**
虽然名字带"回归",但它是**分类**模型:
- 线性部分 `z = w·x + b` → Sigmoid `σ(z) = 1/(1+e⁻ᶻ)` → 概率 `P(y=1|x) ∈ (0,1)`
- 决策边界是线性超平面 `w·x + b = 0`
- 损失:交叉熵(非 MSE)
- **判别式模型**:直接建模 `P(Y|X)`,无需假设数据分布
**关键性质**:
- 既输出类别也输出概率 ✅
- 无需事先假设数据分布 ✅(区别于朴素贝叶斯等生成式模型)
- 本质仍是**线性模型** ✅(决策边界线性)
- **不是线性回归** ❌(线性回归预测连续值,用 MSE)
**2. 对数几率回归 = 单层神经网络**
`对数几率回归` ≡ `无隐藏层的单层神经网络`:`Linear(w,b) → Sigmoid`。公式、损失(交叉熵)、优化(梯度下降)完全一致。添加隐藏层即扩展为深度网络。
**3. 线性回归的两种求解**
| 方法 | 正规方程 | 梯度下降 |
|------|---------|---------|
| 公式 | `θ = (XᵀX)⁻¹ Xᵀy` | 迭代 `θ -= α·∇J` |
| 复杂度 | `O(n³)`(n=特征数) | `O(m·n)` 每次迭代 |
| 适用 | n 小(< 10⁴) | n 大、大规模数据 |
| 内存 | 需存 `XᵀX`(n²) | 可分批,内存友好 |
**经验**:n > 10⁴ 优先梯度下降。线性回归是凸函数,梯度下降必收敛到全局最优。
|
|
### Q1 关于逻辑斯蒂回归的描述哪些正确?
**[多选]** 以下关于逻辑斯蒂回归的描述正确的有?
A. 可预测类别也可得概率
B. 无需事先假设数据分布
C. 本质仍是线性模型
D. 是线性回归模型
**答案:A、B、C**
**解析**:
- **A ✅** 输出经 Sigmoid 映射到 [0,1],既给类别(阈值判断)又给概率
- **B ✅** 作为判别式模型直接建模 `P(Y|X)`,不需要数据分布假设(区别于生成式模型如朴素贝叶斯)
- **C ✅** 决策边界 `w·x+b=0` 是线性超平面
- **D ❌** 逻辑回归是**分类**任务(交叉熵损失),线性回归是**连续值预测**(MSE 损失),两者不同
**公式链**:线性回归 + Sigmoid = 逻辑回归;+ Softmax = 多分类。
|
|
### Q2 可以用神经网络构造对数几率回归?
**[判断]** 可以用神经网络去构造对数几率回归。
**答案:对 ✓**
**解析**:对数几率回归数学上**等价于一个无隐藏层的单层神经网络**:
```
线性层 z = w·x + b → Sigmoid 激活 σ(z) = 1/(1+e⁻ᶻ) → 输出概率
```
两者公式、损失(交叉熵)、优化(梯度下降)完全一致。添加隐藏层即扩展为深度网络。
**PyTorch 实现**:`Linear(in, 1) + Sigmoid()`。
|
|
### Q3 高维数据选梯度下降还是正规方程?
**[单选]** 数据集 m=100 万样本、n=20 万特征,多元线性回归应选?
A. 梯度下降(正规方程太慢)
B. 正规方程(直接求解有效)
C. 梯度下降(总能收敛最优)
D. 正规方程(梯度下降可能找不到最优)
**答案:A**
**解析**:
- **A ✅** 正规方程 `θ=(XᵀX)⁻¹Xᵀy` 需矩阵求逆,复杂度 `O(n³)`。n=20 万时约 `8×10¹⁵` 运算,且 `XᵀX` 矩阵需约 **160GB 内存**,不可行。梯度下降每次迭代 `O(mn)`,可分批并行
- B ❌ 正规方程在此规模完全不可行
- C ❌ 理由错——线性回归是凸函数,**两种方法都能收敛到全局最优**,不是选梯度下降的理由
- D ❌ 梯度下降在凸问题上能找到最优,理由不成立
**经验**:n > 10⁴ 优先梯度下降。
|
|
### 概率与统计知识点
**1. 极大似然估计(MLE)**
通过**最大化似然函数** `L(θ) = ∏ f(xᵢ;θ)` 求解参数 θ。对数似然 `ℓ(θ) = Σ log f(xᵢ;θ)`。
**两大性质(均不保证)**:
- **存在性不保证**:如正态分布 σ→0 时似然无界;均匀分布 `U(0,θ)` 在开参数空间最大值取不到
- **唯一性不保证**:混合模型标签对称、参数冗余、多峰似然都会产生多解
**结论**:严格凹似然 → 唯一解;似然无界 → 不存在。
**2. Pearson 相关系数 ρ**
由柯西-施瓦茨不等式限定:**`ρ ∈ [-1, 1]`**
- `|ρ| → 1`:强线性相关(+1 正相关,-1 负相关)
- `ρ = 0`:无**线性**相关(但可能有非线性关系)
- `|ρ| > 1`:**数学上不可能**,数据/计算必有错
**3. 马氏距离 vs 欧氏距离**
`d_马 = √((x−μ)ᵀ Σ⁻¹ (x−μ))`
| 性质 | 欧氏距离 | 马氏距离 |
|------|---------|---------|
| 考虑分布(协方差) | ❌ | ✅(用 Σ⁻¹ 归一化) |
| 尺度不变性 | ❌(量纲敏感) | ✅(自动归一化) |
| 平移不变性 | ✅ | ✅(**两者共有**,非马氏独有) |
| 假设各维独立 | 隐含 | 否(刻画变量相关性) |
**关键**:马氏距离把"考虑分布"和"尺度不变"作为优点,但"平移不变性"是两者共有的,不是马氏独有优点。
|
|
### Q1 关于极大似然估计(MLE)的说法哪些正确?
**[多选]** 关于极大似然估计(MLE),下列说法正确的是?
A. MLE 可能不存在
B. MLE 总是存在
C. 若存在,解可能不唯一
D. 若存在,解一定唯一
**答案:A、C**
**解析**:
- **A ✅** MLE 不一定存在:正态分布 σ→0 时似然无界;均匀分布 `U(0,θ)` 在开集参数空间最大值取不到
- B ❌ "总是存在"过于绝对
- **C ✅** MLE 不一定唯一:混合模型标签对称、参数冗余、多峰似然都会产生多解
- D ❌ "一定唯一"过于绝对
**对比**:矩估计总存在但可能不有效;贝叶斯估计总有后验分布。MLE 的存在性与唯一性均需具体分析。
|
|
### Q2 相关系数矩阵含 1.23 是否可信?
**[判断]** 相关系数矩阵中 3 对变量分别为 -0.98、0.45、1.23,可得出 Var1 与 Var2 非常相关。
**答案:错 ✗**
**解析**:Pearson 相关系数由**柯西-施瓦茨不等式**严格限定于 **[-1, 1]**。
- 1.23 **超出取值范围**,数学上不可能
- 说明相关矩阵本身存在计算错误或数据无效,**整个矩阵不可信**
- 虽然 -0.98 确实表强负相关,但矩阵含不可能值,无法得出任何可靠结论
**记忆**:`ρ ∈ [-1,1]`,任何 `|ρ| > 1` 都是错误。
|
|
### Q3 马氏距离相比欧氏距离的优点?
**[判断,共 3 道]**
- Q1:马氏距离的优点是考虑了模式的分布
- Q2:优点是尺度不变性
- Q3:优点是平移不变性
**答案**:Q1 **对**;Q2 **对**;Q3 **错**
**解析**:马氏距离 `d = √((x−μ)ᵀ Σ⁻¹ (x−μ))` 通过协方差矩阵的逆:
- **Q1 ✅** 同时刻画变量相关性(分布信息)
- **Q2 ✅** 对量纲做归一化(尺度不变)
- **Q3 ❌** "平移不变性"是**马氏距离和欧氏距离共有**的性质(`x+c` 与 `μ+c` 的差向量不变),并非马氏独有优点
**易错点**:平移不变性两者都有,不能算作马氏的"优点"。
|
|
### 评估与特征选择知识点
**1. 分类评估指标(基于混淆矩阵)**
| 指标 | 公式 | 含义 | 适用场景 |
|------|------|------|---------|
| **准确率 Accuracy** | `(TP+TN)/总` | 整体预测对的比例 | 类别均衡 |
| **精确率 Precision** | `TP/(TP+FP)` | 预测为正的,多少真的是正 | 垃圾邮件(重误报) |
| **召回率 Recall** | `TP/(TP+FN)` | 真正的正,多少被找出 | 疾病诊断(重漏报) |
| **F1** | `2·P·R/(P+R)` | 精确与召回的调和平均 | 类别不均衡 |
**2. 回归评估指标**
- **RMSE(均方根误差)** = `√(mean((y-ŷ)²))`,对大误差敏感(平方放大)
- **MAE** = `mean(|y-ŷ|)`,对异常值鲁棒
- **R²** = 决定系数,越接近 1 越好
**3. 特征选择的信息论方法**
**期望交叉熵** `CE = -Σ p(x) log q(x)` 衡量引入特征后类别分布相对先验的偏离,**偏离越大特征越有价值**。与信息增益、互信息同源。
**特征选择方法分类**:
- **信息论**:信息增益、期望交叉熵、互信息
- **统计检验**:卡方检验
- **正则化**:L1(Lasso)产生稀疏权重
- **模型内置**:树模型的 feature_importance_
|
|
### Q1 哪些指标可用于模型评估?
**[多选]** 下列哪些指标可用于模型评估?
A. 准确率(Accuracy)
B. 精确率(Precision)
C. 召回率(Recall)
D. 均方根误差(RMSE)
**答案:A、B、C、D**
**解析**:
- **A/B/C ✅** 分类任务核心指标(基于混淆矩阵):Accuracy 整体准确度;Precision 关注误报;Recall 关注漏报
- **D ✅** 回归任务核心指标,对大误差敏感
**适用场景对照**:
- 疾病诊断 → 重 **Recall**(宁可误判不能漏)
- 垃圾邮件 → 重 **Precision**(宁可放过不能误杀)
- 类别不均衡 → 用 **F1** 而非 Accuracy
|
|
### Q2 特征选择可能用到期望交叉熵?
**[判断]** 机器学习做特征选择时,可能用到期望交叉熵。
**答案:对 ✓**
**解析**:期望交叉熵 `CE = -Σ p(x) log q(x)` 衡量**引入特征后类别分布相对先验分布的偏离程度**——偏离越大,特征越有价值。
是文本分类、决策树等信息论类特征选择的常用度量,与信息增益、互信息**同源**。
**其他特征选择方法**:卡方检验、L1 正则、树模型特征重要性。
|
|
### 拟合与偏差方差知识点
**1. 欠拟合 vs 过拟合**
| 类型 | 表现 | 原因 | 总误差主导 | 解决方向 |
|------|------|------|----------|---------|
| **欠拟合** | 训练误差高、测试误差高 | 模型容量不足 | **偏差** | 增大模型/加特征/降正则 |
| **过拟合** | 训练误差低、测试误差高 | 模型过复杂 | **方差** | 正则化/加数据/降模型复杂度 |
**2. 偏差-方差分解**
`总误差 = 偏差² + 方差 + 噪声`
- **偏差(Bias)**:模型预测的期望与真实值的差距——模型本身的表达能力
- **方差(Variance)**:不同训练集训练出的模型的预测波动——对训练数据敏感程度
**3. 集成学习如何降偏差/方差**
| 范式 | 算法 | 主要降低 | 机制 |
|------|------|---------|------|
| **Boosting** | XGBoost / Adaboost / GBT | **偏差** | 顺序拟合残差,逐步修正错误 |
| **Bagging** | 随机森林 | **方差** | 多棵独立树投票/平均 |
**易错**:
- 单棵决策树本身是**低偏差高方差**,不存在"降低偏差"的过程
- Adaboost 是 Boosting → 降**偏差**(不是降方差)
**4. SVM 对噪声鲁棒的原因**
- 只依赖**支持向量**(少数靠近边界的样本)定决策边界
- **最大间隔**原则使边界远离各类点
- 软间隔允许少量误分类,不被个别噪声点拉偏
|
|
### Q1 哪些是解决欠拟合的方法?
**[多选]** 下列哪些是解决欠拟合的方法?
A. 正则化方法
B. 集成学习方法
C. 添加新特征
D. 减少正则化系数
**答案:B、C、D**
**解析**:欠拟合 = 模型容量不足(高偏差),需**提升**表达能力:
- **B ✅** 集成学习(尤其 Boosting)可提高表达能力
- **C ✅** 添加新特征增加信息量
- **D ✅** 减小正则化系数 λ 让模型更灵活
- **A ❌** 正则化会**进一步限制**模型复杂度,加剧欠拟合(正则化是治过拟合的)
**对照**:过拟合才用正则化(增 λ)、减特征、降模型复杂度、加数据。
|
|
### Q2 各集成算法降偏差还是方差?
**[多选]** 下列叙述正确的有?
A. Adaboost 降低方差
B. XGBoost 降低偏差
C. RandomForest 降低方差
D. DecisionTree 降低偏差
**答案:B、C**
**解析**:
- **B ✅** XGBoost 是 Boosting → 主要降低**偏差**(顺序拟合残差)
- **C ✅** RandomForest 是 Bagging → 主要降低**方差**(多树平均)
- A ❌ Adaboost 是 Boosting → 降**偏差**(不是降方差,A 说反了)
- D ❌ 单棵决策树本身是**低偏差高方差**,不存在"降低偏差"的过程
**记忆**:Boosting 降偏差(XGBoost/Adaboost/GBT);Bagging 降方差(随机森林)。
|
|
### Q3 下面哪个说法正确?
**[单选]** 下面说法正确的是?
A. 梯度下降会陷局部最优但 EM 不会
B. SVM 对噪声鲁棒
C. 训练数据越多越易过拟合
D. n 增大时训练-测试误差差减小
**答案:B**
**解析**:
- **B ✅** SVM 只依赖支持向量、最大化间隔,软间隔允许少量误分,对噪声鲁棒
- A ❌ EM 也受初始化影响会陷**局部最优**(EM 不保证全局最优)
- C ❌ 数据多反而**防过拟合**(更多样本 → 方差降低)
- D ❌ 训练-测试误差差主要取决于**模型复杂度**,与样本量 n 关系不固定
**SVM 抗噪本质**:仅支持向量定边界,远离边界的多数点不影响决策面。
|
|
### 降维与聚类知识点
**1. PCA(主成分分析)**
**目标**:无监督线性降维,找方差最大的若干正交方向(主成分)。
**流程**:
```
1. 中心化:X' = X - μ ← 必须先减均值!
2. 协方差矩阵:C = (X'ᵀ X')/(n-1)
3. 特征分解 / SVD:C = VΛVᵀ
4. 取前 k 个最大特征值对应的特征向量 Vₖ
5. 降维:Y = X' · Vₖ
```
**PCA 与 SVD 的关系**:
- SVD 可对**任意矩阵**分解 `X = UΣVᵀ`
- 只有对**零均值数据**做 SVD,才等价于 PCA 的投影
- 不中心化 → 第一主成分会偏向数据中心方向,而非最大方差方向
**2. K-means 聚类**
**两步迭代**(EM 思想):
1. **分配步(E)**:每个样本划归到**最近**的簇 `cᵢ = argmin ‖xᵢ - μⱼ‖²`
2. **更新步(M)**:新质心 = 簇内样本**均值** `μⱼ = (1/|Cⱼ|) Σ xᵢ`
**收敛条件**:质心不再变化 或 损失变化 < 阈值。
**易错点**:
- 质心是簇内**均值**,不是"最近的样本"
- 方向是**样本 → 簇**(每个样本分配到一个簇),不是"簇 → 样本"
**K 值选择**:手肘法、轮廓系数、Gap statistic。
|
|
### Q1 PCA 与 SVD 投影需要零均值?
**[判断]** 为了得到和 SVD 一样的投影,PCA 中需要将数据转换成零均值。
**答案:对 ✓**
**解析**:
- PCA 目标是找**方差最大**的方向,必须先**中心化**(`x' = x - μ`)
- 不中心化 → 第一主成分会偏向**数据中心**方向,而非最大方差方向
- SVD 可对任意矩阵分解,但**只有对零均值数据做 SVD,才等价于 PCA 的投影结果**
**实现技巧**:PCA 常通过对中心化数据做 SVD 实现(数值更稳定)。
|
|
### Q2 K-means 内部循环的两个步骤?
**[多选]** K-means 内部循环反复执行的两个步骤是?
A. 移动簇中心,更新簇中心
B. 分配簇,其中参数被更新
C. 移动簇中心,将其设置为最近的训练示例
D. 簇中心分配步骤,每个质心被分配到最近的训练示例
**答案:A、B**
**解析**:K-means 两步:
- **A ✅** 更新步:质心移到簇内均值(更新簇中心)
- **B ✅** 分配步:每个样本划归到最近簇(参数=簇标签被更新)
- C ❌ 质心应是簇内**均值**,不是"最近的样本"
- D ❌ 方向反了——是**样本 → 簇**(每个样本分配到最近质心),不是"质心 → 样本"
**记忆**:① 样本找最近质心(分配)② 质心取簇内均值(更新)。
|