🧠 机器学习核心知识点系统总结

纯知识点导向 · 面向面试与工程实践 · 拒绝碎片化记忆


一、模型对特征尺度的敏感性(是否需要归一化)

🔍 判断标准

模型是否依赖以下机制决定了是否需要归一化:

依赖机制 是否需要归一化 原因
距离计算(如欧氏距离) ✅ 需要 尺度大会主导距离
梯度下降优化 ✅ 需要 尺度不一会导致收敛慢
正则化(L1/L2) ✅ 需要 大尺度特征被过度惩罚
决策分裂(如树模型) ❌ 不需要 只关心相对大小

✅ 需要归一化的模型

模型 原因说明
Logistic回归 使用梯度下降 + 正则化,特征尺度影响权重平衡与收敛速度
SVM 基于样本间距离构造最大间隔,尺度敏感
神经网络 激活函数(Sigmoid/Tanh)在输入过大时饱和,梯度消失;梯度下降易震荡
KNN / K-Means 直接依赖距离度量,某特征尺度大则主导结果

📌 常用归一化方法

  • Min-Max 归一化x' = (x - min) / (max - min) → 缩放到 [0,1]
  • Z-Score 标准化x' = (x - μ) / σ → 均值为0,方差为1

⚠️ 建议:训练集计算参数(如 μ, σ),应用到验证/测试集,避免数据泄露。


❌ 不需要归一化的模型

模型 原因说明
决策树(CART, ID3, C4.5) 分裂基于“某个值是否大于阈值”,与绝对尺度无关
随机森林 多棵决策树集成,继承树模型的尺度不变性
GBDT / XGBoost / LightGBM 每棵树独立构建,分裂准则(基尼、信息增益)只依赖分布

💡 关键性质

树模型对特征的单调变换(如线性缩放、取对数)具有不变性。


二、逻辑回归(Logistic Regression)的本质

📌 基本定位

  • 是一个分类模型,主要用于二分类任务。
  • 名称中的“回归”源于其建模的是 log-odds 的线性关系,而非输出类型。

🧮 数学表达

$$
P(y=1|x) = \frac{1}{1 + e^{-(w^T x + b)}}
$$
输出是属于正类的概率,通过 Sigmoid 函数映射到 [0,1]。

✅ 核心特性

特性 说明
属于广义线性模型(GLM) 使用 logit 函数作为连接函数:$\log\left(\frac{p}{1-p}\right) = w^Tx + b$
损失函数 交叉熵损失(Cross-Entropy Loss)
优化方式 梯度下降、牛顿法、L-BFGS 等
可解释性强 权重 $ w_i $ 表示特征 $ x_i $ 对 log-odds 的影响方向与强度

❌ 常见误解澄清

错误说法 正确认知
“逻辑回归假设输入服从正态分布” ❌ 无此假设!这是 LDA 或某些判别模型的假设
“逻辑回归是回归模型” ❌ 实为分类器,输出是概率,用于分类决策
“必须使用梯度下降” ❌ 也可用其他优化方法,尤其在小数据上牛顿法更快

📌 适用场景

  • 医疗诊断、金融风控、广告点击率预估等需要可解释性的领域。

三、支持向量机(SVM)核心原理

🎯 核心思想

寻找一个最大几何间隔的超平面,使分类边界最“稳健”,提升泛化能力。

🧩 关键概念

概念 说明
几何间隔 点到超平面的真实距离,SVM 最大化的是这个值
支持向量 距离超平面最近的样本点,唯一决定决策边界
软间隔 引入松弛变量 $ \xi_i $,允许部分样本误分类,提高鲁棒性
核函数(Kernel Trick) 隐式将数据映射到高维空间,在高维中线性可分
常见核函数 线性核、多项式核、RBF(高斯核)、Sigmoid核

✅ 正确认知

正确认知 说明
最大间隔超平面是唯一的 在线性可分情况下,凸优化问题有唯一最优解
可用于回归任务 称为 SVR(Support Vector Regression),允许误差带(ε-tube)
与感知机的关系 SVM 是感知机的“升级版”:在所有可分平面中选择间隔最大的

❌ 典型误区

❌ “最大间隔超平面不唯一”
✅ 正确:在凸优化下,解唯一。感知机解不唯一,但 SVM 有唯一最优解。


四、推荐系统中的矩阵分解与效率优化

🧩 矩阵分解(Matrix Factorization)

基本思想

将用户-物品评分矩阵 $ R \in \mathbb{R}^{m \times n} $ 分解为两个低秩矩阵:
$$
R \approx U V^T
$$

  • $ U \in \mathbb{R}^{m \times k} $:用户隐因子矩阵
  • $ V \in \mathbb{R}^{n \times k} $:物品隐因子矩阵
  • $ k $:隐因子维度(通常 50~200)

目标函数(带正则化)

$$
\min_{U,V} \sum_{(i,j) \in \text{obs}} (r_{ij} - u_i^T v_j)^2 + \lambda (|u_i|^2 + |v_j|^2)
$$


⚙️ 大规模下的效率优化策略

方法 原理与优势
分布式计算(Spark, Flink) 数据分片并行处理,适合海量用户/物品场景
ALS(交替最小二乘法) 固定 $ U $ 优化 $ V $,再反过来,易于并行化,比 SGD 更稳定
降维 / 数据过滤 去除冷门用户/物品,减少矩阵稀疏性和计算量
负采样 只采样部分未交互样本参与训练,降低计算复杂度
增量学习 支持在线更新,避免全量重训练

❌ 边缘计算不适用的原因

原因 说明
训练依赖全局信息 矩阵分解需要所有交互数据,边缘设备数据局部
计算资源有限 难以承担大规模矩阵运算
通信开销大 需频繁同步参数,反而增加延迟

📌 正确使用场景

  • 推理阶段:在移动端做轻量级推荐(如本地模型预测)
  • 训练阶段:不适合边缘计算

五、模型对比总结表

模型 类型 是否需归一化 可解释性 适用场景
Logistic回归 分类 风控、CTR预估
SVM 分类 / 回归(SVR) 小样本、高维数据
决策树 分类 / 回归 规则清晰、可解释要求高
随机森林 / GBDT 分类 / 回归 结构化数据建模
神经网络 分类 / 回归 图像、语音、复杂非线性
矩阵分解 推荐系统 ✅(若用梯度法) 协同过滤、隐式反馈

六、学习建议与进阶方向

✅ 推荐学习路径

  1. 基础巩固

    • 掌握每个模型的损失函数、优化目标、假设条件
    • 理解“为什么”而不是“是什么”
  2. 工程思维培养

    • 如何处理大规模数据?如何选择模型?
    • 如何评估效果?(AUC、NDCG、Recall、Precision)
  3. 进阶模型

    • FM / DeepFM:融合特征交叉与深度学习
    • 双塔模型(Two-Tower):大规模召回常用
    • Graph Neural Networks:建模用户-物品图结构
  4. 系统设计能力

    • 推荐系统全流程:召回 → 粗排 → 精排 → 重排
    • 实时性、冷启动、多样性等工程挑战

🎯 总结:掌握机器学习的三大维度

维度 内容
1. 模型本质 理解“它是什么?怎么工作的?”
2. 工程实践 知道“怎么用?怎么优化?”
3. 场景匹配 明白“什么时候用哪个模型?”

💬 记住一句话
不要死记题,要理解为什么。
所有题目都是对知识掌握程度的检验,而非目标本身。


🎯 祝你系统掌握知识,从容应对任何挑战!
如需我将此文档导出为 PDF、生成思维导图、或补充公式推导,请随时告诉我!📘✨