第三章线性判别函数(二)

server/2024/12/23 22:20:53/

文章目录

  • 一、基于梯度的方法
  • 二、均方误差最小算法
  • 三、支持向量机 (SVM)


一、基于梯度的方法

梯度概念

设函数 f ( Y ) f(Y) f(Y) 是向量 Y = [ y 1 , y 2 , … , y n ] T Y = [y_1, y_2, \dots, y_n]^T Y=[y1,y2,,yn]T 的函数,则 f ( Y ) f(Y) f(Y) 的梯度定义为:

∇ f ( Y ) = d d Y f ( Y ) = [ ∂ f ∂ y 1 , ∂ f ∂ y 2 , … , ∂ f ∂ y n ] T \nabla f(Y) = \frac{d}{dY} f(Y) = \begin{bmatrix} \frac{\partial f}{\partial y_1}, \frac{\partial f}{\partial y_2}, \dots, \frac{\partial f}{\partial y_n} \end{bmatrix}^T f(Y)=dYdf(Y)=[y1f,y2f,,ynf]T

梯度向量的重要性质之一:指出函数 f ( Y ) f(Y) f(Y) 在其自变量增加时,增长最快的方向。即:

  • 梯度的方向是函数 f ( Y ) f(Y) f(Y) Y Y Y 点增长最快的方向,
  • 梯度的 f ( Y ) f(Y) f(Y) 在增长最快的方向上的增长率(增长率最大值)。

显然:负梯度指向了最快下降方向。——梯度算法的依据。
判断函数: 设两个线性可分的模式类别 ω 1 \omega_1 ω1 ω 2 \omega_2 ω2 的样本共有 N N N 个,将两类样本分开的判别函数 d ( X ) d(X) d(X) 应满足:

d ( X i ) = W T X i > 0 , i = 1 , 2 , … , N d(X_i) = W^T X_i > 0, \quad i = 1, 2, \dots, N d(Xi)=WTXi>0,i=1,2,,N

N N N 个不等式。梯度算法的目的是求一个满足上述条件的权向量,主导思想是将联立不等式求解 W W W 的问题,转换成求准则函数极小值的问题。用负梯度方向的值对权向量 W W W 进行修正,实现使准则函数达到极小值的目的。

基本思路:
定义一个对错误分类敏感的准则函数 J ( W , X ) J(W, X) J(W,X),在 J J J 的梯度方向上对权向量进行修正。一般关系表示成从 W ( k ) W^{(k)} W(k) 导出 W ( k + 1 ) W^{(k+1)} W(k+1)

W ( k + 1 ) = W ( k ) + c ( − ∇ J ) = W ( k ) − c ∇ J W(k+1) = W(k) + c(-\nabla J) = W(k) - c\nabla J W(k+1)=W(k)+c(J)=W(k)cJ

即:

W ( k + 1 ) = W ( k ) − c [ ∂ J ( W , X ) ∂ W ] W = W ( k ) W(k+1) = W(k) - c \left[\frac{\partial J(W, X)}{\partial W}\right]_{W=W^{(k)}} W(k+1)=W(k)c[WJ(W,X)]W=W(k)

其中 c c c 是正的比例因子。


梯度法求解步骤:

  1. 将样本写成规范化增广向量形式,选择准则函数,设置初始权向量 W ( 1 ) W(1) W(1),括号内为迭代次数 k = 1 k=1 k=1

  2. 依次输入训练样本 X X X。设第 k k k 次迭代时输入样本为 X i X_i Xi,此时已有权向量 W ( k ) W(k) W(k),求 ∇ J ( k ) \nabla J(k) J(k)

∇ J ( k ) = ∂ J ( W , X i ) ∂ W \nabla J(k) = \frac{\partial J(W, X_i)}{\partial W} J(k)=WJ(W,Xi)

权向量修正为:

W ( k + 1 ) = W ( k ) − c ∇ J ( k ) W(k+1) = W(k) - c\nabla J(k) W(k+1)=W(k)cJ(k)

迭代次数加 1,输入下一个训练样本,计算新的权向量,直至对全部训练样本完成一轮迭代。

  1. 在一轮迭代中,如果有一个样本使 ∇ J ≠ 0 \nabla J \neq 0 J=0,回到步骤 2 进行下一轮迭代。否则, W W W 不再变化,算法收敛。

例: 选择准则函数, J ( W , X ) = ∣ W T X ∣ − W T X J(W, X) = |W^T X| - W^T X J(W,X)=WTXWTX,简单地考虑 X X X 为一维增广模式的情况 X = 1 X=1 X=1,此时 W = w W = w W=w,两者均为标量,

J ( W , X ) = ∣ w ∣ − w J(W, X) = |w| - w J(W,X)=ww

错误分类时:

W T X < 0 ⇒ w ⋅ 1 < 0 ⇒ w < 0 W^T X < 0 \Rightarrow w \cdot 1 < 0 \Rightarrow w < 0 WTX<0w1<0w<0

∇ J = ∂ J ( W , X ) ∂ W = ∂ ( ∣ w ∣ − w ) ∂ w = 2 w \nabla J = \frac{\partial J(W, X)}{\partial W} = \frac{\partial (|w| - w)}{\partial w} = 2w J=WJ(W,X)=w(ww)=2w

W ( k + 1 ) = W ( k ) − c ⋅ ( − 2 ) = W ( k ) + 2 c W(k+1) = W(k) - c \cdot (-2) = W(k) + 2c W(k+1)=W(k)c(2)=W(k)+2c

正确分类时:

W T X > 0 ⇒ w ⋅ 1 > 0 ⇒ w > 0 W^T X > 0 \Rightarrow w \cdot 1 > 0 \Rightarrow w > 0 WTX>0w1>0w>0

∇ J = ∂ J ( W , X ) ∂ W = 0 \nabla J = \frac{\partial J(W, X)}{\partial W} = 0 J=WJ(W,X)=0

W ( k + 1 ) = W ( k ) W(k+1) = W(k) W(k+1)=W(k)
梯度下降法中的注意点

a) 权向量更新公式
权向量的更新公式为:

W ( k + 1 ) = W ( k ) − c ∇ J = W ( k ) − c [ ∂ J ( W , X ) ∂ W ] W = W ( k ) W(k+1) = W(k) - c \nabla J = W(k) - c \left[ \frac{\partial J(W, X)}{\partial W} \right]_{W=W(k)} W(k+1)=W(k)cJ=W(k)c[WJ(W,X)]W=W(k)

随着权向量 W W W 向理论值接近,准则函数关于 W W W 的导数( ∇ J \nabla J J)越来越接近于零。这意味着准则函数 J J J 越来越接近最小值。当最终 ∇ J = 0 \nabla J = 0 J=0 时, J J J 达到最小值,此时 W W W 不再改变,算法收敛。

核心思想: 将感知器算法中联立不等式求解 W W W 的问题,转换为求函数 J J J 极小值的问题。

b) 比例因子 c c c 的选择
比例因子 c c c 的选取非常重要:

  • 如果 c c c 值太小,收敛速度会非常慢;
  • 如果 c c c 值太大,可能导致搜索过程震荡,甚至引起发散。

因此需要对 c c c 进行适当的选择,确保算法稳定高效。

c) 梯度下降法的通用性
梯度算法是求解权向量的通用解法,具体计算形式取决于准则函数 J ( W , X ) J(W, X) J(W,X) 的选择。根据 J ( W , X ) J(W, X) J(W,X) 的形式不同,得到的具体算法也不同。

二、均方误差最小算法

回顾:收敛问题分析
在感知器算法、梯度算法、固定增量算法或其他类似方法中,仅当模式类可分离时才能收敛。在不可分的情况下,算法可能出现以下问题:

  1. 算法回摆动,始终不收敛;
  2. 一次次迭代后依然不见收敛。
    原因:
  • a) 迭代过程本身收敛缓慢;
  • b) 模式本身不可分。

LMSE 算法特点

  • 对可分模式收敛。
  • 对于类别不可分的情况,也能指出问题所在。

两类分类问题的线性不等式解
假设给出两类模式 ω 1 \omega_1 ω1 ω 2 \omega_2 ω2 的训练样本集 { X i , i = 1 , 2 , … , N } \{X_i, i = 1, 2, \dots, N\} {Xi,i=1,2,,N},需要满足以下线性不等式:

W T X i > 0 , i = 1 , 2 , … , N W^T X_i > 0, \quad i = 1, 2, \dots, N WTXi>0,i=1,2,,N

其中, X i X_i Xi 为归一化增广样本向量,定义为:
X i = [ x i 1 , x i 2 , … , x i n , 1 ] T X_i = [x_{i1}, x_{i2}, \dots, x_{in}, 1]^T Xi=[xi1,xi2,,xin,1]T

展开形式
将上述不等式展开,可表示为:
ω 1 类: { w 1 x 11 + w 2 x 12 + ⋯ + w n x 1 n + w n + 1 > 0 对  X 1 w 1 x 21 + w 2 x 22 + ⋯ + w n x 2 n + w n + 1 > 0 对  X 2 ⋮ ω 2 类: − w 1 x N 1 − w 2 x N 2 − ⋯ − w n x N n − w n + 1 > 0 对  X N \omega_1 \, \text{类:} \quad \begin{cases} w_1 x_{11} + w_2 x_{12} + \cdots + w_n x_{1n} + w_{n+1} > 0 & \text{对 } X_1 \\ w_1 x_{21} + w_2 x_{22} + \cdots + w_n x_{2n} + w_{n+1} > 0 & \text{对 } X_2 \\ \vdots & \\ \omega_2 \, \text{类:} \quad -w_1 x_{N1} - w_2 x_{N2} - \cdots - w_n x_{Nn} - w_{n+1} > 0 & \text{对 } X_N \end{cases} ω1: w1x11+w2x12++wnx1n+wn+1>0w1x21+w2x22++wnx2n+wn+1>0ω2:w1xN1w2xN2wnxNnwn+1>0 X1 X2 XN

将线性不等式组表示为矩阵形式:令 N × ( n + 1 ) N \times (n+1) N×(n+1) 的长方矩阵为 X X X,则 W T X i > 0 W^T X_i > 0 WTXi>0 转化为:
X W > 0 XW > 0 XW>0
式中定义:

X = [ X 1 T X 2 T ⋮ X i T − X N − 1 T − X N T ] N × ( n + 1 ) X = \begin{bmatrix} X_1^T \\ X_2^T \\ \vdots \\ X_i^T \\ \hline -X_{N-1}^T \\ -X_N^T \end{bmatrix}_{N \times (n+1)} X= X1TX2TXiTXN1TXNT N×(n+1)

W = [ w 1 , w 2 , ⋯ , w n , w n + 1 ] T W = [w_1, w_2, \cdots, w_n, w_{n+1}]^T W=[w1,w2,,wn,wn+1]T

感知器算法通过求解不等式组 X W > 0 XW > 0 XW>0 来确定权向量 W W W

其中:

  • X 1 , X 2 , ⋯ , X i ∈ ω 1 X_1, X_2, \cdots, X_i \in \omega_1 X1,X2,,Xiω1 表示第一类样本,
  • X N − 1 , X N ∈ ω 2 X_{N-1}, X_N \in \omega_2 XN1,XNω2 表示第二类样本取负后包含在矩阵中,
  • 0 0 0 为零向量。

LMSE算法把对满足 X W > 0 XW > 0 XW>0 的求解,改为满足的求解。式中:

X W = B XW = B XW=B

B = [ b 1 , b 2 , ⋯ , b i , ⋯ , b N ] T B = [b_1, b_2, \cdots, b_i, \cdots, b_N]^T B=[b1,b2,,bi,,bN]T

为各分量均为正值的矢量。

说明:

  1. 在方程组中当行数 > > >> >> 列数时,通常无解,称为矛盾方程组,一般求近似解。在模式识别中,通常训练样本数 N N N 总是大于模式的维数 n n n,因此方程的个数(行数) > > >> >> 模式向量的维数(列数),是矛盾方程组,只能求近似解 W ∗ W^* W,即

∥ X W ∗ − B ∥ = 极小 \| XW^* - B \| = 极小 XWB=极小

  1. LMSE算法的出发点:选择一个准则函数,使得当达到最小值时, X W = B XW = B XW=B 可得到近似解(最小二乘近似解)。

准则函数定义为:

J ( W , X , B ) = 1 2 ∥ X W − B ∥ 2 J(W, X, B) = \frac{1}{2} \| XW - B \|^2 J(W,X,B)=21XWB2

3. LMSE算法的思路

  • X W > 0 XW > 0 XW>0 求解
    转化为
  • X W = B XW = B XW=B 求解
    转化为
  • 通过求准则函数极小值找 W , B W, B W,B

2. LMSE算法的出发点:
选择一个准则函数,使得当达到最小值时, X W = B XW = B XW=B 可得到近似解(最小二乘近似解)

准则函数定义为:
J ( W , X , B ) = 1 2 ∥ X W − B ∥ 2 J(W, X, B) = \frac{1}{2} \| XW - B \|^2 J(W,X,B)=21XWB2


3. LMSE算法的思路:

  • X W > 0 XW > 0 XW>0 求解
    转化为
  • X W = B XW = B XW=B 求解
    转化为
  • 通过求准则函数极小值找 W , B W, B W,B

考察向量 X W − B XW - B XWB 有:

在这里插入图片描述
∥ X W − B ∥ 2 = ( 向量各分量的平方和 ) = 向量各分量的平方和 \|XW - B\|^2 = (\text{向量各分量的平方和}) = \text{向量各分量的平方和} XWB2=(向量各分量的平方和)=向量各分量的平方和
即:

∥ X W − B ∥ 2 = ( W T X 1 − b 1 ) 2 + ⋯ + ( W T X N − b N ) 2 = ∑ i = 1 N ( W T X i − b i ) 2 \|XW - B\|^2 = (W^T X_1 - b_1)^2 + \cdots + (W^T X_N - b_N)^2 = \sum_{i=1}^N (W^T X_i - b_i)^2 XWB2=(WTX1b1)2++(WTXNbN)2=i=1N(WTXibi)2

准则函数

J ( W , X , B ) = 1 2 ∥ X W − B ∥ 2 = 1 2 ∑ i = 1 N ( W T X i − b i ) 2 J(W, X, B) = \frac{1}{2} \|XW - B\|^2 = \frac{1}{2} \sum_{i=1}^N \left( W^T X_i - b_i \right)^2 J(W,X,B)=21XWB2=21i=1N(WTXibi)2

X W = B XW = B XW=B 的近似解也称 “最优近似解”:
—— 使方程组两边所有误差之和最小(即最优)的解。

可以看出:

  1. 当函数处到最小值,等式 X W = B XW = B XW=B 有最优解。即又将问题转化为求准则函数极小值的问题。
  2. 因为有两个变量 W W W B B B,有更多的自由度供选择求解,故可望改善算法的收敛速率。

与问题相关的两个梯度

W W W 的梯度:
∂ J ∂ W = X T ( X W − B ) \frac{\partial J}{\partial W} = X^T (XW - B) WJ=XT(XWB)

B B B 的梯度:
∂ J ∂ B = − 1 2 [ ( X W − B ) + X W − B ] \frac{\partial J}{\partial B} = - \frac{1}{2} [(XW - B) + XW - B] BJ=21[(XWB)+XWB]


(1) 求 W W W 的递推关系

设梯度为 0,即:
∂ J ∂ W = 0 \frac{\partial J}{\partial W} = 0 WJ=0

则:
X T ( X W − B ) = 0 ⟹ X T X W = X T B X^T (XW - B) = 0 \implies X^T X W = X^T B XT(XWB)=0XTXW=XTB

因此:
W = ( X T X ) − 1 X T B = X # B W = (X^T X)^{-1} X^T B = X^\# B W=(XTX)1XTB=X#B

其中:

  • X # = ( X T X ) − 1 X T X^\# = (X^T X)^{-1} X^T X#=(XTX)1XT 称为 X X X 的伪逆;
  • X X X N × ( n + 1 ) N \times (n+1) N×(n+1) 长方阵, X # X^\# X# ( n + 1 ) × N (n+1) \times N (n+1)×N 长方阵。

(2) 求 B ( k + 1 ) B^{(k+1)} B(k+1) 的迭代公式

根据梯度算法公式:
W ( k + 1 ) = W ( k ) − c [ ∂ J ( W , X ) ∂ W ] W = W ( k ) W^{(k+1)} = W^{(k)} - c \left[\frac{\partial J(W, X)}{\partial W}\right]_{W=W^{(k)}} W(k+1)=W(k)c[WJ(W,X)]W=W(k)

利用梯度算法对应到 B B B 的公式:
B ( k + 1 ) = B ( k ) − c ′ [ ∂ J ∂ B ] B = B ( k ) B^{(k+1)} = B^{(k)} - c' \left[\frac{\partial J}{\partial B}\right]_{B=B^{(k)}} B(k+1)=B(k)c[BJ]B=B(k)

代入公式 (3-46),得:
B ( k + 1 ) = B ( k ) + c ′ 2 [ ( X W ( k ) − B ( k ) ) + ∣ X W ( k ) − B ( k ) ∣ ] B^{(k+1)} = B^{(k)} + \frac{c'}{2} \left[(XW^{(k)} - B^{(k)}) + |XW^{(k)} - B^{(k)}|\right] B(k+1)=B(k)+2c[(XW(k)B(k))+XW(k)B(k)]

c ′ 2 = c \frac{c'}{2} = c 2c=c,定义:
X W ( k ) − B ( k ) = e ( k ) (3-49) XW^{(k)} - B^{(k)} = e^{(k)} \tag{3-49} XW(k)B(k)=e(k)(3-49)

最终迭代公式为:
B ( k + 1 ) = B ( k ) + c [ e ( k ) + ∣ e ( k ) ∣ ] (3-50) B^{(k+1)} = B^{(k)} + c \left[e^{(k)} + |e^{(k)}|\right] \tag{3-50} B(k+1)=B(k)+c[e(k)+e(k)](3-50)
(3) 求 W ( k + 1 ) W^{(k+1)} W(k+1) 的迭代式

W ( k + 1 ) = X # B ( k + 1 ) W^{(k+1)} = X^\# B^{(k+1)} W(k+1)=X#B(k+1),代入公式 (3-50) 得:
W ( k + 1 ) = X # { B ( k ) + c [ e ( k ) + e ( k ) ] } W^{(k+1)} = X^\# \left\{B^{(k)} + c \left[e^{(k)} + e^{(k)}\right]\right\} W(k+1)=X#{B(k)+c[e(k)+e(k)]}

化简后:
W ( k + 1 ) = W ( k ) + c X # e ( k ) W^{(k+1)} = W^{(k)} + c X^\# e^{(k)} W(k+1)=W(k)+cX#e(k)

结合以下公式:
B ( k + 1 ) = B ( k ) + c [ e ( k ) + e ( k ) ] (3-50) B^{(k+1)} = B^{(k)} + c \left[e^{(k)} + e^{(k)}\right] \tag{3-50} B(k+1)=B(k)+c[e(k)+e(k)](3-50)

X W ( k ) − B ( k ) = e ( k ) (3-49) XW^{(k)} - B^{(k)} = e^{(k)} \tag{3-49} XW(k)B(k)=e(k)(3-49)

最终得出 W ( k + 1 ) W^{(k+1)} W(k+1) 的迭代公式。

总结:

设初值 B ( 1 ) B(1) B(1),各分量均为正值,括号中数字代表迭代次数。

W ( 1 ) = X # B ( 1 ) W(1) = X^{\#} B(1) W(1)=X#B(1)

e ( k ) = X W ( k ) − B ( k ) e^{(k)} = XW^{(k)} - B^{(k)} e(k)=XW(k)B(k)

W ( k + 1 ) = W ( k ) + c X # e ( k ) W^{(k+1)} = W^{(k)} + c X^{\#} e^{(k)} W(k+1)=W(k)+cX#e(k)

B ( k + 1 ) = B ( k ) + c [ e ( k ) + e ( k ) ] B^{(k+1)} = B^{(k)} + c \left[e^{(k)} + e^{(k)}\right] B(k+1)=B(k)+c[e(k)+e(k)]

W ( k + 1 ) W^{(k+1)} W(k+1) B ( k + 1 ) B^{(k+1)} B(k+1) 互相独立,先后次序无关。

收敛性证明:
可以证明:当模式类线性可分,且校正系数 c c c 满足 0 < c ≤ 1 0 < c \leq 1 0<c1 时,该算法收敛,可求得解 W W W
理论上不能证明该算法到底需要迭代多少步才能达到收敛,通常在每次迭代计算后检查一下 X W ( k ) XW^{(k)} XW(k) 和误差向量 e ( k ) e^{(k)} e(k),从而可以判断是否已收敛。

  1. 如果 e ( k ) = 0 e^{(k)} = 0 e(k)=0,表明 X W ( k ) = B ( k ) > 0 XW^{(k)} = B^{(k)} > 0 XW(k)=B(k)>0,有解。

  2. 如果 e ( k ) > 0 e^{(k)} > 0 e(k)>0,表明 X W ( k ) > B ( k ) > 0 XW^{(k)} > B^{(k)} > 0 XW(k)>B(k)>0,隐含有解。继续迭代,可使 e ( k ) → 0 e^{(k)} \to 0 e(k)0

  3. 如果 e ( k ) < 0 e^{(k)} < 0 e(k)<0(所有分量为负数或零,但不全为零),停止迭代,无解。此时若继续迭代,数据不再发生变化。

三、支持向量机 (SVM)

1. 算法原理

支持向量机(Support Vector Machine, SVM)是一种用于分类和回归的监督学习算法,其主要目标是寻找一个超平面将不同类别的数据分开,同时最大化分类间隔(margin)。

(1) 问题描述

给定一个训练数据集:

D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } D = \{(x_1, y_1), (x_2, y_2), \dots, (x_N, y_N)\} D={(x1,y1),(x2,y2),,(xN,yN)}

其中, x i ∈ R n x_i \in \mathbb{R}^n xiRn 是特征向量, y i ∈ { − 1 , + 1 } y_i \in \{-1, +1\} yi{1,+1} 是类别标签。

目标是找到一个超平面:
w T x + b = 0 w^T x + b = 0 wTx+b=0

使得超平面最大化分类间隔,并满足:

y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , … , N y_i (w^T x_i + b) \geq 1, \quad i = 1, 2, \dots, N yi(wTxi+b)1,i=1,2,,N

其中, w w w 是超平面的法向量, b b b 是偏置。

(2) 优化问题

最大化分类间隔等价于最小化 w w w 的范数。优化问题可表示为:

原始问题:
min ⁡ w , b 1 2 ∥ w ∥ 2 \min_{w, b} \frac{1}{2} \|w\|^2 w,bmin21w2
约束条件:
y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , … , N y_i (w^T x_i + b) \geq 1, \quad i = 1, 2, \dots, N yi(wTxi+b)1,i=1,2,,N

对偶问题:
通过拉格朗日乘子法,将问题转化为对偶形式:
max ⁡ α ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i T x j \max_{\alpha} \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j αmaxi=1Nαi21i=1Nj=1NαiαjyiyjxiTxj
约束条件:
∑ i = 1 N α i y i = 0 , α i ≥ 0 , i = 1 , 2 , … , N \sum_{i=1}^N \alpha_i y_i = 0, \quad \alpha_i \geq 0, \quad i = 1, 2, \dots, N i=1Nαiyi=0,αi0,i=1,2,,N

(3) 核方法(非线性分类)

若数据不可线性分离,可以通过核函数将数据映射到高维空间。常用的核函数包括:

  1. 线性核: K ( x i , x j ) = x i T x j K(x_i, x_j) = x_i^T x_j K(xi,xj)=xiTxj
  2. 多项式核: K ( x i , x j ) = ( x i T x j + c ) d K(x_i, x_j) = (x_i^T x_j + c)^d K(xi,xj)=(xiTxj+c)d
  3. 高斯核(RBF): K ( x i , x j ) = exp ⁡ ( − ∥ x i − x j ∥ 2 2 σ 2 ) K(x_i, x_j) = \exp\left(-\frac{\|x_i - x_j\|^2}{2\sigma^2}\right) K(xi,xj)=exp(2σ2xixj2)

通过核函数,优化问题中的 x i T x j x_i^T x_j xiTxj 替换为 K ( x i , x j ) K(x_i, x_j) K(xi,xj)


示例

假设训练数据为:
D = { ( x 1 = [ 2 , 3 ] , y 1 = 1 ) , ( x 2 = [ 1 , 1 ] , y 2 = − 1 ) } D = \{(x_1 = [2, 3], y_1 = 1), (x_2 = [1, 1], y_2 = -1)\} D={(x1=[2,3],y1=1),(x2=[1,1],y2=1)}

(1) 构造优化问题
超平面形式:
w T x + b = 0 w^T x + b = 0 wTx+b=0

优化目标:
min ⁡ w , b 1 2 ∥ w ∥ 2 \min_{w, b} \frac{1}{2} \|w\|^2 w,bmin21w2
约束条件:
y 1 ( w T x 1 + b ) ≥ 1 , y 2 ( w T x 2 + b ) ≥ 1 y_1 (w^T x_1 + b) \geq 1, \quad y_2 (w^T x_2 + b) \geq 1 y1(wTx1+b)1,y2(wTx2+b)1

替换数据:
1 ⋅ ( ( w 1 ⋅ 2 + w 2 ⋅ 3 ) + b ) ≥ 1 1 \cdot ((w_1 \cdot 2 + w_2 \cdot 3) + b) \geq 1 1((w12+w23)+b)1
− 1 ⋅ ( ( w 1 ⋅ 1 + w 2 ⋅ 1 ) + b ) ≥ 1 -1 \cdot ((w_1 \cdot 1 + w_2 \cdot 1) + b) \geq 1 1((w11+w21)+b)1

约束变为:
2 w 1 + 3 w 2 + b ≥ 1 2w_1 + 3w_2 + b \geq 1 2w1+3w2+b1
− w 1 − w 2 − b ≥ 1 -w_1 - w_2 - b \geq 1 w1w2b1

(2) 对偶问题

通过求解对偶问题,计算拉格朗日乘子 α i \alpha_i αi,得到解:
w = [ 0.4 , 0.6 ] , b = − 1.2 w = [0.4, 0.6], \quad b = -1.2 w=[0.4,0.6],b=1.2

(3) 分类决策

分类决策函数:
f ( x ) = sign ( w T x + b ) f(x) = \text{sign}(w^T x + b) f(x)=sign(wTx+b)

对新数据点 x = [ 3 , 4 ] x = [3, 4] x=[3,4] 进行分类:
f ( x ) = sign ( [ 0.4 , 0.6 ] T [ 3 , 4 ] − 1.2 ) f(x) = \text{sign}([0.4, 0.6]^T [3, 4] - 1.2) f(x)=sign([0.4,0.6]T[3,4]1.2)
f ( x ) = sign ( 0.4 ⋅ 3 + 0.6 ⋅ 4 − 1.2 ) = sign ( 3.6 ) = + 1 f(x) = \text{sign}(0.4 \cdot 3 + 0.6 \cdot 4 - 1.2) = \text{sign}(3.6) = +1 f(x)=sign(0.43+0.641.2)=sign(3.6)=+1

因此, x = [ 3 , 4 ] x = [3, 4] x=[3,4] 的分类结果为正类。


http://www.ppmy.cn/server/152594.html

相关文章

Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表

文章目录 Linux性能监控命令_nmon 安装与使用安装解压创建nmono目录解压到nmono目录当中切换到sources目录下解压 配置环境变量创建软链接到 /usr/bin/ 目录下打开 配置文件 配置环境变量在底部增加如下注册 使用使用说明监控监控CPU监控内存监控磁盘监控网络监控文件系统 后台…

React 第十七节 useMemo用法详解

概述 useMemo 是React 中的一个HOOK&#xff0c;用于根据依赖在每次渲染时候缓存计算结果&#xff1b; 大白话就是&#xff0c;只有依赖项发生变化时候&#xff0c;才会重新渲染为新计算的值&#xff0c;否则就还是取原来的值&#xff0c;有点类似 vue 中的 computed 计算属性…

Android笔记【19】

具体示例 run: val result someObject.run {// 这里可以使用 thisthis.someMethod() }let: val result someObject?.let {// 这里使用 itit.someMethod() }with: val result with(someObject) {// 这里使用 thissomeMethod() }apply: val obj SomeClass().apply {// 这里使…

跨站点请求伪造(Cross Sites Request Forgery)类漏洞攻击方式与防御措施|软件安全测试技术系列

本系列文章分享JavaScript语言常见的安全漏洞&#xff0c;漏洞的原理&#xff0c;可能导致的安全问题&#xff0c;以及如何防御与避免。本文分享的是跨站点请求伪造&#xff08;Cross Sites Request Forgery&#xff09;。 跨站点请求伪造&#xff0c;指利用用户身份操作用户账…

普通人不搞副业还有什么出路?难道都能选择躺平?

为什么今天要讲到这个话题&#xff0c;还是因为总有小白问我&#xff0c;有什么好做的项目&#xff0c;有什么撰米的项目... 还有想法终归是好的&#xff0c;还想搞钱&#xff0c;没有直接摆烂、躺平… 也有不少人选择了躺平&#xff0c;但人家确实有躺平的资格&#xff01; …

如何设计一个秒杀系统

开局一张图 结局要说清 对于设计一个秒杀系统&#xff0c;结合图片分层结构&#xff0c;根据每一层从访问层&#xff0c;负载层&#xff0c;服务层&#xff0c;业务层&#xff0c;支撑层&#xff0c;数据层&#xff0c;详细说明每一层应该怎么设计。 应该注意那些事项。比如访…

详细ECharts图例3添加鼠标单击事件的柱状图

<!DOCTYPE html><html><head><meta charset"UTF-8"><script src"js/echarts.js"></script> <!-- 确保路径正确 --><title>添加鼠标单击事件的柱状图</title></head><body><div id&q…

华为IPD流程6大阶段370个流程活动详解_第一阶段:概念阶段 — 81个活动

华为IPD流程涵盖了产品从概念到上市的完整过程,各阶段活动明确且相互衔接。在概念启动阶段,产品经理和项目经理分析可行性,PAC评审后成立PDT。概念阶段则包括产品描述、市场定位、投资期望等内容的确定,同时组建PDT核心组并准备项目环境。团队培训涵盖团队建设、流程、业务…