决策树简介
决策树简介
决策树实际上是一个布尔函数,它的输出可以是“0 或 1”或“-1 或 +1”或“-1、0 或 +1”。决策树的大小等于其中存在的节点数,其深度等于从顶部到根的最长路径的长度。
错误率:
训练集始终是给模型的标记示例,模型训练得越多,其错误率就越低。
训练样本 = { set } = { (X¹, Y¹), (X², Y²),...。 (X^n, Y^m) }
其中“n”表示训练样本的特征数,“m”表示训练样本的大小。
错误率/训练错误在数学上等于“训练时模型出错的样本数/样本总大小”。
树的根和错误率:
通过说根,我们实际上是指连接到当前节点的下一个节点。 X¹ 的根表示,X¹ 的输出将传递给下一个节点/根。
通常,根表示树的所有节点产生的最终输出。即整个模型的输出。
势函数 (Ø, phi) 用于决定必须将什么值放在树的根部,其根部的值是模型的实际输出。
Ø(a) = min(a, 1 — a)
假设我们提供了一个模型,其中包含“10”个正例和“5”个负例。为了计算节点 X¹ 中 Y = 0 时的错误率,
要得到 Y = 0,我们必须弄错 10 个正例。因为,错误率是(错误的样本数/总样本数)= 10/(10 + 5)= 2/3
并且,Ø(2/3) = min(2/3, 1/3) = 1/3
这是单节点 Y = 0 的平凡决策树的错误率。错误率为 1/3。
一般来说,错误率 = 概率 ( [x,y]~{set}, Y = 0 )
例如 2:假设在决策树的节点/叶“X¹”中,计算 Y = 0 的概率。如果我们为其提供“12”个正例和“4”个负例。
Ø 要得到 Y = 0,我们必须得到 '12' 个正例错误。所以,率=
12/16 = 1/4
最后使用势函数,Ø(1/4) = min(1/4, 3/4) = 1/4。
这种计算错误率的算法通常是基于一个字面的概率,但是如果我们不确定样本的数量,
那么,新的错误率=
概率([x,y]~{set}, X¹ = 0)。 Ø 概率 (( [x,y]~{set}, (Y = 0/ X¹ = 0 ) + 概率( [x,y]~{set}, X¹ = 1 )。Ø 概率 (( [x,y] ~{set}, (Y = 0/ X¹ = 1)
因此,X¹ 的最大增益计算为使用 X¹ 的旧错误率 - 使用 X¹ 的新错误率。
我们总是将最高增益的输出放在树的下一个节点/根中。
深入潜在功能,基因功能:
树的结构由其势函数 Ø (phi) 决定。势函数 Ø(a) = min( a, 1 — a) 对应模型的错误率,通常表示为 'ع'。
Ø(a) = 2.a.( 1 — a) 的基因函数,表示为'ز'。实际上,基因功能只是潜在功能的上限,或者'ز'是'ع'的上限。它的值越小,训练中的误差就越小。
计算和例子:
样本模型,S =
Ø ++
Ø + X¹ | X² | +ve 例如。 | -ve 例如 +
Ø ++
Ø + 0 | 0 | 1 | 1+
Ø + 0 | 1 | 2 | 1+
Ø + 1 | 0 | 3 | 1. +
Ø + 1 | 1. | 4 | 2. +
Ø +==============================+Ø(a) = 2。一个 。 (一——一)
1.计算Ø(概率( S [ -ve Eg ]):
负例总数 = 5
示例总数 = 15
反例的概率 = 1/3
现在,Ø(a) = 2。 1/3。 2/3 = 4/9。
这是潜在的功能
平凡的树,4/9。
为了通过手动函数决定将 X¹ 或 X² 放在树的根部,我们必须单独计算它们。
首先是 X¹ :
概率(X¹ = 0)。 Ø (Pr. (-ve Eg/ X¹ = 0)) + Pr.(X¹ = 1)。 Ø (Pr. (-ve Eg/ X¹ = 1))
1. 概率(X¹ = 0) =
X¹ 为 0 = 5_ 的样本数
总点数 15 即 1/3。
2. 概率(-ve Eg/X¹ = 0)=
-ve 的数量,例如 X¹ 为 0 = 2
X¹ 为 0 的 Eg 总数 5
Ø(2/5) = 2. 2/5 . 3/5 = 12/15
3. 概率(X¹ = 1) = 2/3
4. 概率(-ve Eg/X¹ = 1) = 3/10
Ø(3/10)= 2. 3/10。 7/10 = 21/50
现在,整个值等于
1/3。 2/5 + 12/15。 21/50 = 11/25
将此值与 11/25 与 4/9(较早获得)进行比较,我们可以说 11/25 略小于 4/9。
现在为 X² 计算相同的东西:
概率(X² = 0)。 Ø (概率(-ve Eg/ X² = 0)) + 概率(X² = 1)。 Ø (概率(-ve Eg/ X² = 1))
1. 概率(X² = 0) =
X² 为 0 = 6_ 的样本数
总点数 15,即 2/5。2. 概率(-ve Eg/X² = 0)=
X² 为 0 = 2 的 -ve Eg 的数量
X² 为 0 的 Eg 总数 6。即 1/3。
Ø(1/3) = 2. 1/3. 2/3 = 4/93. 概率(X² = 1) = 3/5
4. 概率(-ve Eg/X² = 1) = 1/3
Ø( 3/10) = 2. 3/9. 7/9 = 4/9现在,整个值等于
2/5。 4/9 + 3/5.4/9 = 4/9
比较这个值,我们实际上得到了与我们之前获得的 4/9 相同的值。
现在,如果我们计算增益:
增益 = 旧值 - 新值
X¹ 的增益 = 4/9–11/25 > 0
X² 增益 = 4/9–4/9 = 0
因此,我们必须选择放入根中的文字是 X¹,因为选择 X¹ 会给我们的模型带来一些收益。
增益越大,错误率就越低。
我们的算法什么时候结束?
由于我们的算法是基于递归的,即使我们获得任何文字的最大增益,它也会继续运行。
为了给我们的算法做一个端点,我们有很多方法:
1. 当任何文字的增益变得非常小时,停止算法。这是结束算法的最常见方式。
2.通过剪枝,剪枝是从树中移除某些随机节点的过程。它可以帮助我们重新更改整个数据并重新计算输出
3. 通过智能构建决策树:
○ 通过使用随机森林算法构建一棵树。
在树的随机森林模型中,我们构建了许多小的独立决策树,并在所有小树中取最常见的输出。
我们可以通过对原始数据样本和随机特征进行随机二次抽样来创建一棵小树。所以每棵小树都有随机选择的点和随机选择的特征。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明