分类 Classification

分类

什么是分类?

一种典型的有监督学习问题

image-20210119181033696

image-20210119181110661

如下图,假设线性可分训练集 D = { x i , y i } i = 1 n , y ∈ { − 1 , 1 } D=\left\{\boldsymbol{x}_{i}, y_{i}\right\}_{i=1}^{n}, y \in\{-1,1\} D={xi,yi}i=1n,y{1,1}

  • 感知机:找到一条直线,将两类数据分开即可
  • 支持向量机:找到一条直线,不仅将两类数据正确分类,还使得数据离直线尽量远
  • 逻辑回归:找到一条直线使得观察到训练集的“可能性”最大

image-20210927205330427

前置知识

点到平面距离

image-20210927204645068

最大似然估计

”似然”:likelihood 可能性。
最大似然法,一种求解概率模型参数的方法。
最早是遗传学家以及统计学家罗纳德·费雪在1912年至1922年间开始使用。

训练集的矩阵表示

假设训练集的特征部分记为 n × ( d + 1 ) n\times (d+1) n×(d+1)矩阵 X X X,其中最后一列取值全为1.标签部分记为 y y y,参数记为 w w w
y ^ = X w \widehat{\boldsymbol{y}}=\mathbf{X} \mathbf{w} y =Xw
image-20210927205953936

感知机(Perceptron)

假设 f ( x ) = w T x f(\boldsymbol{x})=\mathbf{w}^{\mathrm{T}} \boldsymbol{x} f(x)=wTx,系数 w = ( w 1 , w 2 , … , w d , w 0 ) T \mathbf{w}=\left(\mathrm{w}_{1}, \mathrm{w}_{2}, \ldots, \mathrm{w}_{\mathrm{d}}, \mathrm{w}_{0}\right)^{\mathrm{T}} w=(w1,w2,,wd,w0)T,模型为:
y = H ( f ( x ) ) = { + 1 , w T x > 0 − 1 , w T x ≤ 0 y=H(f(x))=\left\{\begin{array}{ll} +1, & \mathbf{w}^{\mathrm{T}} \boldsymbol{x}>0 \\ -1, & \mathbf{w}^{\mathrm{T}} \boldsymbol{x} \leq 0 \end{array}\right. y=H(f(x))={+1,1,wTx>0wTx0
image-20210927210555735

f ( x ) = 0 f(x)=0 f(x)=0,可以得到决策超平面 w T x = 0 \mathbf{w}^{\mathrm{T}} \boldsymbol{x}=0 wTx=0

n n n个训练样本,线性可分数据集 D = { ( x 1 , y 1 ) , … , ( x n , y n ) } \mathrm{D}=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right), \ldots,\left(\boldsymbol{x}_{\mathrm{n}}, y_{\mathrm{n}}\right)\right\} D={(x1,y1),,(xn,yn)},点 x i , y i x_i,y_i xi,yi到决策超平面的距离为(不妨令 ∥ w ∥   2 = 1 \|\mathbf{w}\|\ _2=1 w 2=1):
d i = ∣ w T x i ∣ ∥ w ∥ 2 = y i w T x i ∥ w ∥ 2 → y i w T x i d_{i}=\frac{\left|\mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}\right|}{\|\mathbf{w}\|_{\mathbf{2}}}=\frac{y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}}{\|\mathbf{w}\|_{\mathbf{2}}} \rightarrow y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}} di=w2wTxi=w2yiwTxiyiwTxi
优化目标是:误分类样本离超平面距离之和最小

目标函数: L ( w ) = − ∑ i ∈ M y i w T x i \mathrm{L}(\mathbf{w})=-\sum_{i \in M} y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}} L(w)=iMyiwTxi M M M为误分类样本集合 { j ∣ y j w T x j < 0 } \left\{j \mid y_{j} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{j}}<0\right\} {jyjwTxj<0}

image-20210927213027358

严格来说,在 f ( x ) = 0 f(x)=0 f(x)=0处不可微,是没有梯度的,所以用次梯度来解决。

梯度: ∇ L ( w ) = − ∑ i ∈ M y i x i \nabla \mathrm{L}(\mathbf{w})=-\sum_{i \in M} y_{i} \boldsymbol{x}_{\boldsymbol{i}} L(w)=iMyixi

梯度下降法(GD):
w ( t + 1 ) ← w ( t ) + η t ∑ i ∈ M y i x i \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}+\eta_{t} \sum_{i \in M} y_{i} \boldsymbol{x}_{\boldsymbol{i}} w(t+1)w(t)+ηtiMyixi
随机梯度下降法(SGD):
w ( t + 1 ) ← w ( t ) + η t y i x i \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}+\eta_{t} y_{i} \boldsymbol{x}_{\boldsymbol{i}} w(t+1)w(t)+ηtyixi
感知机算法过程:

image-20210927213939929

支持向量机(Support Vector Machines)

image-20210927214728665

线性可分训练集 D = { ( x 1 , y 1 ) , … , ( x n , y n ) } \mathrm{D}=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right), \ldots,\left(\boldsymbol{x}_{\mathrm{n}}, y_{\mathrm{n}}\right)\right\} D={(x1,y1),,(xn,yn)},点 ( x i , y i ) \left(\boldsymbol{x}_{i}, y_{i}\right) (xi,yi)到决策超平面的距离 d i = y i w T x i ∥ w ∥ 2 d_{i}=\frac{y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}}{\|\mathbf{w}\|_{2}} di=w2yiwTxi,我们的目标是让整个数据集离超平面越远越好,也就是让所有点中最近的点的距离最大:
max ⁡ w min ⁡ i y i w T x i ∥ w ∥ 2 ⇔ max ⁡ w 1 ∥ w ∥ 2 min ⁡ i y i w T x i \max _{\mathbf{w}} \min _{i} \frac{y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}}{\|\mathbf{w}\|_{2}} \Leftrightarrow \max _{\mathbf{w}} \frac{1}{\|\mathbf{w}\|_{2}} \min _{i} y_{i} \mathbf{w}^{\mathrm{T}} x_{i} wmaximinw2yiwTxiwmaxw21iminyiwTxi
y i w T x i y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}} yiwTxi相当于直线的系数,所以不妨令 min ⁡ i y i w T x i = 1 \min _{i} y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}=1 miniyiwTxi=1,则:
max ⁡ w 1 ∥ w ∥ 2 ⇔ min ⁡ w 1 2 ∥ w ∥ 2 2 (1) \max _{\mathbf{w}} \frac{1}{\|\mathbf{w}\|_{2}} \Leftrightarrow \min _{\mathbf{w}} \frac{1}{2}\|\mathbf{w}\|_{2}^{2} \tag{1} wmaxw21wmin21w22(1)
因为假设了 min ⁡ i y i w T x i = 1 \min _{i} y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}=1 miniyiwTxi=1,那么对于训练集任意样本需满足 y i w T x i ≥ 1 y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}} \geq 1 yiwTxi1,对于不满足上述条件样本的损失函数定义为$1-y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}} $,则样本损失为合页损失(hinge loss):
L ( y i , f ( x i ) ) = max ⁡ ( 0 , 1 − y i w T x i ) (2) \mathrm{L}\left(y_{i}, f\left(\boldsymbol{x}_{\boldsymbol{i}}\right)\right)=\max \left(0,1-y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{i}}\right) \tag{2} L(yi,f(xi))=max(0,1yiwTxi)(2)
image-20210927221313515

为什么叫合页损失呢?如下配图:

image-20210927221348963

所以,(1)(2)两个优化目标得到的目标函数:
L ( w ) = λ 2 ∥ w ∥ 2 2 + ∑ i = 1 n max ⁡ ( 0 , 1 − y i w T x i ) \mathrm{L}(\mathbf{w})=\frac{\lambda}{2}\|\mathbf{w}\|_{2}^{2}+\sum_{i=1}^{n} \max \left(0,1-y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right) L(w)=2λw22+i=1nmax(0,1yiwTxi)
其中, λ \lambda λ是超参数,用来平衡两个优化目标

记不满足约束的样本集 M = { j ∣ y j w T x j < 1 } M=\left\{j \mid y_{j} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{\boldsymbol{j}}<1\right\} M={jyjwTxj<1},那么梯度为:
∇ L ( w ) = λ w − ∑ i ∈ M y i x i \nabla \mathrm{L}(\mathbf{w})=\lambda \mathbf{w}-\sum_{i \in M} y_{i} \boldsymbol{x}_{i} L(w)=λwiMyixi
梯度下降法:
w ( t + 1 ) ← w ( t ) − η t ( λ w ( t ) − ∑ i ∈ M y i x i ) \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}-\eta_{t}\left(\lambda \mathbf{w}^{(t)}-\sum_{i \in M} y_{i} \boldsymbol{x}_{i}\right) w(t+1)w(t)ηt(λw(t)iMyixi)
随机梯度下降法:
w ( t + 1 ) ← w ( t ) − η t ( λ w ( t ) − I ( i ∈ M ) y i x i ) \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}-\eta_{t}\left(\lambda \mathbf{w}^{(t)}-\mathrm{I}(i \in M) y_{i} \boldsymbol{x}_{i}\right) w(t+1)w(t)ηt(λw(t)I(iM)yixi)
上面的算法是软间隔的SVM,如果是非线性的,使用映射的方法,从低维映射到高维。在高维会有维度灾难的问题,但是计算量还是低维的计算量。SVM没有很好解决的问题:怎么从低维映射到高维。

image-20210928100612639

核方法与核函数

核方法的基本原理是把原坐标系里线性不可分的数据使用核函数(Kernel)投影到另一个空间,尽量使得数据在新的空间里线性可分。

  • 核函数的引入避免了“维数灾难”,大大减小了计算量。而输入空间的维数 n n n对核函数矩阵无影响,因此,核函数方法可以有效处理高维输入。
  • 无需知道非线性变换函数的形式和参数
  • 核函数的形式和参数的变化会隐式改变从输入空间到特征空间的映射,进而对特征空间的性质产生影响,最终改变各种核函数方法的性能。
  • 核函数方法可以和不同的算法相结合,形成多种不同的基于核函数技术的方法,且这两部分的设计可以单独进行,并可以为不同的应用选择不同的核函数和算法。

具体地,特征 X i X_i Xi X j X_j Xj在新空间中的内积可以由核函数 k ( x i , x j ) k\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) k(xi,xj)计算得到。

  • 多项式核: k ( x i , x j ) = ( x i T x j + r ) d k\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left(x_{i}^{\mathrm{T}} \boldsymbol{x}_{j}+r\right)^{d} k(xi,xj)=(xiTxj+r)d, d d d为次数, r r r为截距项
  • 拉普拉斯核: k ( x i , x j ) = exp ⁡ ( − ∥ x i − x j ∥ δ ) k\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) =\exp \left(-\frac{\left\|x_{i}-x_{j}\right\|}{\delta}\right) k(xi,xj)=exp(δxixj), $\delta>0 $
  • 高斯核: k ( x i , x j ) = exp ⁡ ( − ∥ x i − x j ∥ 2 2 δ 2 ) k\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\exp \left(-\frac{\left\|x_{i}-x_{j}\right\|^{2}}{2 \delta^{2}}\right) k(xi,xj)=exp(2δ2xixj2) δ > 0 \delta>0 δ>0为窗宽
  • Sigmoid核(Fisher核): k ( x i , x j ) = tanh ⁡ ( β x i T x j + θ ) k\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\tanh \left(\beta x_{i}^{\mathrm{T}} x_{j}+\theta\right) k(xi,xj)=tanh(βxiTxj+θ), β > 0 \beta>0 β>0, $\theta<0 $

逻辑回归(Logistic Regression)

假设 f ( x ) = w T x f(\boldsymbol{x})=\mathbf{w}^{\mathrm{T}} \boldsymbol{x} f(x)=wTx,系数 w = ( w 1 , w 2 , … , w d , w 0 ) T \mathbf{w}=\left(\mathrm{w}_{1}, \mathrm{w}_{2}, \ldots, \mathrm{w}_{\mathrm{d}}, \mathrm{w}_{0}\right)^{\mathrm{T}} w=(w1,w2,,wd,w0)T,训练集 D = { x i , y i } i = 1 n , y ∈ { − 1 , 1 } D=\left\{\boldsymbol{x}_{i}, y_{i}\right\}_{i=1}^{n}, y \in\{-1,1\} D={xi,yi}i=1n,y{1,1},概率的解释:
p ( y = 1 ∣ x ) = 1 1 + e − w T x (1) p(y=1 \mid \boldsymbol{x})=\frac{1}{1+e^{-\mathrm{w}^{\mathrm{T}} x}} \tag{1} \\ p(y=1x)=1+ewTx1(1)

p ( y = − 1 ∣ x ) = 1 − p ( y = 1 ∣ x ) = 1 1 + e w T x (2) p(y=-1 \mid \boldsymbol{x})=1-p(y=1 \mid \boldsymbol{x})= \frac{1}{1+e^{\mathrm{w}^{\mathrm{T}}x}} \tag{2} p(y=1x)=1p(y=1x)=1+ewTx1(2)

类似sigmoid函数,(1)式代表样本是正的概率,(2)式代表样本是负的概率,结合$ y \in{-1,1} , 加 入 ,加入 y 后 , 样 本 后,样本 (\boldsymbol{x}{1}, y{1})$的概率为:
p ( y i ∣ x i ) = 1 1 + e − y i w T x i p\left(y_{i} \mid \boldsymbol{x}_{i}\right)=\frac{1}{1+e^{-y_{i} \mathbf{w}^{\mathrm{T}} x_{i}}} p(yixi)=1+eyiwTxi1
这时,我们想到最大似然估计,把每一个概率连乘,得到似然函数为:
L ( w ) = ∏ i = 1 n p ( y i ∣ x i ) = ∏ i = 1 n 1 1 + e − y i w T x i \mathrm{L}(\mathbf{w})=\prod_{i=1}^{n} p\left(y_{i} \mid \boldsymbol{x}_{i}\right)=\prod_{i=1}^{n} \frac{1}{1+e^{-y_{i} w^{\mathrm{T}} x_{i}}} L(w)=i=1np(yixi)=i=1n1+eyiwTxi1
为了便于计算,取对数,将乘法变为加法,负对数似然函数为:
NLL ⁡ ( w ) = ∑ i = 1 n ln ⁡ ( 1 + e − y i w T x i ) \operatorname{NLL}(\mathbf{w})=\sum_{i=1}^{n} \ln \left(1+e^{-y_{i} \mathbf{w}^{\mathrm{T}} x_{i}}\right) NLL(w)=i=1nln(1+eyiwTxi)
梯度为:
w ( t + 1 ) ← w ( t ) + η t ∑ i = 1 n y i x i 1 + e y i w T x i \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}+\eta_{t} \sum_{i=1}^{n} \frac{y_{i} \boldsymbol{x}_{i}}{1+e^{y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{i}}} w(t+1)w(t)+ηti=1n1+eyiwTxiyixi
随机梯度下降法:
w ( t + 1 ) ← w ( t ) + η t ∑ i = 1 n y i x i 1 + e y i w T x i \mathbf{w}^{(t+1)} \leftarrow \mathbf{w}^{(t)}+\eta_{t} \sum_{i=1}^{n} \frac{y_{i} \boldsymbol{x}_{i}}{1+e^{y_{i} \mathbf{w}^{\mathrm{T}} \boldsymbol{x}_{i}}} w(t+1)w(t)+ηti=1n1+eyiwTxiyixi

三种模型的对比

image-20210928103457194

感知机:$\mathrm{L}(y, f(\boldsymbol{x}))=\max (0,-y f(\boldsymbol{x})) $

支持向量机 : L ( y , f ( x ) ) = max ⁡ ( 0 , 1 − y f ( x ) ) \mathrm{L}(y, f(\boldsymbol{x}))=\max (0,1-y f(\boldsymbol{x})) L(y,f(x))=max(0,1yf(x))

逻辑回归 : $\mathrm{L}(y, f(\boldsymbol{x}))=\ln (1+\exp (-y f(\boldsymbol{x}))) $

从图中可以看出,感知机对于小于0的有惩罚,支持向量机小于1就有惩罚。理想的损失函数:0-1损失 ,就是图中的黑色部分,但是这很难被高效地优化

感知机

  • 关注误分类样本,将训练集样本分对即可
  • 是支持向量机、神经网络的基本模型
  • 只能应用于线性可分数据集

支持向量机

优点:

  • 可以使用核技巧将低维数据转换到高维运算,保持低维的计算量

缺点:

  • 如何选择核函数是一大困难
  • 当特征维度远远大于样本量时,效果会比较差
  • 当样本量很大时,使用非线性核函数会导致计算效率低下
  • SVM无法直接输出概率化的取值

逻辑回归

  • 使用 Logistic 函数赋予样本概率解释
  • 使用最大似然法求解,是一种线性分类模型
  • 为防止过度拟合,可在优化目标添加正则项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值