《模式识别》期末试题上机实践部分秋季学期Word文档格式.docx
《《模式识别》期末试题上机实践部分秋季学期Word文档格式.docx》由会员分享,可在线阅读,更多相关《《模式识别》期末试题上机实践部分秋季学期Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
![《模式识别》期末试题上机实践部分秋季学期Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/8c6d168b-8163-4bc2-8312-74be06e4f7eb/8c6d168b-8163-4bc2-8312-74be06e4f7eb1.gif)
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
-3.4
6.2
8
0.9
1.2
3.4
9
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:
g=Ak'
*W(:
i);
%¼
Æ
Ë
ã
Å
Ð
±
ð
½
ç
ifi<
=2%Ñ
ù
¾
Ê
ô
Ó
Ú
µ
Ò
»
À
à
ifg>
Ak=Ak;
end
ifg<
=0
Ak=Ak+p*W(:
ifi>
=3%Ñ
¶
þ
Ak=Ak-p*W(:
AkMax(:
i)=Ak;
[LB,LA]=size(AkMax);
LA%Å
Ï
Ø
Õ
ó
Ç
·
ñ
È
«
Á
i)=AkMax(:
i)-Ak;
ifAkMax==zeros(LB,LA)
Ak%Ê
ä
³
ö
¨
ò
¿
break;
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,结果如下:
当p=0.01时,迭代步数为19,结果如下:
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)
注:
为聚类数目,
为初始聚类中心。
--7.82
-4.58
-3.97
11
6.18
2.81
5.82
-6.68
3.16
2.71
12
6.72
-0.93
-4.04
4.36
-2.19
2.09
13
-6.25
-0.26
0.56
0.88
2.80
14
-6.94
-1.22
1.13
-8.64
3.06
3.50
15
8.09
0.20
2.25
-6.87
0.57
-5.45
16
6.81
0.17
-4.15
4.47
-2.62
5.76
17
-5.19
4.24
4.04
6.73
-2.01
4.18
18
-6.38
-1.74
1.43
-7.71
2.34
-6.33
19
4.08
1.30
5.33
-6.91
-0.49
-5.68
20
6.27
0.93
-2.78
(1)当
得到结果如下:
(2)当
结果如下:
算法流程图:
结果分析:
K-means算法中,需要根据初始类心进行一个初始划分,那么选择初始类心对算法的优化很重要,分类前最好先估计类心再进行分类,以简化算法。