• 机器学习期中考试


    1、使用KNN算法对两个未知类型的样本进行分类(冰川水或者湖泊水),其中K=3,即选择最近的3个邻居。(20分)
    样本	Ca+浓度	Mg+浓度	Na+浓度	Cl-浓度	类型
A	0.2	0.5	0.1	0.1	湖泊水
B	0.4	0.3	0.4	0.3	冰川水
C	0.3	0.4	0.6	0.3	湖泊水
D	0.2	0.6	0.2	0.1	湖泊水
E	0.5	0.5	0.1	0	冰川水
F	0.3	0.3	0.4	0.4	冰川水
G	0.3	0.3	0.1	0.2	?冰川水
H	0.1	0.4	0.2	0.2	?湖泊水

    学生答案:
    解:
    D i s t a n c e ( G , A ) 2 = 0.1 ; D i s t a n c e ( G , B ) 2 = 0.03 ; D i s t a n c e ( G , C ) 2 = 0.11 Distance(G,A)^2=0.1; Distance(G,B)^2=0.03; Distance(G,C)^2=0.11 Distance(G,A)2=0.1;Distance(G,B)2=0.03;Distance(G,C)2=0.11
    D i s t a n c e ( G , D ) 2 = 0.12 ; D i s t a n c e ( G , E ) 2 = 0.16 ; D i s t a n c e ( G , F ) 2 = 0.05 Distance(G,D)^2=0.12; Distance(G,E)^2=0.16; Distance(G,F)^2=0.05 Distance(G,D)2=0.12;Distance(G,E)2=0.16;Distance(G,F)2=0.05
    G的三个最近的邻居为B,F,A,因此G的分类为冰川水
    D i s t a n c e ( H , A ) 2 = 0.03 ; D i s t a n c e ( H , B ) 2 = 0.18 ; D i s t a n c e ( H , C ) 2 = 0.22 Distance(H,A)^2=0.03; Distance(H,B)^2=0.18; Distance(H,C)^2=0.22 Distance(H,A)2=0.03;Distance(H,B)2=0.18;Distance(H,C)2=0.22
    D i s t a n c e ( H , D ) 2 = 0.03 ; D i s t a n c e ( H , E ) 2 = 0.21 ; D i s t a n c e ( H , F ) 2 = 0.16 Distance(H,D)^2=0.03; Distance(H,E)^2=0.21; Distance(H,F)^2=0.16 Distance(H,D)2=0.03;Distance(H,E)2=0.21;Distance(H,F)2=0.16
    H的三个最近的邻居为A,D,F,因此H的分类为湖泊水
    2、使用CART决策树算法对两个未知类型的样本进行分类。(使用ID3决策树算法对两个未知类型的样本进行分类。)(20分)
    Ca+浓度	Mg+浓度	Na+浓度	Cl-浓度	类型
低	高	高	高	冰川水
高	低	高	高	冰川水
低	高	低	低	冰川水
高	高	低	低	冰川水
低	低	低	低	湖泊水
高	低	低	低	湖泊水
低	高	高	低	湖泊水
高	低	高	低	湖泊水
低	高	高	低	?湖泊水
高	高	低	高	?冰川水

    CART算法:
    对样本集S,计算其在各个属性划分上的基尼指数。
    1)
    G i n i ( S , C a + 浓度 ) = 4 / 8 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] + 4 / 8 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] = 0.5 Gini(S,Ca+浓度)=4/8 [1-(2/4)^2-(2/4)^2 ]+4/8 [1-(2/4)^2-(2/4)^2 ] = 0.5 Gini(S,Ca+浓度)=4/8[1(2/4)2(2/4)2]+4/8[1(2/4)2(2/4)2]=0.5
    2)
    G i n i ( S , M g + 浓度 ) = 4 / 8 [ 1 − ( 3 / 4 ) 2 − ( 1 / 4 ) 2 ] + 4 / 8 [ 1 − ( 1 / 4 ) 2 − ( 3 / 4 ) 2 ] = 0.375 Gini(S,Mg+浓度)=4/8 [1-(3/4)^2-(1/4)^2 ]+4/8 [1-(1/4)^2-(3/4)^2 ] = 0.375 Gini(S,Mg+浓度)=4/8[1(3/4)2(1/4)2]+4/8[1(1/4)2(3/4)2]=0.375
    3)
    G i n i ( S , N a + 浓度 ) = 4 / 8 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] + 4 / 8 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] = 0.5 Gini(S,Na+浓度)=4/8 [1-(2/4)^2-(2/4)^2 ]+4/8 [1-(2/4)^2-(2/4)^2 ] = 0.5 Gini(S,Na+浓度)=4/8[1(2/4)2(2/4)2]+4/8[1(2/4)2(2/4)2]=0.5
    4)
    G i n i ( S , C l − 浓度 ) = 4 / 8 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] + 4 / 8 [ 1 − ( 4 / 4 ) 2 ] = 0.25 Gini(S,Cl-浓度)=4/8 [1-(2/4)^2-(2/4)^2 ]+4/8 [1-(4/4)^2 ] = 0.25 Gini(S,Cl浓度)=4/8[1(2/4)2(2/4)2]+4/8[1(4/4)2]=0.25
    Cl-浓度属性的基尼指数最小,将Cl-浓度属性作为第一个划分属性,将集合S划分为以下两个子集:
    S1(高):
    
Ca+浓度	Mg+浓度	Na+浓度	类型
低	高	高	冰川水
高	低	高	冰川水

    S2(低):
    Ca+浓度	Mg+浓度	Na+浓度	类型
低	高	低	冰川水
高	高	低	冰川水
低	低	低	湖泊水
高	低	低	湖泊水
低	高	高	湖泊水
高	低	高	湖泊水

    对样本集S1,所有样本均属于同一类型:冰川水。
    对样本集S2,计算其在各个属性划分上的基尼指数:
    1)
    G i n i ( S 2 , C a + 浓度 ) = 2 / 6 [ 1 − ( 1 / 2 ) 2 − ( 1 / 2 ) 2 ] + 4 / 6 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] = 0.5 Gini(S2,Ca+浓度)=2/6 [1-(1/2)^2-(1/2)^2 ]+4/6 [1-(2/4)^2-(2/4)^2 ] = 0.5 Gini(S2,Ca+浓度)=2/6[1(1/2)2(1/2)2]+4/6[1(2/4)2(2/4)2]=0.5
    2)
    G i n i ( S 2 , M g + 浓度 ) = 2 / 6 [ 1 − ( 2 / 2 ) 2 ] + 4 / 6 [ 1 − ( 3 / 4 ) 2 − ( 1 / 4 ) 2 ] = 0.25 Gini(S2,Mg+浓度)=2/6 [1-(2/2)^2 ]+4/6 [1-(3/4)^2-(1/4)^2 ] =0.25 Gini(S2,Mg+浓度)=2/6[1(2/2)2]+4/6[1(3/4)2(1/4)2]=0.25
    3)
    G i n i ( S 2 , N a + 浓度 ) = 2 / 6 [ 1 − ( 2 / 2 ) 2 ] + 4 / 6 [ 1 − ( 2 / 4 ) 2 − ( 2 / 4 ) 2 ] = 0.333 Gini(S2,Na+浓度)=2/6 [1-(2/2)^2 ]+4/6 [1-(2/4)^2-(2/4)^2 ] =0.333 Gini(S2,Na+浓度)=2/6[1(2/2)2]+4/6[1(2/4)2(2/4)2]=0.333
    可以看出Gini(S2,Mg+浓度)最小,所以应该选择Mg+浓度属性作为测试属性。
    Mg+浓度属性将样本集划分为两个子集:
    1)S21
    Ca+浓度	Na+浓度	类型
低	低	冰川水
高	低	冰川水
低	高	湖泊水

    2)S22
    Ca+浓度	Na+浓度	类型
低	低	湖泊水
高	低	湖泊水
高	高	湖泊水

    对样本集S21,计算其在各个属性划分上的基尼指数:
    1)
    G i n i ( S 21 , C a + 浓度 ) = 2 / 3 [ 1 − ( 1 / 2 ) 2 − ( 1 / 2 ) 2 ] + 1 / 3 [ 1 − ( 1 / 1 ) 2 ] = 0.333 Gini(S21,Ca+浓度)=2/3 [1-(1/2)^2-(1/2)^2 ]+1/3 [1-(1/1)^2 ] =0.333 Gini(S21,Ca+浓度)=2/3[1(1/2)2(1/2)2]+1/3[1(1/1)2]=0.333
    2)
    G i n i ( S 21 , N a + 浓度 ) = 2 / 3 [ 1 − ( 2 / 2 ) 2 ] + 1 / 3 [ 1 − ( 1 / 1 ) 2 ] = 0 Gini(S21,Na+浓度)=2/3 [1-(2/2)^2 ]+1/3 [1-(1/1)^2 ] =0 Gini(S21,Na+浓度)=2/3[1(2/2)2]+1/3[1(1/1)2]=0
    可以看出Gini(S2,Na+浓度)最小,所以应该选择Na+浓度浓度属性作为测试属性。
    Na+浓度属性将样本集划分为两个子集, 并且各个子集中的样本都属于同一个类型。

    对样本集S22,所有样本均属于同一类型湖泊水。
    决策树构造完毕,如下图所示。
    在这里插入图片描述

    图1 选择Na+浓度作为节点
    由上面决策树,得第一个待识别样本类型为湖泊水;第二个待识别样本类型为冰川水。
    3、如下表所示的数据集,其在二维空间中的分布情况如图1所示,用户输入ε=1,MinPts=5,采用DBSCAN算法对表中数据进行聚类。(20分)
    序号	属性1	属性2	序号	属性1	属性2
1	1	0	7	4	1
2	4	0	8	5	1
3	0	1	9	0	2
4	1	1	10	1	2
5	2	1	11	4	2
6	3	1	12	1	3
    在这里插入图片描述

    第一类:{1,3,4,5,10}
    第二类:{2,6,7,8,11}

    4、已知数据集如表1所示,使用朴素Bayes算法预测气候状况为雨天,高温,湿度中等。微风时,是否适合户外运动?(20分)
    表1 数据集信息
    天气情况x1	温度情况x2	湿度情况x3	风力情况x4	户外运动Y
晴朗	高	大	微风	不适合n
晴朗	高	大	强风	不适合n
阴天	高	大	微风	适合y
下雨	中	大	微风	适合y
下雨	低	中等	微风	适合y
下雨	低	中等	强风	不适合n
阴天	低	中等	强风	适合y
晴朗	中	大	微风	不适合n
晴朗	低	中等	微风	适合y
下雨	中	中等	微风	适合y

    解:
    即求X={下雨,高,中等,威风}的户外运动为可以的后验概率P(Y=y|X)和为不可以的后验概率P(Y=n|X)两者值中较大者为X的预测值。
    根据Bayes定理,
    P ( Y = y ∣ X ) = P ( X ∣ Y = y ) ∗ P ( Y = y ) = P ( x 1 ∣ Y = y ) ∗ P ( x 2 ∣ Y = y ) ∗ P ( x 3 ∣ Y = y ) ∗ P ( x 4 ∣ Y = y ) ∗ P ( Y = y ) P(Y=y|X)\\= P(X|Y=y)*P(Y=y) \\= P(x_1|Y=y)* P(x_2|Y=y)* P(x_3|Y=y)* P(x_4|Y=y)*P(Y=y) P(Y=yX)=P(XY=y)P(Y=y)=P(x1Y=y)P(x2Y=y)P(x3Y=y)P(x4Y=y)P(Y=y)
    这里, P ( x 1 ∣ Y = y ) = P ( x 1 = 下雨 ∣ Y = y ) = 3 / 6 P(x_1|Y=y)= P(x_1=下雨|Y=y)=3/6 P(x1Y=y)=P(x1=下雨Y=y)=3/6
    P ( x 2 ∣ Y = y ) = P ( x 2 = 高 ∣ Y = y ) = 1 / 6 P(x_2|Y=y)= P(x_2=高|Y=y)=1/6 P(x2Y=y)=P(x2=Y=y)=1/6
    P ( x 3 ∣ Y = y ) = P ( x 3 = 中等 ∣ Y = y ) = 4 / 6 P(x_3|Y=y)= P(x_3=中等|Y=y)=4/6 P(x3Y=y)=P(x3=中等Y=y)=4/6
    P ( x 4 ∣ Y = y ) = P ( x 4 = 微风 ∣ Y = y ) = 5 / 6 P(x_4|Y=y)= P(x_4=微风|Y=y)=5/6 P(x4Y=y)=P(x4=微风Y=y)=5/6
    $P(Y=y)= 6/10 $
    因此, P ( Y = y ∣ X ) = 3 / 6 ∗ 1 / 6 ∗ 4 / 6 ∗ 5 / 6 ∗ 6 / 10 = 1 / 36 P(Y=y|X)= 3/6*1/6*4/6*5/6*6/10=1/36 P(Y=yX)=3/61/64/65/66/10=1/36
    同理,计算 P ( Y = n ∣ X ) = P ( X ∣ Y = n ) ∗ P ( Y = n ) = P ( x 1 ∣ Y = n ) ∗ P ( x 2 ∣ Y = n ) ∗ P ( x 3 ∣ Y = n ) ∗ P ( x 4 ∣ Y = n ) ∗ P ( Y = n ) P(Y=n|X)= P(X|Y=n)*P(Y=n)=P(x1|Y=n)* P(x2|Y=n)* P(x3|Y=n)* P(x4|Y=n)*P(Y=n) P(Y=nX)=P(XY=n)P(Y=n)=P(x1∣Y=n)P(x2∣Y=n)P(x3∣Y=n)P(x4∣Y=n)P(Y=n)
    其中,
    P ( x 1 ∣ Y = n ) = P ( x 1 = 下雨 ∣ Y = n ) = 1 / 4 P(x1|Y=n)= P(x1=下雨|Y=n)=1/4 P(x1∣Y=n)=P(x1=下雨Y=n)=1/4
    P ( x 2 ∣ Y = n ) = P ( x 2 = 高 ∣ Y = n ) = 2 / 4 P(x2|Y=n)= P(x2=高|Y=n)=2/4 P(x2∣Y=n)=P(x2=Y=n)=2/4
    P ( x 3 ∣ Y = n ) = P ( x 3 = 中等 ∣ Y = n ) = 1 / 4 P(x3|Y=n)= P(x3=中等|Y=n)=1/4 P(x3∣Y=n)=P(x3=中等Y=n)=1/4
    P ( x 4 ∣ Y = n ) = P ( x 4 = 微风 ∣ Y = n ) = 2 / 4 P(x4|Y=n)= P(x4=微风|Y=n)=2/4 P(x4∣Y=n)=P(x4=微风Y=n)=2/4
    P ( Y = n ) = 4 / 10 P(Y=n)= 4/10 P(Y=n)=4/10
    因此, P ( Y = n ∣ X ) = 1 / 4 ∗ 2 / 4 ∗ 1 / 4 ∗ 2 / 4 ∗ 4 / 10 = 1 / 160 P(Y=n|X)= 1/4*2/4*1/4*2/4*4/10=1/160 P(Y=nX)=1/42/41/42/44/10=1/160
    因为 P ( Y = y ∣ X ) > P ( Y = n ∣ X ) P(Y=y|X)> P(Y=n|X) P(Y=yX)>P(Y=nX),故气候状况为雨天,高温,湿度中等,微风时,户外运动应为适合。

    5、假如空间中的五个点{A,B,C,D,E},各点之间的距离关系如表2所示,设初始聚类中心点为{A,B},根据所给的数据对其运行K-中心点算法实现第一次迭代后的聚类划分结果及相应的两个中心点(K=2)。(20分)
    样本点 A B C D E
    A 0 1 2 3 4
    B 1 0 3 5 2
    C 2 3 0 1 4
    D 3 5 1 0 6
    E 4 2 4 6 0

    根据已知条件,当两个初始中心点为{A,B}时,所得划分为{A,C,D}和{B,E}。
    第一次迭代:
    假定中心点{A,B}分别被非中心点{C,D,E}替换,根据K-中心点算法需要计算下列代价: T C A C TC_{AC} TCAC T C A D TC_{AD} TCAD T C A E 、 T C B C 、 T C B D 和 T C B E TC_{AE}、TC_{BC}、TC_{BD}和TC_{BE} TCAETCBCTCBDTCBE。其中 T C A C TC_{AC} TCAC表示中心点A被非中心点C代替后的总代价。下面以 T C A C TC_{AC} TCAC为例说明计算过程。
    当A被C代替后,看各对象的变化情况。
    A:因A离B近, C A A C = d ( A , B ) − d ( A , A ) = 1 − 0 = 1 。 C_{AAC}=d(A,B)-d(A,A)=1-0=1。 CAAC=d(A,B)d(A,A)=10=1
    B:B不受影响, C B A C = 0 C_{BAC}=0 CBAC=0
    C: C C A C = d ( C , C ) − d ( C , A ) = 0 − 2 = − 2 C_{CAC}=d(C,C)-d(C,A)=0-2=-2 CCAC=d(C,C)d(C,A)=02=2
    D: C D A C = d ( D , C ) − d ( D , A ) = 1 − 3 = − 2 C_{DAC}=d(D,C)-d(D,A)=1-3=-2 CDAC=d(D,C)d(D,A)=13=2
    E: C E A C = 0 C_{EAC}=0 CEAC=0
    于是, T C A C = C A A C + C B A C + C C A C + C D A C + C E A C = 1 + 0 − 2 − 2 + 0 = − 3 TC_{AC}= C_{AAC}+ C_{BAC}+ C_{CAC} + C_{DAC}+ C_{EAC}=1+0-2-2+0=-3 TCAC=CAAC+CBAC+CCAC+CDAC+CEAC=1+022+0=3。同理,可以计算出: T C A D = − 3 , T C A E = 2 , T C B C = − 1 , T C B D = − 1 , T C B E = − 1 TC_{AD}=-3,TC_{AE}=2,TC_{BC} =-1,TC_{BD}=-1,TC_{BE}=-1 TCAD=3TCAE=2TCBC=1TCBD=1TCBE=1
    选取最小代价,有两种选择。
    选取 T C A C TC_{AC} TCAC为最小代价时,则两个中心点为{B,C},样本被重新划分为{ A,B,E}和{C,D}两个簇。
    选取 T C A D TC_{AD} TCAD为最小代价时,则两个中心点为{B,D},样本被重新划分为{ A,B,E}和{C,D}两个簇。

  • 相关阅读:
    【VMware vCenter】连接和使用vCenter Server嵌入式vPostgres数据库。
    MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(一)MOSFET技术
    AI人工训练师,提升外呼机器人的运营效果
    罗正雄:基于展开交替优化的盲超分算法DAN
    聊聊FLINK-25631贡献
    ITSM有哪些好用的软件?
    uniapp实现在线PDF文件预览
    Postgresql数据类型-数字类型
    kubeadm部署k8s教程(5)---容器挂载本地磁盘
    Golang远程调试Debug环境
  • 原文地址:https://blog.csdn.net/qq_57150526/article/details/128075782