邱锡鹏《神经网络与深度学习》线性分类模型综述


线性模型的公式一般形式为:f(x;ω)=ω^T x+b;其中ω=[ω_1,⋯,ω_D]T为D维权重向量,b为偏置。在分类问题中,输出目标y是一些离散的标签,所以要引入其他函数来预测输出目标。

在这里插入图片描述

其中f(x;ω)为判别函数,决策函数g(·)。
例如:g(·)可以为符号函数:
在这里插入图片描述
当f(x;ω)=0时不预测。

模型一:二分类与多分类问题

二分类

二分类中,样本只有两种取值{-1,1},常用正例和负例来表示;二分类任务中,我们需要一个线性判别函数f(x;ω)= ω T ω^T ωT x+b.特征空间R^D中所有满足f(x;ω)=0的点组成一个分割超平面,称为决策边界或决策平面。将特征空间一分为二,每个区域对应一个类别。
其中决策边界与权重向量ω正交(因为f(x;ω)=0),特征空间中每个样本点到决策平面的有向距离为
在这里插入图片描述
γ也可以看作是点x在ω方向的投影。
在二分类问题中:在给定N个样本的训练集上,线性模型试图学习到参数 ω ∗ ω^* ω,使得每个样本( x ( n ) x^{(n)} x(n), y ( n ) y^{(n)} y(n))尽量满足
在这里插入图片描述
在这里插入图片描述
联合上面两个式子,如果存在权重 ω ∗ ω^* ω,对所有样本有 y f ( x ( n ) ; ω ∗ ) yf(x^{(n)};ω^*) yf(x(n);ω)>0(当y=-1时满足 y f ( x ( n ) ; ω ∗ ) yf(x^{(n)};ω^*) yf(x(n);ω)>0即 f ( x ( n ) ; ω ∗ ) f(x^{(n)};ω^*) f(x(n);ω)<0,当y=1时, f ( x ( n ) ; ω ∗ ) f(x^{(n)};ω^*) f(x(n);ω)>0)则说明改训练集是线性可分的。
可以用0-1损失函数来度量模型的性能,但是在优化模型时,0-1模型就起不到应有的作用,因为其关于ω的导数为0。
可用logistic regression的损失函数对模型优化,具体可见:链接!!!中week3的笔记描述。

多分类

多分类问题指问题类别数K≥3的情况{1,2,…,K},常用的分类方式主要有以下三种:
(1)“一对其他”:
把K个多类问题分成K个两类问题,每一个两类问题是一个一对多的问题(判断我是不是第i类),因此有K个判别函数,K组权向量。
在这里插入图片描述
在这里插入图片描述
如图中所示,每一类别可用一个简单的直线判别结面将它与其他类别分开。
例如: x ∈ ω 1 x∈ω_1 xω1的模式,应同时满足: d 1 ( x ) > 0 , d 2 ( x ) < 0 , d 3 ( x ) < 0 d_1(x)>0,d_2(x)<0,d_3(x)<0 d1(x)>0d2(x)<0d3(x)<0
IR(不确定区域):对某一区域, d i ( x ) > 0 d_i(x)>0 di(x)>0的条件超过一个,或者全部小于0时,无法判别出该区域到底属于哪一类。
(2)“一对一方式”:
采用每对划分的方法,即 ω i 、 ω j ω_i 、ω_j ωiωj两分法,此时一个判别面只能分开两种类别,不能把它与其余所有类别分开。因此有 ( K ( K − 1 ) 2 ) \left(\frac{K(K-1)}{2}\right) (2K(K1))个判别函数(K类两两组合,即 C k 2 C_k^2 Ck2)其判别函数为:
d i j ( x ) = W i j T X ( 重 要 性 质 : d i j = − d i j , 相 当 于 决 策 边 界 有 方 向 ) d_{ij}(x)=W_{ij}^TX(重要性质:d_{ij}=-d_{ij},相当于决策边界有方向) dij(x)=WijTX(dij=dij)
d i j ( x ) > 0 d_{ij }(x)>0 dij(x)>0,对所有 j ≠ i j≠i j=i都成立,则 x ∈ ω i x∈ω_i xωi
在这里插入图片描述
如图所示, d 12 = 0 d_{12}=0 d12=0仅能分开 ω 1 ω_1 ω1 ω 2 ω_2 ω2类,不能分开 ω 1 ω_1 ω1 ω 3 ω_3 ω3
图中不确定区域为: 若所有 d i j ( x ) d_{ij }(x) dij(x),找不到任意 ∀ j ≠ ⅈ , d i j ( x ) > 0 ∀j≠ⅈ,d_{ij }(x)>0 j=dij(x)>0的情况。(例如:在某一区域 d 12 > 0 d_{12}>0 d12>0 d 13 < 0 d_{13}<0 d13<0这就不能判定该区域是否属于第一类。)
(3)“argmax方式”:
假若在“一对一方式”中的d_ij (x)可分解成:
d i j ( x ) = d ⅈ ( x ) − d j ( x ) = ( ω i − ω j ) T x d_{ij }(x)=d_ⅈ (x)-d_j (x)=(ω_i-ω_j )^T x dij(x)=d(x)dj(x)=(ωiωj)Tx
d i j ( x ) > 0 d_{ij} (x)>0 dij(x)>0相当于 d ⅈ ( x ) > d j ( x ) d_ⅈ (x)>d_j (x) d(x)>dj(x),即有K个类别则有K个判别函数,第i类就是 d i ( x ) = ω i T x , i = 1 , 2 , … , K d_i (x)=ω_i^T x,i=1,2,…,K di(x)=ωiTx,i=1,2,,K
d i ( x ) > d j ( x ) d_i (x)>d_j (x) di(x)>dj(x),对任意 i ≠ j i≠j i=j都成立,则 x ∈ ω i x∈ω_i xωi,也可写成
d i ( x ) = m a x ⁡ ( d k ( x ) , k = 1 , 2 , … , K ) , 则 x ∈ ω i 。 ( 把 样 本 x 带 入 K 个 判 别 函 数 中 , 找 出 值 最 大 的 一 个 , 他 就 属 于 那 一 类 。 ) d_i (x)=max⁡(d_k (x),k=1,2,…,K),则x∈ω_i。(把样本x带入K个判别函数中,找出值最大的一个,他就属于那一类。) di(x)=max(dk(x),k=1,2,,K)xωixK
在这里插入图片描述
如图所示,它不存在不确定区域。

模型二:Logistic Regression

Logistic回归是一种常用的处理二分类问题的线性模型,模型目标即分别预测:p(y=├ 1┤|x)和 p ( y = 1 ∣ x ) p(y=1|x) p(y=1x)各子概率的问题,因为类别数为2所以 p ( y = 0 ∣ x ) p(y=0|x) p(y=0x)+ p ( y = 1 ∣ x ) p(y=1|x) p(y=1x)=1,模型只要计算出其中一个的概率即可。
一般来说 p ( y = 1 ∣ x ) = g ( f ( x ; ω ) ) p(y=1|x)=g(f(x;ω)) p(y=1x)=g(f(x;ω))其中g(·)通常称为激活函数,作用是把线性函数的值域从实数域压缩到了(0,1)区间。Logistic回归中一般用logistic函数,即: p ( y = 1 ∣ x ) = σ ( ω T x ) = 1 1 + e − ω T x p(y=1|x)=σ(ω^T x)=\frac{1}{1+e^{-\omega^Tx}} p(y=1x)=σ(ωTx)=1+eωTx1这里的x和ω分别为D+1维的增广特征向量和增广特征权重(x中增加了偏置1,权重中增加了b)。
Logistic回归采用交叉熵作为损失函数,并使用梯度下降法对参数进行优化。其损失函数为:
在这里插入图片描述
其中N为样本个数, y ( n ) y^{(n)} y(n)为样本的真实值, y ^ ( n ) \hat{y}^{(n)} y^(n)为logistic函数输出值。根据求导法则可得:
在这里插入图片描述
在这里插入图片描述
Logistic回归中参数训练方法为: ω t + 1 = ω t − α ∂ J ( θ ) ∂ ω t ω_{t+1}=ω_t-α\frac {∂J(θ)}{∂ω_t } ωt+1=ωtαωtJ(θ)
关于logistic函数的其他详情,可见链接!!!中week3的笔记描述。

模型三:Softmax回归

也称多项或多类的logistic回归。对于多类问题,类别标签 y ∈ 1 , 2 , … , C y∈{1,2,…,C} y1,2,,C有C个取值,给定样本x。softmax回归预测样本属于第k类的概率为:
在这里插入图片描述
其中 ω c \boldsymbolω_c ωc是第c类的权重向量。
则softmax回归的决策函数为:
在这里插入图片描述
即将样本x代入C个分类函数中,样本x属于取值最大即概率最大的那一类。(见上文二分类和多分类问题中,多分类的“argmax方式”。)
Softmax回归的也采用交叉熵作为损失函数。因此参数训练方法与logistic回归的参数训练方法非常相似,只是损失函数需要将C个类别的损失叠加在一起。

模型四:感知机

给定样本训练集: { x ( n ) , y ( n ) } n = 1 N \lbrace {x^{(n) },y^{(n)}}\rbrace_{n=1}^N {x(n),y(n)}n=1N,其中 y ( n ) ∈ { − 1 , 1 } y^{(n)}∈\lbrace -1,1\rbrace y(n){1,1}。其线性分类函数为:
在这里插入图片描述
错误驱动的在线学习算法。先初始话权重向量 ω = 0 ω=0 ω=0,然后每分错一个样本 ( x , y ) (x,y) x,y时,即 y ω T x < 0 yω^T x<0 yωTx<0,则 ω t + 1 = ω t + y x \boldsymbolω_{t+1}=\boldsymbolω_t+y\boldsymbol{x} ωt+1=ωt+yx
其损失函数为: L ( ω ; x ; y ) = m a x ⁡ ( 0 , − y ω T x ) L(\boldsymbolω;\boldsymbol{x};y)=max⁡(0,-y\boldsymbolω^T \boldsymbol{x}) L(ω;x;y)=max(0,yωTx)(对于每一个样本,当 y ω T x < 0 y\boldsymbolω^T \boldsymbol x<0 yωTx<0时,判断为错误,即 − y ω T x = 1 -y\boldsymbolω^T \boldsymbol x=1 yωTx=1,则 m a x ⁡ ( 0 , − y ω T x ) = 1 max⁡(0,-y\boldsymbolω^T \boldsymbol x)=1 max(0,yωTx)=1;当 y ω T x > 0 y\boldsymbolω^T \boldsymbol x>0 yωTx>0时,判断为正确,即 − y ω T x = − 1 -y\boldsymbolω^T\boldsymbol x=-1 yωTx=1,则 m a x ⁡ ( 0 , − y ω T x ) = 0 max⁡(0,-y\boldsymbolω^T \boldsymbol x)=0 max(0,yωTx)=0。)
其梯度下降为:
在这里插入图片描述

模型四:支持向量机

经典的二分类算法,可以找到一个大间隔的分割超平面使得分类更具有鲁棒性。给定二分类器数据集 D = { ( x ( n ) , y ( n ) ) } n = 1 N D=\lbrace (x^{(n)},y^{(n)}) \rbrace_{n=1}^N D={(x(n),y(n))}n=1N,其中 y n ∈ { + 1 , − 1 } y_n∈\lbrace +1,-1 \rbrace yn{+1,1},如果其线性可分,即存在一个超平面:
ω T x + b = 0 ω^T x+b=0 ωTx+b=0
数据集D中每个样本x^((n) )到分割超平面距离为:
在这里插入图片描述
(由点到平面距离得到: d = ∣ A x 0 + B x 0 + C x 0 + D ∣ A 2 + B 2 + C 2 d=\frac{|Ax_0+Bx_0+Cx_0+D|}{\sqrt{A^2+B^2+C^2}} d=A2+B2+C2 Ax0+Bx0+Cx0+D当y为负值时 ω T x ( n ) + b \boldsymbolω^T \boldsymbol x^{(n)}+b ωTx(n)+b也为负值,所以 γ ( n ) γ^{(n)} γ(n)也为正。
定义SVM的间隔(Margin)γ为整个数据集D中所有样本到分割超平面的最短距离:
γ = m i n γ ( n ) γ=minγ^{(n)} γ=minγ(n)
SVM算法之所以鲁棒性好也是因为大间隔,而SVM训练的目标也是优化ωb使得γ最大。(将数据集中 y ( n ) ( ω T x ( n ) + b ) = 1 y^{(n)} (\boldsymbolω^T \boldsymbol x^{(n)}+b)=1 y(n)(ωTx(n)+b)=1的点定义为支持向量)
单侧间隔为γ,则 m a r g i n = 2 × m i n γ ( n ) = 2 × γ margin=2×minγ^{(n)}=2×γ margin=2×minγ(n)=2×γ,于是SVM的目标变为最大化margin使得鲁棒性更强。
所以参数学习推导过程如下:
在这里插入图片描述
针对 y ( n ) ( ω T x ( n ) + b ) y^{(n)} (\boldsymbolω^T \boldsymbol x^{(n)}+b) y(n)(ωTx(n)+b),即存在a>0,使得 m i n ⁡ [ y ( n ) ( ω T x ( n ) + b ) ] = a min⁡[y^{(n)} ( \boldsymbolω^T \boldsymbol x^{(n)}+b)]=a min[y(n)(ωTx(n)+b)]=a,由支持向量定义来看,为简化问题可取a=1,又因为 y n ∈ { + 1 , − 1 } , 所 以 ω T x ( n ) + b > 0 y_n∈\lbrace +1,-1 \rbrace,所以 \boldsymbolω^T \boldsymbol x^{(n)}+b>0 yn{+1,1},ωTx(n)+b0即可。
参数学习即可为: m i n 1 2 ‖ ω ‖ 2 , s . t . y ( n ) ( ω T x ( n ) + b ) ≥ 1 , n = 1 , 2 , … , m min \frac{1}{2} ‖ω‖^2,s.t. y^{(n)} ( \boldsymbolω^T \boldsymbol x^{(n)}+b)≥1,n=1,2,…,m min21ω2,s.t.y(n)(ωTx(n)+b)1,n=1,2,,m
通过拉格朗日数乘法求解该公式,结果为:
在这里插入图片描述
对于拉格朗日数乘部分可参考链接!!!
支持向量机另外一个好处是可以使用核函数,即f(x)也可写为:
在这里插入图片描述
上式中没有使用其他核函数也可称为线性核函数。核函数中的高斯核函数衡量了x, z之间的相似度。即:
在这里插入图片描述
Trick:有时可容忍样本不是在严格的硬边界内可分,于是引入 ξ n ξ_n ξn使得 y ( n ) ( ω T x ( n ) + b ) ≥ 1 − ξ n y^{(n)} (\boldsymbolω^T \boldsymbol x^{(n) }+b)≥1-ξ_n y(n)(ωTx(n)+b)1ξn,每松弛一个 ξ n ξ_n ξn,则代价函数就增大一个 ξ n ξ_n ξn,所以新的优化问题为:
在这里插入图片描述
其中C用来平衡间隔和松弛变量。也可用经验风险Hinge函数来定义参数优化问题为:
在这里插入图片描述
其中 m a x [ 1 − y f ( x ; θ ) ] + max[1-yf(x;θ)]_+ max[1yf(x;θ)]+找出最差的一个点,即距离硬边界的要求最远的点,用作最后的边界要求。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值