习题 2 2 2.
( 1 ) . (1). (1).
P ( x ∣ w 1 ) P ( w 1 ) = 0.25 × 0.8 = 0.2 P(x|w_1)P(w_1)=0.25\times0.8=0.2 P(x∣w1)P(w1)=0.25×0.8=0.2
P ( x ∣ w 2 ) P ( w 2 ) = 0.6 × 0.2 = 0.12 P(x|w_2)P(w_2)=0.6\times0.2=0.12 P(x∣w2)P(w2)=0.6×0.2=0.12
根据基于最小错误率的Bayes,该细胞为正常细胞。
( 2 ) (2) (2)
计算后验概率:
P ( w 1 ∣ x ) = P ( x ∣ w 1 ) P ( w 1 ) ∑ j = 1 2 P ( x ∣ w j ) P ( w j ) = 0.25 × 0.8 0.25 × 0.8 + 0.6 × 0.2 = 0.625 P(w_1|x)=\frac{P(x|w_1)P(w_1)}{\sum^{2}_{j=1}{P(x|w_j)P(w_j)}}=\frac{0.25\times0.8}{0.25\times 0.8+0.6\times0.2}=0.625 P(w1∣x)=∑j=12P(x∣wj)P(wj)P(x∣w1)P(w1)=0.25×0.8+0.6×0.20.25×0.8=0.625
P ( w 2 ∣ x ) = 1 − P ( w 1 ∣ x ) = 0.375 P(w_2|x)=1-P(w_1|x)=0.375 P(w2∣x)=1−P(w1∣x)=0.375
条件风险:
R ( a 1 ∣ x ) = ∑ i = 1 2 λ 1 i P ( w i ∣ x ) = 2.25 R(a_1|x)=\sum^{2}_{i=1}{λ_{1i}P(w_i|x)}=2.25 R(a1∣x)=∑i=12λ1iP(wi∣x)=2.25
R ( a 2 ∣ x ) = ∑ i = 1 2 λ 2 i P ( w i ∣ x ) = 0.625 R(a_2|x)=\sum^{2}_{i=1}{λ_{2i}P(w_i|x)}=0.625 R(a2∣x)=∑i=12λ2iP(wi∣x)=0.625
因为 R ( a 1 ∣ x ) > R ( a 2 ∣ x ) R(a_1|x)>R(a_2|x) R(a1∣x)>R(a2∣x),所以该细胞为异常细胞。
(一)、实验原理
1、最小错误率贝叶斯决策,常用的判别函数:
①. g i = P ( w i ∣ x ) g_i=P(w_i|x) gi=P(wi∣x)
②. g i = P ( x ∣ w i ) P ( w i ) g_i=P(x|w_i)P(w_i) gi=P(x∣wi)P(wi)
③. g i = l n P ( x ∣ w i ) + l n P ( w i ) g_i=lnP(x|w_i)+lnP(w_i) gi=lnP(x∣wi)+lnP(wi)
…
在两类的情况下,对于二分类问题,一般只用一个判别函数:
g ( x ) = g 1 ( x ) − g 2 ( x ) g(x)=g_1(x)-g_2(x) g(x)=g1(x)−g2(x)
其决策面方程为 g ( x ) = 0 g(x)=0 g(x)=0。对应的判决规则为:若 g ( x ) > 0 g(x)>0 g(x)>0,则样本判决为 w 1 w_1 w1,否则判决为 w 2 w_2 w2。
2、最小风险决策判别规则:
g ( x ) = ∑ i = 1 2 λ 1 i P ( w 1 ∣ x ) − ∑ i = 1 2 λ 1 i P ( w 2 ∣ x ) g(x)=\sum^{2}_{i=1}{λ_{1i}P(w_1|x)}-\sum^{2}_{i=1}{λ_{1i}P(w_2|x)} g(x)=∑i=12λ1iP(w1∣x)−∑i=12λ1iP(w2∣x)
其决策面方程为 g ( x ) = 0 g(x)=0 g(x)=0。对应的判决规则为:若 g ( x ) > 0 g(x)>0 g(x)>0,则样本判决为 w 2 w_2 w2,否则判决为 w 1 w_1 w1。
(二)、流程图
(一)、最小贝叶斯错误率决策
1.只考虑身高的不同先验概率下男女判错统计表
女生先验概率 P ( w 1 ) P(w_1) P(w1) | 男生先验概率 P ( w 2 ) P(w_2) P(w2) | test1判错个数 | test1错误率 | test2判错个数 | test2错误率 |
---|---|---|---|---|---|
0.5 | 0.5 | 2 | 5.71% | 27 | 9.00% |
0.25 | 0.75 | 4 | 11.43% | 66 | 22.00% |
0.1 | 0.9 | 7 | 20.00% | 147 | 49.00% |
2.只考虑体重的不同先验概率下男女判错统计表
女生先验概率 P ( w 1 ) P(w_1) P(w1) | 男生先验概率 P ( w 2 ) P(w_2) P(w2) | test1判错个数 | test1错误率 | test2判错个数 | test2错误率 |
---|---|---|---|---|---|
0.5 | 0.5 | 2 | 5.71% | 44 | 14.67% |
0.25 | 0.75 | 4 | 11.43% | 78 | 26.00% |
0.1 | 0.9 | 10 | 28.57% | 133 | 44.33% |
对于测试样本,当女生先验概率为0.5时,测试样本1、测试样本2判别错误率最小;故可推测用最小错误率贝叶斯决策当女生先验概率等于0.5时有最小错误率贝叶斯决策。
(二)、最小风险决策
决策表:
女生 | 男生 |
---|---|
0 | 4 |
3 | 0 |
1.只考虑身高的不同先验概率下男女判错统计表
女生先验概率 P ( w 1 ) P(w_1) P(w1) | 男生先验概率 P ( w 2 ) P(w_2) P(w2) | test1判错个数 | test1错误率 | test2判错个数 | test2错误率 |
---|---|---|---|---|---|
0.5 | 0.5 | 2 | 5.71% | 20 | 6.67% |
0.25 | 0.75 | 4 | 11.43% | 58 | 19.33% |
0.1 | 0.9 | 6 | 17.14% | 120 | 40.00% |
2.只考虑体重的不同先验概率下男女判错统计表
女生先验概率 P ( w 1 ) P(w_1) P(w1) | 男生先验概率 P ( w 2 ) P(w_2) P(w2) | test1判错个数 | test1错误率 | test2判错个数 | test2错误率 |
---|---|---|---|---|---|
0.5 | 0.5 | 2 | 5.71% | 44 | 14.67% |
0.25 | 0.75 | 4 | 11.43 | 68 | 22.67% |
0.1 | 0.9 | 6 | 17.14% | 97 | 32.33% |
对于测试样本,当女生先验概率为0.5时,测试样本1、2判别错误率最小;
故可推测用最小风险决策假设身高或者体重不相关当女生先验概率等于0.5时有最小风险决策。
部分截图
1.最小贝叶斯错误率决策
2.最小风险决策
c o d e : code: code:
clear all;%最小贝叶斯错误率决策
load FEMALE.txt;
load MALE.txt;
fid=fopen('test2.txt','r');
test1=fscanf(fid,'%f %f %c',[3,inf]);
test=test1';
fclose(fid);
tot=300
Fmean = mean(FEMALE);
Mmean = mean(MALE);
Fvar = std(FEMALE);
Mvar = std(MALE);
preM = 0.1; preF = 0.9;%先验概率
error = 0; Nerror = 0;
figure;
for i=1:tot
PFheight = normpdf(test(i,1),Fmean(1,1),Fvar(1,1)) ;
PMheight = normpdf(test(i,1),Mmean(1,1),Mvar(1,1)) ;
p=(log(PFheight)+log(preF))-(log(PMheight)+log(preM));
if(p>0)
plot(i,test(i,1),'r+');
if (test(i,3)=='1')
Nerror = Nerror +1;
end;
else
plot(i,test(i,1),'b*');
if (test(i,3)=='2')
Nerror = Nerror +1;
end
end;
hold on;
end;
title('身高最小风险的Bayes决策');
xlabel('测试序号'),ylabel('身高(cm)');
error = Nerror/tot*100;
sprintf('%s %d %s %0.2f%s','分类错误个数:',Nerror,'分类错误率为:',error,'%')
error=0;
Nerror=0;
figure;
for i=1:tot
PFweight = normpdf(test(i,2),Fmean(1,2),Fvar(1,2)) ;
PMweight = normpdf(test(i,2),Mmean(1,2),Mvar(1,2)) ;
p=(log(PFweight)+log(preF))-(log(PMweight)+log(preM));
if(p>0)
plot(i,test(i,1),'r+');
if (test(i,3)=='1')
Nerror = Nerror +1;
end;
else
plot(i,test(i,1),'b*');
if (test(i,3)=='2')
Nerror = Nerror +1;
end
end;
hold on;
end;
title('体重最小风险的Bayes决策');
xlabel('测试序号'),ylabel('体重(kg)');
error = Nerror/tot*100;
sprintf('%s %d %s %0.2f%s','分类错误个数:',Nerror,'分类错误率为:',error,'%')
clear all;%最小风险决策
load FEMALE.txt;
load MALE.txt;
fid=fopen('test1.txt','r');
test1=fscanf(fid,'%f %f %c',[3,inf]);
test=test1';
fclose(fid);
Fmean = mean(FEMALE);
Mmean = mean(MALE);
Fvar = std(FEMALE);
Mvar = std(MALE);
preM = 0.25; preF = 0.75;%先验概率
error = 0; Nerror = 0;
%损失矩阵
DFF=0;DFM=4;
DMF=3;DMM=0;
tot=35
figure;
for i=1:tot
PFheight = normpdf(test(i,1),Fmean(1,1),Fvar(1,1)) ;
PMheight = normpdf(test(i,1),Mmean(1,1),Mvar(1,1)) ;
p=DMF*PFheight*preF-DFM*PMheight*preM;
if(p>0)
plot(i,test(i,1),'r+');
if (test(i,3)=='1')
Nerror = Nerror +1;
end;
else
plot(i,test(i,1),'b*');
if (test(i,3)=='2')
Nerror = Nerror +1;
end
end;
hold on;
end;
title('身高最小风险的Bayes决策');
xlabel('测试序号'),ylabel('身高(cm)');
error = Nerror/tot*100;
sprintf('%s %d %s %0.2f%s','分类错误个数:',Nerror,'分类错误率为:',error,'%')
error=0;
Nerror=0;
figure;
for i=1:tot
PFweight = normpdf(test(i,2),Fmean(1,2),Fvar(1,2)) ;
PMweight = normpdf(test(i,2),Mmean(1,2),Mvar(1,2)) ;
p=DMF*PFweight*preF-DFM*PMweight*preM;
if(p>0)
plot(i,test(i,1),'r+');
if (test(i,3)=='1')
Nerror = Nerror +1;
end;
else
plot(i,test(i,1),'b*');
if (test(i,3)=='2')
Nerror = Nerror +1;
end
end;
hold on;
end;
title('体重最小风险的Bayes决策');
xlabel('测试序号'),ylabel('体重(kg)');
error = Nerror/tot*100;
sprintf('%s %d %s %0.2f%s','分类错误个数:',Nerror,'分类错误率为:',error,'%')