stanford_CS231n_learning note_Lec_03 Loss function and optimization

SVM与Softmax分类器详解
本文深入探讨了SVM和支持向量机损失函数的概念,包括其计算方式及正则化的重要性,并对比了SVM与Softmax分类器在处理数据扰动时的不同表现。

Happy moment: 隔着屏幕都能听到一声尖叫

这里写图片描述

To to

  1. Define a loss function that quantifies our unhappiness with the scores across the training data.
  2. Come up with as way of efficiently finding the parameters that minimize the loss function.(optimization)

Multiclass SVM loss:

  • SVM损失函数:
    每个类别的损失函数: Li=jyimax(0,sjsyi+1) (hinge loss)
    总的损失函数的均值: L=1NNi=1Li
  • 将所有不正确类别的评分与正确类别的评分之差加1,将得到的数值与0作比较,取二者中的最大值。然后将所有的数值进行求和。不仅要是正确类别的评分高于错误类别的评分,还要使用一个安全系数值1.
  • 举例
    这里写图片描述
  • Question1:what if the sum was insead over all classes ( including j=y_i)?
  • Question2:what if we used a mean instead of a sum here?
  • Question3:what if we used : Li=jyimax(0,sjsyi+1)2 (Squared hinge loss)
  • Question4:what is the min/max possible loss?
  • Question5:usually at initialization W are small numbers, so all s ~= 0. What is the loss?

  • Answer1:相当于在最终的损失结果上加了一个1
  • Answer2: 由于类别数n=3没有变,因此取平均值只是成比例地改变了损失函数的大小,对总趋势并无影响。故此:没有必要取平均值,也没有必要令j = y_i
  • Answer3:我们不是在不断的缩放scaling或平移shifting这一损失,事实上,是在非线性地改变支持向量机SVM如何来进行工作的这一权衡,而且在权衡不同的分数,这并不太容易看出。Li的指数可视为超参数取1or2
  • Answer4:min:0/ max:infinity
  • Answer5:我们在准备初始时的W是非常小的,这就导致了在优化最开始的时候分数是很接近零的,这些黑色的数字都接近于零,当所有分数都接近于零的时候,损失函数将会是什么呢?(类的数量减去1),当计算机计算出的第一个答案是这个时,我们确定计算过程无误
  • There is a bug with the loss:

    f(x,W)=Wx

    L=1Ni=1Njyimax(0,f(xi;W)jf(xi;W)yi+1)

  • 假设我们拥有整个W的空间,是否能找到两个W使L=0?如果可以,我们如何定义W的优先级?

  • 根据上面的问题“引出”正则化的概念
cat3.21.32.2
car5.14.92.5
frog-1.72.0-3.1

举例说明:缩放带来的影响
Before
=max(0,1.3-4.9+1)+max(0,20.-4.9+1)=0
With W twice as large
=max(0,2.6-9.8+1)+max(0,4.0-9.8+1)=0
因为后面加了1,比例因子要大于1,考虑缩放造成的偏置
正式引出正则项

Weight Regularization

L=1Ni=1Njyimax(0,f(xi;W)jf(xi;W)yi+1)+λR(W)

常用正则项
R(W)是正则化函数, Wk,l 是二维矩阵,下面行列求和再相加
w全部为0,则R(W)为零,但就没办法分类了,故此前后会相互竞争

  • L2 regularization: R(W)=klW2k,l
  • L1 regularization: R(W)=kl|Wk,l|
  • Elastic net(L1+L2): R(W)=klβW2k,l+|Wk,l|
  • Max norm regularization:(might see later)
  • Dropout (will see

    用正则化处理损失函数,事实上:正则化是权衡你的训练损失和拟用于测试集的泛化损失,所以正则化是一系列通过顺势来是目标相加的技术

  • L2 正则化的动机(Motivation)
    这里写图片描述

  • L2正则化的特点
    • 尽可能地展开权重并利用所有像素点
    • 尽量多的利用各个维度,以充分挖掘信息
  • L1正则化的特点
    • 可以得到稀疏矩阵,很多w系数都是0

Softmax Classifier (Multinomial Logistic Regression)

接下来,学习他们之间的区别,是实践中,SVM和softmax分类器是你的两种选择,他们普遍用于线性分类其中,通常你会发现softamx分类器更受欢迎。softmax分类器有时也被叫做多项式Logistic回归,即一般化的Logistic回归。

它是在Scores得分的基础上表明损失的另外一种函数形式

  • Softmax Classfier Describtion:
    • s=f(xi;W)
    • scores = unnormalized log probabilities of the classes
    • scores是每个类别未规范化(标准化)的概率
      P(Y=k|X=xi)=eskjesjwheres=f(xi;W)
    • 以上便是Softmax function
    • X=xi 时, Y=k 的概率取最大,等价于,取概率的NLL(负对数似然)
    • Li=logP(Y=yi|X=xi)
    • in summary:
    • Li=log(eskjesj)

这里写图片描述

  • 由scores得分计算exp指数,再计算归一化数据,最后计算NLL负对数似然概率
  • 归一化概率越趋近于1,损失 Li 也就越小

Question1: What is the min/max possible loss L_i?—(min=0;max=infinity)
Question2:usually at initialization W are small
numbers, so all s ~= 0.What is the loss?—(设类别数为N,则结果为 1N )
这里写图片描述
这里写图片描述

Softmax vs SVM

  • Softmax: Li=log(eskjesj)
  • SVM: Li=jyimax(0,sjsyi+1)
  • Softmax 与 SVM之间的差别可以用这样一个问题的答案来解释:
    Question:
    Suppose I take a datapoint and I jiggle a bit (changing its score slightly). What happens to the loss in both cases?
    Answer:
    此处举例阐明一个重要区别:SVM具有附加的稳定性,一旦样例点满足边界条件(误分类评分小于正确分类评分减一),这个样例点就不会影响损失函数,svm对于接近分类边界的点较为敏感,对于远离分类边界的点不是很敏感。而softmax则要将所有样例点都纳入考虑,对每一个样本点都有所考虑。这就是二种分类器最显著的差别。
  • 助教花了一天时间做的网站Demo:
    http://vision.stanford.edu/teaching/cs231n/linear-classify-demo/
    这里写图片描述

Optimization

这里写图片描述

随机取一些W的采样,然后计算他们的损失值,然后重复这些步骤,直到找到一个W的值使得损失值最小
15.5% accuracy! not bad!至少比十个类别随机猜测10%概率要高要高
然而:(SOTA is ~95%)….

Strategy #2: Follow the slope
df(x)dx=limh0f(x+h)f(x)h
  • 给定W f(x,W) loss

这里写图片描述

  • Evaluation the gradient numerically

    • approximate
    • very slow to evaluate
  • 感谢牛顿-莱布尼兹的微积分大法求方向导数,但笔者任然表示没听懂?
    这里写图片描述
    这里写图片描述

Strategy #3: (Mini) Gradient Descent

需要关注两个参数:
【step size/learning rate】 +【正则化参数:lambda】

这里写图片描述

这里写图片描述

Common mini-batch sizes are 32/64/128 examples
e.g. Krizhevsky ILSVRC ConvNet used 256 examples
根据GPU选择相应的size
这里写图片描述
这里写图片描述

图片来源http://www.myexception.cn/cloud/2058480.html

Image Feature

  • Color (Hue) Histogram
  • HOG/SIFT features
  • Bag of Words
  • 自动提取特征的方法CNN
    这里写图片描述

Next Class

  • Becoming a backprop ninja
  • Neural Networks (part 1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuokLiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值