机器学习 -- 初识决策树,大厂前端高级多套面试专题整理集合

2. 决策树与if-then规则


从根节点开始对实例的每个特征进行测试,根据结果将其分支,递归的测试分配,直到叶子节点,从而构造了决策树。

决策树分类器的实质就是一系列的if-then规则

路径  —  规则

内部节点 —  判定规则

叶子节点 — 决策结论

****(1)性质:****互斥且完备(即:每个实例都是有且仅有一条路径或规则覆盖。)

(2)特点:

特征空间被划分为不相交的单元或区域。

条件概率分布: 在每个单元中定义的一个类的概率分布。

每个叶节点的条件概率都趋向于具有较高概率的一类。

当决策树进行分类时,该节点的实例被强制归入具有高条件概率的类别。

(3)例子:

(每个矩形是一个单元,假设只有正类和负类,判断条件概率大的就属于该类)

3. 如何学习一个决策树


对于数据集有n个特征,yi对应每个样例的类标签,N为容量

学习目标:构造一个决策树模型,通过训练实例对样本进行正确的分类

实质:从训练数据中归纳出一系列的if-then规则

目的: 构建与训练数据不一致程度较低、泛化能力较好的决策树。对未知数据有较好的预测,且训练精确度好

损失函数: (通常)正则化极大似然函数,使损失函数最小。

从所有候选中选择最优决策树是n-p难问题。在现实中,决策树学习通常采用一种启发式方法,即局部优化。

方法: 选取当前条件下的最优特征作为划分规则,即局部最优特征。主要有自顶向下,贪婪的搜索方法

算法步骤:

(1)建立根节点(选择最佳特征)

(2)对于每个分支确定下一个特征,从而对节点进行划分

(3)确立下一个特征,递归的方法构造决策树

决策树学习算法包括:

(1)特征选择

(2)决策树生成

(3)决策树修剪(避免过拟合)

决策树: 一个条件概率分布。不同的决策树对应不同复杂度的概率模型。

决策树生成: 模型的局部选择(考虑局部优化)

决策树剪枝: 模型的全局选择(考虑全局优化)

三、特征选择

======

1. 什么是特征选择


特征选择: 选择能够对训练数据进行分类的特征。决定使用哪个特征来划分特征空间。如果一个特征分类的结果与随机分类的结果相似,那么这个特征就不能进行分类。

我们如何选择最好的特性? 特征选择准则:信息增益

哪一个特征最好?  它会生成最小损失的树; 启发式:选择产生“最纯粹”节点的特性

策略: 选择能够获得最大信息增益的特性

2. 熵


引入‘熵’的概念,看下图哪一个信息量更大?

左边图信息量更大,因为它有混合的,不确定性更改可以帮助我们更好的分类

熵越大,不确定性越大。

例子:在数据集中,我们有四个特性和两个目标类。在15个实例中,9个分类为是,其余为否有一些方法可以选择特性。如:

:用于测量随机变量的不确定性。熵越大,不确定性越大。

当只有两个特征,变化为二项分布

3. 条件熵


如果是多个特征 --> 引入条件熵 类似于联合概率密度,又叫经验熵或经验条件熵。

4. 信息增益


有了熵和经验熵 --> 信息增益

表示:以某特征划分数据集前后的熵的差值

在训练集D上特征A的信息增益g(D,A)表示为D的熵H(D)和条件熵H(D|A)的差值。

因此,特征选择的方法就是要使用信息增益的IG3算法,选择最小信息增益的特征。

5. ID3算法


使用IG来确定节点特征。

定义变量:

D: 训练数据  |D|:样例的总个数

K: 总共的类别,Ck分别表示每个类,|Ck|表示每个类对应的个数

假设特征A有n个值,则将D划分为{D1,D2,… Dn}子集,每个子集中有不同类Dik

算法表示:

输入:训练集D和特征A

输出:在训练集D上,特征A的信息增益g(D, A)

  1. 计算训练集D的熵H(D)

  2. 计算特征A的条件熵 H(D,A)

  3. 计算信息增益g(D, A) = H(D) - H(D,A)

例题:

6. 信息增益比


由于信息增益偏向于特征取值多的特征,具有倾向性,因此为了对其修正提出了:信息增益比。

总结: IG(信息增益)ID3算法

IGR(信息增益比)C4.5算法

四、决策树生成(Decision tree generation)

=================================

1. ID3算法


非正式********算法:

确定训练集上信息增益最高的特征。

以该特性为根,为该特性的每个值创建一个分支。

对于每个分支,使用该分支分类的训练集子集重复该过程。

何时停止?IG特别小或没有特征可选

正式算法:

输入:训练集D,特征集合A,阈值ε

输出:决策树

  1. 如果数据集D中属于同一类(结果相同)那么就不用划分了,直接就是单节点数;

  2. 如果没有特征,那么表格只有一列是类别,就建立单节点树,节点就取占比最大的;

  3. 除上述情况的其他情况:计算每个特征对应的IG(信息增益),并选择最大IG 的特征Ag

  4. 如果Ag的信息增益小于ε,那么就建立单节点,将样例中个数最多的分类作为类名,并停止。

  5. 如果Ag的信息增益大于ε,分支分成了n个子集,根节点确定,再建立分支。如果分支是同一类,那么形成叶子节点,否则划分成子树;

  6. 按照上述算法递归划分子树。

关键步骤: 3,4,5

****停止条件:****没有特征,小与ε

例题:

 

总结: ID3算法的基本思想是,以信息熵为度量,用于决策树节点的属性选择,每次优先选取信息量最多的属性,亦即能使熵值变为最小的属性,以构造一颗熵值下降最快的决策树,到叶子节点处的熵值为0。此时,每个叶子节点对应的实例集中的实例属于同一类。

****ID3建树的问题:****倾向于特征多的,生成树容易过拟合,从而引入了IGR算法,他的选择标准是IGR

五、决策树的剪枝(Decision tree pruning)

===============================

1. 理想的决策树


(1)叶子结点数最少;

(2)叶子结点深度最小;

(3)叶子结点数最少且叶子结点深度最小。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

6837)]
[外链图片转存中…(img-VqhOGBby-1711113356837)]
[外链图片转存中…(img-gWMynVuu-1711113356838)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-n77uL7KW-1711113356838)]

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端学习书籍导图-1

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值