XY的模式识别学习笔记-最小平方误差准则分类 MSE

大三数学狗,记录一下学习过程。

最小平方误差准则分类 定义

对线性不可分的样本集,不等式组 a T y i > 0 , i = 1 , . . . N a^{T}y_{i}>0,i=1,...N aTyi>0,i=1,...N不可能同时满足,希望找到一个权向量 a ∗ a^{*} a,使得错分样本尽可能少。可以通过解线形不等式组以最小化错分样本数,通常用探索算法求解。
将不等式组转化为
a T y i = b i > 0 , i = 1 , . . . N , a^{T}y_{i}=b_{i}>0,i=1,...N\text{,} aTyi=bi>0,i=1,...N,
矩阵形式为 Y a = b Ya = b Ya=b,其中,
搞不懂CSDN的版本,这个公式显示不出来,只能直接上图片
其中, d ^ \hat{d} d^是增广的样本向量的维数, d ^ = d + 1 \hat{d} =d+1 d^=d+1
Y Y Y是非奇异的,则
a ∗ = Y − 1 b . a^{*}=Y^{-1}b\text{.} a=Y1b.
由于 Y Y Y不是方阵,通常样本数大于维数,方程没有精确解。定义方程组的误差为
e = Y a − b , e=Ya-b\text{,} e=Yab,
最优权向量 a ∗ a^{*} a应该使得误差向量的平方最小,即求解方程组的最小平方误差解:
a ∗ = a r g m i n a J s ( a ) = ∥ Y a − b ∥ 2 = ∑ i = 1 n ( a T y i − b i ) 2 . a^{*}=\underset{a}{argmin} J_{s}(a)=\left \| Ya-b \right \|^{2}=\sum_{i=1}^{n} (a^{T}y_{i}-b{i})^{2}\text{.} a=aargminJs(a)=Yab2=i=1n(aTyibi)2.
J s ( α ) J_{s}(\alpha) Js(α)在极值处,对 a a a的梯度应为0,则
又抽风了,没办法,上图片

Y + = ( Y T Y ) − 1 Y T Y^{+}=(Y^{T}Y)^{-1}Y^{T} Y+=(YTY)1YT是长方矩阵[Y]的伪逆。
实际中常用梯度下降法来求极小值,先任意选择初始的权向量 α ( 0 ) \alpha(0) α(0),置 t = 0 t = 0 t=0
再按照梯度下降的方向迭代更新权向量
α ( t + 1 ) = α ( t ) − ρ t Y T ( Y α − b ) , \alpha(t+1)=\alpha(t)-\rho_{t}Y^{T}(Y\alpha-b)\text{,} α(t+1)=α(t)ρtYT(Yαb),
直到满足 ▽ J s ( α ) ≤ ξ \bigtriangledown J_{s}(\alpha)\le \xi Js(α)ξ或者 ∥ α ( t + 1 ) − α ( t ) ∥ ≤ ξ \left \| \alpha(t+1)-\alpha(t) \right \| \le \xi α(t+1)α(t)ξ时为止。 ξ \xi ξ是事先确定的误差灵敏度。
还有一种是单样本修正法( W i d r o w − H o f f Widrow-Hoff WidrowHoff算法)来调整权向量,
α ( t + 1 ) = α ( t ) + ρ t ( b k − α ( t ) T y k ) y k , \alpha(t+1)=\alpha(t)+\rho_{t}(b_{k}-\alpha(t)^{T}y_{k})y_{k}\text{,} α(t+1)=α(t)+ρt(bkα(t)Tyk)yk,
y k y_{k} yk是使得 α ( t ) T y k ≠ b k \alpha(t)^{T}y_{k} \ne b_{k} α(t)Tyk=bk的样本。
补充:批量样本修正法中,样本是分批或全部检查后,修正权向量;
单样本修正法将样本集视为不断重复出现的序列,逐个样本检查,修正权向量。

简单例题及Matlab代码实现

产生两个具有200个二维的数据集,均值分别为(2,1), (-2,1), 协方差矩阵均为(2,1;1,2)。利用最小平方误差判别方法设计线性分类器,若使用迭代方法,使用2个不同的初始化向量,比较结果。
Matlab代码如下:

mu1=[2,1];mu2=[-2,1];
sigma1=[2,1;1,2];sigma2=[2,1;1,2];
f1=mvnrnd(mu1,sigma1,200);f2=mvnrnd(mu2,sigma2,200);
figure(1);
plot(f1(:,1),f1(:,2),'*',f2(:,1),f2(:,2),'o');
hold on;
%绘图
Y=[f1,ones(200,1);f2,ones(200,1)]';%扩维
b1=ones(200,1);%w1类期望输出1
b2=-ones(200,1);%w2类期望输出-1,对第二类样本取反向向量
b=[b1;b2];
a=inv(Y*Y')*Y*b;%权向量估计值
Y=linspace(-5,5,200);%选点%取点作图
y=(-a(1)/a(2))*Y-a(3)/a(2);%x*a1+y*a2+a3=0
plot(Y,y,'r');

图1 Matlab分类图像由于使用了随机的函数,所以做出的图应该会和我给出的不同。并且有时候可能出现无法求逆的情况。
我只写了 M S E MSE MSE方法, Y T Y Y^{T}Y YTY是个方阵,一般非奇异。当矩阵无法求逆时,就需要使用迭代求解方式,即上述提出的批量样本修正法和单样本修正法( W i d r o w − H o f f Widrow-Hoff WidrowHoff算法)。
过了很久,学了 L a T e X LaTeX LaTeX,但是迭代代码完全忘记了,有缘再说吧(咕咕)

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值