CS231N Lecture3 线性分类器
Linear Classifiers–线性分类器
一、如何理解线性分类器
一、代数观点分析
线性分类器:权重矩阵W和像素X之间的矩阵相乘,再加上b
如果输入数据具有native vector form,可以将b合并至W矩阵中处理**(针对线性分类是好的方法,对于卷积并非)
feature:预测也是线性的,放大/缩小所有像素,会让所有预测值都放大/缩小
(如下图)

二、视觉角度分析
另一种处理方法:将权重矩阵reshape到跟输入图像一样,实现“template matching”
例:取每一行数字,组成2x2 shape(图像假设为2x2),同时b也分类。
“template matching”(模式匹配)
按上述处理之后,每一行都是一个种类,当他们匹配上时,值会最大。有一种视觉上的模式匹配(如下图)
(visual viewpoint)

(缺点:对input图像的依赖严重,对其content(环境)依赖,旋转图片后无法识别)
三、几何观点
可以认为,像素图像是一个高维欧几里得空间,每个种类都有对应的一个超平面,将空间切割。(如下图)

二、如何选择矩阵W ——使用损失函数来量化评估W
1️⃣loss:multi-class SVM损失(图像分类)
特征:如果一个种类被正确区分,那么改变预测分数,不再影响损失。(达到零损失)
(如图,图中为铰链损失)
2️⃣Cross- Entropy Loss(multinomial logistic regression)
want to interpret raw classifier scores as probabilities.(使用概率来评分)
使用softmax function 求概率 (重要工具)
对loss的计算:L = -logP(Y=y_{i}/X=x_{i})
feature: 这个loss函数永远不会达到0️⃣损失
对预测值和理论值进行评估(Kullback-Leibler divergence)
cross- Entropy:H(P,Q)=H(p)+D_{KL}(P||Q)
三、对矩阵进行优化
Regularization(正则化)—— prevent the model from doing too well
lamda —— 控制正则化的超参
公式如图
正则化简单实例:L2、L1、Elastic net(L1+L2)(如上图左下)
正则化目的:1️⃣表达偏好
2️⃣避免过拟合prefer simple models that generalize well
3️⃣添加曲率改善优化adding curvature improve optimization
举例说明正则化的作用:
1️⃣比如可以通过调整正则化、考虑全局或者专注于一个参数
如果有噪声或者很多特征,也适用。
2️⃣
避免过拟合。如图,曲线是添加正则化后,合理地减少了噪声干扰
- Title: CS231N Lecture3 线性分类器
- Author: Rongying Liu
- Created at : 2024-11-19 18:32:56
- Updated at : 2025-01-20 23:29:44
- Link: https://github.com/Roinnnn11/Roinnnn11.github.io/2024/11/19/CS231N/线性分类器/
- License: This work is licensed under CC BY-NC-SA 4.0.