机器学习(决策树)

一、决策树与随机森林基础概念:

决策树定义:从根节点逐步分裂至叶子节点的树形结构,数据最终落在叶子节点上。支持分类和回归任务。

随机森林:由多棵决策树组成的集成学习模型,继承决策树的分类/回归能力。属于集成学习方法(如Bagging)。

二、决策树构建关键点:

节点类型:根节点:初始未分割的完整数据集。

分支节点:通过特征条件分裂的子集。

叶子节点:不再分裂的最终节点,需保证同类数据纯度(如鸢尾花分类中单节点仅含一种花)。

数据结构类比:节点关系(根、父、子、兄弟)与二叉树概念一致。

训练与测试流程

训练阶段:从根节点开始选择最优特征进行切分,递归构建树结构。

测试阶段:根据训练好的树模型,从根节点向下遍历至叶子节点,完成分类/回归预测。

三、特征选择与信息增益:

根节点选择:需选取最能区分数据的特征(如西瓜案例中"声音响亮"对好瓜的判断力强)。

信息增益:熵(H):衡量数据集不确定性,熵越小纯度越高(如集合A={1,1,1,2}比B={1,2,3,4}更纯净)。

计算方式:信息增益 = 分裂前熵 - 分裂后熵,增益越大特征越优。

熵的计算公式:H = -Σ(p_i * log_a(p_i)),其中底数a通常取2,特殊情况需根据场景调整(a ∈ (1, +∞))。熵值越小表示数据越纯净(不确定性低),信息增益则是原始熵与划分后熵的差值,差值越大说明划分效果越好。

示例:当P=0.5时,通过代入公式验证熵值为1,底数取2可简化计算(log₂(1/2) = -1)。

熵的极值:当某类别概率pᵢ趋近0或1时,熵趋近0(确定性高);当各类别概率均等(如二分类中p=0.5)时熵最大。

对数函数性质:logₐ1=0(任何底数a),因此pᵢ=1时熵项为0。

注意事项:

决策树终止条件:叶子节点需达到完全分类(如鸢尾花节点仅含单一类别)。

特征排列组合:实际应用中需避免穷举所有特征顺序(计算量大),优先选择信息增益高的特征。

关键问题:

  1. 决策树的组成部分及其作用是什么?

    答案:决策树由根节点、非叶子节点与分支、叶子节点组成。根节点是第一个选择点,为特征选择起点;非叶子节点与分支是决策中间过程,用于进一步切分数据;叶子节点是最终的决策结果。

  2. 熵的含义及关键特性是什么?

    答案:熵是衡量随机变量不确定性的度量,公式为H(X)=−∑pi​⋅logpi​。关键特性:不确定性越大,熵值越大;当p=0或p=1时,熵为 0(无不确定性);当p=0.5时,熵为 1(不确定性最大)。

  3. 信息增益在决策树构造中的作用是什么?请结合实例说明。

    答案:信息增益用于衡量特征使类不确定性减少的程度,是选择最优特征作为节点的依据。实例中,14 天打球数据的初始熵为 0.940,分析 outlook 特征时,其加权熵为 0.693,信息增益为 0.247,通过比较各特征信息增益,可选择最大的作为根节点,逐步构造决策树。

相关推荐
NAGNIP5 小时前
一文搞懂树模型与集成模型
算法·面试
NAGNIP5 小时前
万字长文!一文搞懂监督学习中的分类模型!
算法·面试
技术狂人1685 小时前
工业大模型工程化部署实战!4 卡 L40S 高可用集群(动态资源调度 + 监控告警 + 国产化适配)
人工智能·算法·面试·职场和发展·vllm
D_FW6 小时前
数据结构第六章:图
数据结构·算法
a程序小傲6 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
自学不成才7 小时前
深度复盘:一次flutter应用基于内存取证的黑盒加密破解实录并完善算法推理助手
c++·python·算法·数据挖掘
June`7 小时前
全排列与子集算法精解
算法·leetcode·深度优先
徐先生 @_@|||7 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
夏鹏今天学习了吗8 小时前
【LeetCode热题100(78/100)】爬楼梯
算法·leetcode·职场和发展