【AI】机器学习——感知机

news2024/11/24 23:09:50

文章目录

    • 4.1 感知机基本概念
    • 4.2 策略
      • 4.2.1 数据集的线性可分性
      • 4.2.2 学习策略
        • 目标
        • 损失函数的构造
          • 关于距离的解释
    • 4.3 算法
      • 4.3.1 原始形式
        • 损失函数的梯度下降法
      • 4.3.2 PLA例题
      • 4.3.3 算法收敛性
    • 4.4 PLA对偶形式
      • 4.4.1 原始PLA分析
      • 4.4.2 PLA对偶形式
      • 4.4.3 优点

4.1 感知机基本概念

解决二分类问题,属于 线性分类模型——判别模型

目标:求出将训练数据进行线性划分的分离超平面

基本思想:导入五分类的损失函数,利用梯度下降法对损失i函数极小化,求得感知机模型

输入: x ∈ X ⊆ R n x\in \mathcal{X}\subseteq R^n xXRn 表示实例的特征向量, y ∈ Y = { + 1 , − 1 } y\in \mathcal{Y}=\{+1, -1\} yY={+1,1}

输出: ω ^ , b ^ \hat{\omega},\hat{b} ω^,b^

模型——决策函数
f ( x ) = s i g n ( ω T x + b ) = { + 1 , ω T x > 0 − 1 , ω T x < 0 f(x)=sign(\omega^Tx+b)=\begin{cases} +1&,\omega^Tx> 0\\ -1&,\omega^Tx<0 \end{cases} f(x)=sign(ωTx+b)={+11,ωTx>0,ωTx<0
假设空间:定义在特征空间中的所有线性分类模型
{ f ∣ f ( x ) = ω T x + b } \{f\vert f(x)=\omega^Tx+b\} {ff(x)=ωTx+b}
几何理解: ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0 在空间中为一个超平面 S S S ω \omega ω 为法向量, b b b 为截距

在这里插入图片描述

  • 上图中超平面 S : ω 1 x ( 1 ) + ω 2 x ( 2 ) + b = 0 S:\omega_1x^{(1)}+\omega_2x^{(2)}+b=0 S:ω1x(1)+ω2x(2)+b=0 ,这个超平面将特征空间分为 + 1 , − 1 +1,-1 +1,1

4.2 策略

损失函数的定义,并将 J ( ω ) J(\omega) J(ω) 最小化

4.2.1 数据集的线性可分性

对于数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } x i ∈ X ⊆ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯   , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\\ x_i\in \mathcal{X}\subseteq R^n,y_i\in\mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N D={(x1,y1),(x2,y2),,(xN,yN)}xiXRn,yiY={+1,1},i=1,2,,N
若存在某个超平面 S S S ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0 ,将数据正负两类完全划分到超平面两侧

  • 对于正例: y i = + 1 y_i=+1 yi=+1 ,有 ω T x + b > 0 \omega^Tx+b>0 ωTx+b>0
  • 对于负例: y i = − 1 y_i=-1 yi=1 ,有 ω T x + b < 0 \omega^Tx+b<0 ωTx+b<0

4.2.2 学习策略

目标

假设数据集D线性可分,找到将数据集D正负两例完全正确分开的超平面S,即确定参数 ω ^ , b ^ \hat{\omega},\hat{b} ω^,b^

损失函数的构造

可选择

  • 误分类点的总数,但不关于 ω , b \omega,b ω,b 可导,是离散的
  • 误分类点到超平面 S S S 的距离和

x i x_i xi 到平面 S S S 的总距离
ω T x i + b ∥ ω ∥ 2 \frac{\omega^Tx_i+b}{\Vert \omega\Vert_2} ω2ωTxi+b
对于误分类点有 y i ⋅ ( ω T x i + b ) < 0    ⟺    − y i ⋅ ( ω T x i + b ) > 0 y_i\cdot(\omega^Tx_i+b)<0\iff -y_i\cdot(\omega^Tx_i+b)>0 yi(ωTxi+b)<0yi(ωTxi+b)>0

对于误分类点,到超平面的几何距离为
− 1 ∥ ω ∥ 2 y i ⋅ ( ω T x i + b ) -\frac{1}{\Vert \omega\Vert_2}y_i\cdot(\omega^Tx_i+b) ω21yi(ωTxi+b)
若所有误分类点集合为 M M M ,则误分类点到 S S S 的距离和为
− 1 ∥ ω ∥ 2 ∑ x i ∈ M y i ⋅ ( ω T x i + b ) -\frac{1}{\Vert \omega\Vert_2}\sum\limits_{x_i\in M}y_i\cdot(\omega^Tx_i+b) ω21xiMyi(ωTxi+b)
故将感知机(损失函数)定义为经验风险函数
R e m p ( f ) = L ( ω , b ) = − ∑ x i ∈ M y i ⋅ ( ω T x i + b ) R_{emp}(f)=L(\omega,b)=-\sum\limits_{x_i\in M}y_i\cdot(\omega^Tx_i+b) Remp(f)=L(ω,b)=xiMyi(ωTxi+b)
策略为 在假设空间中选取使损失函数 L ( ω , b ) L(\omega,b) L(ω,b) 最小的模型参数 ω , b \omega,b ω,b

  • 损失函数非负
  • 误分类点数量越少越好
  • 误分类点离超平面越近越好
  • L ( ω , b ) L(\omega,b) L(ω,b) 是连续可导的
关于距离的解释

− 1 ∥ ω ∥ 2 y i ⋅ ( ω T x i + b ) -\frac{1}{\Vert \omega\Vert_2}y_i\cdot(\omega^Tx_i+b) ω21yi(ωTxi+b) 为几何距离

− y i ⋅ ( ω T x i + b ) -y_i\cdot(\omega^Tx_i+b) yi(ωTxi+b) 为函数距离

几何距离的系数 1 ∥ ω ∥ 2 \frac{1}{\Vert \omega\Vert_2} ω21 可以抵消系数同时放大的影响,如 a X + b Y + c = 0 aX+bY+c=0 aX+bY+c=0 2 a X + 2 b Y + 2 c = 0 2aX+2bY+2c=0 2aX+2bY+2c=0

  • 但会增加梯度下降法计算的复杂度

PLA的目标是使误分类点个数最小, 1 ∥ ω ∥ 2 \frac{1}{\Vert \omega\Vert_2} ω21 对分类结果无影响

选取不同的初始 ω , b \omega,b ω,b ,最终会迭代出不同的超平面

在这里插入图片描述

4.3 算法

用随机梯度下降法,求解损失函数最优化问题

4.3.1 原始形式

输入:训练数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , x i ∈ X ⊆ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯   , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},\\ x_i\in \mathcal{X}\subseteq R^n,y_i\in \mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N D={(x1,y1),(x2,y2),,(xN,yN)}xiXRn,yiY={+1,1},i=1,2,,N
输出 ω ^ , b ^ \hat{\omega},\hat{b} ω^,b^

模型
f ( x ) = s i g n ( ω T x + b ) = { + 1 , ω T x + b > 0 − 1 , ω T x + b < 0 f(x)=sign(\omega^Tx+b)=\begin{cases} +1&,\omega^Tx+b>0\\ -1&,\omega^Tx+b<0\\ \end{cases} f(x)=sign(ωTx+b)={+11,ωTx+b>0,ωTx+b<0
策略
a r g min ⁡ ω , b L ( ω , b ) = − ∑ x i ∈ M y i ⋅ ( ω T x i + b ) arg\min\limits_{\omega,b}L(\omega,b)=-\sum\limits_{x_i\in M}y_i\cdot(\omega^Tx_i+b) argω,bminL(ω,b)=xiMyi(ωTxi+b)
步骤

  1. 选取随机的 ω 0 , b 0 \omega_0,b_0 ω0,b0

  2. 在训练集中选数据 ( x i , y i ) (x_i,y_i) (xi,yi) ,将误分类点作为训练数据,即满足 ω T x i + b < 0 \omega^Tx_i+b<0 ωTxi+b<0 的条件的点
    ω [ t + 1 ] ← ω [ t ] − η ∂ L ∂ ω = ω [ t ] + η y i x i b [ t + 1 ] ← b [ t ] − η ∂ L ∂ b = b [ t ] + η y i \omega^{[t+1]}\leftarrow\omega^{[t]}-\eta\frac{\partial L}{\partial \omega}=\omega^{[t]}+\eta y_ix_i\\ b^{[t+1]}\leftarrow b^{[t]}-\eta\frac{\partial L}{\partial b}=b^{[t]}+\eta y_i ω[t+1]ω[t]ηωL=ω[t]+ηyixib[t+1]b[t]ηbL=b[t]+ηyi

  3. 转至 2 2 2 步,直至 D D D 中无误分类点

损失函数的梯度下降法

{ ▽ ω L ( ω , b ) = − ∑ x i ∈ M y i x i ▽ b L ( ω , b ) = − ∑ x i ∈ M y i \begin{cases} \bigtriangledown_{\omega}L(\omega,b)=-\sum\limits_{x_i\in M}y_ix_i\\ \bigtriangledown_{b}L(\omega,b)=-\sum\limits_{x_i\in M}y_i\\ \end{cases} ωL(ω,b)=xiMyixibL(ω,b)=xiMyi

前提是误分类点集合是固定的 ,才可进行梯度下降法最优化
{ ω ← ω − η ▽ ω L b ← b − η ▽ b L \begin{cases} \omega\leftarrow \omega-\eta\bigtriangledown_{\omega}L\\ b\leftarrow b-\eta\bigtriangledown_{b}L \end{cases} {ωωηωLbbηbL
这种做法:

  • 计算量大
  • 且调整参数 ω , b \omega,b ω,b 后,误分类点集可能会发生变化,故用随机梯度下降法

直观理解

当一个样本点被误分类时,调整 ω , b \omega,b ω,b 的值,使超平面 S S S 向该误分类点的一侧移动,减少该误分类点与 S S S 的距离,直至超平面越过此点(分类正确)

4.3.2 PLA例题

x 1 = ( 3 , 3 ) T , y 1 = + 1 x 2 = ( 4 , 3 ) T , y 2 = + 1 x 3 = ( 1 , 1 ) T , y 3 = − 1 x_1=(3,3)^T,y_1=+1\\ x_2=(4,3)^T,y_2=+1\\ x_3=(1,1)^T,y_3=-1\\ x1=(3,3)T,y1=+1x2=(4,3)T,y2=+1x3=(1,1)T,y3=1

模型:
f ( x ) = s i g n ( ω T x + b ) = { + 1 , ω T x + b > 0 − 1 , ω T x + b < 0 ω = ( ω 1 ω 2 ) f(x)=sign(\omega^Tx+b)=\begin{cases} +1&,\omega^Tx+b>0\\ -1&,\omega^Tx+b<0 \end{cases}\\ \omega=\left( \begin{aligned} \omega_1\\ \omega_2 \end{aligned} \right) f(x)=sign(ωTx+b)={+11,ωTx+b>0,ωTx+b<0ω=(ω1ω2)
PLA策略为
min ⁡ ω , b L ( ω , b ) = − ∑ x i ∈ M y i ( ω T ⋅ x + b ) \min\limits_{\omega,b}L(\omega,b)=-\sum\limits_{x_i\in M}y_i(\omega^T\cdot x+b) ω,bminL(ω,b)=xiMyi(ωTx+b)
算法:

  1. 取初值, ω 0 = ( 0 0 ) \omega_0=\left(\begin{aligned}0\\0\end{aligned}\right) ω0=(00) b 0 = 0 b_0=0 b0=0 η = 1 \eta=1 η=1

  2. x 1 = ( 3 , 3 ) T x_1=(3,3)^T x1=(3,3)T ,有 y 1 ( ω 1 [ 0 ] x 1 ( 1 ) + ω 2 [ 0 ] x 1 ( 2 ) + b [ 0 ] ) = 0 y_1(\omega_1^{[0]}x_1^{(1)}+\omega_2^{[0]}x_1^{(2)}+b^{[0]})=0 y1(ω1[0]x1(1)+ω2[0]x1(2)+b[0])=0

    未分类正确,故更新
    { ω [ 1 ] ← ω [ 0 ] − η ∂ L ∂ ω = ω [ 0 ] + η y i x i = ( 0 0 ) + ( 3 3 ) = ( 3 3 ) b [ 1 ] ← b [ 0 ] − η ∂ L ∂ b = b [ 0 ] + η y i = 0 + 1 ⋅ 1 = 1 \begin{cases} \omega^{[1]}\leftarrow\omega^{[0]}-\eta\frac{\partial L}{\partial \omega}=\omega^{[0]}+\eta y_ix_i= \left( \begin{aligned} 0\\0 \end{aligned} \right)+\left( \begin{aligned} 3\\3 \end{aligned} \right)=\left( \begin{aligned} 3\\3 \end{aligned} \right)\\ b^{[1]}\leftarrow b^{[0]}-\eta\frac{\partial L}{\partial b}=b^{[0]}+\eta y_i=0+1\cdot 1=1 \end{cases} ω[1]ω[0]ηωL=ω[0]+ηyixi=(00)+(33)=(33)b[1]b[0]ηbL=b[0]+ηyi=0+11=1
    故有线性模型
    ω 1 T ⋅ x + b 1 = 3 x ( 1 ) + 3 x ( 2 ) + 1 \omega_1^{T}\cdot x+b_1=3x^{(1)}+3x^{(2)}+1 ω1Tx+b1=3x(1)+3x(2)+1

  3. x 2 = ( 4 , 3 ) T , ( ω 1 [ 1 ] x 2 + ω 2 [ 1 ] x 2 + b [ 1 ] ) y 2 > 0 x_2=(4,3)^T,(\omega_1^{[1]}x_2+\omega_2^{[1]}x_2+b^{[1]})y_2>0 x2=(4,3)T,(ω1[1]x2+ω2[1]x2+b[1])y2>0 ,正确分类

    x 3 = ( 1 , 1 ) T , ( ω 1 [ 1 ] x 3 + ω 2 [ 1 ] x 3 + b [ 1 ] ) y 3 < 0 x_3=(1,1)^T,(\omega_1^{[1]}x_3+\omega_2^{[1]}x_3+b^{[1]})y_3<0 x3=(1,1)T,(ω1[1]x3+ω2[1]x3+b[1])y3<0 ,误分类。用 ( x 3 , y 3 ) (x_3,y_3) (x3,y3) 更新模型参数
    { ω [ 2 ] ← ω [ 1 ] − η ∂ L ∂ ω = ω [ 1 ] + η y 3 x 3 = ( 3 3 ) + ( − 1 ) ( 1 1 ) = ( 2 2 ) b [ 1 ] ← b [ 0 ] − η ∂ L ∂ b = b [ 0 ] + η y 3 = 1 + 1 ⋅ ( − 1 ) = 0 \begin{cases} \omega^{[2]}\leftarrow\omega^{[1]}-\eta\frac{\partial L}{\partial \omega}=\omega^{[1]}+\eta y_3x_3= \left( \begin{aligned} 3\\3 \end{aligned} \right)+(-1)\left( \begin{aligned} 1\\1 \end{aligned} \right)=\left( \begin{aligned} 2\\2 \end{aligned} \right)\\ b^{[1]}\leftarrow b^{[0]}-\eta\frac{\partial L}{\partial b}=b^{[0]}+\eta y_3=1+1\cdot (-1)=0 \end{cases} ω[2]ω[1]ηωL=ω[1]+ηy3x3=(33)+(1)(11)=(22)b[1]b[0]ηbL=b[0]+ηy3=1+1(1)=0
    有线性模型
    ω 1 [ 2 ] x 1 + ω 2 [ 2 ] x 2 = 0    ⟺    2 x 1 + 2 x 2 = 0    ⟺    x 1 + x 2 = 0 \omega^{[2]}_1x_1+\omega^{[2]}_2x_2=0\iff 2x_1+2x_2=0\iff x_1+x_2=0 ω1[2]x1+ω2[2]x2=02x1+2x2=0x1+x2=0

  4. ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3) 代入线性模型,反复迭代

直至无误分类样本点,有
ω [ 7 ] = ( 1 1 ) , b [ 7 ] = − 3 \omega^{[7]}=\left( \begin{aligned} 1\\1 \end{aligned} \right),b^{[7]}=-3 ω[7]=(11),b[7]=3
超平面为 x ( 1 ) + x ( 2 ) − 3 = 0 x^{(1)}+x^{(2)}-3=0 x(1)+x(2)3=0

4.3.3 算法收敛性

对于线性可分的训练数据集,经过有限次迭代(PLA可以在有限步终止) ,可以得到一个将训练数据集完全正确划分的超平面 S S S

定理

训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} D={(x1,y1),(x2,y2),,(xN,yN)} ,对于二分类模型, x i ∈ X ⊆ R n x_i\in \mathcal{X}\subseteq R^n xiXRn y i ∈ Y = { + 1 , − 1 } y_i\in \mathcal{Y}=\{+1,-1\} yiY={+1,1} , i = 1 , 2 , ⋯   , N ,i=1,2,\cdots,N ,i=1,2,,N

  1. 一定存在 ∥ ω ^ ∗ ∥ = 1 \Vert \hat{\omega}_*\Vert=1 ω^=1 的超平面 ω ^ ∗ x T = 0 \hat{\omega}_*x^T=0 ω^xT=0 ,将数据完全正确划分,且存在 γ > 0 \gamma >0 γ>0 ,使
    y i ( ω ^ ∗ x T ) ≥ γ ω ^ = ( ω ∗ b ∗ ) , x = ( x 1 ) y_i(\hat{\omega}_*x^T)\ge \gamma\\ \hat{\omega}=\left(\begin{aligned} \omega_*\\ b_* \end{aligned} \right),x=\left( \begin{aligned} x\\1 \end{aligned} \right) yi(ω^xT)γω^=(ωb),x=(x1)
    证:由于线性可分,则可找到一个超平面 S : ω ^ ∗ x T = 0 S:\hat{\omega}_*x^T=0 S:ω^xT=0 ,使所有数据 y i ( ω ^ ∗ x T ) > 0 y_i(\hat{\omega}_*x^T)>0 yi(ω^xT)>0 分类正确

    可取 γ = min ⁡ i { y i ( ω ^ ∗ x T ) } \gamma=\min\limits_{i}\{y_i(\hat{\omega}_*x^T)\} γ=imin{yi(ω^xT)} ,距离超平面最近的点

  2. R = max ⁡ 1 ≤ i ≤ N ∥ x i ∥ 2 R=\max\limits_{1\le i\le N}\Vert x_i\Vert_2 R=1iNmaxxi2 ,样本特征值最大的二范数 ,则PLA在训练数据集上误分类次数 k k k 满足 K ≤ ( R γ ) 2 K\le \left(\frac{R}{\gamma}\right)^2 K(γR)2

    即离超平面越近的点越难分

感知机存在许多解,依赖于初值的选择

  • 即误分类点的选择次序会影响最终的结果

4.4 PLA对偶形式

4.4.1 原始PLA分析

在原始 PLA 算法中, ω 0 , b 0 = 0 \omega_0,b_0=0 ω0,b0=0 L ( ω , b ) = − ∑ x i ∈ M y i ( ω T ⋅ x + b ) L(\omega,b)=-\sum\limits_{x_i\in M}y_i(\omega^T\cdot x+b) L(ω,b)=xiMyi(ωTx+b) ,采用随机梯度下降算法,取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi) 作为学习数据, η ∈ ( 0 , 1 ] \eta\in(0,1] η(0,1] 为学习率
{ ω [ t + 1 ] ← ω [ t ] − η ∂ L ∂ ω = ω [ t ] + η y i x i b [ t + 1 ] ← b [ t ] − η ∂ L ∂ b = b [ t ] + η y i \begin{cases} \omega^{[t+1]}\leftarrow\omega^{[t]}-\eta\frac{\partial L}{\partial \omega}=\omega^{[t]}+\eta y_ix_i\\ b^{[t+1]}\leftarrow b^{[t]}-\eta\frac{\partial L}{\partial b}=b^{[t]}+\eta y_i \end{cases} {ω[t+1]ω[t]ηωL=ω[t]+ηyixib[t+1]b[t]ηbL=b[t]+ηyi
可见

  • ω \omega ω 更新至于误分类点有关

    某个点使用次数越多,距超平面越近,越难正确分类

  • 假设 ( x i , y i ) (x_i,y_i) (xi,yi) 被误分类 n i n_i ni 次,则 ω \omega ω ( x i , y i ) (x_i,y_i) (xi,yi) 上的累积量为
    { ω i ← n i η y i x i = α i y i x i b i ← n i η y i = α i y i \begin{cases} \omega_i\leftarrow n_i\eta y_ix_i=\alpha_iy_ix_i\\ b_i\leftarrow n_i\eta y_i=\alpha_iy_i \end{cases} {ωiniηyixi=αiyixibiniηyi=αiyi
    且对于正确分类的点 n i = 0 n_i=0 ni=0 ,故原始PLA参数可表示为
    { ω ← ∑ j = 1 N n j η y j ⋅ x j b ← ∑ j = 1 N n j η y j \begin{cases} \omega\leftarrow \sum\limits_{j=1}^Nn_j\eta y_j\cdot x_j\\ b\leftarrow \sum\limits_{j=1}^N n_j\eta y_j \end{cases} ωj=1Nnjηyjxjbj=1Nnjηyj

4.4.2 PLA对偶形式

输入 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , x i ∈ X ⊆ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯   , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in \mathcal{X}\subseteq R^n,y_i\in \mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N D={(x1,y1),(x2,y2),,(xN,yN)},xiXRn,yiY={+1,1},i=1,2,,N

η ∈ ( 0 , 1 ] \eta\in (0,1] η(0,1]

模型
f ( x ) = s i g n [ ( ∑ j = 1 N n j η y j ⋅ x j ) T ⋅ x + ∑ j = 1 N n j η y j ] = s i g n [ ∑ j = 1 N α j y j ( x j ⋅ x ) T + b ] \begin{aligned} f(x)&=sign[(\sum\limits_{j=1}^Nn_j\eta y_j\cdot x_j)^T\cdot x+\sum\limits_{j=1}^N n_j\eta y_j]\\ &=sign[\sum\limits_{j=1}^N\alpha_j y_j(x_j\cdot x)^T+b] \end{aligned} f(x)=sign[(j=1Nnjηyjxj)Tx+j=1Nnjηyj]=sign[j=1Nαjyj(xjx)T+b]
输出 α , b \alpha,b α,b α = ( α 1 α 2 ⋮ α N ) \alpha=\left(\begin{aligned}\alpha_1\\\alpha_2\\\vdots\\\alpha_N\end{aligned}\right) α= α1α2αN α i = n i η \alpha_i=n_i\eta αi=niη n i n_i ni ( x i , y i ) (x_i,y_i) (xi,yi) 被误分类的次数

步骤

  1. ∀ n i = 0 \forall n_i=0 ni=0 ,即 α = 0 , b = 0 \alpha=0,b=0 α=0,b=0

  2. 选取 ( x i , y i ) (x_i,y_i) (xi,yi) ,若 y i [ ∑ j = 1 N n j η y j ( x j T ⋅ x ) + ∑ j = 1 N n j η y j ] ≤ 0 y_i[\sum\limits_{j=1}^Nn_j\eta y_j(x_j^T\cdot x)+\sum\limits_{j=1}^N n_j\eta y_j]\le 0 yi[j=1Nnjηyj(xjTx)+j=1Nnjηyj]0 ,则令
    n [ t + 1 ] ← n [ t ] + 1 α [ t + 1 ] ← α [ t ] + η b [ t + 1 ] ← b [ t ] + η y i n^{[t+1]}\leftarrow n^{[t]}+1\\ \alpha^{[t+1]}\leftarrow \alpha^{[t]}+\eta\\ b^{[t+1]}\leftarrow b^{[t]}+\eta y_i n[t+1]n[t]+1α[t+1]α[t]+ηb[t+1]b[t]+ηyi

  3. 转至 2. 2. 2. 直至没有误分类点

由于样本点只以内积形式出现,可计算 Gram矩阵
G = [ x i ⋅ x j ] N × N = [ ( x 1 , x 1 ) ( x 1 , x 2 ) ⋯ ( x 1 , x N ) ( x 2 , x 1 ) ( x 2 , x 2 ) ⋯ ( x 2 , x N ) ⋮ ⋮ ⋱ ⋮ ( x N , x 1 ) ( x N , x 2 ) ⋯ ( x N , x N ) ] G=[x_i\cdot x_j]_{N\times N}=\left[\begin{matrix} (x_1,x_1)&(x_1,x_2)&\cdots&(x_1,x_N)\\ (x_2,x_1)&(x_2,x_2)&\cdots&(x_2,x_N)\\ \vdots&\vdots&\ddots&\vdots\\ (x_N,x_1)&(x_N,x_2)&\cdots&(x_N,x_N) \end{matrix} \right] G=[xixj]N×N= (x1,x1)(x2,x1)(xN,x1)(x1,x2)(x2,x2)(xN,x2)(x1,xN)(x2,xN)(xN,xN)

4.4.3 优点

可预先计算存储 Gram 矩阵,提高计算速度

可通过 Gram 矩阵引入核函数,有 K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z)=\phi(x)\cdot \phi(z) K(x,z)=ϕ(x)ϕ(z) ,可解决非线性分类问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/994926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理财是什么?怎样学习理财?

大家好&#xff0c;我是财富智星&#xff0c;今天跟大家分享一下理财是什么&#xff1f;怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机&#xff0c;要与时间为友。 让我们先考虑以下问题&#xff1a;什么样的回报才算是真正的高回报&#xff1f;假设有…

HTML5 进阶知识

简答题 什么是 HTML5 标签的语义化&#xff1f; HTML5 标签的语义化是指使用具有语义意义的标签来描述网页内容。例如&#xff0c;使用 <header> 标签来表示页眉&#xff0c;使用 <main> 标签来表示主要内容区&#xff0c;使用 <footer> 标签来表示页脚。 什…

Wireshark 用命令行分析数据包

1&#xff0c;那些情况需要使用命令行 Wireshark一次性提供了太多的信息。使用命令行工具可以限制打印出的信息&#xff0c;最后只显示相关数据&#xff0c;比如用单独一行来显示IP地址。命令行工具适用于过滤数据包捕获文件&#xff0c;并提供结果给另一个支持UNIX管道的工具…

Yolov5如何训练自定义的数据集,以及使用GPU训练,涵盖报错解决

本文主要讲述了Yolov5如何训练自定义的数据集&#xff0c;以及使用GPU训练&#xff0c;涵盖报错解决&#xff0c;案例是检测图片中是否有救生圈。 最后的效果图大致如下&#xff1a; 效果图1效果图2 前言 系列文章 1、详细讲述Yolov5从下载、配置及如何使用GPU运行 2、…

最新仿闲鱼链接+独立后台管理 跳转APP

2024最新仿xy链接源码 后台一键生成链接&#xff0c;后台管理教程&#xff1a;解压源码&#xff0c;修改数据库config/Congig 不会可以看源码里有教程 下载程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

JS防抖和节流在前端开发中的应用场景

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 防抖&#xff08;Debouncing&#xff09;⭐ 节流&#xff08;Throttling&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端…

C++与C编译后符号表对比(一百九十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

DBeaver 下载、安装与数据库连接(MySQL)详细教程【超详细,保姆级教程!!!】

本文介绍DBeaver 下载、安装与数据库连接&#xff08;MySQL&#xff09;的详细教程 一、DBeaver 下载 官网下载地址&#xff1a;https://dbeaver.io/download/ 二、安装 1、双击下载的安装包&#xff0c;选择中文 2、点击下一步 3、点击我接受 4、如下勾选&#xff0c;…

Java高级——类加载及执行子系统的案例与实战

类加载及执行子系统的案例与实战 概述类加载器案例TomcatOSGi 字节码案例动态代理Java逆向移植工具 实战——远程执行功能目标思路实现验证&#xff08;未完成&#xff0c;不会写JSP&#xff09; 概述 Class文件以何种格式存储、字节码指令如何执行等都是由JVM控制 字节码生成…

手写数据库连接池

数据库连接是个耗时操作.对数据库连接的高效管理影响应用程序的性能指标. 数据库连接池正是针对这个问题提出来的. 数据库连接池负责分配,管理和释放数据库连接.它允许应用程序重复使用一个现有的数据路连接,而不需要每次重新建立一个新的连接,利用数据库连接池将明显提升对数…

文本生成模型如何解码

文章目录 解码方法Greedy SearchBeam SearchsamplingTemperature Samplingtop-k samplingTop-p (nucleus) samplingContrastive search 总结相关资源 语言模型如何对于一个给定输入生成相应的输出呢&#xff1f;答案是使用解码策略(decoding strategy)。这里对现有的解码策略做…

在vx1000中对目标属性值的函数修改方法

通过在函数中编辑GFX对象属性值&#xff0c;实现Y坐标相反的操作方法 有时需要对目标属性的x 、y坐标做负方向转换&#xff0c;就需要以下方法来实现 return input.ProY*(-1); return input.C0*(-1);

验收测试的内容和流程有哪些?

验收测试 信息化项目验收确认测试内容一般包括&#xff1a;测试(复核 ),资料评审 ,质量鉴定三部分。 (一)验收评测工作主要包括 :文档分析 ,方案制定 ,现场测试 ,问题单提交 ,测试报告 ; (二)验收测试内容主要包括 :检查 "合同 " 或"验收标准 "要求的所…

【Redis】2、Redis持久化和性能管理

Redis 高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…

C++之构造函数列表使用默认值(一百九十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

发布订阅机制和点对点机制

【Go项目】25. 在 gin 中引入 WebSocket 和 Hub_哔哩哔哩_bilibili gorilla/websocket: Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go. (github.com) 1.订阅发布机制 引用上面链接的内容 发布订阅的基本工作原理 在分…

AQS源码剖析,完整流程解读

目录 1 AQS是什么2 AQS加锁流程3 结构4 AQS方法概览5 AQS源码剖析5.1 加锁方法5.2 释放锁5.3 await等待5.4 signal唤醒 1 AQS是什么 ​ AQS即AbstractQueuedSynchronizer缩写&#xff0c;翻译为抽象队列同步器&#xff0c;是一种用来构建锁和同步器的框架。 平时使用较多的Ree…

【C++】常用排序算法

0.前言 1.sort #include <iostream> using namespace std;// 常用排序算法 sort #include<vector> #include<algorithm>//利用仿函数 打印输出 class myPrint { public:void operator()(int val){cout << val << " ";} };//利用普通函…

车载网络测试 - UDS诊断篇 - CANTP常用缩写

CANTP层规范常用缩写 缩写英文全称中文注释BRSbit rate switch比特率开关BSBlockSize块大小CAN controller area network控制器局域网CAN_DL CAN frame data link layer data length in bytesCAN 帧数据链路层数据长度&#xff08;以字节为单位&#xff09;CAN FDcontroller a…

[kingbase运维之奇怪的现象]

#[kingbase运维之奇怪的现象] ##奇怪的现象 某银行数据中心应用反馈&#xff0c;业务接口日志记录了很多执行慢的SQL&#xff0c;出现的时间是随机的&#xff0c;单独在数据库客户端工具执行会很快返回结果。根据之前的经验推断是业务代码传入的参数类型与数据库表结构字段定义…