您好,欢迎访问三七文档
第三次试验报告(2)一实验名称概率密度函数估计方法(非参数估计方法)二实验原理非参数估计原理:•设样本x落入区域R的概率PRdxxpP)(•p(x)为x的总体概率密度函数,若从概率密度函数为p(x)的总体中独立抽取N个样本x1,x2,…,xN,其中k个样本落入区域R的概率符合二项分布:1NkkkkNPpPC•可以证明,下式是P的一个较好的估计NkPˆ•设区域R足够小,其体积为V,)(ˆxp为概率密度函数p(x)的估计,p(x)连续且在R上无变化,则:VNkxpNkVxpdxxpPR/)(ˆ)(ˆ)(ˆˆ•)(ˆxp与样本数N、区域R的体积V、落入V中的样本数k有关,它是的一个空间平均估计•①当V固定的时候N增加,k也增加,当N→∞时,N→∞,此时P=k/N→1,VVNkxp1)(ˆ•)(ˆxp只反映了P(x)的空间平均估计,而反映不出空间的变化•②N固定,体积变小,当V→0时•k=0时:ˆ()0kNpxV•k≠0时:VNkxp)(ˆ•所以起伏比较大,噪声比较大,需要对V进行改进.•对体积V的改进:•为了估计x点的密度,我们构造一串包括X的区域序列R1,R2,..RN,对R1采用一个样本进行估计,对R2采用二个样本进行估计…。•设VN是RN的体积,KN是N个样本落入VN的样本数则密度的第N次估计:NNVk/N(x)pˆ若pN(x)收敛于p(x)应满足三个条件:①limNNK,当N↑时,VN↓,N→∞,VN→0.这时虽然样本数多,但由于VN↓,落入VN内的样本KN也减小,所以空间变化才反映出来②limNNK,N↑,kN↑,N与KN同相变化③0limNKNN,KN的变化远小于N的变化。因此尽管在R内落入了很多的样本,但同总数N比较,仍然是很小的一部分。两种非参数估计方法:如何选择VN满足以上条件①Parzen窗口法:使体积VN以N的某个函数减小,NhVN(h为常数)②KN近邻法:使KN作为N的某个函数,例NkKNVN的选择使RN正好包含KN个近邻Parzen窗口估计:假设RN为一个d维的超立方体,hN为超立方体的长度∴超立方体体积为:hVdNN,d=1,窗口为一线段d=2,窗口为一平面d=3,窗口为一立方体d3,窗口为一超立方体∵ф(u)是以原点x为中心的超立方体。∴在xi落入方窗时,则有在VN内为122NiNihxxhxx不在VN内为01]21[]2[]||[hhhxxNNNi落入VN的样本数为所有为1者之和NiNiNhxxK1)||(∴密度估计NiNiNNNNhxxVNVNKxP1)||(11)(窗口的选择:方窗函数正态窗函数指数窗函数其他.021||,1)(uu}21exp{21)(2uu|}|exp{)(uukN-近邻估计:•KN近邻法的思想是以x为中心建立空舱,使v↑,直到捕捉到KN个样本为止,称KN-近邻估计•v的改进,样本密度大,VN↓;•样本密度小,VN↑;•∴P(x)的估计为:NkN取,VNk(x)PNNN三实验内容实验三:MATLAB编程实现:利用Parzen窗法,估计单一正态分布和两个均匀分布样本数N分别为1、16、256、(无穷大用一个比较大的数据代替)窗口宽度分别为:0.25、1、4画出实验结果图实验四:MATLAB编程实现:利用-近邻法NK,估计单一正态分布和两个均匀分布样本数N分别为1、16、256、(无穷大用一个比较大的数据代替)近邻:=NKN画出实验结果图实验三(四):单一正态分布:标准正态分布两个均与分布:混合概率密度函数1-2.52()0.25020其他xpxx四实验步骤及贴图实验步骤:利用MATLAB编程实现实验一到四得出实验结果及结果图对得出的实验结果进行分析实验贴图:Parzen窗法:单一正态分布:两个均匀分布:-近邻法NK单一正态分布:两个均匀分布:五、实验代码Parzen窗法:Myparzen01.m(单一正态分布)%%%%%%%%正态分布的概率密度函数估计clc;closeall;clearall;M=128^2;%调整M的值可以改进精度x=linspace(-3,3,100);%功能:用于产生-3,3之间的100点行线性的矢量。X=randn(M,1)%产生标准正态分布figure;p=Parzen(x,X,0.25,1);subplot(4,3,1);plot(x,p);title('N=1,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,1);subplot(4,3,2);plot(x,p);title('N=1,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,1);subplot(4,3,3);plot(x,p);title('N=1,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,16);subplot(4,3,4);plot(x,p);title('N=16,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,16);subplot(4,3,5);plot(x,p);title('N=16,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,16);subplot(4,3,6);plot(x,p);title('N=16,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,256);subplot(4,3,7);plot(x,p);title('N=256,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,256);subplot(4,3,8);plot(x,p);title('N=256,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,256);subplot(4,3,9);plot(x,p);title('N=256,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,M);subplot(4,3,10);plot(x,p);title('N=128^2,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,M);subplot(4,3,11);plot(x,p);title('N=128^2,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,M);subplot(4,3,12);plot(x,p);title('N=128^2,h1=4');axis([-3,3,0,2]);gridon;gridon;Myparzen02.m(两个均匀分布)%%%%%%%%正态分布的概率密度函数估计clc;closeall;clearall;M=128^2;%调整M的值可以改进精度x=linspace(-3,3,100);%功能:用于产生-3,3之间的100点行线性的矢量。n=M;i=1;whilei=n%产生均匀分布双峰概密随机数,x分布在-2.5到-2之间概率为0.5,x分布在0到2之间概率为0.5;R(i)=rand(1);ifR(i)0.5p(1,i)=2*rand(1);elseifR(i)0.5p(1,i)=0.5*rand(1)-2.5;elsenull;endi=i+1;endX=p;figure;p=Parzen(x,X,0.25,1);subplot(4,3,1);plot(x,p);title('N=1,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,1);subplot(4,3,2);plot(x,p);title('N=1,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,1);subplot(4,3,3);plot(x,p);title('N=1,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,16);subplot(4,3,4);plot(x,p);title('N=16,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,16);subplot(4,3,5);plot(x,p);title('N=16,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,16);subplot(4,3,6);plot(x,p);title('N=16,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,256);subplot(4,3,7);plot(x,p);title('N=256,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,256);subplot(4,3,8);plot(x,p);title('N=256,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,256);subplot(4,3,9);plot(x,p);title('N=256,h1=4');axis([-3,3,0,2]);gridon;p=Parzen(x,X,0.25,M);subplot(4,3,10);plot(x,p);title('N=128^2,h1=0.25');axis([-3,3,0,2]);gridon;p=Parzen(x,X,1,M);subplot(4,3,11);plot(x,p);title('N=128^2,h1=1');axis([-3,3,0,2]);gridon;p=Parzen(x,X,4,M);subplot(4,3,12);plot(x,p);title('N=128^2,h1=4');axis([-3,3,0,2]);gridon;gridon;-近邻法NK:单一正态分布:myjl01.mclc;clearall;closeall;x=linspace(-3,3,100);N=1;p1=knjl01(x,N);figure;subplot(1,4,1),plot(x,p1);title('N=1');N=16;p2=knjl01(x,N);subplot(1,4,2),plot(x,p2);title('N=16');N=256;p3=knjl01(x,N);subplot(1,4,3);plot(x,p3);title('N=256');N=128^2;p4=knjl01(x,N);subplot(1,4,4);plot(x,p4);title('N=128^2');knjl01.mfunctionp=knjl01(x,N)xb=randn(N,1);%产生标准正态分布kn=sqrt(N);p=zeros(1,100);forj=1:100x1=sort(abs(x(j)-xb));%用当前所处位置的x值减去样本点的值,并对其绝对值进行排序vn=x1(kn);%计算包含kn个样本点所需的体积p(j)=(kn/N)/vn;%循环迭代计算end两个均匀分布:myjl02.mclc;clearall;closeall;x=linspace(-3,3,100);N=1;p1=knjl02(x,N);figure;subplot(1,4,1),plot(x,p1);title('N=1');N=16;p2=knjl02(x,N);subplot(1,4,2),plot
本文标题:模式识别报告三
链接地址:https://www.777doc.com/doc-2304569 .html