线性分类器 Linear Classifier

2. 线性分类器 Linear Classifier

2.1 评分函数 Score Function

评分函数(score function)\(\mathbb{R}^D \to \mathbb{R}^C\)的线性映射,即一张图片在每个标签上所得到的评分: \[ f(x, W) = Wx+b, x\in \mathbb{R}^D, W\in \mathbb{R}^{C\times D}, b\in \mathbb{R}^D \]

式中\(x\)是将图像数据拉长(flatten)得到的\(D\)维列向量,\(W\)参数(parameter) 或称权重(weight)\(b\)偏差向量(bias vector)

\(C\)为待分类的标签个数,\(f(x,W)\)即为该图像对于每个标签的评分

2.2 损失函数 Loss Function

损失函数(loss funtion) 量化了线性分类器的效果,其值越高,则线性分类器效果越差,又被称为目标函数(objective function)、代价函数(cost function)

对于一个数据集: \[ \{(x_i, y_i)\}_{i=1}^N \] 式中\(x_i\)是图像,\(y_i\)是该图像对应的正确标签

则对于单个的一张图像的损失为: \[ L_i(f(x_i, W), y_i) \] 对于数据集来说,损失是每张图像损失的平均值: \[ L=\frac1N\sum_iL_i(f(x_i,W),y_i) \] \(L_i\)即为损失函数

2.3 多类支持向量机损失 Multiclass SVM Loss

朴素的想法是,正确的标签的评分应当比其他标签的评分要高

所以,对于给定的一张图像\(x_i, y_i\),其评分\(s=f(x_i, W)\),则SVM损失有如下形式: \[ L_i = \sum_{j\neq y_i}\max(0,s_j-s_{y_i}+1) \] 当评分均为很小的随机值时,损失应当接近\(C-1\)\(C\)为待分类的总标签数,此性质可作为debug的依据

2.4 正则化 Regularization

使上述的损失\(L\)最小的\(W\)并不唯一

\(W\)可使损失\(L\)最小,则\(\lambda W\)也可使\(L\)最小

于是,我们在损失函数的表达式中引入一项\(\lambda R(W)\) : \[ L=\frac1N\sum_iL_i(f(x_i,W),y_i)+\lambda R(W) \] 式中\(\lambda\)正则化强度(regularization strength) ,为超参数

正则化的好处:

  1. 进一步地筛选\(W\),使所选定的\(W\)拥有除最小化损失以外的其他功能

  2. 避免过拟合(overfitting)

  3. 通过增加曲率以提高优化(optimization) 效果

常用的正则化有:

L2正则化 \[ R(W) = \sum_k \sum_l W_{k,l}^2 \] L1正则化 \[ R(W)= \sum_k \sum_l \left| W_{k,l}^2 \right | \] 或者将二者联系起来: \[ R(W) = \sum_k \sum_l \beta W_{k,l}^2 + \left |W_{k,l}^2 \right | \] 其他还有dropout、Batch normalization、Cutout、Mixup、Stochastic depth等等

2.5 交叉熵损失 Cross-Entropy Loss

另一种损失函函数使用归一化指数函数(softmax function) 将评分用概率来描述 ,被称为交叉熵损失(Cross- Entropy Loss) 或者多元逻辑回归(Multinomial Logistic Regression)

对于一个评分函数\(s=f(x_i,W)\),其softmax function的形式为: \[ P(Y = k|X = x_i) = \frac{e^{s_k}}{\sum_j e^{s_j}} \] 我们假设真实的概率分布为\(P\),训练得到的概率分布为\(Q\),我们使用\(Q\)来拟合\(P\),则交叉熵为: \[ H(P, Q) = H(P) + D_{KL}(P||Q) \] 式中\(D_{KL}(P||Q)\)相对熵(Kullback-Leibler Divergence)\[ D_{KL}(P||Q) = \sum_{i=1}^n P(x_i)\log \frac{P(x_i)}{Q(x_i)} \] 由于真实的概率分布不变,即\(H(P)\)不变,则若交叉熵\(H(P,Q)\)最小,只需相对熵\(D_{KL}(P||Q)\)最小即可

当单张图片的损失具有如下形式时,交叉熵最小: \[ L_i = - \log P(Y=y_i|X = x_i) \] 所以交叉熵损失的具体形式为: \[ L = \frac1N \sum_i\left(-\log \left(\frac{e^{s_{y_i}}}{\sum_je^{s_j}}\right)\right)+\lambda R(W) \]


线性分类器 Linear Classifier
http://hmnkapa.github.io/2024/07/02/线性分类器/
作者
呼姆奴库
发布于
2024年7月2日
许可协议