模式识别作业

发布 2021-03-07 06:34:28 阅读 6308

**题目:lsme分类算法原理及实现步骤。

学院: 通信学院

专业: 自动化

学号: 52110822

姓名: 郑智鹏。

lsme算法的基本原理。

lmse算法是对准则函数引进最小均方误差这一条件而建立起来的,这种算法的主要特点是在训练过程中判定训练集是否线性可分,从而对结果的收敛性做出判断。此方法也称为ho-kashyap算法(h-k算法)。

lmse算法把对满足式的求解改为对满足的求解,式中是各分量均为正值的矢量,故这两个公式是互相等价的。

lmse算法的出发点就是选择一个准则函数,使其达到极小值时,可以得到最小二乘近似解。依据这样的思路,可将准则函数定义为。

可以看出,有唯一的极小值0,发生在时。准则函数的值等于与误差的平方之和,此时,我们的目标是使这个误差的平方和最小,因此称这一准则导出的算法为最小均方误差算法。

lsme算法的实现步骤。

首先我们把求解线性不等式组的问题等价转换为求解线性方程组的问题,其中,。一般情况下,为一个阶的长方阵,所以无解,只能求取一个近似解。

定义一个误差矢量,建立一个优化的准则函数:

我们所有求的近似解应满足,即误差矢量的模最小。且是的即为所求的解向量。先来求对的梯度:

令:,则:即:。

其中为一个的方阵,当非奇异时(当比较大时,很容易成立),存在,则:

记:,称为的伪逆矩阵。。可以通过计算得到,现在如果我们知道,则可求得。但也是一个为止变量。下面来求:

如果直接求解,则是的函数,所以不可能直接求得和,还是需要一个迭代算法来求解。下面还是使用梯度下降法来迭代求解:

一般来说,我们选择,由于我们的寻优结果需要满足条件:,而有可能大于0也可能小于0,所以上述梯度下降法的迭代规则应修改为:

完整算法。lsme算法是求解xw=b,式中b=( b1, b2, …bn)t,b的所有分量都是正值。这里要同时计算w和b,我们已知x不是n*n的方阵,通常是行多于列的n*(n+1)阶的长方阵,属于超定方程,因此一般情况下,xw=b没有唯一确定解,但可求其线性最小二乘解。

设xw=b的线性最小二乘解为w*,即使||xw*-b||=极小。

采用梯度法,定义准则函数:

当xw=b的条件满足时,j达到最小值。由于上式中包括的项为两个数量方差的和,且我们将使其最小化,因此也称之为最小均方误差算法。

使函数j同时对变量w和b求最小。对于w的梯度为:

使,得xt(xw-b)=0,从而xtxw=xtb。因为xtx为(n+1)*(n+1)阶方阵,因此可求得解:

w = xtx)-1xtb = x#b

这里x#= (xtx)-1xt称为x的伪逆,x是n*(n+1)阶的长方阵。

由上式可知,只要求出b即可求得w。利用梯度法可求得b的迭代公式为:

根据上述约束条件,在每次迭代中,b(k)的全部分量只能是正值。由j的准则函数式,j也是正值,因此,当取校正增量c为正值时,为保证每次迭代中的b(k) 都是正值,应使为非正值。在此条件下,准则函数j的微分为:

该式满足以下条件:

若[xw(k) –b(k)] 0,则。

若[xw(k) –b(k)] 0,则。

由b的迭代式和微分,有:

b(k+1) =b(k) +b(k)

δb(k) =c[xw(k) –b(k) +xw(k) –b(k)|]

将此式代入w=x#b,有:

w(k+1) =x#b(k+1) =x#[b(k) +b(k)] w(k) +x#δb(k)

为简化起见,令e(k) =xw(k) –b(k),可得h-k算法的迭代式。

设初值为b(1),其每一分量均为正值,则:

w(1) =x#b(1)

e(k) =xw(k) –b(k)

w(k+1) =w(k) +x#

w(k) +cx#[e(k) +e(k)|]

由于。x#e(k) =x#[xw(k) –b(k)] xtx)-1xt[xw(k) –b(k)]

w(k) –x#b(k) =0

因此。w(k+1) =w(k) +cx#|e(k)|

b(k+1) =b(k) +c[xw(k) –b(k) +xw(k) –b(k)|]

b(k) +c[e(k) +e(k)|]

模式识别作业

6.题目 fisher分类和基于核的fisher分类的设计与实现研究。具体内容 1.简述fisher分类和基于核的fisher分类的算法原理 2.举出实例 3.用matlab软件编写程序实现 4.分析实验结果。fisher分类和基于核的fisher分类的设计与实现研究。1 fisher分类和基于核的...

模式识别作业

模式识别课程matlab程序作业。模式识别贝叶斯决策 正常状态细胞p 1 0.9,异常状态细胞p 2 0.1,类条件概率密度分别为p x 1 n 0,1 p x 2 n 0.2,1.5 现有一待识别细胞,其观察值为0.2,用matlab写出程序对该细胞进行分类。编写程序如下 close all cl...

模式识别作业

感知器训练算法。在设计贝叶斯分类器时需要设法获取样本统计分布的资料,应知道先验概率及类分布概率密度函数等。然而,在样本数不充足条件下要获取准确的统计分布是很困难的。这样,可以考虑另外一种分类器设计方法,即根据训练样本集提供的信息,直接进行分类器设计。下面实验是针对线性可分情况下的感知器算法。实验所用...