2019年整理ID3算法简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 这样就得到如图1
1.0 天气
• 所示的决策树。


多云
湿度
H(V)


p1
log2
p1

p2
lo高g2
p2
图像
正常

P 有风
无风
NP
图1
N
PP
0
0.5
1.0
第6章 决策树
ID3
决策树算法
ID3算法主要针对属性选择问题。是决策树学习方法中最 具影响和最为典型的算法。
该方法使用信息增益度选择测试属性。
NO .
天气
属性 气温 湿度

类别
表1 给
1


2


3
多云


无风
N

有风
N

无风
P

4 5

适中

无风
P


正常 无风
P

6


正常 有风
N

7
多云

正常 有风
P
8

适中

无风
N

9


正常 无风
P
10

适中 正常 无风
P

11

适中 正常 有风
P

12
多云 适中

有风
P
13
多云

正常 无风
P
I (ai )
p(ai ) log 2
1 p(ai )
其中p(ai)表示事件ai发生的概率。 假设有n个互不相容的事件a1,a2,a3,….,an,它们中有且仅有一个
发生,则其平均的信息量可如下度量:
I (a1, a2 ,..., an )
n
I (ai )
i 1
n i 1
p(ai ) log 2
5.递归建树
• 分别对F1和F3子集利用ID3算法,在每个子集中对 各属性(仍为4个属性)求互信息。
(1)F1中的天气全取“晴”值,则
H(U)=H(U|V),有I(U|V)=0,
在余下3个属性中求出“湿度”互信息最大,以它 为该分支的根结点。再向下分支,“湿度”取 “高”的例子全为N类,该分支标记N;取值“正 常”的例子全为P类,该分支标记P。
在一实体世界中,每个实体用多个属性 来描述。每个属性限于在一个离散集中取 互斥的值。例如,设实体是某天早晨,分 类任务是关于气候的类型,属性如下。
• 天气,取值为:晴,多云,雨。 • 气温,取值为:冷,适中,热。 • 湿度,取值为:高,正常。 • 风,取值为:有风,无风。
• 某天早晨气候描述为:天气-多云;气温-冷; 湿度-正常;风-无风。
1 p(ai )
第6章 决策树
决策树算法
ID3 –信息量大小的度量
I (a1, a2 ,..., an )
n
I (ai )
i 1
n i 1
p(ai ) log 2
1 p(ai )
公式1
上式,对数底数可以为任何数,不同的取值对应了熵的不同单位。
通常取2,并规定当p(ai)=0时
I (ai ) p(ai ) log 2
不买 买 买 买 买
I(S1,S2)=I(641,383)
=-P1Log2P1-P2Log2P2 =-(P1Log2P1+P2Log2P2) =0.9537
32 中 高 是 良

63 老 中 否 优
不买
1 老中 否 优

第6章 决策树
决策树算法 第2步计算条件属性的熵
计 年龄 收入 学生 信誉 归类:买计算机? 数
ID3算法分为两种:天主气算法和建树算法。
1.主算法 晴

• 主算法的操作步骤如多下云:
(的1子)湿集从度(训称练为集“中窗随口机”选)择。一个既含正例风又含反例
(高2)用“正建树常算法”对P当前窗有口风形成一棵决无策风树。
(3)对训练集(窗口除外)中的例子用所得决策
树N进行类别P判定,找图出1错判的例N子。 P
• J.R.Quinlan的ID3(interative dicremiser version3)的工作过程是,首 选找出最有判别力(信息增益,--information gain)的属性,把数据分成 多个子集,每个子集又选择最有判别力的 属性进行划分,一直进行到所有子集仅包 含同一类型的数据为止。最后得到一棵决 策树,可以用它来对新的实例进行分类。
• 1建、树信息算熵法计的算操:作H步(U骤)如=-下:P(ui )log2 P(ui )
•• •• ••
( ( (类|对S123别9|)))个表u对选把i正示出例例当择在现u子前互A概1k处集和例信率S5取子 息:的 个值P集 最总反(u相合 大数例i )=同, 的,u2uS的|有计 属i u例:i算 性|表子各Ak示归属类同性别一的子u互i的集信例,息子取。数几。个
1 p(ai )
=0
第6章 决策树
计数 64 64 128 60 64 64 64 128 64 132 64 32 32 63 1
年龄 青 青 中 老 老 老 中 青 青 老 青 中 中 老 老
决策树算法
收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 中
学生 否 否 否 否 是 是 是 否 是 是 是 否 是 否 否
j
P(v j )
i
P(ui
v
)
j
log
2
P(
属性A1取值vj时,类别ui的条件概率:
u
i
vj)
P(u
i
v
j
)

ui vj
• A1=天气的取值:v1=晴,v2=多云,v3=雨
• 在A1处取值“晴”的例子5个,取值“多云”的例
子4个,取值“雨”的例子5个,故:
P(v1
)

5 14
P(v2
)

4 14
P(v3
• 它属于哪类气候呢?要解决这个问题,需要用某 个原则来判定,这个原则来自于大量的实际例子, 从例子中总结出原则,有了原则就可以判定任何 一天的气候了。
• 每个实体在世界中属于不同的类别,为简单起见, 假定仅有两个类别,分别为P、N。在这种两个类 别的归纳任务中,P类和N类的实体分别称为概念 的正例和反例。将一些已知正例和反例放在一起 便得到训练集。
当获取信息时,将不确定的内容转为确定的内容,因此信 息伴着不确定性。
从直觉上讲,小概率事件比大概率事件包含的信息量大。 如果某件事情是“百年一见”则肯定比“习以为常”的事件包含的 信息量大。
如何度量信息量的大小?
第6章 决策树
决策树算法
ID3 –信息量大小的度量
Shannon1948年提出的信息论理论。事件ai的信息量I( ai )可 如下度量:
• • • •
属向I123(...D3性下2算决倾只)互分法策向适在信 支的树于合F息 ,3缺层选属中最“点次择性,大风:较取值对多 值为,”4时 较离则取个, 多散以“属决 的的它有性策 属;为风求质 性该”互量 ;分时信低支全息;的为,根N得类结到,点“该。风分再”支
标记N;取“无风”时全为P类H(V,) 该分支标记P。

vvalues of A
• Sv表示S的子集,其属性A的值为V
• 4、Gain(S, A)越大,说明选择测试属性A对分类提供的信息越多。
• 5、ID3算法把信息熵作为选择测试属性的标准,选择具有最大信息增益(或 最大熵减方向)的条件属性作为当前节点。
• 对2.于气建候树分算类法问题进行以下具体计算。
)
2 (
4
4
)+0
(514)
(
2
5
)log2
(
5
2
)+(
3 5
)log2
(
5
3
)

0.69bit
3.互信息计算 • 对A1=天气,有: • 类似可得: • I(气温)=0.029bit • I(湿度)=0.151bit • I(风)=0.048bit
4.建决策树的树根和分支
• ID3算法将选择互信息最大的属性“天气”作为树 根,在14个例子中对“天气”的3个取值进行分支, 3个分支对应3个子集,分别是:
• F1={1,2,8,9,11},F2={3,7,12, 13},F3={4,5,6,10,14}
• 其中,F2中的例子全属于P类,因此对应分支标记 为P,其余两个子集既含有正例P又含有反例,将 递归调用建树算法。
温度
正常
(5,9,10,13)
气温
气温
气温

适中 适中


(2)
(12,14) (11)
(6,7)
(1,3)
N
天气
P
天气
天气
多云 (12)

多云
(14)
(6)
雨晴 (7) (1)
多云 (3)
P
N
N
PN
P
图2 决策树
P
适中 (4,8)
天气


(8)
(4)
N
P
• ID3算法
• 1、是利用信息论原理对大量样本的属性进行分析和归纳而产生的。
决策树算法
归类:买计算机?
第2-1步计算年龄的熵
不买
年龄共分三个组:
不买
青年、中年、老年
64 青 高 否 良
不买
64 青 高 否 优
不买
128 中 高 否 良

60 老 中 否 良 64 老 低 是 良 64 老 低 是 优
买 买 不买
条件属性共有4个。分别是年龄、 收入、学生、信誉。 分别计算不同属性的信息增益。
64 中 低 是 优

128 青 中 否 良
不买
64 青 低 是 良

132 老 中 是 良
• Entropy(S)= - pos log2(pos) – neg log2(neg)

“pos”和”neg”分别表示S中正例和负例的比例。并定义:0log2(0)=0
• 实例集合S中属性A的信息增益为:
• Gain(S, A)=Entropy(S) - (|SV|/|S|)Entropy(Sv)
)

5 14
取值为晴的5个例子中有两个正例、3个反例,
故:
P(u1
v1)

2 5
P(u2
v1)

3 5
同理有: P(u1 v2 ) 4 4
P(u2 v2 ) 0
P(u1 v3) 2 5
P(u2
v3 )

3 5
H(U
V)

( 514)
(
2
5
)log2
(
5
2
)+(
3 5
)log2 (
5 3

64 青 中 是 优

32 中 中 否 优

32 中 高 是 良

63 老 中 否 优
不买
1 老中 否 优

第6章 决策树
计 年龄 收入 学生 信誉 数 64 青 高 否 良 64 青 高 否 优 128 中 高 否 良 60 老 中 否 良 64 老 低 是 良 64 老 低 是 优 64 中 低 是 优 128 青 中 否 良 64 青 低 是 良 132 老 中 是 良 64 青 中 是 优 32 中 中 否 优 32 中 高 是 良 63 老 中 否 优 1 老中 否 优
(4)实若际存上在,错能正判确的分例类子训,练把集的它决们策插树入不窗止口一棵,。转2, 否则Q结ui束nla。n的ID3算法能得出结点最少的决策树。

有风 (2,6,7,11,12,14)
无风 (1,3,4,5,8,9,10,13)
高 (2,12,14)
温度
正常 (6,7,11)
高 (1,3,4,8)
归类:买计算机?
不买 不买 买 买 买
决策属性“买计算机?”。该属性分 两类:买/不买 S1(买)=641 S2(不买)= 383
S=S1+S2=1024
64 老 低 是 优 64 中 低 是 优
不买 买
P1=641/1024=0.6260 P2=383/1024=0.3740
128 青 中 否 良 64 青 低 是 良 132 老 中 是 良 64 青 中 是 优 32 中 中 否 优
信誉 良 优 良 良 良 优 优 良 良 良 优 优 良 优 优
归类:买计算机? 不买 不买 买 买 买 不买 买 不买 买 买 买 买 买 不买 买
第6章 决策树
决策树算法 第1步计算决策属性的熵
计 年龄 收入 学生 信誉 数 64 青 高 否 良 64 青 高 否 优 128 中 高 否 良 60 老 中 否 良 64 老 低 是 良
• 2、决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结 点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样 本的类别值。
• 3、用信息增益(即信息论中的互信息)来选择属性作为决策树的结点。
• 熵(entropy):给定有关某概念的正例和负例的集合S。对此BOOLEAN分类的 熵为:
14

适中

有风
N
表1 气候训练集
由ID3算法得出一棵正确分类训练集中每个实体的决策 树,如图1所示
天气


多云
湿度

高 正常
P 有风
无风
N
P
N
P
图1 ID3决策树
得到决策树叶子为类别名,即P或者N。 其他结点由实体的属性组成,每个属性的 不同取值对应一分支。若要对一实体分类, 从树根开始进行测试,按属性的取值分支 向下进入下层结点,对该结点进行测试, 过程一直进行到叶结点,实体被判为属于 该叶结点所标记的类别。现用图1来判断本 例,得到该实体的类别为P类。ID3就是要 从表1的训练集构造出如图1所示的决策树。
值就得几个子集。
• (P4()u2对) 既5含14正例又P(含u1)反例91的4子集,递归调用建树算
•H法 ((U。5)) 若(子91集4)仅lo含g正2 (1例4或9)反例(5,14对)应log分2支(1标4 5上) P或0N.9,4bit
返回调用处。
2.条件熵计算


条件熵:H(U V)
相关文档
最新文档