实验一贝叶斯决策.docx
《实验一贝叶斯决策.docx》由会员分享,可在线阅读,更多相关《实验一贝叶斯决策.docx(16页珍藏版)》请在冰豆网上搜索。
![实验一贝叶斯决策.docx](https://file1.bdocx.com/fileroot1/2022-12/30/d8de6be7-d649-40d1-8ed3-6175e5ccc19c/d8de6be7-d649-40d1-8ed3-6175e5ccc19c1.gif)
实验一贝叶斯决策
实验一贝叶斯决策
一、实验原理
1.最小错误率贝叶斯决策规则:
对于两类问题,最小错误率贝叶斯决策有如下判决规则:
由于先验概率
可以确定,与当前样本
无关,所以决策规则也可整理成下面的形式:
2.平均错误率
决策边界把
轴分割成两个区域,分别称为第一类和第二类的决策区域.样本在中但属于第二类的错误概率和样本在中但属于第一类的错误概率就是出现错误的概率,再考虑到样本自身的分布后就是平均错误率:
3.此实验中的判决门限和平均错误率
(1)判决门限
假设随机脉冲信号
中0的概率为,高斯噪声信号
服从,信号叠加时的放大倍数为
,叠加后的信号为
。
由最小错误率贝叶斯决策可得:
化简计算得:
(2)平均错误率
由上述积分式可计算。
二、实验内容
1、已知均值和方差,产生高斯噪声信号,计算其统计特性
实验中利用MATLAB产生均值为0,方差为1的高斯噪声信号,信号统计分布的程序和结果如下:
%产生高斯噪声并统计其特性
x=0;%均值为0
y=1;%方差为1
n=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.6
m2=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;%取随机信号的幅度为5
s=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.4
t=(a^2-2*v1*(log(1-p0)-log(p0)))/(2*a);%利用贝叶斯决策计算判别门限
s1=s>t;%执行判决
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(s);
Smax=max(s);
o=(s-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;二者相差不大,但实验值比理论值略小,是因为实验过程中所取的点有限,不是无穷多个点,即不包括所有第一类错误和第二类错误的点。