关键是两个函数: score function: 数据到分类的映射 loss function: 计算相差程度
training set: xi(D维向量) label : yi label categories: K sample number: N score function: Rd>Rk
linear classifier: f(xi,W,b)=Wxi+b 维度: xi:[D:1] W: [k:D] (weights) b: [K:1] (bias vector) note: Wxi is evaluating D separate classifiers in parallel.每个分类器都是W中的一行
将图像看成高维的点:traning set就是一个点的集合,每个点带有一个label。 W就是对空间的一个分割,任意改变W的一行会导致其中一个分割面的旋转,b是必要的,不谈强制每个分割面经过原点。 也可以将每一行想成模板,内积表示匹配程度。
为了简化,可以将xi中增加元素1,同时将b合并到W中,得到f(xi,W,b)=Wxi+b
Image data preprocessing: it’s important to center data 每个feature 减去平均值,使得每个像素的值大约在[-127, 127]。更进一步应该将每个像素值缩放在[-1,1]区间内,zero mean centering is very important
就是把不满意的程度量化
希望在正确的分类上的得分比不正确的分类上的得分高一个边界值Δ
Li=∑(j≠yimax(0,sj−syi+Δ)=Li=∑j≠yimax(0,wTjxi−wTyixi+Δ)Li=∑j≠yimax(0,wjTxi−wyiTxi+Δ)(公式不好打,还是找对应的课件看) 意思就是不正确的分类上的值和正确分类上的值一定要相差Δ以上(正确分类上的值大),差不到Δ的部分就要算进Li里面,Li越大说明不好。
Regularization: extending the loss function with a regularization penalty R(W) 完整公式为Li取平均之后,加上λR(w)一个好处是使得没有一个Wij可以对整体有过分大的影响。权重小而且分散。(可以避免过拟合)
Setting Delta. 大多数情况下设置成1,因为真正控制的是lamda(regularization strength )
cross-entropy loss Li=−fyi+log∑jefj,整个training set的损失值还是Li的平均值和R(W)的和。 softmax function:(∑(j) e^fyi/e^fj). 输出的每个元素在[0,1]之间,且和为1.也就是希望得到正确的概率密度。 Numeric stability 因为存在指数项,所以可能得到大的数值,可以分子分母同时乘以一个常数项,使得f的数值整体进行偏移。
SVM:将结果看成分类评分,希望存在一个边界值 Softmax:希望通过对数概率,希望正确的分类的对数概率高。权重惩罚的多的时候,会导致权重取小,从而算出来的概率更加分散。softmax对于分数是不会满意的,损失值可以一直达到很小, 两者的数值没有可比性。