《模式识别》期末试题上机实践部分秋季学期.docx
《《模式识别》期末试题上机实践部分秋季学期.docx》由会员分享,可在线阅读,更多相关《《模式识别》期末试题上机实践部分秋季学期.docx(9页珍藏版)》请在冰豆网上搜索。
《模式识别》期末试题上机实践部分秋季学期
云南大学2014—2015学年上学期研究生期末试题
上机实践部分
课程名称:
模式识别
任课老师:
梁虹
学号:
12014001070
姓名:
陈龙
一、两类学习样本(
和
)特征数据如下表示。
请编写感知梯降法求线性判别函数的程序,并将该程序应用于下表数据,求出两类模式的线性判别函数权向量w,分析步长值及初始权向量对算法的影响。
样本
1
0.1
1.1
-3.0
-2.9
2
6.8
7.1
0.5
8.7
3
-3.5
-4.1
2.9
2.1
4
2.0
2.7
-0.1
5.2
5
4.1
2.8
-4.0
2.2
6
3.1
5.0
-1.3
3.7
7
-0.8
-1.3
-3.4
6.2
8
0.9
1.2
-4.1
3.4
9
5.0
6.4
-5.1
1.6
10
3.9
4.0
1.9
5.1
编写MATLAB代码如下:
p=0.1;
k=0;
L=length(W(:
1));
Ak=ones(L,1);
while
(1)
k=k+1;
fori=1:
4
g=Ak'*W(:
i);%¼ÆËãÅбð½ç
ifi<=2%Ñù±¾ÊôÓÚµÚÒ»Àà
ifg>0
Ak=Ak;
end
ifg<=0
Ak=Ak+p*W(:
i);
end
end
ifi>=3%Ñù±¾ÊôÓÚµÚ¶þÀà
ifg<0
Ak=Ak;
end
ifg>=0
Ak=Ak-p*W(:
i);
end
end
AkMax(:
i)=Ak;
end
[LB,LA]=size(AkMax);
fori=1:
LA%ÅжϾØÕóÊÇ·ñÈ«ÊÇÁã
AkMax(:
i)=AkMax(:
i)-Ak;
end
ifAkMax==zeros(LB,LA)
Ak%Êä³öËùÇóȨÏòÁ¿
break;
end
end
k
带入题目中的数据,可求出权向量。
1.现取初始向量全为2,考虑步长p对结果的影响。
当p=0.1时,迭代步数为3,结果如下:
Ak=
0.6000
1.5800
-0.7400
0.5800
-0.0400
0.5600
0.2600
-0.2400
0.3200
0.6800
-0.0200
当p=0.05时,迭代步数为5,结果如下:
Ak=
0.6000
1.5800
-0.7400
0.5800
-0.0400
0.5600
0.2600
-0.2400
0.3200
0.6800
-0.0200
当p=0.01时,迭代步数为19,结果如下:
Ak=
0.6400
1.5220
-0.5660
0.6220
0.0640
0.6040
0.3340
-0.1160
0.3880
0.7120
0.0820
2.初始向量改变
初始向量改变过程类似,这里不再赘述。
结论:
由上述结果可知:
1.迭代步长越小,迭代次数越多。
但迭代步长太小迭代次数将增加很多,迭代步长太大,将可能搜索不到满足条件的权值,应根据实际要求选择合适的步长。
2.初始向量会对迭代步数产生影响,选择合适的初始向量有利于算法的优化。
二、编写k-均值算法程序,并用该程序在下列指定类别数和初始聚类中心情况下,对表中数据进行测试,分析比较两种情况下算法实现结果的差异。
(要求给出算法流程图,写出实现算法的程序,给出表中数据的测试和分析结果)
(1)
(2)
注:
为聚类数目,
为初始聚类中心。
样本
样本
1
--7.82
-4.58
-3.97
11
6.18
2.81
5.82
2
-6.68
3.16
2.71
12
6.72
-0.93
-4.04
3
4.36
-2.19
2.09
13
-6.25
-0.26
0.56
4
6.72
0.88
2.80
14
-6.94
-1.22
1.13
5
-8.64
3.06
3.50
15
8.09
0.20
2.25
6
-6.87
0.57
-5.45
16
6.81
0.17
-4.15
7
4.47
-2.62
5.76
17
-5.19
4.24
4.04
8
6.73
-2.01
4.18
18
-6.38
-1.74
1.43
9
-7.71
2.34
-6.33
19
4.08
1.30
5.33
10
-6.91
-0.49
-5.68
20
6.27
0.93
-2.78
(1)当
得到结果如下:
(2)当
结果如下:
算法流程图:
结果分析:
K-means算法中,需要根据初始类心进行一个初始划分,那么选择初始类心对算法的优化很重要,分类前最好先估计类心再进行分类,以简化算法。