【LDF】线性判别函数(三)

文章讨论了线性分类中的不同准则,包括线性准则、平方准则和松弛准则,强调松弛准则在避免梯度不连续和平滑目标函数方面的优势。还介绍了最小平方误差(MSE)准则及其梯度下降法求解过程,并提出了Ho-Kashyap方法,该方法在处理线性可分样本时寻找具有正margin的解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

松弛方法
  1. 学习准则
  • 在感知函数准则中, 目标函数中采用了 −aTy-\mathbf{a}^T \mathbf{y}aTy 的形式。实际上有很多其它准则也可以用于感知函数的学习。
  • 线性准则
    Jp(a)=∑y∈Y(−aTy) J_p(\mathbf{a})=\sum_{\mathbf{y} \in Y}\left(-\mathbf{a}^T \mathbf{y}\right) Jp(a)=yY(aTy)
  • 平方准则
    Jq(a)=∑y∈Y(aTy)2 J_q(\mathbf{a})=\sum_{\mathbf{y} \in Y}\left(\mathbf{a}^T \mathbf{y}\right)^2 Jq(a)=yY(aTy)2
  • 松弛准则
    Jr(a)=12∑y∈Y(aTy−b)2∥y∥2 J_r(\mathbf{a})=\frac{1}{2} \sum_{\mathbf{y} \in Y} \frac{\left(\mathbf{a}^T \mathbf{y}-b\right)^2}{\|\mathbf{y}\|^2} Jr(a)=21yYy2(aTyb)2
  • 线性准则的目标函数是分段线性的, 因此其梯度是不连续的。
  • 平方准则的梯度是连续的, 但目标函数过于平滑, 收敛速度很慢(达到目标函数为零的区域的路径很平缓)。同时, 目标函数过于受到最长样本的影响。
  • Jr(a)J_r(\mathrm{a})Jr(a) 则避免了这些缺点。JrJ_rJr (a) 最终达到零。此时对所有的 y,aTy>b\mathbf{y}, \mathbf{a}^T \mathbf{y}>by,aTy>b, 则意味着集合 YYY 是空集。
    梯度:
    ∂Jr(a)∂a=∑y∈YaTy−b∥y∥2y \frac{\partial J_r(\mathbf{a})}{\partial \mathbf{a}}=\sum_{\mathbf{y} \in Y} \frac{\mathbf{a}^T \mathbf{y}-b}{\|\mathbf{y}\|^2} \mathbf{y} aJr(a)=yYy2aTyby
    权重更新准则:
    ak+1=ak−ηk∑y∈YaTy−b∥y∥2y \mathbf{a}_{k+1}=\mathbf{a}_k-\eta_k \sum_{\mathbf{y} \in Y} \frac{\mathbf{a}^T \mathbf{y}-b}{\|\mathbf{y}\|^2} \mathbf{y} ak+1=akηkyYy2aTyby

在这里插入图片描述

  • 每一步权重更新都要重新计算错误样本集,而且要用到错误样本集里面的所有样本
  • 单样本松弛算法更新准则
    ak+1=ak−ηkakTyk−b∥yk∥2yk=ak−ηkakTyk−b∥yk∥yk∥yk∥ \mathbf{a}_{k+1}=\mathbf{a}_k-\eta_k \frac{\mathbf{a}_k^T \mathbf{y}^k-b}{\left\|\mathbf{y}^k\right\|^2} \mathbf{y}^k=\mathbf{a}_k-\eta_k \frac{\mathbf{a}_k^T \mathbf{y}^k-b}{\left\|\mathbf{y}^k\right\|} \frac{\mathbf{y}^k}{\left\|\mathbf{y}^k\right\|} ak+1=akηkyk2akTykbyk=akηkykakTykbykyk
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 单样本松弛法的收敛性(设 a\mathbf{a}a 是一个解向量, 因此对任意 yi\mathbf{y}_iyi, 有 aTyi>b\mathbf{a}^T \mathbf{y}_i>baTyi>b
    ∥ak+1−a∥2=∥ak−a∥2−2ηb−akTyk∥yk∥2(a−ak)Tyk+η2(b−akTyk)2∥yk∥2(a−ak+1)Tyk=aTyk−ak+1Tyk>b−ak+1Tyk⇒∥ak+1−a∥2<∥ak−a∥2−η(2−η)(b−akTyk)2∥yk∥2 \begin{gathered} \left\|\mathbf{a}_{k+1}-\mathbf{a}\right\|^2=\left\|\mathbf{a}_k-\mathbf{a}\right\|^2-2 \eta \frac{b-\mathbf{a}_k^T \mathbf{y}^k}{\left\|\mathbf{y}^k\right\|^2}\left(\mathbf{a}-\mathbf{a}_k\right)^T \mathbf{y}^k+\eta^2 \frac{\left(b-\mathbf{a}_k^T \mathbf{y}^k\right)^2}{\left\|\mathbf{y}^k\right\|^2} \\ \quad\left(\mathbf{a}-\mathbf{a}_{k+1}\right)^T \mathbf{y}^k=\mathbf{a}^T \mathbf{y}^k-\mathbf{a}_{k+1}^T \mathbf{y}^k>b-\mathbf{a}_{k+1}^T \mathbf{y}^k \\ \Rightarrow \quad\left\|\mathbf{a}_{k+1}-\mathbf{a}\right\|^2<\left\|\mathbf{a}_k-\mathbf{a}\right\|^2-\eta(2-\eta) \frac{\left(b-\mathbf{a}_k^T \mathbf{y}^k\right)^2}{\left\|\mathbf{y}^k\right\|^2} \end{gathered} ak+1a2=aka22ηyk2bakTyk(aak)Tyk+η2yk2(bakTyk)2(aak+1)Tyk=aTykak+1Tyk>bak+1Tykak+1a2<aka2η(2η)yk2(bakTyk)2
    如果0<η<20<\eta<20<η<2,则∥ak+1−a∥2<∥ak−a∥2\left\|\mathbf{a}_{k+1}-\mathbf{a}\right\|^2<\left\|\mathbf{a}_k-\mathbf{a}\right\|^2ak+1a2<aka2
最小平方误差(MSE)准则函数
  • 对两类分类问题, 感知准则函数是寻找一个解向量 a,\mathbf{a ,}a,, 对所有样本 yi\mathbf{y}_iyi, 满足 aTyi>0,i=1,2,…n\mathbf{a}^T \mathbf{y}_i>0, i=1,2, \ldots naTyi>0,i=1,2,n 。或者说, 求解一个不等式组, 使满足 aTyi>0\mathbf{a}^T \mathbf{y}_i>0aTyi>0 的数目最大, 从而错分样本最少。
  • 将不等式约束改为等式
    aTyi=bi>0 \mathbf{a}^T \mathbf{y}_i=b_i>0 aTyi=bi>0
    其中, bib_ibi 是任意给定的正常数, 通常取 bi=1b_i=1bi=1, 或者 bi=b_i=bi= nj/nn_j / nnj/n 。 其中 nj,j=1n_j, j=1nj,j=1222, 为属于第 jjj 类样本的总数, 且 n1+n2=nn_1+n_2=nn1+n2=n
  • 可得一个线性方程组 Ya=b\mathbf{Y a}=\mathbf{b}Ya=b
    (y10y11⋯y1dy20y21⋯y2d⋮⋮⋮⋮⋮⋮yn0yn1⋯ynd)(a0a1⋮⋮ad)=(b1b2⋮⋮bd) \left(\begin{array}{cccc} y_{10} & y_{11} & \cdots & y_{1 d} \\ y_{20} & y_{21} & \cdots & y_{2 d} \\ \vdots & \vdots & & \vdots \\ \vdots & \vdots & & \vdots \\ y_{n 0} & y_{n 1} & \cdots & y_{n d} \end{array}\right)\left(\begin{array}{c} a_0 \\ a_1 \\ \vdots \\ \vdots \\ a_d \end{array}\right)=\left(\begin{array}{c} b_1 \\ b_2 \\ \vdots \\ \vdots \\ b_d \end{array}\right) y10y20yn0y11y21yn1y1dy2dynda0a1ad=b1b2bd
  • 如果 Y\mathbf{Y}Y 可逆, 则 a=Y−1b\mathbf{a}=\mathbf{Y}^{-1} \mathbf{b}a=Y1b
  • 但通常情形下样本数远大于特征数 n≫d+1n \gg d+1nd+1, 求不出逆矩阵;因此考虑定义一个误差向量 e=Ya−b\mathbf{e}=\mathbf{Y a}-\mathbf{b}e=Yab, 并使误差向量最小
  • 平方误差准则函数:
    Js(a)=∥e∥2=∥Ya−b∥2=∑i=1n(aTyi−bi)2 J_s(\mathbf{a})=\|\mathbf{e}\|^2=\|\mathbf{Y} \mathbf{a}-\mathbf{b}\|^2=\sum_{i=1}^n\left(\mathbf{a}^T \mathbf{y}_i-b_i\right)^2 Js(a)=e2=Yab2=i=1n(aTyibi)2
    求偏导数:
    ∂Js(a)∂a=∑i=1n2(aTyi−bi)yi=2YT(Ya−b) \frac{\partial J_s(\mathbf{a})}{\partial \mathbf{a}}=\sum_{i=1}^n 2\left(\mathbf{a}^T \mathbf{y}_i-b_i\right) \mathbf{y}_i=2 \mathbf{Y}^T(\mathbf{Y} \mathbf{a}-\mathbf{b}) aJs(a)=i=1n2(aTyibi)yi=2YT(Yab)
    令偏导数为 000
    YTYa=YTb,⇒a=(YTY)−1YTb=Y+b \mathbf{Y}^T \mathbf{Y} \mathbf{a}=\mathbf{Y}^T \mathbf{b}, \quad \Rightarrow \mathbf{a}=\left(\mathbf{Y}^T \mathbf{Y}\right)^{-1} \mathbf{Y}^T \mathbf{b}=\mathbf{Y}^{+} \mathbf{b} YTYa=YTb,a=(YTY)1YTb=Y+b
    矩阵论告诉我们 YTY\mathbf{Y}^T \mathbf{Y}YTY 一定是可逆的(我记得是在值空间零空间那边,但是我已经忘了ಥ_ಥ);Y+\mathbf{Y}^{+}Y+即为 Y\mathbf{Y}Y 的伪逆,实际计算常用(不知道为什么)
    Y+≈(YTY+εI)−1YT∣ε→0 \left.\mathbf{Y}^{+} \approx\left(\mathbf{Y}^T \mathbf{Y}+\varepsilon \mathbf{I}\right)^{-1} \mathbf{Y}^T\right|_{\varepsilon \rightarrow 0} Y+(YTY+εI)1YTε0
  • 计算伪逆需要求矩阵的逆, 计算复杂度高。如果原始样本的维数很高, 比如 d>5000d>5000d>5000, 将十分耗时
  • 采用梯度下降法: ak+1=ak+ηkYT(b−Yak)\mathbf{a}_{k+1}=\mathbf{a}_k+\eta_k \mathbf{Y}^T\left(\mathbf{b}-\mathbf{Y} \mathbf{a}_k\right)ak+1=ak+ηkYT(bYak)
  • 梯度下降法得到的 ak+1\mathbf{a}_{k+1}ak+1 将收敛于一个解, 该解满足方程: YT(b−Ya)=0\mathbf{Y}^T (\mathbf{b}-\mathbf{Y} \mathbf{a})=\mathbf{0}YT(bYa)=0
  • 也可以采用序列更新方法, 此方法需要的计算存储量会更小:
    ak+1=ak+ηk(bk−(ak)Tyk)yk \mathbf{a}_{k+1}=\mathbf{a}_k+\eta_k\left(b_k-\left(\mathbf{a}_k\right)^T \mathbf{y}^k\right) \mathbf{y}^k ak+1=ak+ηk(bk(ak)Tyk)yk
  • 序列最小平方更新方法
    在这里插入图片描述
  • Widrow-Hoff 要求更正不相等情形: (ak)Tyk≠bk\left(\mathbf{a}_k\right)^T \mathbf{y}^k \neq b_k(ak)Tyk=bk 。但是, 实际上, 满足 (ak)Tyk=bk\left(\mathrm{a}_k\right)^T \mathbf{y}^k=b_k(ak)Tyk=bk 几乎是不可能的。因此, 迭代将会无穷次进行下去。所以要求 ηk\eta_kηk 需要随着 kkk 的增加而逐渐减小, 以保证算法的收敛性。一般来讲, 实际计算中取: ηk=\eta_k=ηk= η1/k\eta_1 / kη1/k
  • 相对于感知器准则, 最小平方准则方法可能并不收敛于可分超平面, 即使该平面是存在的
    在这里插入图片描述
    如上图,MSE的解并不能实现线性可分样本集的正确分类
Ho-Kashyap方法
  • MSE算法上最小化 ∥Ya−b∥2\|\mathbf{Y} \mathbf{a}-\mathbf{b}\|^2Yab2, 所得到的最优解并不需要位于可分超平面上
  • 如果训练样本是线性可分的, 则可找到一个权向量 a\mathbf{a}a, 对所有样本, 均有 aTyi>0\mathbf{a}^T \mathbf{y}_i>0aTyi>0 。换句话说, 一定存在一个 a\mathbf{a}ab\mathbf{b}b, 使Ya=b>0\mathbf{Y a}=\mathbf{b}>\mathbf{0}Ya=b>0
  • 但是, 事先并不知道 b\mathbf{b}b 。因此, MSE准则函数可以更新为:Js(a,b)=∥Ya−b∥2J_s(\mathbf{a}, \mathbf{b})=\|\mathbf{Y} \mathbf{a}-\mathbf{b}\|^2Js(a,b)=Yab2
  • 直接优化 Js(a,b)J_s(\mathbf{a}, \mathbf{b})Js(a,b) 将导致平凡解(都取 000 直接就结束了), 所以需要给 b\mathbf{b}b 加一个 b>0\mathbf{b}>\mathbf{0}b>0 的约束条件。此时 b\mathbf{b}b 可以解释为 margin
  • 梯度
    ∂Js(a,b)∂a=2YT(Ya−b),∂Js(a,b)∂b=−2(Ya−b) \frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{a}}=2 \mathbf{Y}^T(\mathbf{Y} \mathbf{a}-\mathbf{b}), \quad \frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{b}}=-2(\mathbf{Y} \mathbf{a}-\mathbf{b}) aJs(a,b)=2YT(Yab),bJs(a,b)=2(Yab)
  • a\mathbf{a}a 而言, 总有 a=Y+b\mathbf{a}=\mathbf{Y}^{+} \mathbf{b}a=Y+b, 其中 Y+\mathbf{Y}^{+}Y+Y\mathbf{Y}Y 的伪逆(YTY)−1YT\left(\mathbf{Y}^T \mathbf{Y}\right)^{-1} \mathbf{Y}^T(YTY)1YT
  • b\mathbf{b}b, 需要同时满足约束条件 b>0\mathbf{b}>\mathbf{0}b>0 。梯度更新:
    bk+1=bk−ηk∂Js(a,b)∂b \mathbf{b}_{k+1}=\mathbf{b}_k-\eta_k \frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{b}} bk+1=bkηkbJs(a,b)
  • 由于 bk\mathbf{b}_kbk 总是大于零, 要使 bk+1\mathbf{b}_{k+1}bk+1 也大于零, 可以要求 ∂Js(a,b)/∂b\partial J_s(\mathbf{a}, \mathbf{b}) / \partial \mathbf{b}Js(a,b)/b 为负(若∂Js(a,b)/∂b\partial J_s(\mathbf{a}, \mathbf{b}) / \partial \mathbf{b}Js(a,b)/b 为正,括号里面为000;若∂Js(a,b)/∂b\partial J_s(\mathbf{a}, \mathbf{b}) / \partial \mathbf{b}Js(a,b)/b 为负,括号里面为负)
    b1>0,bk+1=bk−ηk12(∂Js(a,b)∂b−∣∂Js(a,b)∂b∣) \mathbf{b}_1>\mathbf{0}, \quad \mathbf{b}_{k+1}=\mathbf{b}_k-\eta_k \frac{1}{2}\left(\frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{b}}-\left|\frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{b}}\right|\right) b1>0,bk+1=bkηk21(bJs(a,b)bJs(a,b))
  • ∂Js(a,b)∂b=−2(Ya−b)\frac{\partial J_s(\mathbf{a}, \mathbf{b})}{\partial \mathbf{b}}=-2(\mathbf{Y} \mathbf{a}-\mathbf{b})bJs(a,b)=2(Yab),并记ek+=12((Yak−bk)+∣Yak−bk∣)\mathbf{e}_k^{+}=\frac{1}{2}\left(\left(\mathbf{Y} \mathbf{a}_k-\mathbf{b}_k\right)+\left|\mathbf{Y} \mathbf{a}_k-\mathbf{b}_k\right|\right)ek+=21((Yakbk)+Yakbk),则有
    ak=Y+bkb1>0,bk+1=bk+2ηkek+ \begin{gathered} \mathbf{a}_k=\mathbf{Y}^{+} \mathbf{b}_k \\ \mathbf{b}_1>\mathbf{0}, \quad \mathbf{b}_{k+1}=\mathbf{b}_k+2 \eta_k \mathbf{e}_k^{+} \end{gathered} ak=Y+bkb1>0,bk+1=bk+2ηkek+
  • 为了防止 b\mathbf{b}b 收敛于 0\mathbf{0}0, 可以让 b\mathbf{b}b 从一个非负向量 (b1>0)\left(\mathbf{b}_1>\mathbf{0}\right)(b1>0) 开始进行更新
  • 由于要求 ∂Js(a,b)/∂b\partial J_s(\mathbf{a}, \mathbf{b}) / \partial \mathbf{b}Js(a,b)/b 等于 0\mathbf{0}0, 在开始迭代时可令 ∂Js(a,b)/∂b\partial J_s(\mathbf{a}, \mathbf{b}) / \partial \mathbf{b}Js(a,b)/b 的元素为正的分量等于零, 从而加快收敛速度。
    在这里插入图片描述
  • 由于权向量序列 {ak}\left\{\mathbf{a}_k\right\}{ak} 完全取决定于 {bk}\left\{\mathbf{b}_k\right\}{bk}, 因此本质上讲 Ho-Kashyap 算法是一个生成margin 序列 {bk}\left\{\mathbf{b}_k\right\}{bk} 的方法
  • 由于初始 b1>0\mathbf{b}_1>\mathbf{0}b1>0, 且更新因子 η>0\eta>0η>0, 因此 bk\mathbf{b}_kbk 总是大于 0\mathbf{0}0
  • 对于更新因子 0<η≤10<\eta \leq 10<η1, 如果问题线性可分, 则总能找到元素全为正的 bbb (不懂)
  • 如果 ek=Yak−bk\mathbf{e}_k=\mathbf{Y} \mathbf{a}_k-\mathbf{b}_kek=Yakbk 全为 0 , 此时, bk\mathbf{b}_kbk 将不再更新, 因此获得一个解。如果 ek\mathrm{e}_kek 有一部分元素小于 0 , 则可以证明该问题不是线性可分的 (不懂)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果壳小旋子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值