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

文章目录

    • 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.rhkb.cn/news/134529.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

office mac苹果办公软件安装包安装教程详解

软件下载 软件&#xff1a;mac office版本&#xff1a;2021语言&#xff1a;简体中文大小&#xff1a;4.27G安装环境&#xff1a;mac硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道 百度网盘 https://pan.baidu.com/s/1WGSB-icELUxweFkI8iIbzA 首先&#…

什么是JavaScript的事件驱动编程(event-driven programming)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 事件&#xff08;Event&#xff09;⭐ 事件监听器&#xff08;Event Listener&#xff09;⭐ 回调函数&#xff08;Callback Function&#xff09;⭐ 非阻塞和异步⭐ 事件循环&#xff08;Event Loop&#xff09;⭐ 触发事件&#xff08;…

知识竞赛活动舞台搭建需要多少钱

知识竞赛活动舞台搭建的费用会根据不同的竞赛活动规模和要求而有所不同。对于小型的知识竞赛活动&#xff0c;如学校内部组织的知识竞赛或社区的知识竞赛活动&#xff0c;舞台搭建的费用往往相对较低。在这种情况下&#xff0c;可能只需要一些简单的装饰和道具&#xff0c;例如…

【C++进阶】:哈希(一)

哈希 一.unordered_map二.底层结构1.哈希概念2.解决哈希冲突1.闭散列2.开散列 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的…

Linux:基础开发工具之yum,vim,gcc的使用

文章目录 yumvimgcc 本篇主要总结的是Linux下开发工具 yumvimgcc/g yum 什么是yum&#xff1f; 不管是在手机移动端还是pc端&#xff0c;不管是什么操作系统&#xff0c;当用户想要下载一些内容或者工具的时候&#xff0c;都需要到一个特定的位置进行下载&#xff0c;例如在…

初识Java 9-2 内部类

目录 为什么需要内部类 闭包和回调 内部类和控制框架 继承内部类 内部类的重写&#xff08;并不能&#xff09; 局部内部类 内部类标识符 本笔记参考自&#xff1a; 《On Java 中文版》 为什么需要内部类 在一些情况下&#xff0c;我们无法享受接口带来的便利&#xff0…

c刷题(四)

目录 获得月份天数 判断字母 字母大小写转换 网购 下列程序段的输出结果 字符逆序 自幂数 a的前n项之和 最小公倍数 倒置字符串 获得月份天数 获得月份天数_牛客题霸_牛客网 这道题可以用switch case语句解&#xff0c;不过这道题更简单的方法是数组&#xff0c;关…

AE-如何制作湖面水波纹波动的效果

目录 1.新建水面合成 2.新建纯色层命名为“分形杂色”&#xff0c;并添加“分形杂色”效果&#xff0c;设置相关参数 3.添加3D效果&#xff0c;并添加摄像机和空对象 4.新建中秋节合成&#xff0c;导入背景图&#xff0c;新建调整图层&#xff0c;并在调整图层上增加“焦散…

【C++】动态内存管理(79分钟写的文章哪里看不懂了,快来学)

动态内存管理目录&#xff1a; 一、C/C内存分布 在学习了C/C内存区域的划分后&#xff0c;我们来做几道题巩固一下&#xff1a; 1. 选择题&#xff1a;选项 : A.栈 B.堆 C.数据段(静态区) D.代码段(常量区)globalVar在哪里&#xff1f;____ staticGlobalVar在哪里&#x…

一个Binder的前生今世 (一):Service的创建

一个Binder的前生今世 (一):Service的创建 一个Binder的前生今世Binder的历史 (字面意义的前生今世)Binder的生命周期(抽象意义的前生今世)Binder 应用及系统层关系图Binder应用层的架构设计Binder应用层实现Binder的创建服务端Binder的创建服务端Binder的传递Binder在客…

实现按钮悬停动画

知识点与技巧 伪元素 使用伪元素来作为按钮悬停效果动画展示的元素 z-index 的使用技巧 使用z-index属性来控制按钮和伪元素的层次关系 transform、transition 复习 使用transform、transition两个属性来实现动画的展示 按钮边框动画 切换效果 核心代码 .btn.btn-border-…

2023面试知识点一

1、新生代和老年代的比例 默认的&#xff0c;新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 )&#xff0c;即&#xff1a;新生代 ( Young ) 1/3 的堆空间大小。老年代 ( Old ) 2/3 的堆空间大小。其中&#xff0c;新生代 ( …

Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小

一、起因 一个工程&#xff0c;打包成webGL且压缩成zip文件后&#xff0c;接近400M&#xff0c;后来把大的精灵图片设置最大尺寸&#xff0c;降低大小后&#xff0c;再次发布&#xff0c;zip文件缩减到250M 二、如何一键获得工程里面的精灵图片信息 三、获取精灵图片信息 1、…

esp32-S3-electric-vehicle-expansion(EVE_V2)硬件分享

一. 简介 本次将给大家分享一个QSPI圆形屏幕DIY的小项目&#xff0c;这是我做的第二个版本的&#xff0c;相较于第一个版本有了比较大的改动(第一版就不放出来了&#xff0c;需要的可以私聊)&#xff0c;可以在上面实现更多的功能&#xff0c;做些更有趣的项目 &#xff0c;也…

[libc-2.31 off_by_null] N0wayBack ezheap练习

以前保留了个WP&#xff0c;但是没复现过也没法用&#xff0c;用了两个晚上慢慢理复现一下。 先看这个题 while ( 1 ){menu();__isoc99_scanf("%d", &v3);switch ( v3 ){case 1:m1add(); //带readbreak;case 2:m2free();break;case 3:m3edit(); //溢出br…

视频监控系统/安防监控/视频AI智能分析:小动物识别算法场景汇总

随着人们对生态环境的关注日益提升&#xff0c;大家对动物保护意识也逐渐增强。旭帆科技智能分析网关小动物识别算法应运而生。除了对保护动物的识别以外&#xff0c;旭帆科技AI智能分析网关还可以识别常见的老鼠等动物&#xff0c;助力明厨亮灶监管&#xff0c;保卫食品安全。…

uniapp风险等级(三级)

代码 ​ <template><view><view class"riskGrade"><label>风险等级: </label><span v-if"flag 0 || flag 1 || 2" class"item":style"[{background:flag0?color:flag1?color:flag2?color:}]"…

Redis 事务 - 监控测试

Redis 基本事务操作 Redis事务本质&#xff1a;一组命令的集合&#xff01;一个事务中的所有命令都会被序列化&#xff0c;在事务执行过程的中&#xff0c;会按照顺序执行&#xff01; Redis事务是一组Redis命令的有序集合&#xff0c;这些命令在事务中按照顺序执行&#xff0…

voliate实战:voliate可见性验证有序性非原子性验证

一、可见性验证 下面的程序验证了voliate的可见性。 public class VolatileVisibilityTest {private static volatile boolean inintFlag false;public static void main(String[] args) throws InterruptedException {new Thread(() -> {System.out.println("waiti…

期权投资的优势有哪些方面?

随着金融市场的不断演变&#xff0c;越来越多的金融衍生品出现在人们的视线中&#xff0c;特别是上证50ETF期权可以做空T0的交易模式吸引了越来越多的朋友&#xff0c;那么期权投资的优势有哪些方面&#xff1f; 期权是投资市场中一个非常重要的投资方式&#xff0c;期权投资能…