最小二乘法线性分类器设计Word格式.docx
《最小二乘法线性分类器设计Word格式.docx》由会员分享,可在线阅读,更多相关《最小二乘法线性分类器设计Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
fn
是误差平方和丫斥的算术平方根,即误差向量r的2—范数:
前两种方法简单.自然,但
不便于微分运算,后一种方法相当于考虑2—范数的平方,因此在曲线拟合中常采用误差m
平方和工尸来度呈误差町(迂°
,1,…,门的整体大小。
1-0
数据拟合的具体作法是:
对给迫数据(兀,牙)(i二0,1,…,m),在取定的函数类①中,求p(x)e①,使误差斥=p(xi)-yi(i=0,1,…,m)的平方和最小,即
innt2
工/=》[/心)一山=min
r-0
从几何意义上讲,就是寻求与给世点(兀,):
)G二0,1,…,m)的距离平方和为最小的曲线y=p(x)(图1)。
函数“(Q称为拟合函数或最小二乘解,求拟合函数“(X)的方法称为曲
线拟合的最小二乘法。
在曲线拟合中,函数类①可有不同的选取方法。
2方法描述
2.1通用最小二乘法的算法
设z是一个N*q矩阵(可能有复数部分),令Y是尺"
(或c”)空间的一个矢量。
线性代
数就是要研究方程ZV=Y,详细的写出就是:
‘6
■
…Z,
••
♦•
•
(\
/、
>
1
…Jq)
比丿
如果N〉q,那么方程ZV=Y对于VeCq通常没有唯一解.因为方程的个数(N)比未知数的个数(岭,…,冷)多。
如果没有唯一解,那么最小二乘法问题就变为寻求次优解,找一个矢从而ZV尽可能的逼近于Y。
在为一组数据点(兀i=l,•…N寻求最佳拟合线的问题中,矩阵Z为:
矢量Y和V是:
:
V=
Xv>
此时,矩阵积ZV为:
mx}+b
这里的X和U是(0.7)中给出的矢量。
这样,寻求矢MV=(m,b)使得ZV最逼近于Y,等效于寻求数据(舛,兀),i=l,…,N的最佳拟合线的斜率和截距。
最小二乘法的通用算法在下而的定理中给出:
立理0.35设Z是一个N*q矩阵(可能有复数部分),有最大秩且N>
q.令Y是尺"
或c”空间的一个矢量,则有一个唯一的矢使得ZV最逼近于Y。
并且矢量V是下列矩阵方程的唯一解:
Z*Y=Z*ZV
如果Z是一个是矩阵,那么前而的方程变为:
Z,Y=Z1ZV
注意,在最佳拟合线问题中的矩阵z与方程ZrY=Z,ZV中的Z是一样的。
证明这个泄理的证明与构造最佳拟合线时给出的证明相似。
令勺,…,右是矩阵Z的列矢量,那么+•••+£
£
生成的子空间MuC"
内的点。
我们希望找到最接近于Y的点ZVo如图0.11所示,Y-ZV必圧正交于M,或者等同于,Y-ZV必立与生成的M的4,…,正交。
即:
0-ZUZ〉=Ol<
i<
^
图2Y-ZV必须与M=span{Zjzq}正交
这个方程可简写为:
Z*(Y-ZV)=0
因为这个(矢疑)方程的第i个部分是Y-ZV和乙的内积。
重新整理方程得
证毕
矩阵Z*Z的维数是q*q,得出该矩阵式满秩的(用Z有最大秩序这个事实)。
因此,方
程Z*Y=Z*ZV:
有唯一解VeClo
3最小二乘法matlab实现
基于分类判别的思想,我们期望W1类的输出为yl=-1.W2的输出为y2=1。
但实际的输岀和期望并不总是相等的。
运用最小二乘法(LeastSquaresMethods),可以让期望输出和真实的输出之间的均方误差最小化,即:
J(w)=E[\y-xr^w\2]
ir=argmin/(w1)
w
要使得J(W)最小,需要满足正交条件(orthogonalitycondition):
dJ(w)
dw
=2E[x^(y-x,*vv)]=0
可以得到:
w=R;
'
*E[xy]
金就是求得的加权向量。
其中:
Elx^x{]
Ra=E[x^xt]=
恥严易]
称为自相关矩阵;
2
E[xy]=E:
称为期望输岀和输入特征向量的互相关。
通过最小均方误差算法实现线性分类的程序流程如图3所示:
图3最小均方误差算法程序流程图
如果数据是非常准确的,那么提高拟合次数,可以拟合的曲线更准确。
但是如果数据本身有很大的误差,则多项式的次数提高,曲线将变的不够光滑,预测值将出现较大的偏差。
n的选择随已知数据点的分布规律而定。
MATLAB调用的函数格式如下:
线性最小二乘曲线拟合
1多项式拟合
(1)pn=polyfit(x,y,n),yO=polyval(pn,xO),polt(x,y,xO,yO)
(2)pn=polytool(x,y.n)
2多元线性拟合
(1)利用回归矩阵建立拟合函数,c=A\y
(2)c=regress(y,A)
非线性最小二乘曲线拟合
1c=nliiifit(x,y,'
cfiin\cO)
如:
非线性拟合函数/(x:
c)=c,+0+sin(c3x),
functiony=cfun(c,x)
y=c
(1)+exp(c
(2)*x)+sin(c(3)*x);
x=(o:
o.i:
i.oy;
y=[1.02.53.02.01.50.90.0-1.0-2.0-1.5-0.8]'
c0=[l11];
c=nlinfit(x,y/cfun\cO)
2nliiitool(x,y/cfiin\cO)
非线性最小二乘问题
[x,rs4d]=lsqnonlm(/fiin\xOjxAix)
3.1实际用的最小二乘法Matlab应用1
holdon;
%保持当前的轴和罔像不彼刷新,在该图上接着绘制下图
务初始化函数
yl=-ones(45,1);
%wl类的期望输出为-1
y2=ones(55,1);
%w2类的期望输出为1
xl(:
z3)=1;
务考虑到不经过原点的超平面,对X进行•扩维
x2(:
%使1],X为2维的,故加1扩为3维
>:
=[>:
l;
x2]f;
%使x矩阵化
y=[yl;
y2];
%使y矩阵化
display(x)%炬阵
display(y)%•显示y矩阵
R=x*x-;
毛求出fl相关矩阵
E=x*y;
§
求出期望输出和输入特征向屋的互相关
w=inv(R)*E%求权向虽估计值
x=linspace(0,10z5000);
%取5000个x的点作图
y=(-w
(1)/w
(2))*x-w(3)/w
(2);
%:
-:
*wl+y*7;
24-w0=0zw=[wl;
w2;
wO]
plot(xzyzfrf);
%用红线画出分界而
title('
最小二乘法'
);
axis([lz12z0z8]);
*设定当前图中,m轴范圉为1-12,沟y轴范圉为0-8disp(w);
%显示权向量
end
所得结果如图4所示:
fileEditYwwTctxEMBreApdrteWebVMndwHeb
图4最小二乘法分类图
3.2实际用的最小二乘法Matlab应用2
现在我们再举一列说明其最小二乘法拟合的运用:
例如:
对某日隔两小时测
一次气温。
设时间为气温为C「i=024,・・・,24。
数据如下:
4
6
8
10
12
14
16
18
20
22
24
ci
15
23
28
27
26
25
表1温度(q)随时间(/.)变化关系
分析:
用精确的解析式子描述一天的气温变化规律是不可能的也是没有必要的,但根据所测得的数据,可以用拟合数据方法求出近似的解析式子。
根据一天内气温的变化趋势,我们可以看出用三次多项式拟合比较合理。
其图形如下:
x=[024681012141618202224];
y=[15141416202326272625221816];
plot(x,y;
o,);
p二polyfit(x,y,3)
gridonx1=0:
0.01:
24;
holdonyl=polyval(p,xl);
titleCiS度变化'
)
图5温度变化图
图5的图形可以大致反映该天的天气变化,如果想知道某一时刻的大致温度,我们可以从图中佔计出来,当然也可以利用我们所做数据拟合的曲线方程求出大致的温度。
4结果分析
最小二乘法分类方法分类错误的数据个数为3个,且错误较明显;
最小二乘方法是应实际需要而产生和发展起来的有广泛适用性的多元统讣分析方法。
相关回归分析、方差分析和线性模型理论等数理统计学的儿大分支都以最小二乘法为理论基础1。
最小二乘法分类方法在处理较大的训练样本时,计算量较大,导致误差偏大。
由于该方法是基于最小平方误差来进行分类的,所以不能保证最小样本错误分类数,即不保证一定能将样本完全正确分开。
作为其进一步发展或纠正其不足而采取的对策,不少近现代的数理统计学分支也是在最小二乘法基础上衍生出来的。