模式作业 - Parzen窗估计及matlab源程序

更新时间:2023-11-11 16:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算题

3.6 已知三类训练样本为

?1:[ -1,-1 ]T, ?2:[ 0,0 ]T, ?3:[ 1,1 ]

试用多类感知器算法求解判别函数。

解:采用多类情况3的方式分类,将训练样本写成增广向量形式,有

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

任取初始权向量为:

W1(1) = W2(1) = W3(1)= [ 0,0,0 ]T 取校正增量c = 1。 迭代过程如下:

第一次迭代,k = 1,以X1= [ -1,-1,1 ]T作为训练样本,计算得 d1(1) = W1T(1) X1= 0 d2(1) = W2T(1) X1= 0 d3(1) = W3T(1) X1= 0

X1??1,但d1(1)>d2(1)且d1(1)>d3(1)不成立,故修改3个劝向量,即 W1(2) = W1(1) + X1= [ -1,-1,1 ]T W2(2) = W2(1) – X1= [ 1,1,-1 ]T W3(2) = W3(1) – X1= [ 1,1,-1 ]T 第二次迭代,k = 2,以X2=[ 0,0,1 ]T作为训练样本,计算得 d1(2) = W1T(2)X2= 1 d2(2) = W2T(2)X2= -1 d3(2) = W3T(2)X2= -1

X2??2,但d2(2)>d1(2)且d2(2)>d3(2)不成立,故修改3个权向量,

W1(3) = W1(2) – X2= [ -1,-1,0 ]T W2(3) = W2(2) + X2= [ 1,1,0 ]T W3(3) = W3(2) – X2= [ 1,1,-2 ]T 第三次迭代,k = 3,以X3= [ 1,1,1 ]T作为训练样本,计算得 d1(3) = W1T(3)X3= -2 d2(3) = W2T(3)X3= 2 d3(3) = W3T(3)X3= 0

X3??3,d3(3)>d1(3)成立,但d3(3)>d2(3)不成立,故仍需修改部分权向量,即

W1(4) = W1(3) = [ -1,-1,0 ]T W2(4) = W2(3) – X3= [ 0,0,-1 ]T W3(4) = W3(3) + X3= [ 2,2,-1 ]T

以上经过一轮迭代运算后,三个样本还未正确分类,故进行下一轮迭代。

第四次迭代,k = 4,以X1= [ -1,-1,1 ]T作为训练样本,计算得 d1(4) = W1T(4)X1= 2 d2(4) = W2T(4)X1= -1 d3(4) = W3T(4)X1= -5

X1??1,但d1(4)>d2(4)且d1(4)>d3(4)成立,故3个权向量不变,即 W1(5) = W1(4) = [ -1,-1,0 ]T W2(5) = W2(4) = [ 0,0,-1 ]T W3(5) = W3(4) = [ 2,2,-1 ]T

第五次迭代,k = 5,以X2= [ 0,0,1 ]T作为训练样本,计算得 d1(5) = W1T(5)X2= 0 d2(5) = W2T(5)X2= -1 d3(5) = W3T(5)X2= -1

X2??2,且d2(5)>d1(5)和d2(5)>d3(5)不成立,故修改3个权向量,即有

W1(6) = W1(5) – X2= [ -1,-1,-1 ]T W2(6) = W2(5) +X2= [ 0,0,0 ]T W3(6) = W3(5) – X2=[ 2,2,-2]T

第六次迭代,k = 6,以X3= [ 1,1,1]T作为训练样本,计算得 d1(6) = W1T(6)X3= -3 d2(6) = W2T(6)X3= 0 d3(6) = W3T(6)X3= 2

X3??3,且d3(6)>d1(6)和d3(6)>d2(6)成立,说明已正确分类,权向量不变,有 W1(7) = W1(6) , W2(7) = W2(6) , W3(7) = W3(6)

第七次迭代,k = 7,以X1= [ -1,-1,1 ]T作为训练样本,计算得 d1(7) = W1T(7)X1= 1 d2(7) = W2T(7)X1= 0 d3(7) = W3T(7)X1= -6

X1??1,且d1(7)>d2 (7)和d1(7)>d3(7)成立,说明已正确分类,权向量不变,有

W1(8) = W1(7) , W2(8) = W2(7) , W3(8) = W3(7)

第八次迭代,k = 8,以X2= [ 0,0,1 ]T作为训练样本,计算得

d1(8) = W1T(7) X2= -1

d2(8) = W2T(7) X2= 0

d3(8) = W3T(7) X2= -2

X2??2,且d2(8)>d1(8)和d2(8)>d3(8)成立,说明已正确分类,权向量不变

在第六、七、八次迭代中,对所有三个样本都已经正确分类,故权向量的解为 W1= W1(6) = W1(7) =W1(8) = [ -1,-1,-1 ]T W2= W2(6) = W2(7)= W2(8) = [ 0,0,0 ]T W3= W3(6) = W3(7)= W3(8) = [ 2,2,-2]T 由此得三个判别函数分别为

d1(X) =-x1-x2-1 d2(X) = 0 d3(X) = 2x1+2x2-2

4.2 假设在某个地区的疾病普查中,正常系统(?1)和异常细胞(?2)的先验概率分别为P(?1) =0.9,P(?2)=0.1。现有一待识别细胞,起观察值为X,从概率密度分布曲线上查得p(X|?1) =0.2,p(X|?2) =0.4,试对该细胞利用最小错误率贝叶斯决策规则进行分类。

解:利用先验概率和类概率密度计算。

p(X|?1)P(?1) = 0.2 * 0.9 = 0.18

p(X|?2)P(?2) = 0.4 * 0.1 = 0.04

因为p(X|?1)P(?1)>p(X|?2)P(?2),所以X??1是正常细胞。

程序题

4.12给出Parzen窗估计的程序框图,并编写程序。

parzen窗设计

一、 parzen窗设计原理

(一)、基本原理

Parzen窗估计法是一种具有坚实理论基础和优秀性能的非参数函数估计方法,它能够较好地描述多维数据的分布状态。其基本思想就是利用一定范围内各点密度的平均值对总体密度函数进行估计。一般而言,设x为d维空间中任意一点, N是所选择的样本总数,为了对x处的分布概率密度

dp?x?进行估计,以x为中心作一个

N^边长为hN的超立方体VN,则其体积为VN?hN,为计算落入VN中的样本数kN,构造一个函数使得

??1,??u?????1?,j?1,2,...,d20,其他uj(1)

并使??u?满足条件??u??0,且???u?du?1,则落入体积V中的样本数为

kN?x?xi?????,则此处概率密度的估计值是: ???i?1?hN?N1pN?x??N^?x?xi??? (2) ????i?1VN?hN?N1式(2)是Parzen窗估计法的基本公式,??u?称为窗函数,或核函数、势函数。窗函数的作用是内插,每一样本对估计所起的作用取决于它到x的距离。在Parzen窗估计法的基本公式中,窗宽hN是一个非常重要的参数。当样本数N有限时,hN对估计的效果有着较大的影响。

(二)、窗函数的选取

一般可以选择的窗函数有方窗、正态窗等。基于下列原因,本文选择正态窗作为核函数:

(1)正态函数的平滑性将使得估计函数变化平滑;

(2)如果选择完全对称的正态函数,估计函数中只有一个参量变化; (3)便于利用书中例题4.5校核程序。

因此,选择正态核函数的情形下,正态窗函数为

1?12?exp??u? (3) 2??2???u??即

2??x?xi???x?xi?11?(4) ???exp??????????2?hN??2??hN???概率密度的估计式为

pN?x??

^1?N?hNi?1N2????x?11xi?(5) exp???????2?hN??2???二、 程序说明

本程序根据课本P120例4.5编写(有改动)

(一)、首先生成Parzen窗估计函数文件

1、源程序

function pNx=parzen(N,h1,x) %Parzen hN=h1/sqrt(N); pNx=zeros(1,30000); for u=1:30000 for i=1:N

pNx(u)=pNx(u)+exp(((x(u)-x(i))/hN).^2/-2)/sqrt(2*pi)/hN; end

pNx(u)=pNx(u)/N; end 2、说明

(1)hN?h1/N,其中h1为可调节的参数 (2)程序通过循环累加实现公式

1p?x??N??hNNi?1^N2????x?11xi? exp???????2?hN??2???1即p?x??Nh1?N^?i?1N??x?11xiexp????2?2?/N??h1????2?? ??(3)其中零序列的长度可以任意设置,但后面的循环次数和主程序里随机函数randn的参数必须保持一致。由于randn设置参数时不能出现无穷大inf,所以没有取无穷大值,

而取了70000。

(二)主程序

1、源程序 clc; clear;

x=randn(1,70000); px=normpdf(x,0,1);

%Parzen窗h1=0.25时,N不同的估计 subplot(2,3,1); plot(x,px,'.');

title('原始一维正态分布')

pNx=parzen(1,0.25,x); subplot(2,3,2); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=0.25,N=1')

pNx=parzen(16,0.25,x); subplot(2,3,3); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=0.25,N=16')

pNx=parzen(256,0.25,x); subplot(2,3,4); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=0.25,N=256')

pNx=parzen(4096,0.25,x); subplot(2,3,5); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布')

xlabel('h1=0.25,N=2000')

pNx=parzen(65536,0.25,x); subplot(2,3,6); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=0.25,N=65536')

%Parzen窗h1=1时,N不同的估计 figure(2);

subplot(2,3,1); plot(x,px,'.');

title('原始一维正态分布')

pNx=parzen(1,1,x); subplot(2,3,2); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=1,N=1')

pNx=parzen(16,1,x); subplot(2,3,3); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=1,N=16')

pNx=parzen(256,1,x); subplot(2,3,4); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=1,N=256')

pNx=parzen(4096,1,x); subplot(2,3,5);

plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=1,N=4096')

pNx=parzen(65536,1,x); subplot(2,3,6); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=1,N=65536')

%Parzen窗h1=4时,N不同的估计 figure(3);

subplot(2,3,1); plot(x,px,'.');

title('原始一维正态分布')

pNx=parzen(1,4,x); subplot(2,3,2); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=4,N=1')

pNx=parzen(16,4,x); subplot(2,3,3); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=4,N=16')

pNx=parzen(256,4,x); subplot(2,3,4); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=4,N=256')

pNx=parzen(4096,4,x); subplot(2,3,5); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=4,N=4096') pNx=parzen(65536,4,x); subplot(2,3,6); plot(x,pNx,'.');

title('Parzen窗法估计单一正态分布') xlabel('h1=4,N=65536') 2、说明

为了使仿真结果更加清晰选取了三组不同的h1进行比较,分别赋值0.25,1,4,并且取了五组不同N,分别赋值1,16,256,4096,65536,都是16的幂次值。

三、仿真截图和结论

(一)、仿真结果(如图)

图1

选取的h1=0.25,N=1,16,256,4096,65536

图2

选取的h1=1,N=1,16,256,4096,65536

图3

选取的h1=4,N=1,16,256,4096,65536

(二)、结论

(1)由上面三组仿真结果可知,估计结果依赖于N和h1。当N=1时,

p?x?是一个

N^以样本为中心的小丘。当N=16和h1=0.25时,仍可以看到单个样本所起的作用;但当h1=1及h1=4时就受到平滑,单个样本的作用模糊了。随着N的增加,估计量来越好。这说明,要想得到较精确的估计,就需要大量的样本。 (2) 对比课本例题的结果,可知Parzen窗估计的设计符合要求。

p?x?越

N^

本文来源:https://www.bwwdw.com/article/7ekv.html

Top