您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 模式识别实验一(最小贝叶斯决策及ROC曲线)概要
实验一一、实验原理1.最小错误率贝叶斯决策规则:对于两类问题,最小错误率贝叶斯决策有如下判决规则:1212(|)(|),;PxPxxx则反之,则。由于先验概率i(P)可以确定,与当前样本x无关,所以决策规则也可整理成下面的形式:121212(|)()(),()(|)PxPlxxxPPx若,则否则。2.平均错误率决策边界把x轴分割成两个区域,分别称为第一类和第二类的决策区域.样本在中但属于第二类的错误概率和样本在中但属于第一类的错误概率就是出现错误的概率,再考虑到样本自身的分布后就是平均错误率:212211()(|)()(|)()(|)P()(|)P()ttttPePxpxdxPxpxdxpxdxpxdx3.此实验中的判决门限和平均错误率(1)判决门限假设随机脉冲信号f中0的概率为,高斯噪声信号n服从,信号叠加时的放大倍数为a,叠加后的信号为*sfan。由最小错误率贝叶斯决策可得:1122()(|)()(|)PpxPpx化简计算得:220022(ln(1)ln)2aaappt(2)平均错误率由上述积分式可计算。二、实验内容1、已知均值和方差,产生高斯噪声信号,计算其统计特性实验中利用MATLAB产生均值为0,方差为1的高斯噪声信号,信号统计分布的程序和结果如下:%产生高斯噪声并统计其特性x=0;%均值为0y=1;%方差为1n=normrnd(x,y,[11000000]);%产生均值为0,方差为1的高斯噪声m1=mean(n);%高斯噪声的均值v1=var(n);%高斯噪声的方差figure(1)plot(n(1:400));title('均值为0,方差为1的高斯噪声');figure(2)hist(n,10000);title('高斯噪声的统计特性');得到m1=-4.6534e-005;v1=0.9971。2.已知随机脉冲信号中0和1的出现概率,产生该随机脉冲信号,分析其统计特性实验中利用MATLAB产生随机脉冲信号,信号统计分布的特性程序及结果如下:%随机脉冲信号及其统计特性p=unidrnd(10000,1,1000000);%产生1到100000之间均匀分布的随机序列p0=0.4;f=p(p0*10000);%设置门限,此时0的概率为0.4,1的概率为0.6m2=mean(f);v2=var(f);figure(3);stairs(f(1:400));title('随机脉冲信号');axis([0400-0.21.2]);figure(4)hist(f,-0.2:0.01:1.2);title('随机脉冲序列的统计特性');得到:m2=0.5995;V2=0.2401。3.在随机脉冲信号中叠加高斯噪声信号,在不同的参数设置下分析其统计特性用MATLAB将两个信号叠加,并分析其统计特性,具体程序及结果如下:%随机脉冲信号叠加高斯噪声信号及其统计特性a=5;%取随机信号的幅度为5s=f*a+n;%对高斯噪声信号和随机脉冲序列进行叠加m3=mean(s);%信号的均值v3=var(s);%信号的方差subplot(2,1,1);stairs(s(1:400));%绘制部分叠加信号title('叠加后的信号');subplot(2,1,2);hist(s,1000)%绘图分析叠加后信号的统计特性title('叠加后信号的统计特性')得到m3=2.9994;v3=6.9964;4.依据最小错误概率贝叶斯决策原理,确定判决门限,完成信号检测,计算两类错误率设判决门限为t,平均错误率为e,利用MATLAB计算t和e,具体程序和结果如下:%确定判决门限,完成信号检测,计算两类错误率a=5;p0=0.4;%第一类先验概率为0.4t=(a^2-2*v1*(log(1-p0)-log(p0)))/(2*a);%利用贝叶斯决策计算判别门限s1=st;%执行判决e1=sum((f-s1)==-1)/(1000000*p0);%计算虚警率e2=sum((f-s1)==1)/(1000000*(1-p0));%计算漏检率e=e1*p0+e2*(1-p0);%计算平均错误率得到:判决门限t=2.4189,平均错误率e=0.0060。5.改变判决门限,绘制ROC曲线在MATLAB中调用ROC函数,程序及绘制的曲线如下所示:(1)利用贝叶斯最小错误概率绘制ROC曲线Smin=min(s1);Smax=max(s1);o=(s1-Smin)/(Smax-Smin);%对s进行归一化处理[tpr,fpr,thresholds]=roc(f,o);%调用roc函数plotroc(f,o);%绘制ROC曲线title('ROC曲线')(2)改变判决门限,令t=1.8,2.0,2.2,2.4,2.6,2.8,得到的平均错误概率分别为e=0.0148,0.0099,0.0071,0.0060,0.0068,0.0068。数据表明,贝叶斯决策平均错误率理论上是最小错误概率。6.改变随机脉冲信号与高斯噪声的参数,重复以上实验(1)其他条件不变,改变高斯噪声的均值,取均值=2,方差=1。由上例得到:均值为1,方差为2时,t=2.4188,e=0.1353。当其他条件不变时,高斯白噪声均值判决门限,从而决定平均错误率。由此可看出,高斯噪声的均值对最小错误率贝叶斯决策的判决门限有影响,均值越大,判决门限越大,对平均错误率影响越大。(2)其他条件不变,改变高斯噪声的方差,分别取方差=0.5、2,用matlab绘制ROC曲线如下图所示:当方差=0.5时,判决门限t=2.4797基本不变,平均错误率e几乎接近于0;当方差=2时,判决门限t=2.1760,变化不大,但平均错误率e=0.1028,明显大大增大。由此可看出,高斯噪声的方差对最小错误率贝叶斯决策的判决门限影响较小,对平均错误率的影响很大,方差越大,平均错误率也越大。(3)其他条件不变,改变随机脉冲中01的概率,分别取P0=0.3,0.9得到的ROC曲线如下图所示:P0=0.3时:此时,判决门限t=2.3303,平均错误率e=0.0056。P0=0.9时:此时,判决门限t=2.9401,平均错误率e=0.0035。先验概率对判决门限和平均错误率均有影响。(4)其他条件不变,改变信号叠加时的放大倍数,分别取放大倍数得到的ROC曲线如下图所示:当a=2时,判决门限变t=0.7969,平均错误率e=0.1539;当a=8时,判决门限t=3.9492,平均错误率e=3.7000e-005。由此可看出,放大倍数对判决门限和平均错误率均有影响,且放大倍数越大,判决门限越大,平均错误率越小。三、误差分析由实验原理中的平均错误率积分式可得理论上的平均错误率,下面通过matlab计算理论上的平均错误率。程序和结果如所示:%误差分析t=(-10000:0.01:2.42);%确定t的取值范围及步长x1=0.6.*(1/(sqrt(2.*pi))).*exp(-(((t-5).^2)/2));e1=trapz(x1).*t(2);%用求和法求积分x2=0.4.*(1/(sqrt(2.*pi))).*exp(-((t.^2)/2));e2=trapz(x2).*t(2);e=e1+e2;经过计算,e1=0.00312e2=0.00294e=0.00606在原条件下,平均错误的理论值为0.00606,实验值为0.0060;二者相差不大,但实验值比理论值略小,是因为实验过程中所取的点有限,不是无穷多个点,即不包括所有第一类错误和第二类错误的点。
本文标题:模式识别实验一(最小贝叶斯决策及ROC曲线)概要
链接地址:https://www.777doc.com/doc-3542352 .html