【Umich CV】Lec 3 - Linear Classifiers

线性分类器

流程

  1. 展开图像
  2. 矩阵乘法:每一行的权重矩阵对应着每一个类别的"打分规则"
  3. 加上偏置
  4. 得到 logits
  5. 转化为概率

线性的预测

由于矩阵乘法的特性, 可以把对图像像素的缩放系数提取
我们发现, 对于图像像素值的缩放, 等价于对预测的 logits 的缩放

$$ f(c*x,W) = W(c*x) = c*f(x,W) $$

理解线性分类器

../../source/Umich CVLec 3 - Linear Classifiers 理解线性分类器.png

模板匹配

把展开的图片复原, 并将权重矩阵 reshape 成图片的形状, 这可以被形象地理解为"模板匹配"

分离器的局限

视觉角度

线性分离器中, 每一类只能学到一个模板
它会将现实中同一物体/物种的不同形态学习, 得到一个"平均"的物体
(比如一只有两个头的马)

几何角度

几何意义上, 这一个模板, 对应的参数矩阵, 可以在高维坐标系上绘制出一条决策边界, 决策边界是一条直线或者一个超平面
因此, 其无发刻画一些复杂的情形, 仅能处理一些简单任务

损失函数

多类 SVM 损失

../../source/Umich CVLec 3 - Linear Classifiers 多类 SVM 损失.png

  • 当正确类别得分还没有高出其他类别足够 margin 时,损失随着得分增加而线性降低
  • 当正确类别得分超过 margin 后,损失为 0

交叉熵损失 Cross-Entropy Loss

softmax

交叉熵损失主要应用在概率上, 因此需要先将各种 logits 转换为概率分布
softmax 已经讲过很多遍了, 就是把 logits 取 exp, 然后进行归一化, 得到概率分布

交叉熵损失

$$ L_i = -logP(Y=y_{i} \mid X=x_{i}) $$

和 softmax相结合, 也就是

$$ L_{i} = -log(\frac{e^s_{y_{i}}}{\sum_{j}e^s_{j}}) $$

正则化

作用

避免模型在训练集上表现太好, 导致过拟合. 正则化项会加在损失函数上, 增强模型的泛化能力

简单方法

L1 正则化

$$ R(W) = \sum_{k} \sum_{L} \mid W_{k,l}\mid $$

促进稀疏(让部分权重趋近于零), 有助于特征选择

L2 正则化

$$ R(W) = \sum_{k} \sum_{L} (W_{k,l})^2 $$

让权重尽量小但不强制为零,鼓励平滑的模型

Elastic Net

其实就是 L1 和 L2 的组合

$$ R(W) = \sum_{k} \sum_{L} \mid W_{k,l}\mid + \beta W^2_{k,l} $$

同时兼顾 L1 稀疏性和 L2 平滑性

其他方法

  1. Dropout
  2. Batch Norm

特点 : 倾向于更简单的模型

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计