资源描述:
《人工智能-第7章-参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章机器学习参考答案7-6设训练例子集如下表所示:序号属性分类x1x21TT+2TT+3TF-4FF+5FT_6FT_请用ID3算法完成其学习过程。解:设根节点为S,尽管它包含了所有的训练例子,但却没有包含任何分类信息,因此具有最大的信息熵。即:H(S)=-(P(+)log2P(+)+P(-)log2P(-))式中P(+)=3/6,P(-)=3/6分别是决策方案为“+”或“-”时的概率。因此有H(S)=-((3/6)log2(3/6)+(3/6)log2(3/6))=1按照ID3算法,需要选择一个能使S的期望熵为最小的一个属性对根节点进行扩展,因此我们需要先计算S关于每个
2、属性的条件熵:H(S
3、xi)=(
4、ST
5、/
6、S
7、)*H(ST)+(
8、SF
9、/
10、S
11、)*H(SF)其中,T和F为属性xi的属性值,ST和SF分别为xi=T或xi=F时的例子集,
12、S
13、、
14、ST
15、和
16、SF
17、分别为例子集S、ST和SF的大小。下面先计算S关于属性x1的条件熵:在本题中,当x1=T时,有:ST={1,2,3}当x1=F时,有:SF={4,5,6}其中,ST和SF中的数字均为例子集S中的各个例子的序号,且有
18、S
19、=6,
20、ST
21、=
22、SF
23、=3。由ST可知,其决策方案为“+”或“-”的概率分别是: PST(+)=2/3PST(-)=1/3因此有:H(ST)=-(PST
24、(+)log2PST(+)+PST(-)log2PST(-))4=-((2/3)log2(2/3)+(1/3)log2(1/3))=0.9183再由SF可知,其决策方案为“+”或“-”的概率分别是: PSF(+)=1/3PSF(-)=2/3则有:H(SF)=-(PSF(+)log2PSF(+)+PSF(-)log2PSF(-))=-((1/3)log2(1/3)+(2/3)log2(2/3))=0.9183将H(ST)和H(SF)代入条件熵公式,有:H(S
25、x1)=(
26、ST
27、/
28、S
29、)H(ST)+(
30、SF
31、/
32、S
33、)H(SF)=(3/6)﹡0.9183+(3/6)﹡0
34、.9183=0.9183下面再计算S关于属性x2的条件熵:在本题中,当x2=T时,有:ST={1,2,5,6}当x2=F时,有:SF={3,4}其中,ST和SF中的数字均为例子集S中的各个例子的序号,且有
35、S
36、=6,
37、ST
38、=4,
39、SF
40、=2。由ST可知: PST(+)=2/4PST(-)=2/4则有:H(ST)=-(PST(+)log2PST(+)+PST(-)log2PST(-))=-((2/4)log2(2/4)+(2/4)log2(2/4))=1再由SF可知: PSF(+)=1/2PSF(-)=1/2则有:H(SF)=-(P(+)log2P(+)+P(-
41、)log2P(-))=-((1/2)log2(1/2)+(1/2)log2(1/2))=1将H(ST)和H(SF)代入条件熵公式,有:H(S
42、x2)=(
43、ST
44、/
45、S
46、)H(ST)+(
47、SF
48、/
49、S
50、)H(SF)=(4/6)﹡1+(2/6)﹡1=1可见,应该选择属性x1对根节点进行扩展。用x1对S扩展后所得到的部分决策树如下图所示。4S(+,+,-)(+,-,-)x1=Tx1=F扩展x1后的部分决策树在该决策树中,其2个叶节点均不是最终决策方案,因此还需要继续扩展。而要继续扩展,只有属性x2可选择,因此不需要再进行条件熵的计算,可直接对属性x2进行扩展。对x2扩展后所得到的
51、决策树如下图所示:S(+,+,-)(+,-,-)x1=Tx2=F扩展x2后得到的完整决策树(+,+)(-)(-,-)(+)x2=Tx2=Fx2=Tx2=F7-9假设w1(0)=0.2,w2(0)=0.4,θ(0)=0.3,η=0.4,请用单层感知器完成逻辑或运算的学习过程。解:根据“或”运算的逻辑关系,可将问题转换为:输入向量:X1=[0,0,1,1]X2=[0,1,0,1]输出向量:Y=[0,1,1,1]由题意可知,初始连接权值、阈值,以及增益因子的取值分别为:w1(0)=0.2,w2(0)=0.4,θ(0)=0.3,η=0.4即其输入向量X(0)和连接权值向量W(0)可
52、分别表示为:X(0)=(-1,x1(0),x2(0))W(0)=(θ(0),w1(0),w2(0))根据单层感知起学习算法,其学习过程如下:设感知器的两个输入为x1(0)=0和x2(0)=0,其期望输出为d(0)=0,实际输出为:y(0)=f(w1(0)x1(0)+w2(0)x2(0)-θ(0))=f(0.2*0+0.4*0-0.3)=f(-0.3)=0实际输出与期望输出相同,不需要调节权值。再取下一组输入:x1(0)=0和x2(0)=1,其期望输出为d(0)=1,实际输出为:y(0)=f(w1(0)x1(0)+w