模式识别作业题(2)
- 格式:pdf
- 大小:96.39 KB
- 文档页数:4
研究生课程作业贝叶斯决策理论课程名称模式识别姓名xx学号xxxxxxxxx专业软件工程任课教师xxxx提交时间2019.xxx课程论文提交时间:2019 年3月19 日需附上习题题目1. 试简述先验概率,类条件概率密度函数和后验概率等概念间的关系:先验概率针对M 个事件出现的可能性而言,不考虑其他任何条件类条件概率密度函数是指在已知某类别的特征空间中,出现特征值X 的概率密度,指第 类样品其属性X 是如何分布的。
后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率。
贝叶斯公式可以计算出该样品分属各类别的概率,叫做后验概率;看X 属于那个类的可能性最大,就把X 归于可能性最大的那个类,后验概率作为识别对象归属的依据。
贝叶斯公式为类别的状态是一个随机变量.而某种状态出现的概率是可以估计的。
贝叶斯公式体现了先验概率、类条件概率密度函数、后验概率三者关系的式子。
2. 试写出利用先验概率和分布密度函数计算后验概率的公式3. 写出最小错误率和最小风险决策规则相应的判别函数(两类问题)。
最小错误率如果12(|)(|)P x P x ωω>,则x 属于1ω 如果12(|)(|)P x P x ωω<,则x 属于2ω 最小风险决策规则 If12(|)(|)P x P x ωλω< then 1x ω∈If12(|)(|)P x P x ωλω> then 2x ω∈4. 分别写出以下两种情况下,最小错误率贝叶斯决策规则: (1)两类情况,且12(|)(|)P X P X ωω= (2)两类情况,且12()()P P ωω=最小错误率贝叶斯决策规则为:If 1...,(|)()max (|)i i j j cp x P P x ωωω==, then i x ω∈两类情况:若1122(|)()(|)()p X P p X P ωωωω>,则1X ω∈ 若1122(|)()(|)()p X P p X P ωωωω<,则2X ω∈(1) 12(|)(|)P X P X ωω=, 若12()()P P ωω>,则1X ω∈若12()()P P ωω<,则2X ω∈(2) 12()()P P ωω=,若12(|)(|)p X p X ωω>,则1X ω∈若12(|)(|)p X p X ωω<,则2X ω∈5. 对两类问题,证明最小风险贝叶斯决策规则可表示为, 若112222221111(|)()()(|)()()P x P P x P ωλλωωλλω->-则1x ω∈,反之则2x ω∈ 计算条件风险2111111221(|)(|)(|)(|)j j j R x p x P x P x αλωλωλω===+∑2222112221(|)(|)(|)(|)j j j R x p x P x P x αλωλωλω===+∑如果 111122(|)(|)P x P x λωλω+<211222(|)(|)P x P x λωλω+ 2111112222()(|)()(|)P x P x λλωλλω->-211111122222()()(|)()()(|)P p x P p x λλωωλλωω->-112222221111(|)()()(|)()()P x P P x P ωλλωωλλω->-所以,如果112222221111(|)()()(|)()()P x P P x P ωλλωωλλω->- ,则1x ω∈,反之则2x ω∈6. 表示模式的特征向量d x R ∈,对一个c 类分类问题,假设各类先验概率相等,每一类条件概率密度为高斯分布。
Lecture2作业1,已知类ω1由两个特征向量 0,0 T , 1,0 T 组成,类ω2由两个特征向量 0,1 T , 1,1 T 组成,使用感知器算法,并令w 0=(0,0)T ,设计这两类的线性分类函数。
2,证明:针对线性可分训练样本集,PLA 算法中,当W 0=0,在对分错样本进行了T 次纠正后,下式成立:W f T W f W TW T ≥ T ∙constant3,针对线性可分训练样本集,PLA 算法中,假设对分错样本进行了T 次纠正后得到的分类面不再出现错分状况,定义:R 2=max n x n 2,ρ=min n y n W f TW f x n ,试证明:T ≤R 2ρ2编程作业1,编写一个名为Perce 的函数,用它来实现感知器算法。
函数的输入/输出有:(a )一个N*d 维的矩阵X ,它的第i 行是第i 个数据向量; (b )一个N 维列向量y ,y 的第i 个元素包含了类(-1,1),并且该类与相应的向量相互对应;(c )用向量w_ini 初始化参数向量;并且返回估计参数向量; 假设函数最大迭代次数为10000。
2,(a )产生两个都具有200个二维向量的数据集X1和'1X (注意:在生成数据集之前最好使用命令randn(‘seed ’,0)初始化高斯随机生成器为0(或任意给定数值),这对结果的可重复性很重要)。
向量的前半部分来自均值向量T [-5,0]m1=的正态分布,并且协方差矩阵I =S1。
向量的后半部分来自均值向量T [5,0]m1=的正态分布,并且协方差矩阵I =S1。
其中I 是一个2*2的单位矩阵。
(b )在上述数据集上运用感知器算法,并且使用不同的初始向量初始化参数向量。
(c )测试每一种算法在X1和'1X 上的性能。
(d )画出数据集X1和'1X ,以及分类面。
3,重复第2题的内容,但是实验中要使用数据集X2和'2X (注意:在生成数据集之前最好使用命令randn(‘seed ’,0)初始化高斯随机生成器为0(或任意给定数值),这对结果的可重复性很重要)。
模式识别作业图像处理与模式识别作业二题目一:计算特征矢量之间的距离:任意构造10个人在程序设计、离散数学、数据结构、计算机组成原理4门课的成绩表。
计算两两之间的欧式距离、绝对值距离,设计合适的阈值,能否进行分类?答:题目中每个人共有四门课,也就是每个人有4个特征,每门课的成绩也就是这4个特征的量化。
例如某人的成绩就可以表示为(95,68,78,85)这样的一个四维向量。
在这样一个四维空间里,每个个体的相似程度也就可以用欧式距离或者绝对值距离表示。
根据这个相似度,我们就可以将相似度近的分为几类,使其类间距离和最大,类内距离和最小。
或者规定产生几类,具体进行分类。
可用的分类方法有很多,例如最大最小距离法、谱系聚类法、C-均值。
题目二:关于类的定义:如何定义类内各个样本的平均距离?如何定义类之间的距离?答:(1)根据不同的要求类内各个样本的平均距离可以有不同的定义方式。
一般而言,采用先求取类的类心,通过求各个样本与类心距离的平均值.但有时对于样本的聚簇要求格外看中,可以求样本两两距离的和的平均值。
(2)类间距离的方法有很多,例如欧式距离、马氏距离、明氏距离、汉明距离、角度相似性函数。
其中欧式距离较为常用。
设x=(x1, x2, …, xn)T, y=(y1, y2, …, yn)T 欧式距离(Euclidean)d(x, y) = ||x-y|| = [?i=1 n(xi-yi)2]1/2 d(x, y) = ?i=1 n|xi-yi|d(x, y) = maxi |xi-yi| d(x, y) = [?i=1 n(xi-yi)m]1/mm=2,1,?时分别是欧式距离、绝对值距离和切氏距离。
设n维矢量xi和xj是矢量集{x1, x2, …, xn}中的两个矢量,其马氏距离d d2(xi, xj) = (xi-xj)T V-1 (xi-xj)n1TV?(xi?x)(xi?x)?n11i?1x?m??xi绝对值距离(Manhattan距离)切氏距离(Chebyahev)闵科夫斯基距离(Minkowski)马氏距离(Mahalanohis)是:mi?1题目三:你如何理解准则函数?图像处理与模式识别作业二答:准则函数-用具体函数评价系统所采取策略优劣的准则时,称为准则函数。
模式识别习题及答案模式识别习题及答案模式识别是人类智能的重要组成部分,也是机器学习和人工智能领域的核心内容。
通过模式识别,我们可以从大量的数据中发现规律和趋势,进而做出预测和判断。
本文将介绍一些模式识别的习题,并给出相应的答案,帮助读者更好地理解和应用模式识别。
习题一:给定一组数字序列,如何判断其中的模式?答案:判断数字序列中的模式可以通过观察数字之间的关系和规律来实现。
首先,我们可以计算相邻数字之间的差值或比值,看是否存在一定的规律。
其次,我们可以将数字序列进行分组,观察每组数字之间的关系,看是否存在某种模式。
最后,我们还可以利用统计学方法,如频率分析、自相关分析等,来发现数字序列中的模式。
习题二:如何利用模式识别进行图像分类?答案:图像分类是模式识别的一个重要应用领域。
在图像分类中,我们需要将输入的图像分为不同的类别。
为了实现图像分类,我们可以采用以下步骤:首先,将图像转换为数字表示,如灰度图像或彩色图像的像素矩阵。
然后,利用特征提取算法,提取图像中的关键特征。
接下来,选择合适的分类算法,如支持向量机、神经网络等,训练模型并进行分类。
最后,评估分类结果的准确性和性能。
习题三:如何利用模式识别进行语音识别?答案:语音识别是模式识别在语音信号处理中的应用。
为了实现语音识别,我们可以采用以下步骤:首先,将语音信号进行预处理,包括去除噪声、降低维度等。
然后,利用特征提取算法,提取语音信号中的关键特征,如梅尔频率倒谱系数(MFCC)。
接下来,选择合适的分类算法,如隐马尔可夫模型(HMM)、深度神经网络(DNN)等,训练模型并进行语音识别。
最后,评估识别结果的准确性和性能。
习题四:如何利用模式识别进行时间序列预测?答案:时间序列预测是模式识别在时间序列分析中的应用。
为了实现时间序列预测,我们可以采用以下步骤:首先,对时间序列进行平稳性检验,确保序列的均值和方差不随时间变化。
然后,利用滑动窗口或滚动平均等方法,将时间序列划分为训练集和测试集。
第二章主要内容:几种常见的聚类算法已经所使用的准则函数。
作业1:对如下5个6维模式样本,用最小聚类准则进行系统聚类分析 已知样本如下:x1: 0, 1, 3, 1, 3, 4;x2: 3, 3, 3, 1, 2, 1;x3: 1, 0, 0, 0, 1, 1;x4: 2, 1, 0, 2, 2, 1;x5: 0, 0, 1, 0, 1, 0 第1步:将每一样本看成单独一类,得(0)(0)(0)112233(0)(0)4455{},{},{}{},{}G x G x G x Gx Gx =====计算各类之间的欧式距离,可得距离矩阵(0)D第2步:矩阵(0)D,它是(0)3G 和(0)5G 之间的距离,将他们合并为一类,得新的分类为(1)(0)(1)(0)(1)(0)(0)(1)(0)112233544{},{},{,},{}G G G G G G G G G ====计算聚类后的距离矩阵(1)D 第3步:由于(1)D 它是(1)3G 与(1)4G 之间的距离,于是合并(1)3G 和(1)4G ,得新的分类为(2)(1)(2)(2)(2)(1)(1)1122334{},{},{,}G G G G G G G ===同样,按最小距离准则计算距离矩阵(2)D,得第4步:同理得(3)(2)(3)(2)(2)11223{},{,}G G G G G == 满足聚类要求,如聚为2类,聚类完毕。
系统聚类算法介绍:第一步:设初始模式样本共有N 个,每个样本自成一类,即建立N 类。
G 1(0), G 2(0) , ……,G N (0)为计算各类之间的距离(初始时即为各样本间的距离),得到一个N*N 维的距离矩阵D(0)。
这里,标号(0)表示聚类开始运算前的状态。
第二步:假设前一步聚类运算中已求得距离矩阵D(n),n 为逐次聚类合并的次数,则求D(n)中的最小元素。
如果它是Gi(n)和Gj(n)两类之间的距离,则将Gi(n)和Gj(n)两类合并为一类G ij (n+1),由此建立新的分类:G 1(n+1), G 2(n+1)……第三步:计算合并后新类别之间的距离,得D(n+1)。
模式识别大作业(总21页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--作业1 用身高和/或体重数据进行性别分类(一)基本要求:用和的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。
调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。
具体做法:1.应用单个特征进行实验:以(a)身高或者(b)体重数据作为特征,在正态分布假设下利用最大似然法或者贝叶斯估计法估计分布密度参数,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到测试样本,考察测试错误情况。
在分类器设计时可以考察采用不同先验概率(如对, 对, 对等)进行实验,考察对决策规则和错误率的影响。
图1-先验概率:分布曲线图2-先验概率:分布曲线图3--先验概率:分布曲线图4不同先验概率的曲线有图可以看出先验概率对决策规则和错误率有很大的影响。
程序:和2.应用两个特征进行实验:同时采用身高和体重数据作为特征,分别假设二者相关或不相关(在正态分布下一定独立),在正态分布假设下估计概率密度,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到训练/测试样本,考察训练/测试错误情况。
比较相关假设和不相关假设下结果的差异。
在分类器设计时可以考察采用不同先验概率(如 vs. , vs. , vs. 等)进行实验,考察对决策和错误率的影响。
训练样本female来测试图1先验概率 vs. 图2先验概率 vs.图3先验概率 vs. 图4不同先验概率对测试样本1进行试验得图对测试样本2进行试验有图可以看出先验概率对决策规则和错误率有很大的影响。
程序和3.自行给出一个决策表,采用最小风险的Bayes决策重复上面的某个或全部实验。
W1W2W10W20close all;clear all;X=120::200; %设置采样范围及精度pw1=;pw2=; %设置先验概率sample1=textread('') %读入样本samplew1=zeros(1,length(sample1(:,1)));u1=mean(sample1(:,1));m1=std(sample1(:,1));y1=normpdf(X,u1,m1); %类条件概率分布figure(1);subplot(2,1,1);plot(X,y1);title('F身高类条件概率分布曲线');sample2=textread('') %读入样本samplew2=zeros(1,length(sample2(:,1)));u2=mean(sample2(:,1));m2=std(sample2(:,1));y2=normpdf(X,u2,m2); %类条件概率分布subplot(2,1,2);plot(X,y2);title('M身高类条件概率分布曲线');P1=pw1*y1./(pw1*y1+pw2*y2);P2=pw2*y2./(pw1*y1+pw2*y2);figure(2);subplot(2,1,1);plot(X,P1);title('F身高后验概率分布曲线');subplot(2,1,2);plot(X,P2);title('M身高后验概率分布曲线');P11=pw1*y1;P22=pw2*y2;figure(3);subplot(3,1,1);plot(X,P11);subplot(3,1,2);plot(X,P22);subplot(3,1,3);plot(X,P11,X,P22);sample=textread('all ') %读入样本[result]=bayes(sample1(:,1),sample2(:,1),pw1,pw2);%bayes分类器function [result] =bayes(sample1(:,1),sample2(:,1),pw1,pw2); error1=0;error2=0;u1=mean(sample1(:,1));m1=std(sample1(:,1));y1=normpdf(X,u1,m1); %类条件概率分布u2=mean(sample2(:,1));m2=std(sample2(:,1));y2=normpdf(X,u2,m2); %类条件概率分布P1=pw1*y1./(pw1*y1+pw2*y2);P2=pw2*y2./(pw1*y1+pw2*y2);for i = 1:50if P1(i)>P2(i)result(i)=0;pe(i)=P2(i);elseresult(i)=1;pe(i)=P1(i);endendfor i=1:50if result(k)==0error1=error1+1;else result(k)=1error2=error2+1;endendratio = error1+error2/length(sample); %识别率,百分比形式sprintf('正确识别率为%.2f%%.',ratio)作业2 用身高/体重数据进行性别分类(二)基本要求:试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分离器进行比较。
作业一:在一个10类的模式识别问题中,有3类单独满足多类情况1,其余的类别满足多类情况2。
问该模式识别问题所需判别函数的最少数目是多少?答案:将10类问题可看作4类满足多类情况1的问题,可将3类单独满足多类情况1的类找出来,剩下的7类全部划到4类中剩下的一个子类中。
再在此子类中,运用多类情况2的判别法则进行分类,此时需要7*(7-1)/2=21个判别函数。
故共需要4+21=25个判别函数。
作业二:一个三类问题,其判别函数如下:d1(x)=-x1, d2(x)=x1+x2-1, d3(x)=x1-x2-11. 设这些函数是在多类情况1条件下确定的,绘出其判别界面和每一个模式类别的区域。
2. 设为多类情况2,并使:d12(x)= d1(x), d13(x)= d2(x), d23(x)=d3(x)。
绘出其判别界面和多类情况2的区域。
3. 设d1(x), d2(x)和d3(x)是在多类情况3的条件下确定的,绘出其判别界面和每类的区域。
答案:123作业三:两类模式,每类包括5个3维不同的模式,且良好分布。
如果它们是线性可分的,问权向量至少需要几个系数分量?假如要建立二次的多项式判别函数,又至少需要几个系数分量?(设模式的良好分布不因模式变化而改变。
)答案:如果它们是线性可分的,则至少需要4个系数分量;如果要建立二次的多项式判别函数,则至少需要个系数分量。
作业四:用感知器算法求下列模式分类的解向量w:ω1: {(0 0 0)T, (1 0 0)T, (1 0 1)T, (1 1 0)T}ω2: {(0 0 1)T, (0 1 1)T, (0 1 0)T, (1 1 1)T}答案:将属于ω2的训练样本乘以(-1),并写成增广向量的形式。
x①=(0 0 0 1)T,x②=(1 0 0 1)T,x③=(1 0 1 1)T,x④=(1 1 0 1)Tx⑤=(0 0 -1 -1)T,x⑥=(0 -1 -1 -1)T,x⑦=(0 -1 0 -1)T,x⑧=(-1 -1 -1 -1)T第一轮迭代:取C=1,w(1)=(0 0 0 0)T因wT(1)x① =(0 0 0 0)(0 0 0 1)T=0≯0,故w(2)=w(1)+x①=(0 0 0 1)因wT(2)x②=(0 0 0 1)(1 0 0 1)T =1>0,故w(3)=w(2)=(0 0 0 1)T因wT(3)x③=(0 0 0 1)(1 0 1 1)T=1>0,故w(4)=w(3)=(0 0 0 1)T因wT(4)x④=(0 0 0 1)(1 1 0 1)T=1>0,故w(5)=w(4)=(0 0 0 1)T因wT(5)x⑤=(0 0 0 1)(0 0 -1 -1)T=-1≯0,故w(6)=w(5)+x⑤=(0 0 -1 0)T因wT(6)x⑥=(0 0 -1 0)(0 -1 -1 -1)T=1>0,故w(7)=w(6)=(0 0 -1 0)T因wT(7)x⑦=(0 0 -1 0)(0 -1 0 -1)T=0≯0,故w(8)=w(7)+x⑦=(0 -1 -1 -1)T因wT(8)x⑧=(0 -1 -1 -1)(-1 -1 -1 -1)T=3>0,故w(9)=w(8)=(0 -1 -1 -1)T因为只有对全部模式都能正确判别的权向量才是正确的解,因此需进行第二轮迭代。
第一章 绪论1.什么是模式?具体事物所具有的信息。
模式所指的不是事物本身,而是我们从事物中获得的___信息__。
2.模式识别的定义?让计算机来判断事物。
3.模式识别系统主要由哪些部分组成?数据获取—预处理—特征提取与选择—分类器设计/ 分类决策。
第二章 贝叶斯决策理论1.最小错误率贝叶斯决策过程? 答:已知先验概率,类条件概率。
利用贝叶斯公式 得到后验概率。
根据后验概率大小进行决策分析。
2.最小错误率贝叶斯分类器设计过程?答:根据训练数据求出先验概率类条件概率分布 利用贝叶斯公式得到后验概率 如果输入待测样本X ,计算X 的后验概率根据后验概率大小进行分类决策分析。
3.最小错误率贝叶斯决策规则有哪几种常用的表示形式?答:4.贝叶斯决策为什么称为最小错误率贝叶斯决策?答:最小错误率Bayes 决策使得每个观测值下的条件错误率最小因而保证了(平均)错误率 最小。
Bayes 决策是最优决策:即,能使决策错误率最小。
5.贝叶斯决策是由先验概率和(类条件概率)概率,推导(后验概率)概率,然后利用这个概率进行决策。
6.利用乘法法则和全概率公式证明贝叶斯公式答:∑====m j Aj p Aj B p B p A p A B p B p B A p AB p 1)()|()()()|()()|()(所以推出贝叶斯公式7.朴素贝叶斯方法的条件独立假设是(P(x| ωi) =P(x1, x2, …, xn | ωi)⎩⎨⎧∈>=<211221_,)(/)(_)|()|()(w w x w p w p w x p w x p x l 则如果∑==21)()|()()|()|(j j j i i i w P w x P w P w x P x w P 2,1),(=i w P i 2,1),|(=i w x p i ∑==21)()|()()|()|(j j j i i i w P w x P w P w x P x w P ∑===M j j j i i i i i A P A B P A P A B P B P A P A B P B A P 1)()|()()|()()()|()|(= P(x1| ωi) P(x2| ωi)… P(xn| ωi))8.怎样利用朴素贝叶斯方法获得各个属性的类条件概率分布?答:假设各属性独立,P(x| ωi) =P(x1, x2, …, xn | ωi) = P(x1| ωi) P(x2| ωi)… P(xn| ωi)后验概率:P(ωi|x) = P(ωi) P(x1| ωi) P(x2| ωi)… P(xn| ωi)类别清晰的直接分类算,如果是数据连续的,假设属性服从正态分布,算出每个类的均值方差,最后得到类条件概率分布。
模式识别大作业一.K均值聚类(必做,40分)1.K均值聚类的基本思想以及K均值聚类过程的流程图;2.利用K均值聚类对Iris数据进行分类,已知类别总数为3。
给出具体的C语言代码,并加注释。
例如,对于每一个子函数,标注其主要作用,及其所用参数的意义,对程序中定义的一些主要变量,标注其意义;3.给出函数调用关系图,并分析算法的时间复杂度;4.给出程序运行结果,包括分类结果(只要给出相对应的数据的编号即可)以及循环迭代的次数;5.分析K均值聚类的优缺点。
二.贝叶斯分类(必做,40分)1.什么是贝叶斯分类器,其分类的基本思想是什么;2.两类情况下,贝叶斯分类器的判别函数是什么,如何计算得到其判别函数;3.在Matlab下,利用mvnrnd()函数随机生成60个二维样本,分别属于两个类别(一类30个样本点),将这些样本描绘在二维坐标系下,注意特征值取值控制在(-5,5)范围以内;4.用样本的第一个特征作为分类依据将这60个样本进行分类,统计正确分类的百分比,并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志(正确分类的样本点用“O”,错误分类的样本点用“X”)画出来;5.用样本的第二个特征作为分类依据将这60个样本再进行分类,统计正确分类的百分比,并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志画出来;6.用样本的两个特征作为分类依据将这60个样本进行分类,统计正确分类的百分比,并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志画出来;7.分析上述实验的结果。
8.60个随即样本是如何产生的的;给出上述三种情况下的两类均值、方差、协方差矩阵以及判别函数;三.特征选择(选作,15分)1.经过K均值聚类后,Iris数据被分作3类。
从这三类中各选择10个样本点;2.通过特征选择将选出的30个样本点从4维降低为3维,并将它们在三维的坐标系中画出(用Excell);3.在三维的特征空间下,利用这30个样本点设计贝叶斯分类器,然后对这30个样本点利用贝叶斯分类器进行判别分类,给出分类的正确率,分析实验结果,并说明特征选择的依据;。
2.6给出K-均值算法的程序框图,编写程序,自选一组分别属于三类的三维模式样本,并对它们进行聚类分析。
MATLAB程序代码clear all;clc;data=input('请输入样本数据矩阵:');X=data(:,1);Y=data(:,2);figure(1);plot(X,Y,'r*','LineWidth',3);axis([0908])xlabel('x');ylabel('y');hold on;grid on;m=size(data,1);n=size(data,2);counter=0;k=input('请输入聚类数目:');if k>mdisp('输入的聚类数目过大,请输入正确的k值');k=input('请输入聚类数目:');endM=cell(1,m);for i=1:kM{1,i}=zeros(1,n);endMold=cell(1,m);for i=1:kMold{1,i}=zeros(1,n);end%随机选取k个样本作为初始聚类中心%第一次聚类,使用初始聚类中心p=randperm(m);%产生m个不同的随机数for i=1:kM{1,i}=data(p(i),:);while truecounter=counter+1;disp('第');disp(counter);disp('次迭代');count=zeros(1,k);%初始化聚类CC=cell(1,k);for i=1:kC{1,i}=zeros(m,n);end%聚类for i=1:mgap=zeros(1,k);for d=1:kfor j=1:ngap(d)=gap(d)+(M{1,d}(j)-data(i,j))^2;endend[y,l]=min(sqrt(gap));count(l)=count(l)+1;C{1,l}(count(l),:)=data(i,:);endMold=M;disp('聚类中心为:');for i=1:kdisp(M{1,i});enddisp('聚类结果为:');for i=1:kdisp(C{1,i});sumvar=0;for i=1:kE=0;disp('单个误差平方和为:');for j=1:count(i)for h=1:nE=E+(M{1,i}(h)-C{1,i}(j,h))^2;endenddisp(E);sumvar=sumvar+E;enddisp('总体误差平方和为:');disp(sumvar);%计算新的聚类中心,更新M,并保存旧的聚类中心for i=1:kM{1,i}=sum(C{1,i})/count(i);end%检查前后两次聚类中心是否变化,若变化则继续迭代;否则算法停止;tally=0;for i=1:kif abs(Mold{1,i}-M{1,i})<1e-5*ones(1,n)tally=tally+1;continue;elsebreak;endendif tally==kbreak;endEnd3.11给出感知器算法程序框图,编写算法程序.MATLAB程序代码clear all;clc;disp('感知器算法求解两类训练样本的判别函数'); Data1=input('请输入第一类样本数据:');Data2=input('请输入第二类样本数据:');W=input('请输入权向量初始值W(1)='); Expand=cat(1,Data1,Data2); ExpandData1=cat(2,Data1,ones(4,1)); ExpandData2=cat(2,Data2.*-1,ones(4,1).*-1); ExpandData=cat(1,ExpandData1,ExpandData2); X=Expand(:,1);Y=Expand(:,2);Z=Expand(:,3);[ro,co]=size(ExpandData);Step=0;CountError=1;while CountError>0;CountError=0;for i=1:roTemp=W*ExpandData(i,:)';if Temp<=0W=W+ExpandData(i,:);disp(W)CounterError=CountError+1;endendStep=Step+1;enddisp(W)figure(1)plot3(X,Y,Z,'ks','LineWidth',2);grid on;hold on;xlabel('x');ylabel('y');zlabel('z');f=@(x,y,z)W(1)*x+W(2)*y+W(3)*z+W(4); [x,y,z]=meshgrid(-1:.2:1,-1:.2:1,0:.2:1);v=f(x,y,z);h=patch(isosurface(x,y,z,v));isonormals(x,y,z,v,h)set(h,'FaceColor','r','EdgeColor','none');。
模式识别专业:电子信息工程班级:电信****班学号:********** 姓名:艾依河里的鱼一、贝叶斯决策(一)贝叶斯决策理论 1.最小错误率贝叶斯决策器在模式识别领域,贝叶斯决策通常利用一些决策规则来判定样本的类别。
最常见的决策规则有最大后验概率决策和最小风险决策等。
设共有K 个类别,各类别用符号k c ()K k ,,2,1 =代表。
假设k c 类出现的先验概率()k P c以及类条件概率密度()|k P c x 是已知的,那么应该把x 划分到哪一类才合适呢?若采用最大后验概率决策规则,首先计算x 属于k c 类的后验概率()()()()()()()()1||||k k k k k Kk k k P c P c P c P c P c P P c P c ===∑x x x x x然后将x 判决为属于kc ~类,其中()1arg max |kk Kk P c ≤≤=x若采用最小风险决策,则首先计算将x 判决为k c 类所带来的风险(),k R c x ,再将x 判决为属于kc ~类,其中()min ,kkk R c =x可以证明在采用0-1损失函数的前提下,两种决策规则是等价的。
贝叶斯决策器在先验概率()k P c 以及类条件概率密度()|k P c x 已知的前提下,利用上述贝叶斯决策规则确定分类面。
贝叶斯决策器得到的分类面是最优的,它是最优分类器。
但贝叶斯决策器在确定分类面前需要预知()k P c 与()|k P c x ,这在实际运用中往往不可能,因为()|k P c x 一般是未知的。
因此贝叶斯决策器只是一个理论上的分类器,常用作衡量其它分类器性能的标尺。
最小风险贝叶斯决策可按下列步骤进行: (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 j i i 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)神经网络模式识别识别加入20%噪声的A-Z 26个字母。
程序代码clear;close all;clc;[alphabet,targets]=prprob;[R,Q]=size(alphabet);[S2,Q]=size(targets);S1=10;P=alphabet;net=newff(minmax(P),[S1,S2],{'logsig' 'logsig'},'traingdx'); net.LW{2,1}=net.LW{2,1}*0.01;net.b{2}=net.b{2}*0.01;T=targets;net.performFcn='sse';net.trainParam.goal=0.1;net.trainParam.show=20;net.trainParam.epochs=5000;net.trainParam.mc=0.95;[net,tr]=train(net,P,T);netn=net;netn.trainParam.goal=0.6;netn.trainParam.epochs=300;T=[targets targets targets targets];for pass=1:10;P=[alphabet,alphabet,...(alphabet+randn(R,Q)*0.1),...(alphabet+randn(R,Q)*0.2)];[netn,tr]=train(netn,P,T);endnetn.trainParam.goal=0.1;netn.trainParam.epochs=500;netn.trainParam.show=5;P=alphabet;T=targets;[netn,tr]=train(netn,P,T);noise_percent=0.2;for k=1:26noisyChar=alphabet(:,k)+randn(35,1)*noise_percent;subplot(6,9,k+floor(k/9.5)*9);plotchar(noisyChar);de_noisyChar=sim(net,noisyChar);de_noisyChar=compet(de_noisyChar);answer=find(de_noisyChar==1);subplot(6,9,k+floor(k/9.5)*9+9);plotchar(alphabet(:,answer));endset(gcf,'Position',[10,60,900,700], 'color','w')运行结果(2)实现最小错误率和最小风险bayes决策w1=input('input the priorp of a1\n');w2=input('input the priorp of a2\n');p1=input('input the similarp of w1\n');p2=input('input the similarp of w2\n');s=input('input the table\n');posteriorp1=w1*p1; %约去总体概率密度的w1的后验概率posteriorp2=w2*p2; %。
模式识别试题二答案问答第1题答:在模式识别学科中,就“模式”与“模式类”而言,模式类是一类事物的代表,概念或典型,而“模式”则是某一事物的具体体现,如“老头”是模式类,而王先生则是“模式”,是“老头”的具体化。
问答第2题答:Mahalanobis距离的平方定义为:其中x,u为两个数据,是一个正定对称矩阵(一般为协方差矩阵)。
根据定义,距某一点的Mahalanobis距离相等点的轨迹是超椭球,如果是单位矩阵Σ,则Mahalanobis距离就是通常的欧氏距离。
问答第3题答:监督学习方法用来对数据实现分类,分类规则通过训练获得。
该训练集由带分类号的数据集组成,因此监督学习方法的训练过程是离线的。
非监督学习方法不需要单独的离线训练过程,也没有带分类号(标号)的训练数据集,一般用来对数据集进行分析,如聚类,确定其分布的主分量等。
就道路图像的分割而言,监督学习方法则先在训练用图像中获取道路象素与非道路象素集,进行分类器设计,然后用所设计的分类器对道路图像进行分割。
使用非监督学习方法,则依据道路路面象素与非道路象素之间的聚类分析进行聚类运算,以实现道路图像的分割。
问答第4题答:动态聚类是指对当前聚类通过迭代运算改善聚类;分级聚类则是将样本个体,按相似度标准合并,随着相似度要求的降低实现合并。
问答第5题答:在给定观察序列条件下分析它由某个状态序列S产生的概率似后验概率,写成P(S|O),而通过O求对状态序列的最大似然估计,与贝叶斯决策的最小错误率决策相当。
问答第6题答:协方差矩阵为,则1)对角元素是各分量的方差,非对角元素是各分量之间的协方差。
2)主分量,通过求协方差矩阵的特征值,用得,则,相应的特征向量为:,对应特征向量为,对应。
这两个特征向量即为主分量。
3)K-L变换的最佳准则为:对一组数据进行按一组正交基分解,在只取相同数量分量的条件下,以均方误差计算截尾误差最小。
4)在经主分量分解后,协方差矩阵成为对角矩阵,因而各主分量间相关消除。
第三章作业已知两类训练样本为1:(0 0 0 )',(1 0 0)' ,(1 0 1)',(1 1 0)'ω2:(0 0 1)',(0 1 1)' ,(0 1 0)',(1 1 1)'ω设0)'(-1,-2,-2,)1(=W,用感知器算法求解判别函数,并绘出判别界面。
$解:matlab程序如下:clear%感知器算法求解判别函数x1=[0 0 0]';x2=[1 0 0]';x3=[1 0 1]';x4=[1 1 0]';x5=[0 0 1]';x6=[0 1 1]';x7=[0 1 0]';x8=[1 1 1]';%构成增广向量形式,并进行规范化处理[x=[0 1 1 1 0 0 0 -1;0 0 0 1 0 -1 -1 -1;0 0 1 0 -1 -1 0 -1;1 1 1 1 -1 -1 -1 -1];plot3(x1(1),x1(2),x1(3),'ro',x2(1),x2(2),x2(3),'ro',x3(1),x3(2),x3(3),'ro',x4(1),x4(2),x4(3),'ro');hold on; plot3(x5(1),x5(2),x5(3),'rx',x6(1),x6(2),x6(3),'rx',x7(1),x7(2),x7(3),'rx',x8(1),x8(2),x8(3),'rx');grid on; w=[-1,-2,-2,0]';c=1;N=2000;for k=1:N|t=[];for i=1:8d=w'*x(:,i);if d>0w=w;、t=[t 1];elsew=w+c*x(:,i);t=[t -1];end-endif i==8&t==ones(1,8)w=wsyms x yz=-w(1)/w(3)*x-w(2)/w(3)*y-1/w(3);《ezmesh(x,y,z,[ 1 2]);axis([,,,,,]);title('感知器算法')break;else{endend运行结果:w =3]-2-31判别界面如下图所示:!若有样本123[,,]'x x x x =;其增广]1,,,[321x x x X =;则判别函数可写成: 1323')(321+*-*-*=*=x x x X w X d若0)(>X d ,则1ω∈x ,否则2ω∈x已知三类问题的训练样本为123:(-1 -1)', (0 0)' , :(1 1)'ωωω<试用多类感知器算法求解判别函数。