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,但是迭代代码完全忘记了,有缘再说吧(咕咕)

参考资源链接:[机器学习:线性回归模型详解与代码演示](https://wenku.csdn.net/doc/1gmf6g9z4d?utm_source=wenku_answer2doc_content) 实现线性回归模型的特征系数优化,主要依赖于梯度下降法,这是一个迭代过程,用以最小化损失函数。在机器学习中,线性回归是一种常见的有监督学习方法,它通过拟合一个线性模型来预测连续的输出变量。首先,我们定义损失函数,常用的损失函数是平方误差损失函数,它度量了模型预测值和实际值之间的差异。对于线性回归模型hθ(X) = θ₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ,损失函数可以表示为J(θ) = (1/2m) * Σ(yi - hθ(Xi))^2,其中m是训练样本数量,yi是实际值,hθ(Xi)是模型预测值。 在梯度下降法中,我们首先随机初始化特征系数θ(θ₀, θ₁, ..., θₙ)。接下来,根据损失函数对每个特征系数θ的成本导数(即梯度),更新特征系数。更新规则为θ := θ - α * ∇J(θ),其中α是学习率,∇J(θ)是损失函数关于特征系数的梯度向量。梯度向量表示了损失函数随着特征系数变化的方向和速度,而学习率α控制了更新的步伐大小。如果学习率过大,可能会导致特征系数调整过快,越过最小值点;如果学习率过小,则会使得迭代次数过多,收敛速度过慢。 在每次迭代中,我们重复这个过程,逐步减小损失函数J(θ)的值,直到它收敛到一个最小值。在实际应用中,我们还需要定义一个停止准则,如达到预定的迭代次数,或者损失函数的变化量小于某一阈值,来判断何时停止迭代。 对于线性回归模型,梯度下降算法的实现可以通过编程语言轻松完成,如Python。为了更深入理解这一过程,可以参考《机器学习:线性回归模型详解与代码演示》。这份资料详细介绍了线性回归模型的理论基础,并提供了一些实际的代码示例,帮助学习者更好地理解和掌握梯度下降法以及线性回归模型的特征系数优化过程。 参考资源链接:[机器学习:线性回归模型详解与代码演示](https://wenku.csdn.net/doc/1gmf6g9z4d?utm_source=wenku_answer2doc_content)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值