CS231n-2017 第3讲 损失函数与优化

21 篇文章 1 订阅
16 篇文章 4 订阅

一. 损失函数

1. 基本概念

为了评估现有的模型的好坏,需要一个定量指标。这就是损失函数起作用之处。
对于由 N N 个样本组成的数据集{(xi,yi)}i=1N,定义总体损失函数为各个样本造成的损失的平均

L=1NiLi(f(xi,W),yi) L = 1 N ∑ i L i ( f ( x i , W ) , y i )

2. SVM的损失函数

多分类的支持向量损失函数可定义如下:

Li=jyi{0sjsyi+1ifsyisj+1otherwise=jyimax(0,sjsyi+1) L i = ∑ j ≠ y i { 0 i f s y i ≥ s j + 1 s j − s y i + 1 o t h e r w i s e = ∑ j ≠ y i max ( 0 , s j − s y i + 1 )

即当正确分类的得分比错误类别的得分高出一个安全边际1的时候,认为没有损失。

这个损失函数最大值为无穷大,最小值为 0 0 。当初始化时,所有分类得分大致相同,损失函数约为C1。当正确分类的得分稍微变化时,由于安全边际的存在,损失函数大致不变。

3. 正则化

在上述场景下,如果我们找到一个使损失函数为 0 0 W,那么 2W 2 W 也会使损失函数为0。那么如何选择参数呢?一个准则是参数越简单越好,采用的做法是添加正则项限制模型复杂度。

L=1NiLi(f(xi,W),yi)+λR(W) L = 1 N ∑ i L i ( f ( x i , W ) , y i ) + λ R ( W )

4. SoftMax分类器(多类别逻辑回归)

不预测得分,预测每个类别的概率。需要保证输出非负,且求和归一化,即SoftMax操作。

P(Y=k|X=xi)=eskjesj P ( Y = k | X = x i ) = e s k ∑ j e s j

此时期望正确类别的概率接近于1。在这种场景下,可采用交叉熵作为损失函数:

L=logP(Y=yi|X=xi) L = − log ⁡ P ( Y = y i | X = x i )

当初始化时,所有分类的概率值大致相同,此时损失函数约为 logC log ⁡ C

SVM损失函数的对比:在SVM损失函数优化问题中,当找到一个足够小的损失值的时候,算法将不再进行优化,即不再扩大错误分类与正确分类的边际。但在逻辑回归损失函数情形中,算法将持续优化至正确分类的概率足够接近于 1 1 <script type="math/tex" id="MathJax-Element-14">1</script>。

二. 优化算法

采用的优化方法就是梯度下降法。

在实践中,可使用梯度的数值计算方法校验代码的正确性。

如果数据集过于庞大,用所有数据计算梯度的复杂度就很高,因此将数据集划分为小块,针对每一小块计算梯度,这就是随机梯度法。

三. 图像特征提取

图 1. 做特征空间转换后,可能会比较容易区分。


经过特征提取后,一些图像可能就比较容易区分。

获取图像特征的方法有:

  • 直方图。
  • 方向梯度直方图。
  • 词频方法:类比于自然语言处理中的方法,对图像分小块,然后进行聚类,以聚出的类别为码本,对图像进行编码。
  • 使用卷积神经网络,则在分类过程中会自动提取图像特征。

一些有用的链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值