模式识别实验最小错误率下的贝叶斯决策
- 格式:docx
- 大小:124.24 KB
- 文档页数:10
基于最⼩错误率的贝叶斯决策理论上的东西,就不写了,也写不出什么有价值的东西,资料太多了。
后⽂很多关于原理的讲述都给出了其他⽂章的引⽤。
分享⼀个⽐较简单易懂的。
数据集:328 个同学的⾝⾼、体重、性别数据(78 个⼥⽣、250 个男⽣)124 个同学的数据(40 ⼥、84 男)90 个同学的数据(16 ⼥,74 男)问题描述:以dataset1为训练数据库,假设⾝⾼与体重满⾜⾼斯分布,进⾏⾼斯分布的参数估计,并进⾏基于最⼩错误率的贝叶斯分类,分别考虑男⼥的先验概率,0.5-0.5;0.6-0.4;0.7-0.3,0.8-0.2,并以dataset2和dataset3为测试数据库分析分类性能,并探讨先验概率对分类性能的影响需要解决的问题:通过⽂章开头提供的资料可以看出,其实判别的函数就是下图,就是给定⼀个待测向量X,它是类别Wi的概率。
等号右边,P(Wi)就是先验概率,⽽p(X|Wi)则需要根据⾼斯概率密度函数(什么是⾼斯分布?)进⾏估计:然⽽,上⾯常见的⾼斯概率密度函数只是针对⼀维的参数X,对于⼤多数情况,输⼊参数会是多维的,多元⾼斯概率密度函数怎么求解呢?可以参考这篇⽂章:。
于是,我们得到针对⼆元变量的概率密度函数求解为:重点说明下,上⾯的参数,是多元变量间的相关性参数,设定值应该⼩于1。
⼆元变量相关系数求法:解决问题(python,numpy库⽀持):#-*-encoding:utf-8-*-import numpyimport mathdef importdata(filename = 'dataset1.txt') :'''导⼊训练集'''f = open(filename,'r')dataset = []arr = []for item in f :vars = item.split()dataset.append([float(vars[0]), float(vars[1]), vars[2].upper()])return datasetdef getParameters(dataset) :'''从训练集分别获取不同类别下的期望、⽅差、标准差、类别的先验概率以及变量间相关系数'''class1 = []class2 = []class_sum = []for item in dataset :class_sum.append([item[0],item[1]])if item[-1] == 'F' :class1.append([item[0],item[1]])if item[-1] == 'M' :class2.append([item[0],item[1]])class1 = numpy.array(class1)class2 = numpy.array(class2)class_total = numpy.array(class_sum)mean1 = numpy.mean(class1,axis=0)variance1 = numpy.var(class1,axis=0)stand_deviation1 = numpy.std(class1,axis=0)mean2 = numpy.mean(class2,axis=0)variance2 = numpy.var(class2,axis=0)stand_deviation2 = numpy.std(class2,axis=0)class_total = (len(class1) + len(class2)) * 1.0mean = numpy.mean(class_sum, axis=0)stand_deviation = numpy.std(class_sum, axis=0)new_arr = [ ((item[0] - mean[0]) * (item[1] - mean[1]) / stand_deviation[0] / stand_deviation[1]) for item in dataset]coefficient = numpy.mean(new_arr)return (mean1,mean2),(variance1,variance2),(stand_deviation1, stand_deviation2),(len(class1)/class_total,len(class2)/class_total),coefficient def GaussianFunc(mean, variance, stand_deviation, coefficient) :'''根据指定参数(期望、⽅差、标准差、多元向量间的相关性)⽣成⾼斯函数多元变量的⾼斯函数'''def func(X) :X = [X[0] - mean[0], X[1] - mean[1]]B = [[variance[0], coefficient * stand_deviation[0] * stand_deviation[1]],[coefficient * stand_deviation[0] * stand_deviation[1], variance[1]]] inv_B = numpy.linalg.inv(B)A = inv_BB_val = (1.0 - coefficient**2) * variance[0] * variance[1]tmp1 = 2*math.pi * (B_val ** 0.5)X = numpy.array([X])tmp2 = (-0.5) * numpy.dot(numpy.dot(X, A), X.T)res = 1.0 / tmp1 * (math.e ** tmp2)return resreturn funcdef f(X, funcs, class_ps, index) :'''贝叶斯概率计算函数'''tmp1 = funcs[index](X) * class_ps[index]tmp2 = funcs[0](X) * class_ps[0] + funcs[1](X) * class_ps[1]return tmp1 / tmp2def classify(X,funcs,class_ps,labels) :'''基于最⼩错误率的贝叶斯判别分类。
模式识别习题及答案模式识别习题及答案【篇一:模式识别题目及答案】p> t,方差?1?(2,0)-1/2??11/2??1t,第二类均值为,方差,先验概率??(2,2)?122???1??1/21??-1/2p(?1)?p(?2),试求基于最小错误率的贝叶斯决策分界面。
解根据后验概率公式p(?ix)?p(x?i)p(?i)p(x),(2’)及正态密度函数p(x?i)?t(x??)?i(x??i)/2] ,i?1,2。
(2’) i?1基于最小错误率的分界面为p(x?1)p(?1)?p(x?2)p(?2),(2’) 两边去对数,并代入密度函数,得(x??1)t?1(x??1)/2?ln?1??(x??2)t?2(x??2)/2?ln?2(1) (2’)1?14/3-2/3??4/32/3??1由已知条件可得?1??2,?1,?2??2/34/3?,(2’)-2/34/31设x?(x1,x2)t,把已知条件代入式(1),经整理得x1x2?4x2?x1?4?0,(5’)二、(15分)设两类样本的类内离散矩阵分别为s1??11/2?, ?1/21?-1/2??1tt,各类样本均值分别为?1?,?2?,试用fisher准(1,0)(3,2)s2-1/21??(2,2)的类别。
则求其决策面方程,并判断样本x?解:s?s1?s2??t20?(2’) ??02?1/20??-2??-1?*?1w?s()?投影方向为12?01/22?1? (6’) ???阈值为y0?w(?1??2)/2??-1-13 (4’)*t2?1?给定样本的投影为y?w*tx??2-1?24?y0,属于第二类(3’) ??1?三、(15分)给定如下的训练样例实例 x0 x1 x2 t(真实输出) 1 1 1 1 1 2 1 2 0 1 3 1 0 1 -1 4 1 1 2 -1用感知器训练法则求感知器的权值,设初始化权值为w0?w1?w2?0;1 第1次迭代2 第2次迭代(4’)(2’)3 第3和4次迭代四、(15分)i. 推导正态分布下的最大似然估计;ii. 根据上步的结论,假设给出如下正态分布下的样本,估计该部分的均值和方差两个参数。
实验一一、 实验原理1. 最小错误率贝叶斯决策规则:对于两类问题,最小错误率贝叶斯决策有如下判决规则:1212(|)(|),;P x P x x x ωωωω>∈∈则反之,则。
由于先验概率i (P ω)可以确定,与当前样本x 无关,所以决策规则也可整理成下面的形式:121212(|)()(),()(|)P x P l x x x P P x ωωωωωω=>∈∈若,则否则。
2. 平均错误率决策边界把x 轴分割成两个区域,分别称为第一类和第二类的决策区域.样本在中但属于第二类的错误概率和样本在中但属于第一类的错误概率就是出现错误的概率,再考虑到样本自身的分布后就是平均错误率:212211()(|)()(|)()(|)P()(|)P()ttt tP e P x p x dx P x p x dxp x dx p x dxωωωωωω∞-∞∞-∞=+=+⎰⎰⎰⎰3. 此实验中的判决门限和平均错误率 (1) 判决门限假设随机脉冲信号f 中0的概率为,高斯噪声信号n 服从,信号叠加时的放大倍数为a ,叠加后的信号为*s f a n =+。
由最小错误率贝叶斯决策可得:1122()(|)()(|)P p x P p x ωωωω→→>化简计算得:220022(ln(1)ln )2aa a p p t μσ+---=(2) 平均错误率 由上述积分式可计算。
二、 实验内容1、 已知均值和方差,产生高斯噪声信号,计算其统计特性 实验中利用MATLAB 产生均值为0,方差为1的高斯噪声信号,信号统计分布的程序和结果如下:%产生高斯噪声并统计其特性x=0;%均值为0 y=1;%方差为1n=normrnd(x,y,[1 1000000]);%产生均值为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。
实验一贝叶斯决策一、 实验原理1. 最小错误率贝叶斯决策规则:对于两类问题,最小错误率贝叶斯决策有如下判决规则:1212(|)(|),;P x P x x x ωωωω>∈∈则反之,则。
由于先验概率i (P ω)可以确定,与当前样本x 无关,所以决策规则也可整理成下面的形式:121212(|)()(),()(|)P x P l x x x P P x ωωωωωω=>∈∈若,则否则。
2. 平均错误率决策边界把x 轴分割成两个区域,分别称为第一类和第二类的决策区域.样本在中但属于第二类的错误概率和样本在中但属于第一类的错误概率就是出现错误的概率,再考虑到样本自身的分布后就是平均错误率:212211()(|)()(|)()(|)P()(|)P()ttt tP e P x p x dx P x p x dxp x dx p x dxωωωωωω∞-∞∞-∞=+=+⎰⎰⎰⎰3. 此实验中的判决门限和平均错误率 (1) 判决门限假设随机脉冲信号f 中0的概率为,高斯噪声信号n 服从,信号叠加时的放大倍数为a ,叠加后的信号为*s f a n =+。
由最小错误率贝叶斯决策可得:1122()(|)()(|)P p x P p x ωωωω→→>化简计算得:220022(ln(1)ln )2aa a p p t μσ+---=(2) 平均错误率 由上述积分式可计算。
二、 实验内容1、 已知均值和方差,产生高斯噪声信号,计算其统计特性 实验中利用MATLAB 产生均值为0,方差为1的高斯噪声信号,信号统计分布的程序和结果如下:%产生高斯噪声并统计其特性x=0;%均值为0 y=1;%方差为1n=normrnd(x,y,[1 1000000]);%产生均值为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。
实验一 Bayes 分类器设计【实验目的】对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识,理解二类分类器的设计原理。
【实验原理】最小风险贝叶斯决策可按下列步骤进行:(1)在已知)(i P ω,)(i X P ω,i=1,…,c 及给出待识别的X 的情况下,根据贝叶斯公式计算出后验概率: ∑==cj iii i i P X P P X P X P 1)()()()()(ωωωωω j=1,…,x(2)利用计算出的后验概率及决策表,按下面的公式计算出采取i a ,i=1,…,a 的条件风险∑==cj j jii X P a X a R 1)(),()(ωωλ,i=1,2,…,a(3)对(2)中得到的a 个条件风险值)(X a R i ,i=1,…,a 进行比较,找出使其条件风险最小的决策k a ,即()()1,min k i i aR a x R a x ==则k a 就是最小风险贝叶斯决策。
【实验内容】假定某个局部区域细胞识别中正常(1ω)和非正常(2ω)两类先验概率分别为 正常状态:P (1ω)=0.9; 异常状态:P (2ω)=0.1。
现有一系列待观察的细胞,其观察值为x :-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682-1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知类条件概率是的曲线如下图:)|(1ωx p )|(2ωx p 类条件概率分布正态分布分别为N (-2,0.25)、N (2,4)试对观察的结果进行分类。
【实验要求】1)用matlab 完成基于最小错误率的贝叶斯分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。
模式识别最小风险的贝叶斯公式推导模式识别是一种通过对数据进行分析和处理,从中提取出有用的信息和知识的技术。
在模式识别中,最小风险的贝叶斯公式是一种常用的方法,用于对数据进行分类和预测。
最小风险的贝叶斯公式是基于贝叶斯定理的,它可以用来计算在给定先验概率和条件概率的情况下,某个事件的后验概率。
在模式识别中,最小风险的贝叶斯公式可以用来计算某个样本属于某个类别的后验概率,从而进行分类。
假设有一个样本x,它有n个特征,分别为x1,x2,...,xn。
现在需要将它分类到k个类别中的一个。
设类别为C1,C2,...,Ck,先验概率为P(C1),P(C2),...,P(Ck),条件概率为P(x|C1),P(x|C2),...,P(x|Ck)。
则根据贝叶斯定理,样本x属于类别Ci的后验概率为:P(Ci|x) = P(x|Ci)P(Ci) / P(x)其中,P(x)是样本x出现的概率,可以通过全概率公式计算得到:P(x) = Σi P(x|Ci)P(Ci)最小风险的贝叶斯公式是在上述基础上,引入了损失函数,用来衡量分类错误所带来的损失。
假设将样本x分类到类别Cj,但实际上它属于类别Ci,那么所带来的损失为Lij。
则最小风险的贝叶斯决策规则为:将样本x分类到使得期望损失最小的类别,即:argminj Σi Lij P(Ci|x)其中,argminj表示使得期望损失最小的类别。
这个公式的意义是,对于每个类别,计算将样本x分类到该类别所带来的期望损失,然后选择使得期望损失最小的类别作为最终分类结果。
最小风险的贝叶斯公式是模式识别中常用的分类方法之一,它可以有效地处理分类问题,并且可以根据不同的损失函数进行调整,以适应不同的应用场景。
在实际应用中,需要根据具体的问题选择合适的损失函数,并且需要对先验概率和条件概率进行估计,以获得更准确的分类结果。
模式识别实验贝叶斯最⼩错误率分类器设计实验⼆贝叶斯最⼩错误率分类器设计⼀、实验⽬的1. 了解模式识别中的统计决策原理2. 熟悉并会根据给出的相关数据设计贝叶斯最⼩错误率分类器。
3. 熟悉并会使⽤matlab进⾏相关程序的编写⼆、实验原理分类器的设计⾸先是为了满⾜对数据进⾏分门别类,是模式识别中⼀项⾮常基本和重要的任务,并有着极其⼴泛的应⽤。
其定义是利⽤预定的已分类数据集构造出⼀个分类函数或分类模型(也称作分类器),并利⽤该模型把未分类数据映射到某⼀给定类别中的过程。
分类器的构造⽅法很多,主要包括规则归纳、决策树、贝叶斯、神经⽹络、粗糙集、以及⽀持向量机(SVM)等⽅法。
其中贝叶斯分类⽅法建⽴在贝叶斯统计学的基础之上,能够有效地处理不完整数据,并且具有模型可解释、精度⾼等优点,⽽被认为是最优分类模型之⼀。
本实验就是基于贝叶斯⽅法的分类器构造,其中构造的准则是最⼩错误率。
下⾯,我们对最⼩错误率的分类器设计做⼀个简单的回顾。
假设是⼀个⼆类的分类问题,有-.2两类。
若把物体分到类中,那么所犯的错误有两种情况,⼀种是物体本属于⼧类,分类正确,错误率为0;另⼀种情况是,物体本属于? ’2类,分类错误,错误率就为1-pC l|x)。
因此,要使得错误率最⼩的话,PC l|x)就应该最⼤。
⽽第⼀种情况,也可以归属于p(」|x)=1。
因此,基于贝叶斯最⼩错误率的⼆类分类决策规则可以表述为如下表达式。
pC'i|x)>pC'2|x) X JPC'l|x)<PC'2|x) X 2同理,推⼴到多类分类,⽐如说有N类时,贝叶斯最⼩错误率分类决策规则可以做出如下表述:p(,i| x) = argmaxp(j| x) j=1,2jl| N, x ij从上述表达式,我们可以看出,贝叶斯最⼩错误率分类器设计的决策规则就相当于后验概率最⼤的决策规则。
三、实验内容与要求1.实验数据任务:将细胞识别进⾏正常和异常的两类分类已知数据:假定某个局部区域细胞识别中正常()和⾮正常(「2 )两类,其中先验概率分别为正常状态:P C )=0.9;异常状态:P (⼔)=0.1。
《模式识别》实验报告题目:最小错误率贝叶斯决策一、实验内容1,实验原理2,实验步骤1)从iris.txt 文件(课程邮箱-文件中心)中读取估计参数用的样本,每一类样本抽出前40个,分别求其均值;(2)求每类样本的协方差矩阵、逆矩阵以及协方差矩阵的行列式;(3)对三个类别,分别取每组剩下的 10个样本,每两组进行分类。
由于每类样本都相等,且每类选取用作训练的样本也相等,在每两组进行分类时,待分类样本的类先验概率为0.5。
将各个样本代入判别函数既公式(5),进行分类。
3,实验要求(1)复习最小错误率贝叶斯决策原理,写出实验代码,实现对三类样本的分类;(2)计算分类的正确率,画出三维空间的样本分类图;(3)分析实验结果,完成实验报告。
二、实验代码(1),clear% 原始数据导入iris=load('iris.txt');N=40;%每组取N=40个样本%求第一类样本均值for i = 1:Nfor j = 1:4w1(i,j) = iris(i,j+1);endendsumx1 = sum(w1,1);for i=1:4meanx1(1,i)=sumx1(1,i)/N;end%求第二类样本均值for i = 1:Nfor j = 1:4w2(i,j) = iris(i+50,j+1);endendsumx2 = sum(w2,1);for i=1:4meanx2(1,i)=sumx2(1,i)/N;end%求第三类样本均值for i = 1:Nfor j = 1:4w3(i,j) = iris(i+100,j+1);endendsumx3 = sum(w3,1);for i=1:4meanx3(1,i)=sumx3(1,i)/N;end(2),%求第一类样本协方差矩阵z1(4,4) = 0;var1(4,4) = 0;for i=1:4for j=1:4for k=1:Nz1(i,j)=z1(i,j)+(w1(k,i)-meanx1(1,i))*(w1(k,j)-meanx1(1,j)); endvar1(i,j) = z1(i,j) / (N-1);endend%求第二类样本协方差矩阵z2(4,4) = 0 ;var2(4,4) = 0;for i=1:4for j=1:4for k=1:Nz2(i,j)=z2(i,j)+(w2(k,i)-meanx2(1,i))*(w2(k,j)-meanx2(1,j)); endar2(i,j) = z2(i,j) / (N-1);endend%求第三类样本协方差矩阵z3(4,4) = 0 ;var3(4,4) = 0;for i=1:4for j=1:4for k=1:Nz3(i,j)=z3(i,j)+(w3(k,i)-meanx3(1,i))*(w3(k,j)-meanx3(1,j));endvar3(i,j) = z3(i,j) /( N-1);endend%求各类的协方差矩阵逆矩阵及行列式var1_inv = [];var1_det = [];var2_inv = [];var2_det = [];var3_inv = [];var3_det = [];var1_inv = inv(var1);var2_inv = inv(var2);var3_inv = inv(var3);var1_det = det(var1);var2_det = det(var2);var3_det = det(var3);(3),M=10;for i = 1:Mfor j = 1:4test(i,j) = iris(i+50,j+1); % 取测试数据endendt1=0;t2=0;t3=0;for i = 1:Mx=test(i,1);y=test(i,2);z=test(i,3);h=test(i,4);g1 = (-0.5)*([x,y,z,h]-meanx1)*var1_inv*([x,y,z,h]'-meanx1') - 0.5*log(abs(var1_det)) +log(0.5); % p1g2 = (-0.5)*([x,y,z,h]-meanx2)*var2_inv*([x,y,z,h]'-meanx2') - 0.5*log(abs(var2_det)) +log(0.5); % p2if g1>g2t1=t1+1; %若g1>g2,则属于第一类,否则属于第二类,并统计属于每一类的个数elset2=t2+1;endend三、实验结果(1)第一类样本均值:5.0375 3.4525 1.46 0.235第二类样本均值:6.01 2.78 4.3175 1.35第三类样本均值:6.6225 2.96 5.6075 1.99(2)每类样本的协方差矩阵、逆矩阵以及协方差矩阵的行列式第一类样本的协方差矩阵:0.131121794871795 0.0972115384615384 0.0133333333333333 0.01326923076923080.0972115384615384 0.130250000000000 0.00215384615384614 0.01196153846153850.0133333333333333 0.00215384615384614 0.0296410256410257 0.005025641025641030.0132692307692308 0.0119615384615385 0.00502564102564103 0.00951282051282051逆矩阵:18.8146188042527 -13.3847352886752 -6.47453636800065 -5.99346924772421 -13.3847352886752 18.2504706645718 5.95329943788004 -7.42342518317483-6.47453636800065 5.95329943788004 39.4922929094642 -19.3184124732768-5.99346924772421 -7.42342518317483 -19.3184124732768 133.021*********协方差矩阵的行列式:1.56318133831812e-06第二类样本的协方差矩阵:0 0 0 00 0 0 00 0 0 00 0 0 0逆矩阵:Inf Inf Inf InfInf Inf Inf InfInf Inf Inf InfInf Inf Inf Inf协方差矩阵的行列式:0第三类样本的协方差矩阵:0.467942307692308 0.110410256410256 0.357775********* 0.0512564102564103 0.110410256410256 0.113230769230769 0.0810769230769231 0.0462564102564103 0.357775********* 0.0810769230769231 0.345326923076923 0.0593076923076923 0.0512564102564103 0.0462564102564103 0.0593076923076923 0.0742564102564103 逆矩阵:12.0677437364511 -4.88916379648501 -12.1082128512238 4.38637019494952 -4.88916379648501 14.8211423555543 3.00369869101398 -8.25671873361937 -12.1082128512238 3.00369869101398 15.7866851329687 -6.12187764556262 4.38637019494952 -8.25671873361937 -6.12187764556262 20.4719162879598 协方差矩阵的行列式:0.000142786635162081(3)各类样本代入公式分类得:第一类样本:5.11375000000000 3.79125000000000 0.520000000000000 0.517500000000000 3.79125000000000 5.07975000000000 0.0839999999999996 0.466500000000000 0.520000000000000 0.0839999999999996 1.15600000000000 0.196000000000000 0.517500000000000 0.466500000000000 0.196000000000000 0.371000000000000 第二类样本:10.6760000000000 3.37800000000000 6.71300000000000 2.04000000000000 3.37800000000000 4.32400000000000 3.15400000000000 1.77000000000000 6.71300000000000 3.15400000000000 7.93775000000000 2.87500000000000 2.04000000000000 1.77000000000000 2.87500000000000 1.68000000000000 第三类样本:18.2497500000000 4.30600000000000 13.9532500000000 1.99900000000000 4.30600000000000 4.41600000000000 3.16200000000000 1.80400000000000 13.9532500000000 3.16200000000000 13.4677500000000 2.31300000000000 1.99900000000000 1.80400000000000 2.31300000000000 2.89600000000000三维空间分类图:四实验心得首先感谢老师给予我们这次试验的机会,通过这次试验,我更深入了解了最小错误率贝叶斯决策原理,通过计算期望,可以对现实问题进行数学计算,从而获得最优解。
通过自己对相关程序的理解和老师的帮助下我们完成了程序,并仔细阅读了程序,希望对以后的学习有一定的帮助。
经过实验,我对模式识别的认识更深入了,希望能学好模式识别。