支持向量机 4 模式识别的方法

4 模式识别的方法

4.1 神经网络

假设我们采用ERM原则,对给定数目的训练样本上设计了一个十分复杂的学习机器(VC维很大),在训练样本上经验风险可以很小,但置信区间变大,这种现象称为过学习或过适应。故我们希望在两者之间折衷考虑,这产生了两种方法:

  1. 保持置信范围一定(选择适当构造的机器),最小化经验风险,具体实现如神经网络
  2. 保持经验风险固定(如等于0,在完全可分时),最小化置信范围,具体实现如支持向量机

考虑指示函数集合
f ( x , ω ) = s g n { ω ⋅ x + b } , ω ∈ R n , b ∈ R f(x, \omega) = sgn\{ \omega \cdot x + b\}, \omega \in \R^n, b \in \R f(x,ω)=sgn{ ωx+b},ωRn,bR
当训练数据对于 ω ∈ R n \omega \in \R^n ωRn 无法完全正确分开时,我们只能希望找到错误最少的分类,但这一过程是NP完全的,而且我们无法使用基于梯度的算法找到局部极小值点(因指示函数导数要么为0,要么不存在),因此人们提出了用一个可导的函数(sigmoid)去逼近指示函数。

称平滑单调的函数 S S S 为 sigmoid函数,若 S S S 满足
S ( − ∞ ) = − 1 ,    S ( + ∞ ) = 1 S(-\infty) = -1,\ \ S(+\infty) = 1 S()=1,  S(+)=1
一个典型的例子是
S ( u ) = tanh ⁡ ( u ) = e u − e − u e u + e − u S(u) = \tanh(u) = \dfrac{e^u-e^{-u}}{e^u+e^{-u}} S(u)=tanh(u)=eu+eueueu
简单起见,不考虑常数偏置,设
f ( x , ω ) = S ( ω ⋅ x ) , ω ∈ R n R e m p ( ω ) = 1 l ∑ i = 1 l ( y i − S ( ω ⋅ x i ) ) 2 f(x, \omega) = S(\omega \cdot x), \omega \in \R^n \\ R_{emp} (\omega) = \dfrac{1}{l}\sum\limits_{i=1}^l (y_i - S(\omega \cdot x_i))^2 f(x,ω)=S(ωx),ωRnRemp(ω)=l1i=1l(yiS(ωxi))2
有如下梯度下降解法( n n n 为迭代次数)
g r a d ω R e m p ( ω ) = − 2 l ∑ j = 1 l ( y j − S ( ω ⋅ x j ) ) S ′ ( ω ⋅ x j ) x j T ω n e w = ω o l d − γ ( n ) g r a d ω R e m p ( ω o l d ) grad_\omega R_{emp}(\omega) = -\dfrac{2}{l}\sum\limits_{j=1}^l (y_j - S(\omega \cdot x_j))S'(\omega \cdot x_j)x_j^T \\ \omega_{new} = \omega_{old} - \gamma(n) grad_\omega R_{emp}(\omega_{old}) gradωRemp(ω)=l2j=1l(yjS(ωxj))S(ωxj)xjTωnew=ωoldγ(n)gradωRemp(ωold)
其中,梯度下降法收敛于局部极小值点的充分条件为梯度值有界,且系数满足
∑ n = 1 ∞ γ ( n ) = ∞ ,    ∑ n = 1 ∞ γ 2 ( n ) < ∞ \sum\limits_{n=1}^\infty \gamma(n) = \infty, \ \ \sum\limits_{n=1}^\infty \gamma^2(n) < \infty n=1γ(n)=,  n=1γ2(n)<

# 但实际操作过程中 γ \gamma γ 即学习率始终为定值,尽管在有限次迭代之后终止(这可能意味着在有限次终止之后的无限次假想迭代过程中的 γ \gamma γ 将满足上面的条件)

# 另外 ∂ ω T x ∂ ω = I x = x \dfrac{\partial \omega^T x}{\partial \omega} = Ix=x ωωTx=Ix=x 而非 x T x^T xT 这个情况也值得商榷。(即使从直觉角度, ω \omega ω x x x 的形状相同,而我们要求经验风险梯度的形状与 ω \omega ω 相同, 故也应该是 x x x 而非 x T x^T xT

后向传播方法

假设存在神经网络共 m + 1 m+1 m+1层, 最后一层是单输出的感知器,前 m m m 层满足
x i ( k ) = S ( w ( k ) x i ( k − 1 ) ) , k = 1 , 2 , . . . , m u i ( k ) = w ( k ) x i ( k − 1 ) = [ u i 1 ( k ) , . . . , u i n k ( k ) ] T S ( u i ( k ) ) = [ S ( u i 1 ( k ) ) , . . . , S ( u i n k ( k ) ) ] T x_i(k) = S(w(k)x_i(k-1)), k=1,2,...,m \\ u_i(k) = w(k)x_i(k-1) = [u^1_i(k),...,u^{n_k}_i(k)]^T \\ S(u_i(k)) = [S(u^1_i(k)),...,S(u^{n_k}_i(k))]^T xi(k)=S(w(k)xi(k1)),k=1,2,...,mui(k)=w(k)xi(k1)=[ui1(k),...,uink(k)]TS(ui(k))=[S(ui1(k)),...,S(uink(k))]T
x i ( k ) x_i(k) xi(k) 为第i个样本的第k层向量, w ( k ) w(k) w(k) 是连接第k-1层和第k层的权值矩阵,目标为最小化经验泛函
I ( w ( 1 ) , . . . , w ( m ) ) = 1 l ∑ i = 1 l ( y i − x i ( m ) ) 2 I(w(1),...,w(m)) =\dfrac{1}{l}\sum\limits_{i=1}^l (y_i - x_i(m))^2 I(w(1),...,w(m))=l1i=1l(yixi(m))2
我们将其看作一个带等式约束条件的凸优化问题,采用拉格朗日乘子法解决:
L ( w , x , b ) = 1 l ∑ i = 1 l ( y i − x i ( m ) ) 2 − ∑ i = 1 l ∑ k = 1 m ( b i ( k ) ⋅ [ x i ( k ) − S ( w ( k ) x i ( k − 1 ) ) ] ) L(w,x,b) = \dfrac{1}{l}\sum\limits_{i=1}^l (y_i - x_i(m))^2 -\sum\limits_{i=1}^l\sum\limits_{k=1}^m (b_i(k) \cdot [x_i(k) - S(w(k)x_i(k-1))]) L(w,x,b)=l1i=1l(yixi(m))2i=1lk=1m(bi(k)[xi(k)S(w(k)xi(k1))])

需要注意 x i ( m ) x_i(m) xi(m) 为标量,但 x i ( k ) , k ≠ m x_i(k), k \not = m xi(k),k=m 为向量。矩阵求导规律见《矩阵分析和应用(张贤达,第五章)》。

第一个子条件(前向动力)
∂ L ∂ b i ( k ) = 0    →    x i ( k ) = S ( w ( k ) x i ( k − 1 ) ) ,    i = 1 , . . . , l ,   k = 1 , . . . , m \dfrac{\partial L}{\partial b_i(k)} = 0\ \ \to \ \ x_i(k) = S(w(k)x_i(k-1)),\ \ i=1,...,l,\ k=1,...,m bi(k)L=0    xi(k)=S(w(k)xi(k1)),  i=1,...,l, k=1,...,m
第一个子条件(后向动力)
∂ L ∂ x i ( m ) = 0    →    b i ( m ) = − 2 l ( y i − x i ( m ) ) ,    i = 1 , . . . , l ∂ L ∂ x i ( k ) = 0 , k ≠ m    →    0 = ∂ ( − b i ( k ) ⋅ x i ( k ) + b i ( k + 1 ) ⋅ S ( w ( k + 1 ) x i ( k ) ) ) ∂ x i ( k ) = − b i ( k ) + ∂ S ( w ( k ) x i ( k ) ) ∂ x i ( k ) b i ( k + 1 ) → b i ( k ) = ∂ S ( w ( k ) x i ( k ) ) ∂ x i ( k ) b i ( k + 1 ) \dfrac{\partial L}{\partial x_i(m)} = 0\ \ \to \ \ b_i(m) = \dfrac{-2}{l} (y_i - x_i(m)),\ \ i=1,...,l \\ \dfrac{\partial L}{\partial x_i(k)} = 0, k \not = m\ \ \to \ \ 0=\dfrac{\partial (-b_i(k) \cdot x_i(k) + b_i(k+1) \cdot S(w(k+1)x_i(k)))}{\partial x_i(k)}\\=-b_i(k) + \dfrac{\partial S(w(k)x_i(k))}{\partial x_i(k)}b_i(k+1) \to b_i(k) = \dfrac{\partial S(w(k)x_i(k))}{\partial x_i(k)} b_i(k+1) xi(m)L=0    bi(m)=l2(yixi(m)),  i=1,...,lxi(k)L=0,k=m    0=xi(k)(bi(k)xi(k)+bi(k+1)S(w(k+1)xi(k)))=bi(k)+xi(k)S(w(k)xi(k))bi(k+1)bi(k)=xi(k)S(w(k)xi(k))bi(k+1)

第三个子条件(权值更新)
在极值点上 ∂ L ∂ w ( k ) = 0 \dfrac{\partial L}{\partial w(k)} = 0 w(k)L=0, 考虑不在极值点:
w ( k ) ← w ( k ) − γ ( n ) ∂ L ∂ w ( k ) ,    ∂ L ∂ w ( k ) = ∑ i = 1 l b i ( k ) ∂ S ( w ( k ) x i ( k − 1 ) ) ∂ w ( k ) w(k) \leftarrow w(k) - \gamma(n) \dfrac{\partial L}{\partial w(k)}, \ \ \dfrac{\partial L}{\partial w(k)} = \sum\limits_{i=1}^l b_i(k) \dfrac{\partial S(w(k)x_i(k-1))}{\partial w(k)} w(k)w(k)γ(n)w(k)L,  w(k)L=i=1lbi(k)w(k)S(w(k)xi(k1))

若将神经网络用于回归估计,只需在最后一层用线性函数来取代sigmoid函数即可。


4.2 支撑向量机

支持向量机 (Support Vector Machine, SVM, SV机)实现了如下方案:通过事先选择的某种映射将输入 x x x映射到高维空间 Z Z Z中向量 z z z,并在 Z Z Z 中构造最优分类超平面。

Δ \Delta Δ-间隔分类超平面

一个超平面 w ∗ ⋅ x + b = 0 , ∣ ∣ w ∗ ∣ ∣ = 1 w^* \cdot x + b = 0, ||w^*|| = 1 wx+b=0,w=1 以如下方式将向量 x x x 分类
y = { 1 i f    w ∗ ⋅ x − b ≥ Δ − 1 i f    w ∗ ⋅ x − b ≤ − Δ y=\begin{cases} 1 &if \ \ w^* \cdot x - b \ge \Delta \\ -1 &if \ \ w^* \cdot x - b \le -\Delta \end{cases} y={ 11if  wxbΔif  wxbΔ
则称该超平面为 Δ \Delta Δ-间隔分类超平面。关于 Δ \Delta Δ-间隔分类超平面 有如下定理

定理 4.1

设向量 x ∈ X x \in X xX 在一个半径为 R R R 的球中,那么 Δ \Delta Δ-间隔分类超平面的VC维 h ≤ min ⁡ { [ R 2 Δ 2 ] , n } + 1 h \le \min\{[\dfrac{R^2}{\Delta^2}],n\} + 1 hmin{ [Δ2R2],n}+1

定理 4.2

l l l 个样本的训练集被最大间隔超平面完全分开, P e r r o r P_{error} Perror 为测试错误概率, m m m 为支持向量的个数, R R R 为包含所有训练集向量的最小超球半径, Δ \Delta Δ 为间隔值, n n n 为输入空间维数,则有
E [ P e r r o r ] ≤ E [ min ⁡ { m l , [ R 2 Δ − 2 ] l , n l } ] E[P_{error}] \le E[\min\{\dfrac{m}{l}, \dfrac{[R^2\Delta^{-2}]}{l}, \dfrac{n}{l}\}] E[Perror]E[min{ lm,l[R2Δ2],ln}]

上述定理表明,间隔越大,VC维越小,测试错误概率越小。因此我们希望找到间隔尽可能大的超平面。

# 一般 R ( α ) = f ( R e m p ( α ) , Φ ( ζ ) ) R(\alpha) = f(R_{emp}(\alpha), \Phi(\zeta)) R(α)=f(Remp(α),Φ(ζ)), 完全分类时 R e m p ( α ) = 0 R_{emp}(\alpha) = 0 Remp(α)=0, 在3.4节情况3中, R ( α ) = R e m p ( α ) ( 1 − a ( p ) τ ζ ) + R(\alpha) = \dfrac{R_{emp}(\alpha)}{(1-a(p)\tau\sqrt\zeta)_+} R(α)=(1a(p)τζ )+Remp(α),此时置信区间是否还起作用?若为情况2, R ( α ) = R e m p ( α ) + Φ ( ζ ) R(\alpha) = R_{emp}(\alpha) + \Phi(\zeta) R(α)=Remp(α)+Φ(ζ),那么我认为上述定理直接表明 R ( α ) ≲ h / l R(\alpha) \lesssim h / l R(α)h/l,这样的结果是不是有点太好了?

最优超平面

假定训练数据(向量集合)
( x 1 , y 1 ) , . . . ( x n , y n ) , x ∈ R n , y ∈ { − 1 , + 1 } (x_1,y_1),...(x_n,y_n), x \in \R^n, y \in \{-1, +1\} (x1,y1),...(xn,yn),xRn,y{ 1,+1}
可以被超平面 w ⋅ x + b = 0 w \cdot x + b = 0 wx+b=0 分开。若分开的结果为完全正确,且离超平面最近的向量与超平面之间的距离是所有可能中最大的,称该向量集合被 最优超平面最大间隔超平面 分开。显然最优超平面为 Δ = 1 / ∣ ∣ w ∣ ∣ \Delta = 1/ ||w|| Δ=1/w Δ \Delta Δ-间隔分类超平面。
超平面的正确分类的条件为:
( w ⋅ x i + b ) { ≥ 1 i f    y i = 1 ≤ − 1 i f    y i = − 1 (w \cdot x_i + b) \begin{cases} \ge 1 &if\ \ y_i = 1 \\ \le -1 &if\ \ y_i = -1 \end{cases} (wxi+b){ 11if  yi=1if  yi=1
或者写成
y i [ w ⋅ x i + b ] ≥ 1 ,    i = 1 , . . . , l y_i[w \cdot x_i + b] \ge 1,\ \ i=1,...,l yi[wxi+b]1,  i=1,...,l
距离最大条件为
w = arg ⁡ min ⁡ { Φ ( w ) = ∣ ∣ w ∣ ∣ 2 } w = \arg\min\{ \Phi(w) = ||w||^2\} w=argmin{ Φ(w)=w2}


4.3 构造最优超平面

根据最优超平面的定义,即最小化泛函
Φ ( w ) = 1 2 w ⋅ w \Phi(w) = \dfrac{1}{2}w \cdot w Φ(w)=21ww
约束条件为
y i [ w ⋅ x i + b ] ≥ 1 ,    i = 1 , . . . , l y_i[w \cdot x_i + b] \ge 1,\ \ i=1,...,l yi[wxi+b]1,  i=1,...,l

采用不等式约束的拉格朗日乘子法,拉格朗日函数
L ( w , b , α ) = 1 2 w ⋅ w + ∑ i = 1 l α i ( 1 − y i [ w ⋅ x i + b ] ) ,    α i ≥ 0 L(w, b, \alpha) = \dfrac{1}{2}w \cdot w + \sum\limits_{i=1}^l \alpha_i (1-y_i[w \cdot x_i + b] ),\ \ \alpha_i \ge 0 L(w,b,α)=21ww+i=1lαi(1yi[wxi+b]),  αi0

目标为 max ⁡ α min ⁡ w , b L \max\limits_{\alpha}\min\limits_{w, b}L αmaxw,bminL,拉格朗日函数对 w , b w, b w,b 求偏导得
w 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值