数据挖掘6-AI总结

0. 章节导览

  • 本章覆盖:决策树贝叶斯/朴素贝叶斯惰性学习(kNN/CBR/局部回归)线性/逻辑回归模型评估与选择提升精度(集成/不平衡学习)
  • Lazy vs. Eager:惰性学习几乎不训练、预测时计算量大;急切学习先拟合一个全局假设、预测快。
  • 下面按"概念 → 公式/伪码 → 何时使用 → 计算示例 "展开;所有数值算例均为自造数据,用于练手。

1. 决策树(ID3 / C4.5 / CART)

1.1 核心思想

  • 递归选择"最能提升纯度"的属性切分数据,直至叶子几乎纯净或满足停止条件(深度/最小样本/最小增益等)。

  • 常用指标:

    • 熵:H(Y)=−∑ipilog⁡2piH(Y)=-\sum_i p_i\log_2 p_iH(Y)=−∑ipilog2pi
    • 信息增益:Gain(X)=H(Y)−∑v∣Sv∣∣S∣H(Y∣X=v)\mathrm{Gain}(X)=H(Y)-\sum_v \frac{|S_v|}{|S|}H(Y\mid X=v)Gain(X)=H(Y)−∑v∣S∣∣Sv∣H(Y∣X=v)
    • 基尼:Gini(Y)=1−∑ipi2\mathrm{Gini}(Y)=1-\sum_i p_i^2Gini(Y)=1−∑ipi2

连续特征 :枚举候选阈值 ttt(通常在相邻有序值中点),选最优切分。
防过拟合:预剪枝(深度/叶子样本)或后剪枝(代价复杂度剪枝)。

1.2 何时使用

  • 表格型/混合型特征,需要可解释性;对尺度/缺失较稳健。
  • 若单树不稳或总体泛化差:优先随机森林/梯度提升树

1.3 计算示例:信息增益(自造)

  • 总体 10 样本:正6、负4
    H(Y)=−0.6log⁡20.6−0.4log⁡20.4=0.97095H(Y)=-0.6\log_2 0.6-0.4\log_2 0.4=0.97095H(Y)=−0.6log20.6−0.4log20.4=0.97095
  • 候选属性 BBB 两组各5:
    组1(4正1负) H1=0.72193H_1=0.72193H1=0.72193;组2(2正3负) H2=0.97095H_2=0.97095H2=0.97095
    加权条件熵:0.5×0.72193+0.5×0.97095=0.846440.5\times0.72193+0.5\times0.97095=0.846440.5×0.72193+0.5×0.97095=0.84644
    信息增益:0.97095−0.84644=0.124510.97095-0.84644=0.124510.97095−0.84644=0.12451(若属性 AAA 的增益只有 0.046440.046440.04644,则选 BBB)。

2. 贝叶斯 & 朴素贝叶斯(Naïve Bayes, NB)

2.1 核心公式

  • 贝叶斯:P(y∣x)∝P(y)P(x∣y)P(y\mid x)\propto P(y)P(x\mid y)P(y∣x)∝P(y)P(x∣y)
  • 朴素假设(条件独立):P(x∣y)=∏jP(xj∣y)P(x\mid y)=\prod_j P(x_j\mid y)P(x∣y)=∏jP(xj∣y)
  • 拉普拉斯平滑(避免零概率):P(v)=count(v)+1N+KP(v)=\dfrac{\text{count}(v)+1}{N+K}P(v)=N+Kcount(v)+1(KKK 为类别/取值数)

2.2 何时使用

  • 训练/预测极快 、可在线增量;文本分类强基线。
  • 特征强相关时独立假设偏差增大,可做特征选择或用更复杂的贝叶斯网络。

2.3 计算示例

示例A:后验对比(自造)

先验:P(正)=0.6, P(负)=0.4P(\text{正})=0.6,\ P(\text{负})=0.4P(正)=0.6, P(负)=0.4

条件:P(晴∣正)=0.5, P(高∣正)=0.6P(\text{晴}\mid\text{正})=0.5,\ P(\text{高}\mid\text{正})=0.6P(晴∣正)=0.5, P(高∣正)=0.6;
P(晴∣负)=0.2, P(高∣负)=0.3P(\text{晴}\mid\text{负})=0.2,\ P(\text{高}\mid\text{负})=0.3P(晴∣负)=0.2, P(高∣负)=0.3

样本 x=(晴,高)x=(\text{晴},\text{高})x=(晴,高):
正分=0.6⋅0.5⋅0.6=0.18\text{正分}=0.6\cdot0.5\cdot0.6=0.18正分=0.6⋅0.5⋅0.6=0.18;负分=0.4⋅0.2⋅0.3=0.024\text{负分}=0.4\cdot0.2\cdot0.3=0.024负分=0.4⋅0.2⋅0.3=0.024 → 判"正"。

示例B:拉普拉斯平滑(自造)

1000 条记录:low(0)、medium(990)、high(10)。
P(low)=(0+1)/(1000+3)=1/1003≈0.0010P(\text{low})=(0+1)/(1000+3)=1/1003\approx0.0010P(low)=(0+1)/(1000+3)=1/1003≈0.0010
P(medium)=(990+1)/1003≈0.9880P(\text{medium})=(990+1)/1003\approx0.9880P(medium)=(990+1)/1003≈0.9880
P(high)=(10+1)/1003≈0.0110P(\text{high})=(10+1)/1003\approx0.0110P(high)=(10+1)/1003≈0.0110


3. 惰性学习:kNN / 局部加权回归 / CBR

3.1 kNN 要点

  • 度量 :欧氏/余弦/马氏;可距离加权 (如 wi=1/(di+ε)w_i=1/(d_i+\varepsilon)wi=1/(di+ε))减小远邻影响。
  • kkk 的偏差-方差权衡 :小 kkk → 低偏差高方差;大 kkk → 高偏差低方差。
  • 高维问题:距离集中/维度灾难,需标准化、特征选择/降维、度量学习或ANN索引。

"小范围可靠,大范围不可靠" :kNN依赖局部平滑假设。邻域扩得过大时会跨越不同簇/机制,混入异质样本导致偏差飙升。

3.2 何时使用

  • 非平稳/强局部结构;小样本;或作为召回/冷启动模块。
  • 大规模低延迟线上服务通常更偏向 Eager 模型(树/逻辑回归/GBDT)。

3.3 计算示例(自造)

训练点:(1,1)+(1,1)+(1,1)+, (2,2)+(2,2)+(2,2)+, (3,3)−(3,3)-(3,3)−, (6,6)−(6,6)-(6,6)−, (7,7)−(7,7)-(7,7)−

查询 q=(2.5,2.5)q=(2.5,2.5)q=(2.5,2.5)

  • 与 (2,2)(2,2)(2,2)、(3,3)(3,3)(3,3) 距离均 ≈0.7071\approx0.7071≈0.7071;与 (1,1)(1,1)(1,1) 距离 ≈2.1213\approx2.1213≈2.1213
  • k=3k=3k=3 多数投票:邻居标签 +,−,++,-,++,−,+ → 判 +++
  • 距离加权(w=1/(d+ε)w=1/(d+\varepsilon)w=1/(d+ε))同样判 +++

3.4 CBR(案例推理)

  • 符号/结构化案例 库,强调检索适配;关键在相似度与索引设计(知识密集领域常见,如客服/法律)。

4. 线性/逻辑回归

4.1 模型与目标

  • 逻辑回归:
    p^(y=1∣x)=σ(z),z=w⊤x+b,σ(t)=11+e−t \hat{p}(y=1\mid x)=\sigma(z),\quad z=w^\top x+b,\quad \sigma(t)=\frac1{1+e^{-t}} p^(y=1∣x)=σ(z),z=w⊤x+b,σ(t)=1+e−t1
  • 目标:最大化对数似然(等价最小化交叉熵);用(批/小批/随机)梯度下降 及其变体优化;配合 L1/L2L_1/L_2L1/L2 正则抑制过拟合。

4.2 何时使用

  • 概率输出可解释 、适配大规模稀疏特征(配合正则与特征工程)。
  • 非线性强时可加特征交叉、核方法或改用树/GBDT/深度模型。

4.3 计算示例:一次更新(自造)

单样本 (x=2,y=1)(x=2, y=1)(x=2,y=1),初始 w=0,b=0w=0, b=0w=0,b=0,学习率 η=0.1\eta=0.1η=0.1。
p^=σ(0)=0.5\hat{p}=\sigma(0)=0.5p^=σ(0)=0.5;
∂ℓ∂w=(p^−y)x=(0.5−1)⋅2=−1\frac{\partial \ell}{\partial w}=(\hat{p}-y)x=(0.5-1)\cdot2=-1∂w∂ℓ=(p^−y)x=(0.5−1)⋅2=−1;
∂ℓ∂b=p^−y=−0.5\frac{\partial \ell}{\partial b}=\hat{p}-y=-0.5∂b∂ℓ=p^−y=−0.5;

更新:w←0−0.1(−1)=0.1,b←0−0.1(−0.5)=0.05w\leftarrow0-0.1(-1)=0.1,\quad b\leftarrow0-0.1(-0.5)=0.05w←0−0.1(−1)=0.1,b←0−0.1(−0.5)=0.05。


5. 模型评估与选择

5.1 指标与工具

  • 混淆矩阵(二分类):
预测 + 预测 −
真实 + TP FN
真实 − FP TN
  • Accuracy、Precision、Recall、F1、Specificity(特异度)、ROC-AUC/PR-AUC。
  • 数据切分:Holdout、分层 k 折交叉验证、Bootstrap。

5.2 计算示例:由混淆矩阵到指标(自造)

设 TP=45、FP=5、FN=15、TN=35(总计 100):

  • Accuracy = (45+35)/100=0.80(45+35)/100=0.80(45+35)/100=0.80
  • Precision = 45/(45+5)=0.9045/(45+5)=0.9045/(45+5)=0.90
  • Recall = 45/(45+15)=0.7545/(45+15)=0.7545/(45+15)=0.75
  • F1 = 2⋅0.90⋅0.75/(0.90+0.75)=0.8182\cdot0.90\cdot0.75/(0.90+0.75)=0.8182⋅0.90⋅0.75/(0.90+0.75)=0.818
  • Specificity = 35/(35+5)=0.87535/(35+5)=0.87535/(35+5)=0.875

6. 提升精度:集成学习 & 不平衡学习

6.1 随机森林(RF)

  • Bagging (自助采样) + 特征子采样(结点随机子集);全树生长、投票决策。
  • 主要降方差、抗噪稳健、默认强基线(表格数据)。

6.2 梯度提升树(GBDT / XGBoost)

  • 加性模型,逐步拟合残差/梯度;带正则、可并行、对稀疏/缺失友好。
  • 重要超参:树深、叶子最小样本、学习率、树数、列/行采样。

6.3 不平衡学习

  • 采样:上采样少数类、下采样多数类、合成少数类(如 SMOTE 思想)。
  • 算法层 :类别权重/代价敏感、阈值平移、与集成结合。
  • 评估 :更关注 PR-AUC/Recall/F1/ROC-AUC,不要盲信 Accuracy。

6.4 代价敏感的最优阈值(自造)

若误报成本 cFPc_{FP}cFP、漏报成本 cFNc_{FN}cFN,当
p^(y=1∣x)>cFPcFP+cFN \hat{p}(y=1\mid x)>\frac{c_{FP}}{c_{FP}+c_{FN}} p^(y=1∣x)>cFP+cFNcFP

时判为正可最小化期望代价。
:cFN=5, cFP=1⇒t∗=1/6≈0.167c_{FN}=5,\ c_{FP}=1\Rightarrow t^*=1/6\approx0.167cFN=5, cFP=1⇒t∗=1/6≈0.167(显著降低阈值以提升召回)。


7. Lazy vs. Eager 的工程抉择

  • Lazy(kNN/CBR/局部回归) :训练几乎零成本、预测慢;以大量局部模型 形成隐式全局近似,假设空间更丰富。
  • Eager(树/NB/逻辑回归/集成) :先学习一个全局假设,预测快、易部署。
  • 常见流水线召回 用 Lazy(近邻/相似检索),重排用 Eager(GBDT/LogReg/NN)。

8. 复习清单(按题型速记)

概念题

  • 解释树的分裂准则(熵/信息增益/基尼)与剪枝必要性。
  • 说明朴素贝叶斯的独立性假设利弊与平滑的作用。
  • 比较 Lazy/Eager 在训练/预测开销与假设空间上的差异。

计算题

  • 手算熵/信息增益(见 §1.3)。
  • 手算 NB 后验与判别(见 §2.3A)。
  • 给定点集与查询点,算 kNN 距离/投票(见 §3.3)。
  • 由混淆矩阵算 Precision/Recall/F1/Specificity(见 §5.2)。
  • 代价敏感最优阈值 t∗=cFP/(cFP+cFN)t^*=c_{FP}/(c_{FP}+c_{FN})t∗=cFP/(cFP+cFN)(见 §6.4)。

9. 常见坑 & 实战建议

  • kNN :特征标准化 是硬性要求;高维做特征选择/降维/度量学习 ;用距离加权自适应邻域减少远邻污染。
  • NB :极度不平衡时先验/平滑/阈值影响大;文本任务常很强。
  • 树/森林/提升:优先调树深、叶子最小样本、列/行采样、学习率和树数;用 OOB/交叉验证防过拟合。
  • 评估 :不平衡任务更看 PR/Recall/F1/ROC-AUC ;必要时阈值调优类别权重

附:练习题(自造,含答案)

1)信息增益(12 样本,正7负5;属性 X 二分:组1(5:4正1负),组2(7:3正4负))

  • ① H(Y)H(Y)H(Y);② Gain(X)\mathrm{Gain}(X)Gain(X)
    答案 :H(Y)=0.9799H(Y)=0.9799H(Y)=0.9799;H(Y∣X)=0.9183H(Y\mid X)=0.9183H(Y∣X)=0.9183;Gain(X)=0.0616\mathrm{Gain}(X)=0.0616Gain(X)=0.0616

2)朴素贝叶斯 (先验 P(正)=0.4P(\text{正})=0.4P(正)=0.4;P(A=1∣正)=0.7, P(B=1∣正)=0.6P(A{=}1\mid\text{正})=0.7,\ P(B{=}1\mid\text{正})=0.6P(A=1∣正)=0.7, P(B=1∣正)=0.6;P(A=1∣负)=0.2, P(B=1∣负)=0.3P(A{=}1\mid\text{负})=0.2,\ P(B{=}1\mid\text{负})=0.3P(A=1∣负)=0.2, P(B=1∣负)=0.3;样本 A=1,B=1A{=}1,B{=}1A=1,B=1)
答案 :正分 =0.4⋅0.7⋅0.6=0.168=0.4\cdot0.7\cdot0.6=0.168=0.4⋅0.7⋅0.6=0.168;负分 =0.6⋅0.2⋅0.3=0.036=0.6\cdot0.2\cdot0.3=0.036=0.6⋅0.2⋅0.3=0.036 → 判正。

3)kNN (点集:(0,0)+,(1,0)+,(0,1)+,(3,3)−,(4,3)−,(3,4)−(0,0)+,(1,0)+,(0,1)+,(3,3)-,(4,3)-,(3,4)-(0,0)+,(1,0)+,(0,1)+,(3,3)−,(4,3)−,(3,4)−;查询 q=(1.2,0.9)q=(1.2,0.9)q=(1.2,0.9);k=3k=3k=3)
答案 :最近三个近似为 (1,0)(1,0)(1,0)、(0,1)(0,1)(0,1)、(0,0)(0,0)(0,0)(全为 +)→ 判 +++。

4)混淆矩阵指标 (TP=50, FP=10, FN=20, TN=20)
答案:Accuracy=0.70;Precision=0.833;Recall=0.714;F1=0.769;Specificity=0.667。

5)代价敏感阈值 (cFN=8, cFP=1c_{FN}=8,\ c_{FP}=1cFN=8, cFP=1)
答案 :t∗=1/(1+8)=1/9≈0.111t^*=1/(1+8)=1/9\approx0.111t∗=1/(1+8)=1/9≈0.111;更低阈值→召回↑、精度↓,适合漏报代价高场景。

相关推荐
美团技术团队3 小时前
美团 LongCat 团队发布 VitaBench:基于复杂生活场景的交互式 Agent 评测基准
人工智能
非凸科技3 小时前
第50届ICPC亚洲区域赛·成都站,非凸科技持续护航顶尖赛事
人工智能·科技
深度学习机器3 小时前
RAG的另一种思路,基于文档树结构的推理型检索
人工智能·算法·架构
skywalk81633 小时前
老显卡老cpu用vllm推理大模型失败Intel(R) Xeon(R) CPU E5-2643 v2
人工智能·pytorch·python·vllm
深度学习机器4 小时前
Agent架构新方向?Claude Skills工作原理解析
人工智能·算法·架构
新智元4 小时前
他发明了价值万亿的 AGI,如今穷困潦倒
人工智能·openai
Baihai_IDP4 小时前
怎样为你的 RAG 应用选择合适的嵌入模型?
人工智能·llm·aigc
工藤学编程4 小时前
零基础学AI大模型之LangChain WebBaseLoader与Docx2txtLoader实战
人工智能·langchain
机器之心4 小时前
AI太空竞赛?英伟达H100刚上天,谷歌Project Suncatcher也要将TPU送上天
人工智能·openai