当前位置:首页 >> 理学 >>

模式识别论文--结束版本


《线性判决器的设计与实现》—模式识别课程论文

判别函数分类器的设计与实现
1 判别函数分类器
1.1 判别函数概念
直接用来对模式进行分类的准则函数。 若分属于 ω1,ω2 的两类模式可用一 方程 d(X) =0 来划分,那么称 d(X) 为判别函数,或称判决函数、决策函数。 如,一个二维的两类判别问题,模式分布如图示,这些分属于 ω1,ω2 两类 的模式可用一直线方程 d(X)=0 来划分。 式中: x 1 , x 2 为坐标变量。

d ( X ) = w1 x1 + w2 x2 + w3 = 0

x2
d(X ) = 0 + -

ω1

ω2
O
图 1-1 将某一未知模式 X 代入: 两类二维模式的分布

x1

d ( X ) = w1 x1 + w2 x2 + w3
若 d ( X ) > 0 ,则 X ∈ ω1 类; 若 d ( X ) < 0 ,则 X ∈ ω2 类; 若 d ( X ) = 0 ,则 X ∈ ω1或 X ∈ ω2 或拒绝 维数=3 时:判别边界为一平面。
1

《线性判决器的设计与实现》—模式识别课程论文

维数>3 时:判别边界为一超平面。

1.2 判别函数正负值的确定
判别界面的正负侧,是在训练判别函数的权值时确定的。

x2
ω2
- +

d(X ) = 0

ω1
O
图 1-2

x1
判别函数正负的确定

d(X) 表示的是一种分类的标准,它可以是 1、2、3 维的,也可以是更高维 的。

1.3 确定判别函数的两个因素
1)判决函数 d(X)的几何性质。它可以是线性的或非线性的函数,维数在特 征提取时已经确定。 已知三维线性分类 —— 判决函数的性质就确定了判决函数的形式:

d ( X ) = w1 x1 + w2 x2 + w3 x3 + w4
非线性判决函数,其示意图如下图所示

2

《线性判决器的设计与实现》—模式识别课程论文

x2

x2

O

x1

O

x1

图 1-3 非线性判决函数图示 2)判决函数 d(X)的系数,由所给模式样本确定的。

2 感知器算法设计与实现 感知器算法设计与实现
对一种分类学习机模型的称呼,属于有关机器学习的仿生学领域中的问题, 由于无法实现非线性分类而下马。 “赏罚概念 reward-punishment concept) 但 ( ” 得到广泛应用。

2.1

感器算法原理及特点 感器算法原理及特点 原理

2.1.1 感知器算法原理
两 类 线 性 可 分 的 模 式 类
T
T ω1, ω2 , 设 d ( X ) = W X 其 中 ,

W = [w1 , w2 ,L, wn , wn +1 ] , X = [x1 , x2 ,L , xn ,1] 应具有性质
T

?> 0, 若 X ∈ ω1 d(X ) = W X ? ?< 0, 若 X ∈ ω2
T

(2-1)

对样本进行规范化处理,即 ω2 类样本全部乘以(-1),则有:

d(X ) = W T X > 0

(2 - 2)

3

《线性判决器的设计与实现》—模式识别课程论文

感知器算法通过对已知类别的训练样本集的学习, 寻找一个满足上式的权向 量。 感知器算法步骤: (1)选择 N 个分属于ω1 和 ω2 类的模式样本构成训练样本集 { X1, …, XN }构成增广向量形式,并进行规范化处理。任取权向量初

始值 W(1),开始迭代。迭代次数 k=1 。 (2)用全部训练样本进行一轮迭代,计算 WT(k)Xi 的值,并修正权向量。 分两种情况,更新权向量的值: 1.
若W T (k )X i ≤ 0,分类器对第 i 个模式做了错误分类, 权向量校正为:

W (k +1) = W (k ) + cX i
c:正的校正增量。 W T (k )X i > 0, 2.若 分类正确,权向量不变: W (k +1) = W (k ) ,统一写为:

?W (k ), ? W ( k + 1) = ? ?W (k ) + CX k , ?

W T (k ) X k ≥ 0 W T (k ) X k < 0
(2-3)

(3)分析分类结果:只要有一个错误分类,回到(2) ,直至对所有样本正 确分类。 感知器算法是一种赏罚过程: 分类正确时,对权向量“赏”——这里用“不罚” ,即权向量不变; 分类错误时,对权向量“罚”——对其修改,向正确的方向转换。

2.1.2 感知算法特点 收敛性 感知算法特点--收敛性
收敛性:经过算法的有限次迭代运算后,求出了一个使所有样本都能正确分 类的 W,则称算法是收敛的。感知器算法是在模式类别线性可分条件下才是收 敛的。

4

《线性判决器的设计与实现》—模式识别课程论文

2.1.3 感知器算法用于多类情况
采用多类情况 3 的方法时,应有: 若 X ∈ ωi ,则 d i ( X ) > d j ( X ), ?j ≠ i, j = 1,L, M 对于 M 类模式应存在 M 个判决函数: 算法主要内容: 设有 M 中模式类别:ω1 , ω2 ,L, ωM 设其权向量初值为: j (1) , W
j = 1, L , M 训

{ di ,

i = 1,L, M } ,,,,,

练样本为增广向量形式,但不需要规范化处理。第 K 次迭代时,一个属于 ωi 类 的模式样本 X 被送入分类器,计算所有判别函数

d j (k ) = W jT (k ) X ,
分二种情况修改权向量:

j = 1,L, M
(2-4)

① 若 d i (k ) > d j (k ), ?j ≠ i; j = 1,2, L , M ,则权向量不变;
W j (k + 1) = W j (k ), j = 1,2, L , M

② 若第 L 个权向量使 d i (k ) ≤ d l (k ) ,则相应的权向量作调整,即:

?Wi (k + 1) = Wi (k ) + cX ? ?Wl (k + 1) = Wl (k ) ? cX ?W (k + 1) = W (k ), j ≠ i, l j ? j

(2-5) c 为正的校正增量

只要模式类在情况 3 判别函数时是可分的,则经过有限次迭代后算法收敛。

2.2 实例说明
为了说明感知器算法的具体实现,下面举出实例加以说明: 已知两类训练样本

ω1 : X1 = [ 0 , 0 ]T X 2 = [ 0 , 1 ]T ω2 : X 3 = [ 1 , 0 ]T X 4 = [ 1 , 1 ]T
用感知器算法求出将模式分为两类的权向量解和判别函数。 解:所有样本写成增广向量形式;进行规范化处理,属于 ω2 的样本乘以(-

5

《线性判决器的设计与实现》—模式识别课程论文

1)。
X 1 = [0,0,1]
T

X 2 = [0,1,1]

T

X 3 = [? 1,0,?1]

T

X 4 = [? 1,?1,?1]

T

任取 W(1)=0,取 c=1,迭代过程为: 第一轮:
?0 ? W T (1) X1 = [0,0,0]?0? = 0, ≤ 0, ? ? ?1 ? ? ? ? 0? W (2) X 2 = [0,0,1]?1 ? = 1, > 0, ? ? ?1 ? ? ?
T

故W (2) = W (1) + X1 = [0,0,1]

T

故W (3) = W (2) = [0,0,1]

T

?- 1? W (3) X 3 = [0,0,1]?0 ? = -1, ≤ 0, ? ? ?- 1? ? ?
T

故W (4) = W (3) + X 3 = [- 1,0,0]

T

?- 1? W (4) X 4 = [- 1,0,0]?- 1? = 1, > 0, ? ? ?- 1? ? ?
T

故W (5) = W (4) = [- 1,0,0]

T

有两个 WT(k)Xi ≤0 的情况(错判) ,进行第二轮迭代。 第二轮:

W T (5) X1 = 0 ≤ 0 , 故W (6) = W (5) + X 1 = [- 1,0,1] W T (6) X 2 = 1 > 0 , 故W (7) = W (6) = [- 1,0,1]
T

T

W T (7) X 3 = 0 ≤ 0 , 故W (8) = W (7) + X 3 = [- 2,0,0]
W T (8) X 4 = 2 > 0 , 故W (9) = W (8) = [- 2,0,0]
第三轮:
T

T

W T (9) X1 = 0 ≤ 0 , 故W (10) = W (9) + X 1 = [- 2,0,1]

T

W T (10) X 2 = 1 > 0 , 故W (11) = W (10)
W T (11) X 3 = 1 > 0 , 故W (12) = W (11)

W T (12) X 4 = 1 > 0 , 故W (13) = W (12)
第四轮:

W T (13) X1 = 1 > 0 , 故W (14) = W (13)

6

《线性判决器的设计与实现》—模式识别课程论文

W T (14) X 2 = 1 > 0 , 故W (15) = W (14)
W T (15) X 3 = 1 > 0 , 故W (16) = W (15)

W T (16) X 4 = 1 > 0 , 故W (17) = W (16)
该轮迭代的分类结果全部正确,故解向量 W = [? 2,0,1] 相应的判别函数为: d ( X ) = 2 x1 + 1
T

x2
X2 (0,1)

d( X) = ?2x1 +1=0
X4 (1,1)

∈ω1

∈ω2

X1 (0,0)

X3 (1,0)

x1

图 2-1

判决函数示意图

判别界面 d(X)=0 如图示。当 c、W(1)取其他值时,结果可能不一样,所以感 知器算法的解不是单值的。

2.3 matlab 的感知器算法设计与实现 的感知器算法设计与 设计与实现
本设计是按照线性函数判决函数的感知算法思想结合数字识别, 来进行设计, 通过训练数字样本(每个数字样本都大于 120) ,结合个人写字习惯,记录测试 结果,最后通过 matlab 编码来实现感知器的数字识别。

2.3.1 Matlab 代码设计
function y=jiangcheng(sample) clc; load templet pattern;
7

《线性判决器的设计与实现》—模式识别课程论文

w=zeros(26,10); d=[]; maxpos=0; maxval=0; f=1; n=[];m=[]; %依次输入样本 for j=1:100 for i=1:10 f=1; pattern(i).feature(26,j)=1; for k=1:10 m=pattern(i).feature(:,j); d(k)=w(:,k)*m; end %判断是否为最大值,如果是,f=1,否则 f=0; for=1:10 if k=i if d(i)<=d(k) I=0; end end end %修正权值 if f for k=1:10 if k==i w(:,k)=w(:,k)+pattern(i).feature(:,j); else w(:,k)=w(:,k)-pattern(i).feature(:,j); end end end end end sample(26)=1; h=[]; %计算各类别的判别函数 for k=1:10 h(k)=w(:k)'*sample'; end [maxval,maxpos]=max(h); y=maxpos-1;
8

《线性判决器的设计与实现》—模式识别课程论文

2.3.2 matlab 实现
首先通过,手写输入 0-9 个数字的训练样例各 130 个,如下图所示:

图 2-2 数字训练样品 训练样本准备好后,进行数字识别测试,其测验如下:

图 2-3

数字测验结果正确样例

图 2-4 数字测试不正确样例
9

《线性判决器的设计与实现》—模式识别课程论文

2.3.3 设计结果分析 设计结果分析
通过多次手写验证测试,有 65%通过,其结果如节显示,由于模式识别的算 法复杂,步骤较多,实现起来有一定的难度。为了使样品库少一些,将精力着重 放在算法的理解及编程实现上,此次设计用的是 6x6 的设计模板,这个比较小, 其对测试结果的正确性起着确定性的作用。 故增大设计模板以及提高算法的精确 度可以使计算更为准确。

3 增量校正算法设计与实现 增量校正算法设计与实现
3.1 增量校正算法原理
增量校正算法采用绝对偏差的平均值为最小的原则,这时准则函数取为
J (Wi , X ) = E{| ri ( x ) ? WiT X |}

(3-1)

式中

ri ( x ) =
上式对 W i 进行偏微分,可得

{

1, X ∈W i 0 , X ?W i

(3-2)

?J = E{? X sgn[ ri ( X ) ? W i T X ]} ? Wi
式中

(3-3)

sgn[ r i ( X ) ? W
由于

T i

X ] =

{

1 , ri ( X ) ≥ W i T X ? 1 , ri ( X ) < W i T X

(3-4)

?f (Wi , X ) = ? X sgn[ ri ( X ) ? WiT X ] ?Wi

(3-5)

因而算法方程为
W i ( k + 1 ) = W i ( k ) + α k X ( k ) sgn{ ri [ X ( k )] ? W i T ( k ) X ( k )]}
10

(3-6)

《线性判决器的设计与实现》—模式识别课程论文

Wi 的初值 W(1)是可以任意选取的,上式也可以写成

W i ( k + 1) = ? ? ?

W i ( k ) + α k X ( k ), W iT ( k ) X ( k ) < ri [ X ( k )] W i ( k ) ? α k X ( k ), W iT ( k ) X ( k ) ≥ ri [ X ( k )]

(3-7)

算法的每一步都要校正权向量。 而感知器算法只在某一个模式样品被错误分 类时才校正。由式(3-7)或式(5-40)看出,算法每一步得的校正值都正比于 增量 α k ,故称为增量校正算法。 对于多类问题来说,判别函数为
d i ( X ) = WiT ( k )

(3-8)

如果 X ∈ W i ,则 di ( X ) = WiT ( k ) = ri [ X ] = 1 而 di ( X ) = WiT (k ) = rj [ X ] = 0

3.2 实例说明
为了说明该算法的实现过程,这里举出如下例子,给定两类样品:

w 1 : ( 0 , 0 , 0 ) T , (1 , 0 , 0 ) T , (1 , 0 ,1 ) T , (1 ,1 , 0 ) T w 2 : ( 0 , 0 ,1 ) T , ( 0 ,1, 0 ) T , ( 0 ,1,1 ) T , (1,1,1 ) T
现在用增量校正算法计算判别函数。在进行迭代运算之前,各样品的特征向 量经过增 1:

w 1 : ( 0 , 0 , 0 ,1 ) T , (1 , 0 , 0 ,1 ) T , (1 , 0 ,1 ,1 ) T , (1 ,1 , 0 ,1 ) T w 2 : ( 0 , 0 ,1 ,1 ) T , ( 0 ,1 , 0 ,1 ) T , ( 0 ,1,1,1 ) T , (1,1,1,1 ) T
以 W(1)=0, α
k

=1/k 进行讨论。

a) 令 X(1) = (0,0,0,1)T ,

X(1) ∈ ω1 ,W (2) = W (1) + α1 X (1) sgn{r[ X (1)] ? W T (1) X (1)} 因为 α1 =1, r[X (1)]
=1 和 r[X (1)] > W T (1) X (1) 因而 W(2) = W(1) + 0 = (0,0,0,1)T b) 令 X(2) = (1,0,0,1)T ,

1 X(2) ∈ ω1 , α 2 = , r[ X (2)] = 1, W (3) = W (2) + α 2 X (2) sgn{r[ X (2)] ? W T (2) X (2)} 2 因
11

《线性判决器的设计与实现》—模式识别课程论文

为 r[ X (2)] = W T (2) X (2)

c)

1 1 1 因此 W(3) = W(2) - (1,0,0,1)T = (? ,0,0, ) 2 2 2 T 令 X(3) = (1,0,1,1) ,
X(3) ∈ ω1 , r[ X (3)] = 1, W (4) = W (3) + α 2 X (3) sgn{r[ X (3)] ? W T (3) X (3)}
因为 r[ X (3)] > W T (3) X (3)

1 1 1 5 因此 W(4) = W(3) + (1,0,1,1)T = (? ,0, , )T 3 6 3 6
按照同样的步骤把一下的样品逐个输入。 当输入样品 X ∈ w2 时,ri [ X (k )] = 0 , 以此确定函数 sgn{r[ X (k )] ? W T (k ) X (k ) 的符号,由此决定修正量的方向。一直进 1 行到第 15 步,即 k=15, α k = ,得到可以令人满意的结果,这时 15 W (16) ≈ (0.233,?0.239,?0.216,0.619)T 因此判别方程为:

d ( X ) = P(w | X ) ?

1 1 = W T X ? = 0.233x1 ? 0.239 x2 ? 0.216 x3 + 0.119 = 0 2 2

3.3 实现步骤
① 设各个权矢量的初始值为 0,即 W0 (0) = W1 (0) = W2 (0) = L = W9 (0) = 0 。 ② 输入第 k 次样品 X (k ) ,计算 d i ( k ) = WiT ( k ) X ( k ) 。 ③ 若 X (k ) ∈ wi , 则ri [ X (k )] = 1,否则ri [ X (k )] = 0 。 ④ 计算 Wi (k + 1)

? , W i ( k + 1) = ? ?

W i ( k ) + α k X ( k ),W iT ( k ) X ( k ) < ri [ X ( k )] W i ( k ) ? α k X ( k ),W iT ( k ) X ( k ) ≥ ri [ X ( k )]

其中, α k = 1 / k 。 ⑤ 循环执行第二步,直到属于 wi 类的所有样品都满足条件:
d i ( X ) > d j ( X ), ?j ≠ i

12

《线性判决器的设计与实现》—模式识别课程论文

3.4

matlab 实现增量校正算法
增量校正判决器实现与感知器算法的验证平台是一样的, 都是通过足够的数

字样品训练,再通过增量校正算法来实现数字识别的测试。

3.4.1 matlab 的增量校正算法设计
其 matlab 编码实现如下: function y=zengliangjiaozheng(sample) clc; load templet pattern; w=zeros(26,10); d=[]; maxpos=0; maxval=0; r=[]; flag=1; num1=0; num2=0; f=1; n=[];m=[]; while flag flag=0; num2=num2+1; forj=1:20 for i=1:10 num1=num1+1; %初始化向量 r,当前类别 r(i)为 1 r=[0 0 0 0 0 0 0 0 0 0]; r(i)=1; f=1; pattern(i).feature(26,j)=1; for k=1:10 m=pattern(i).feature(:,j); d(k)=w(:,k)*m; end %判断是否为最大值,不是则 flag 为 1 for k=1:10 if k~=i if d(i)<=d(k)
13

《线性判决器的设计与实现》—模式识别课程论文

flag=1; end end end %修正权值 for k=1:10 if r(k)>d(k) w(:,k)=w(:,k)+pattern(i).feature(:,j)/num1; else w(:,k)=w(:,k)-pattern(i).feature(:,j)/num1; end end end end if num2>400 flag=0; end end sample(26)=1; h=[]; %计算判别函数 %计算各类别的判别函数 for k=1:10 h(k)=w(:k)'*sample'; end [maxval,maxpos]=max(h); y=maxpos-1;

3.4.2 matlab 设计的数字验证平台的实现
在测试之前需要足够的样本训练,以便建立足够信息的样品库,训练示意图 如下:

14

《线性判决器的设计与实现》—模式识别课程论文

图 3-1

数字训练示意图

在随机测试中,有 70%的数字测试是通过的,下面把测试过程中正确的与不 正确的分别以图形的形式展现出来:

图 3-2 测试通过样例

图 3-3 未通过测试样例

15

《线性判决器的设计与实现》—模式识别课程论文

3.4.3 设计结果分析
增量校正算法与感知器算法最大的不同是,其每一步都修改权值,而感知器 只在发生错误的时候修改权值, 相对算法更加复杂, 但是准确度比感知器算法高。

16

《模糊 K-均值判决器设计与实现》—模式识别课程论文

模糊 K-均值判决器设计与实现
1 模糊 K 值算法原理
模糊 K-均值算法基本思想: 首先设定一些类及每个样本对各类的隶属度; 然 后通过迭代,不断调整隶属度至收敛。 模糊 K 值算法实现的步骤如下: (1) 确定模式类数 K,1<K<N,N 为样本个数。 (2) 根据先验知识确定样本从属于各类的隶属度 ?ij (0) , 建立初始隶属度矩阵 U (0) = [?ij (0)] , i 为类别编号、矩阵的行号, j 为样本 编号、矩阵的列号。矩阵 U(0)每列元素之和等于 1。

X1

X2

X3

X4

? 0.9 0.8 0.7 0.1 ? ω 1 U (0) = ? ? 0.1 0.2 0.3 0.9 ? ω ? ? ? 2
(3) 求各类的聚类中心 Z i (L ) ,L 为迭代次数。

(1-1)

Z i (L ) =

∑ [ ? (L )]
j =1 N ij j =1 ij

N

m

X
m

j

∑ [ ? (L )]
i1

i = 1, 2 , L L , K ;

m≥2

(1-2)
i2 i3

? m X1 + ? m X 2 + ? m X 3 例如,3 个样本时: Zi = ?m + ?m + ?m
i1 i2 i3

可以看出:各聚类中心的计算必须用到全部的 N 个样本,这是与一般 K-均 值算法的区别之一。 (4) 计算新的隶属度矩阵 U(L+1),矩阵元素计算如下:
?
ij

(L

+ 1)=

1



K

(

p =1

d ij 2 ) d pj

(m

?1 )

(1-3)

i = 1,2, L , K ,

j = 1,2, L , N , m ≥ 2
17

《模糊 K-均值判决器设计与实现》—模式识别课程论文

式中, d ij 是第 L 次迭代完成时,第 j 个样本到第 i 类聚类中心 Z i (L ) 的距离。 例当有两个聚类中心时,样本 j 对两个类别隶属度的计算:

?1 j =
(

1 d1 j d1 j ) 2 (m?1) + ( d1 j d2 j ) 2 (m?1)

?2 j =
(

1 d2 j d1 j ) 2 (m?1) + ( d2 j d2 j )2 (m?1)
(1-4)

可见: d ij 越大, ? ij ( L + 1) 越小。

?ij (L + 1) =

1 d ij 2 (m?1) ∑(d ) p =1 pj
K

(1-5)

为避免分母为零,特规定: 若 d ij = 0 ,则 ? ij ( L + 1) = 1, ? pj ( L + 1) = 0( p ≠ i ) (5) 回到(3)求聚类中心,重复至收敛。收敛条件:

max
i, j

{?

ij

(L + 1) ? ? ij (L )

}≤ ε ,

ε 为规定的参数。

(6) 根据隶属度矩阵 U(L+1)进行聚类: 若 则

? ij (L + 1) = max ? pj (L + 1) = 0,
1≤ p ≤ K

j = 1, 2, L L , N

X j ∈ ωi 类。

X1

X2

X3

X4

? 0.9 0.8 0.7 0.1 ? ω1 如: U (0) = ? ? 0.1 0.2 0.3 0.9 ? ω ? ? ? 2

2 实例说明
设有 4 个二维样本,分别是

X1 = [0, 0] , X2 = [0, 1]
T

T

T X3 = [3, 1] , X4 = [3, 2]

T

利用模糊 K-均值算法把它们聚为两类。 解: (1)根据要求 N=4,K=2。 (2)根据先验知识确定初始隶属度矩阵:
18

《模糊 K-均值判决器设计与实现》—模式识别课程论文

X1 X 2 X 3 X 4 ? 0.9 0.8 0.7 0.1 ? ω 1 U (0) = ? ? 0.1 0.2 0.3 0.9 ? ω ? ? ? 2
由 U(0)可知,倾向于 X1、X2、X3 为一类,X4 为一类。

Z i (L ) =

∑[? (L )]
j =1 N ij j =1 ij

N

m

Xj
m

∑[ ? (L )]

X1 X 2 X 3 X 4 ? 0.9 0.8 0.7 0.1 ? ω 1 U (0) = ? ? 0.1 0.2 0.3 0.9 ? ω ? 2 ? ?
其中 :

X1 = [0, 0] X2 = [0, 1]
X3 = [3, 1]
X4 = [3, 2]

T T
T

T

(3) 计算聚类中心 Z1 (0) 、 Z 2 (0) ,取 m=2,有

?0 ? ?0 ? ?3? ?3? Z1 (0) = (0.92 × ? ? + 0.82 × ? ? + 0.7 2 × ? ? + 0.12 × ? ? ) ?0 ? ?1? ?1? ?2? ?0.77? ÷ (0.92 + 0.82 + 0.7 2 + 0.12 ) = ? ? ?0.59? ?0 ? ? 0? ?3? ?3 ? Z 2 (0 ) = (0.12 × ? ? + 0.22 × ? ? + 0.32 × ? ? + 0.92 × ? ? ) ?0 ? ?1 ? ?1? ?2 ? ?2.84? ÷ (0.12 + 0.22 + 0.32 + 0.92 ) = ? ? ?1.84 ?

?ij (L + 1) =
其中:

1

∑(d
p =1

K

d ij
pj

) 2 (m?1)

?2.84? ?0.77? Z2 (0) = ? ? Z1 (0) = ? ? ?1.84? ?0.59?

X1 = [0, 0] X2 = [0, 1]
X3 = [3, 1]

T T
T

19

《模糊 K-均值判决器设计与实现》—模式识别课程论文

X4 = [3, 2]

T

(4) 计算新的隶属度矩阵 U(1)。取 m=2,分别计算 ?ij (1) 。
2 如对 X3 有: d13 = (3 ? 0.77) 2 + (1 ? 0.59) 2 = 5.14 2 d 23 = (3 ? 2.84) 2 + (1 ? 1.84) 2 = 0.73 1 1 = = 0.12 得 ?13 (1) = 2 2 d13 d13 5.14 + 5.14 + 2 2 d13 d 23 5.14 0.73

?23 (1) =

1
d d + d d
2 23 2 13 2 23 2 23

=

1 = 0.88 0.73 0.73 ( + ) 5.14 0.73

类似地,可得到 U(1)中其它元素,有

X1

X2

X3

X4

? 0.92 0.92 0.12 0.01? ω1 U(1) = (?ij (1)) = ? ? 0.08 0.08 0.88 0.99? ω ? ? ? 2
若满足收敛条件 max
i, j

{?

ij

(L + 1) ? ? ij (L )

}≤ ε ,则迭代结束,

否则返回(3)计算聚类中心。 假设此时满足收敛条件,迭代结束,则根据 U(1)进行聚类。

Q ?11 (1) > ? 21 (1) , ?12 (1) > ? 22 (1) ,∴ X 1 ∈ ω1 , X 2 ∈ ω1
Q ? 23 (1) > ?13 (1) , ? 24 (1) > ?14 (1) ,∴ X 3 ∈ ω2 , X 4 ∈ ω2

3 matlab 的模糊 K-均值设计与实现 均值设计与 均值设计与实现
本代码设计用随机函数 randn 与矩阵乘法函数结合一起产生 4 组 3 列的矩阵 数据样品,作为模糊 K 均值分类的对象,再设计 simple_kmeans 函数实现 K 均值 算法功能,即整个设计分两大步:第一步,产生分类的对象数据—matlab 测试; 第二步,模糊 K 均值算法的实现—对应 matlab 代码设计。

20

《模糊 K-均值判决器设计与实现》—模式识别课程论文

3.1 matlab 代码设计
function [means,Nmeans] = simple_kmeans(X,K,maxerr) [Ndata, dims] = size(X); dist = zeros(1,K); % Initial prototype assignment (arbitrary) for i=1:K-1 means(i,:) = X(i,:); end means(K,:) = mean(X(K:Ndata,:)); cmp = 1 + maxerr; while (cmp > maxerr) % Sums (class) and data counters (Nclass) initialization class = zeros(K,dims); Nclass = zeros(K,1); % Groups each elements to the nearest prototype for i=1:Ndata for j=1:K % Euclidean distance from data to each prototype dist(j) = norm(X(i,:)-means(j,:))^2; end % Find indices of minimum distance index_min = find(~(dist-min(dist))); % If there are multiple min distances, decide randomly index_min = index_min(ceil(length(index_min)*rand)); class(index_min,:) = class(index_min,:) + X(i,:); Nclass(index_min) = Nclass(index_min) + 1; end for i=1:K class(i,:) = class(i,:) / Nclass(i); end % Compare results with previous iteration cmp = 0; for i=1:K cmp = norm(class(i,:)-means(i,:)); end % Prototype update means = class; end Nmeans = Nclass;

21

《模糊 K-均值判决器设计与实现》—模式识别课程论文

3.2 matlab 测试
K = 4; dim = 3; variance = 1; sdev = sqrt(variance); cluster1 = sdev*randn(200,dim) + kron(ones(200,1),[0,0,0]); cluster2 = sdev*randn(300,dim) + kron(ones(300,1),[0,0,6]); cluster3 = sdev*randn(100,dim) + kron(ones(100,1),[0,6,0]); cluster4 = sdev*randn(500,dim) + kron(ones(500,1),[6,0,0]); % Build data matrix X = [cluster1 ; cluster2 ; cluster3; cluster4]; % Now apply K-means algorithm % Note that order of results may vary maxerr = 0; [proto Nproto] = simple_kmeans(X,K,maxerr) 1.测试结果一: proto = 0.0561 0.0470 0.0071 6.0519 Nproto = 101 199 300 500

5.9792 -0.0258 -0.0466 0.0082

0.0470 -0.0329 5.9565 -0.0012

2.测试结果二: proto = -0.1291 0.0759 6.0445 0.0336 -0.0271 6.0249 0.0068 -0.0923 Nproto = 300 501 100 199

6.0721 0.0418 -0.0105 0.0234

22

《模糊 K-均值判决器设计与实现》—模式识别课程论文

3.3 结果分析
在这里只展现了算法实现测试的两组结果,因为测试样本是在[0 0 0],[0 0 6],[0 6 0],[6 0 0]四组数据上加上随机噪声,最后通过 K 均值算法出来的分组都比 较平均, 跟各个数基样例个数: 100,200,300,500 基本相差一个, 不足 1%的误差, 所以模糊 K 均值算法的精确度比较高。 可以看出基于模糊 K_均值算法的模糊分类器主要优点是:(1)简单;(2)结构 系统化;(3)在聚类过程中,基于模糊 K 均值的聚类算法能预处理训练数据。以 至于训练数据能够保证 100%地被模糊分类器分类;它还具有很好的通用性。

23


赞助商链接
相关文章:
模式识别结课论文
模式识别结课论文_教育学_高等教育_教育专区。智能视频分析技术课程论文 中国传媒大学 2014~2015 学年第 1 学期 课程 智能视频分析技术 题学班 目号级 人工智能...
模式识别课程论文
模式识别课程论文_工学_高等教育_教育专区。模式识别中基于概率统计的 Bayes 算法...模式识别论文--结束版本 23页 2下载券 模式识别论文 5页 免费 模式识别小论文...
模式识别课程论文
模式识别中的贝叶斯决策 学专班 院业级 信息电子技术 电子信息工程 级1班 ...模式识别论文--结束版本 23页 2下载券 模式识别论文 5页 免费 模式识别课程...
模式识别课论文
模式识别课论文_计算机软件及应用_IT/计算机_专业资料。模式识别在手写数字识别中...医学模式识别论文 暂无评价 1页 免费 模式识别论文--结束版本 23页 2下载券 ...
模式识别期末论文_图文
模式识别期末论文_理学_高等教育_教育专区。对模式识别应用领域的认识 摘要自 20...模式识别论文--结束版本 23页 2下载券 计算机模式识别论文 手写... 12页 3...
模式识别论文
这样程序就可以识别出每张训练图片 了。训练程序结束后我们需要导入测试图片,注意...通过手写体数字图片的识别,我们可以加深对模式识别的理解。模式识别需要样本,具 ...
模式识别课程论文
模式识别课程论文_工学_高等教育_教育专区。模式识别课程设计 模式识别中基于概率统计的 Bayes 算 法分析 学号:1102100119 班级:自动化 111 班 姓名:许世坚 首先...
模式识别课程论文
模式识别课程论文_设计/艺术_人文社科_专业资料 暂无评价|0人阅读|0次下载|举报文档 模式识别课程论文_设计/艺术_人文社科_专业资料。模式识别基础 课程设计总结...
模式识别论文
模式识别论文--结束版本 23页 2下载券 模式识别论文 3页 1下载券 ...基于MATLAB 的 REF 神经网络的模式识别一. 神经网络介绍神经网络具有并行处理能力...
模式识别结课论文
模式识别论文 题目 基于 Matlab 的语音识别系统 Title: the voice recognition system based on matlab 摘要 语音是人的自然属性之一,是人类信息交流的基本手段。...
更多相关标签: