【cs231n】线性分类模型:SVM,Softmax

http://cs231n.github.io/linear-classify/

###简介
图像分类问题,我们将介绍一种比KNN更加有效的方法(KNN每次预测都需要让预测样本和所有训练样本比较,耗费资源)。这种方法有两个非常重要的部分:评分函数(Score Function)损失函数(Loss Function)。前者可以将输入数据 x 映射为类别分值(score class)(类别分值是样本 x 属于某个类的可能性指标,分数越高则越可能属于该类别)。后者主要用来衡量模型的输出(score classes)和真实值(ground truth label)之间的差距。我们将把问题转换为一个优化问题:通过调整评分函数的参数来最小化损失函数。

###评分函数
类别数:k=10
输入:D=32x32x3=3072 大小的图像,总数为N,每张图对应一个label: y i y_i yi。其中 i ∈ 1... N i\in1...N i1...N, y i ∈ 1.. k y_i \in 1..k yi1..k
输出:类别分值 s
评分函数: f : R D → R k f:R^D \to R^k fRDRk

最简单的线性模型: f ( x i , W , b ) = W x i + b , f(x_i, W, b) = Wx_i + b, f(xi,W,b)=Wxi+b,
size: #x_i = D x 1, #W = k x D, #b = k x 1

  • 这里的W其实包含了所有k个类的评分函数的参数。
  • 通过 W x Wx Wx我们同时计算得到了x属于所有类别的score。
  • 在训练时,我们假设输入数据 ( x i , y i ) (x_i, y_i) (xi,yi) 是被给定,固定的。我们的目的是希望学习参数,W,b。使得评分函数能够对x进行争取的映射,对它的正确类别,我们希望有更高的score,而对其他类,我们则希望score会更低。
  • 训练的时候我们不停地使用训练数据,但是训练一旦结束,我们只保留W,b
  • 在测试时,因为我们只需要进行一次矩阵乘法,所以会比训练快很多。

###损失函数
训练:

- 输入:batch_size=M 个$(x_i, y_i)$的组合
- 输出:参数为W, b的模型

损失函数:对一个数据 x i x_i xi,定义损失函数 L i L_i Li,每次训练求得所有当前输入数据的Loss均值,添加正则项得到损失函数L。
L = 1 M ∑ i M L i + λ R ( W ) L=\frac{1}{M}\sum_i^{M}L_i + \lambda R(W) L=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值