1、模式识别期末试题上机实践部分秋季学期云南大学20142015学年上学期研究生期末试题上机实践部分课程名称: 模式识别 任课老师: 梁虹 学 号: 12014001070 姓 名: 陈龙 一、两类学习样本(和)特征数据如下表示。请编写感知梯降法求线性判别函数的程序,并将该程序应用于下表数据,求出两类模式的线性判别函数权向量w,分析步长值及初始权向量对算法的影响。样本10.11.1-3.0-2.926.87.10.58.73-3.5-4.12.92.142.02.7-0.15.254.12.8-4.02.263.15.0-1.33.77-0.8-1.3-3.46.280.91.2-4.13.495
2、.06.4-5.11.6103.94.01.95.1编写MATLAB代码如下:p=0.1; k=0;L=length(W(:,1);Ak=ones(L,1); while(1) k=k+1; for i=1:4 g=Ak*W(:,i); % if i0 Ak=Ak; end if g=3 % if g=0 Ak=Ak-p*W(:,i); end end AkMax(:,i)=Ak; end LB,LA=size(AkMax); for i=1:LA % AkMax(:,i)=AkMax(:,i)-Ak; end if AkMax=zeros(LB,LA) Ak % break; end end
3、 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.566
4、0 0.6220 0.0640 0.6040 0.3340 -0.1160 0.3880 0.71200.08202.初始向量改变初始向量改变过程类似,这里不再赘述。结论:由上述结果可知:1. 迭代步长越小,迭代次数越多。但迭代步长太小迭代次数将增加很多,迭代步长太大,将可能搜索不到满足条件的权值,应根据实际要求选择合适的步长。2. 初始向量会对迭代步数产生影响,选择合适的初始向量有利于算法的优化。二、编写k-均值算法程序,并用该程序在下列指定类别数和初始聚类中心情况下,对表中数据进行测试,分析比较两种情况下算法实现结果的差异。(要求给出算法流程图,写出实现算法的程序,给出表中数据的测试和分析
5、结果) (1)(2)注:为聚类数目,为初始聚类中心。样本样本1-7.82-4.58-3.97116.182.815.822-6.683.162.71126.72-0.93-4.0434.36-2.192.0913-6.25-0.260.5646.720.882.8014-6.94-1.221.135-8.643.063.50158.090.202.256-6.870.57-5.45166.810.17-4.1574.47-2.625.7617-5.194.244.0486.73-2.014.1818-6.38-1.741.439-7.712.34-6.33194.081.305.3310-6.91-0.49-5.68206.270.93-2.78(1) 当得到结果如下:(2)当结果如下:算法流程图:结果分析:K-means算法中,需要根据初始类心进行一个初始划分,那么选择初始类心对算法的优化很重要,分类前最好先估计类心再进行分类,以简化算法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1